最近想做一个温/湿度+光线数据采集的小东西,原以为很简单,想不到走了不少弯路,于是就把过程记录下来。
配件清单见表11.1,计划实现的功能有:温度采集、湿度采集、光线采集、通过Wi-Fi将数据上传到云服务器、电池供电、可选无线充电。
表11.1 配件清单
TTL转USB工具用的是DFRobot Arduino FTDI Basic FIO/pro/mini/lilypad程序下载器(见图11.1)。
ESP8266-01的CH_PD与VCC短接,VCC由外部供3V电(不能用TTL-USB供电)并与TTL-USB共地,然后按表11.2连接对应接口。
把TTL-USB接上计算机,没驱动的先装驱动。用常用的工具可以调试,比如sscom42,串口速率是115200或9600。依次执行表11.3中的指令初始化Wi-Fi模块。
图11.1 TTL转USB工具
表11.2 要连接的接口
表11.3 初始化Wi-Fi模块的指令
接线方法比较简单,DHT11(见图11.2,需要有DHT库)的红线接Cheapduino的3-5V,黑线接GND,绿线接D9。模拟环境光线传感器(见图11.3)的红线接Cheapduino的3-5V,灰线接GND,绿线接A0。
图11.2 DHT11模块
图11.3 模拟环境光线传感器模块
由于Cheapduino不支持软串口,只能直接使用芯片上的TX和RX与Wi-Fi模块相接。咨询过DFRobot的技术支持,怀疑是Cheapduino丝印出错,把TX和RX印反了(见图11.4),所以与Wi-Fi模块的连接如表11.4所示。
图11.4 Cheapduino
表11.4 要连接的接口
至于供电,原计划直接用USB 5V引线给Cheapduino供电,ESP8266另用降压模块,但后来因为采用了3.7V的锂电池,所以就省略了降压模块。
另外,在接ESP8266-01前,注意先把程序烧录到Cheapduino中,否则因共用串口,程序无法烧录。
简单记录一下供电方案:无线线圈(可获取5V/1A的供电)与锂电池充电模块IN相接,正极处要接一个二极管,防止电流倒灌;锂电池充电模块OUT并连3.7V锂电池和Cheapduino(见图11.5)。
图11.5 供电连接
此方案有个BUG,就是在无线充电期间,Cheapduino会获得5V供电,可能会影响ESP8266工作(甚至烧掉),这个以后要改进。数据采集界面如图11.6所示。
图11.6 数据采集界面
联系客服