上次的ESP Hello World莫名其妙写成了Wifi攻击程序。
接下来0基础的我打算给这个Wifi攻击程序画一个具备以下功能的板子。
Wifi攻击
TypeC充电
锂电池供电
画板子,成本最低的就是嘉立创了吧~
画原理图
电源管理
电源管理这一块用三个芯片
DW01A:防过充过放
FS8205A:两个三极管
TP-4056-MS:充电稳压
DW01A可以检测电池电压,在电压过高时禁止流入,过低时禁止流出,通过两个引脚输出特定电平实现。
首先电流肯定不能从DW01A芯片过,电流太大,其次输出是两个引脚,一个防过充,一个防过放,想不到直接拿这两个来引脚来驱动芯片的方法。
所以,这里需要两个三极管,当状态不合适时切断电池电路,数据手册里面给的电路图:

这个电路在不适合的时候会切断电池的GND连接,使电池脱离主电源电路。
FS8205A的数据手册说,FS8205A是这样一个芯片:

它有两个三极管,于是就有了这样的原理图:

同时,USB输入的电压可能并不太稳定,电流可能会太大,USB不能直接接到主电源上,于是需要TP-4056-MS:

这个神奇的芯片有充电指示灯和电池温度测量,温度测量不需要,充电指示当时忘记接了,悬空了[狗头]。
稳压
ESP8266模块(ESP-12S)最大容许电压是低于电池的最高电压的,所以模块不能直接接主电源,于是,通过一个AMS1117-3.3稳压。

ESP模块
这里实际上我大概是只需要给模块通上电就行。但为了能焊好烧录,我要引出串口、复位按钮、烧录按钮(但是我可以不焊,直接拿根线短接)
同时为了可扩展,IO口也都引出来了(也不打算焊)

摆PCB
软件可以直接自动摆,他摆的虽然可能算法上走线可能更好走,但我还是希望能够美观紧凑的,于是我就摆了这样子的PCB:

布线呢,虽然很简单,但排成这个样子,布线简直不是人干的活。
在官网领取了六层沉金板的免费打样,六层沉金板的免费打样居然不能用到更便宜的两层板,于是我就做成了完全没必要的六层板。

(布线是程序自动布线)
画板成果

焊板子
白嫖了5片居然寄过来12片,而且包装也太高档了!下次我还要白嫖!
在助焊剂和恒温焊台的加持下,咱也能焊贴片芯片了。(所以以前真的不是我不行,是设备不行啊喂)
本来我以为把元件排列这么紧会很难焊,但是以外的好焊。(前提是要把不小心提前焊了的排针拆了重新焊)
焊的时候发现少买了一种芯片,电池不能焊,于是先把能焊的都焊了,插上电,ESP8266上的灯闪了闪,一切顺利。
于是我先焊了两个,但第二个感觉有点不对劲,它的ESP8266不亮。一顿测量之后发现USB的充电稳压芯片有问题,这个由于不小心焊盘蹭到了锡,芯片四只脚翘起来了于是拉了长长的锡,但并没有虚焊的说。
于是我把稳压芯片拆了换一个,当它是焊太久焊坏了。
但是依然不行,此时我去测第一个,我发现也只是闪了一下,并没有持续工作,插一会儿USB稳压芯片还会有劈里啪啦助焊剂的动静。
似乎是USB芯片的输出管不够ESP8266,相当奇怪。
莫非是我上下拉电阻(1K)太小了?
于是焊了第三个,这次电阻都没装,依然不行,我给USB输入加了根飞线直接绕过USB充电稳压芯片就能正常工作了,能摸到ESP8266的体温了。
难道因为没装电池?不晓得,暂时先这样吧,是不是板子画错了先待定,等芯片全装好再说。

直接用串口转USB模块给8266供电,感觉好像是电流太大,会直接把串口芯片拉死,所以程序也烧不了/(ㄒoㄒ)/~~
关于软件上的问题
据测试,WiFi速率并不是越快炸出去的包越多,大概是因为ESP8266处理速度有限,为了信号质量,设置最低的速率似乎是最好的。
发送的最大行数也并不是之前计算的上千的理论数量,实际上也就百来个,因为扫描虽然用了一秒,但是是逐个信道扫描。
而且除了WiFi攻击以外自己要与服务器通信,据测试,一直打会导致校园网WiFi质量很差,MQTT延迟很高且会断。
总结
目前这个板子画没画对还不知道,但也可以说我已经入门PCB设计、入门焊接了吧~