![Arduino项目开发:智能生活](https://wfqqreader-1252317822.image.myqcloud.com/cover/214/31476214/b_31476214.jpg)
4.2 模块介绍
本项目主要包括主程序模块(自动控制与遥控模块、机械传动模块)、蓝牙环境采集分析模块、WiFi环境采集分析模块。下面分别给出各模块的功能介绍及相关代码。
4.2.1 主程序模块
本部分包括主程序模块(自动控制与遥控模块、机械传动模块)的功能介绍及相关代码。
1.功能介绍
通过红外遥控器对实现的功能进行选择。当输入“0”时进入自动行驶状态,通过超声波的回波时间进行距离测量(s=vt/2),当直行到达预警值时,控制车轮停止倒退,并左转一定时间,直到车头到墙面的距离大于预警值,继续运行。当输入方向键时,根据直流电机驱动的函数决定驱动方式,进而实现手动遥控。
以上均用到了NEC编解码协议,电路如图4-4所示(图中只画出2个直流电机,实际使用4个直流电机,每2个直流电机并联)。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P122_3447.jpg?sign=1738868014-yPjWymfVkUtB3QPGgf0wLrLYKFxF9O4F-0-afbb8fd88baac73c5a667895801f018e)
图4-4 主程序模块电路图
2.相关代码
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P122_12855.jpg?sign=1738868014-i5yRmoxH4t7zgUgW2Wlp4QgmvlX0sobd-0-152e36f091d953cd3911df8b798b5f96)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P123_3466.jpg?sign=1738868014-j7ly6qWxKNzlTHyD5NBRDQ9lsDio33lc-0-b177ae0dfbd7868e7b104afbe3446a41)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P124_12857.jpg?sign=1738868014-05X0b5wbtkpwqlTEKT7jptLp74fjV7hF-0-c167c1d2a07e15129c2d966e40b99671)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P125_3476.jpg?sign=1738868014-WZo9j80XBmH6jloHupz2j62G3P3K9GIb-0-49cd80961ba2d1feb58485feb08b4dda)
4.2.2 蓝牙环境采集分析模块
本部分包括蓝牙环境采集分析模块(环境数据采集模块、蓝牙传输模块)的功能介绍及相关代码。
1.功能介绍
本部分通过DHT11传感器采集环境的温湿度数据(传感器保存数据为32位高低电平数组),执行相关函数对数组的值进行处理。HC-05蓝牙模块将得到的温度(temp)、湿度(humi)与校对码(tol)上传至与蓝牙模块连接的SPP串口助手(手机端)上。若环境指标异常,上传“DANGER!”。为验证蓝牙模块是否工作正常,设置了一个蓝牙开关,对车上的蓝色LED进行控制,电路如图4-5所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P125_3479.jpg?sign=1738868014-2foFAkiq8GuqtYMRCus3r4hfWLHM89eg-0-80b6297669009dc1ded73d4fa968d814)
图4-5 蓝牙环境采集分析模块电路图
2.蓝牙模块简介
蓝牙模块引脚如图4-6所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P126_3485.jpg?sign=1738868014-EZekMOACE1mMHWOit3v3B7Qtnfz118Yy-0-6a8645645b7e55f53b591adf6538dcdf)
图4-6 HC-05蓝牙模块引脚图
HC-05模块需要先连接USB-TTL转接口,利用AT指令进行调试(sscom42串口助手),电路如图4-7所示,蓝牙模块调试示意如图4-8所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P126_3489.jpg?sign=1738868014-pZxeOBM4kltLdRSK8VZH2Jwkcy7ALs5V-0-21839d56228322deffec76986bb2c945)
图4-7 蓝牙模块调试电路图
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P126_3492.jpg?sign=1738868014-7YqV1siskFKKflftf8ceoDTGjRHp0A3G-0-3368c876ff0a3f3a4817c26219a063da)
图4-8 蓝牙模块调试示意图
调试结束后,与Arduino开发板连接,通过蓝牙将环境数据上传至SPP蓝牙串口助手(前提是手机端已经与HC-05蓝牙模块配对)。
蓝牙模块的灯可以反映其工作状态:快速闪烁表示接入成功;每隔2s闪烁表示AT模式;每隔2s快闪2次表示连接其他蓝牙设备成功。
关于蓝牙模块波特率选择的说明:当用户使用AT指令与HC-05蓝牙模块通信时,波特率为38400;当HC-05蓝牙模块与其他蓝牙设备通信时,波特率为9600。为方便使用,将HC-05波特率统一设置为38400。实测表明,当HC-05波特率为38400时,收到数据误码率更低。
3.SPP蓝牙串口助手简介
SPP蓝牙串口助手有聊天、终端、键盘、开关等功能,在使用前需要先点“连接”与蓝牙设备连接,软件界面示意如图4-9所示。此后,可以在串口监视器、聊天、终端收到传输的数据,串口监视器收到传输数据如图4-10所示,SPP终端页收到传输数据如图4-11所示,蓝牙开关设置如图4-12所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P127_3499.jpg?sign=1738868014-1raiuuEcCbdZfGta7po6ttEhwOWN27ig-0-34008c446295029dd216cf2478700a29)
图4-9 SPP设备连接界面
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P127_3503.jpg?sign=1738868014-U9PjFstci4TaY9l1vvdvFq2UuPVompwd-0-3207eb7424ace51bed454ec9bcb408ac)
图4-10 串口监视器收到传输数据
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P127_3506.jpg?sign=1738868014-BZqolChfpRLwH9ximVIl0jgQKdBVPeZv-0-b9d62a41df2ca2dda2e8466111f027a3)
图4-11 SPP终端页收到传输数据
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P127_3510.jpg?sign=1738868014-DwDcHlxWQHD1quY4AAU8AHv3kOItqsyN-0-0975a6b9faf0297289f629f6591b4e94)
图4-12 蓝牙开关设置示意图
4.相关代码
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P128_12860.jpg?sign=1738868014-XM5J0tMTa7WyYjRsmtcqruwdED6KX99m-0-e6de3d74439799225c4e2666baa859c9)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P129_12862.jpg?sign=1738868014-mauZpb0pV6ORNAb8YwUmmdYfI45RkNpb-0-f519db93c140bbeab831bed736133d63)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P130_12863.jpg?sign=1738868014-dBw9h2Nj414RlxIHzGdrllGw4cWTyXNP-0-ff0556074f79f9bcdc79d16e413a20c1)
4.2.3 WiFi环境采集分析模块
本部分包括WiFi环境采集分析模块(环境数据采集模块、WiFi传输模块)的功能介绍及相关代码。
1.功能介绍
通过DHT11传感器采集环境的温湿度数据(传感器保存数据为32位高低电平数组),执行相关函数对数组的值进行处理。然后,ESP8266模块在MCU模式下,将得到的温度、湿度等数据上传至OneNET云平台。云平台上的内置应用根据收到的数据,绘制折线图与仪表图,且当环境达到危险值时执行触发器,向邮箱发送预警邮件,电路如图4-13所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P131_3565.jpg?sign=1738868014-Q9OQFlJhQlgRgaJY7LcPho7uIDqXQ1KX-0-ef2307f2136709813d08db2f4a179297)
图4-13 WiFi环境采集分析模块电路图
2.WiFi模块简介
在使用ESP8266模块实现功能时,Arduino开发板搭载传输数据成功后,尝试脱离Arduino开发板利用ESP8266传输数据,也可以成功上传,如图4-14所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P131_3569.jpg?sign=1738868014-IQphUAQMkVML6p6QcHn4XXpql6GC94pv-0-5c8dc3742808c302ba8006650a9ea77a)
图4-14 ESP8266 WiFi模块引脚图
搭载Arduino开发板时,ESP8266模块需要先连接USB-TTL转接口,利用AT指令进行调试。
调试分为三部分:客户端调试(sscom42串口助手)、数据传输调试(串口助手+NetAssist)、透传调试(USR-TCP232)。调试结束后,即可与Arduino开发板连接,在透传模式下将环境数据以JSON数据流上传至OneNET云平台。
不搭载Arduino开发板时:需要先对ESP8266模块进行固件烧录(烧录软件为ESP8266 Flasher,网上有integer与float型的固件,本项目选择了前者),固件烧录软件示意如图4-15所示,电路如图4-16所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P131_3573.jpg?sign=1738868014-7Rpi1xHfYZzYyYhll2S50VKyDYsSkI7N-0-31dbfa1adf7fb572dda9136d5da5c1cc)
图4-15 固件烧录软件示意图
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P132_3578.jpg?sign=1738868014-Tu5V5mBSxv4bQ5DH3WQFMjo0njsPD4VM-0-9456c7aec301ecdb5e8230811e4bafe7)
图4-16 固件烧录电路图
烧录后,安装ESPlorer(或NodeMCU Studio),无须调试,即可通过lua程序实现功能,传输示意如图4-17所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P132_3582.jpg?sign=1738868014-uyN0dgRsWgGPWn9O2YzzTqBDZilRtuZJ-0-c90fa4c4b77b79dccf7940b7b2943b11)
图4-17 ESPlorer软件数据传输示意
3.OneNET云平台简介
OneNET云平台由中国移动公司开发,注册后进入“开发者中心”,即可开始使用,如图4-18所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P132_3586.jpg?sign=1738868014-5Rr0vm8fu3zInTAxPbIsI3aklFoBzgs2-0-b5b699cc3478eec180d4cc01c5c03011)
图4-18 开发者中心页示意图
1)项目创建
单击“创建产品”,顺次填写各项内容,其中在“设备接入协议”中,默认是HTTP,作为WiFi模块开发,还可以选择EDP、MQTT协议。创建产品结束后,进入产品页,如图4-19所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P133_3592.jpg?sign=1738868014-q9LUfTKxXBquBEWB6egw3vcyV1ljQv7x-0-d966f61615f033cec209861d8ff53cb4)
图4-19 产品页示意图
2)数据设置
单击“设备管理”,添加新设备(设备编号可任意填写),添加后获得设备ID,如图4-20所示。数据流可以不添加,数据传输成功后会根据程序自动设置关联数据流。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P133_3596.jpg?sign=1738868014-6RCnkCD4aPYW6oxtyQi6RKXpMWZr67ur-0-b62a5f2e257548d8a1649c2c1bea10b5)
图4-20 设备管理示意图
为将数据上传至云平台,需要的关键信息为:服务器地址(183.230.40.33)及端口号(80)、设备ID、API Key、Host地址(api.heclouds.com)。
3)数据分析
单击“触发器管理”,可以添加触发器。在数据达到设置的临界值时,即可通过邮箱或URL发送预警信息。云平台添加触发器示意如图4-21所示,触发器预警邮件示意如图4-22所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P134_3602.jpg?sign=1738868014-lpof9GqxWNgC7Cd9fFRsiDjJhJblx81B-0-fd5e7bab976f6c4009202dd53b886366)
图4-21 云平台添加触发器示意图
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P134_3606.jpg?sign=1738868014-IfPRW5RNCwh5qivumuIn6MuZnZHhf8fG-0-5194500595f0656078123d9db77d7759)
图4-22 触发器预警邮件示意图
单击“应用管理”,创建应用。根据自己的喜好进行设置,可以将数据以不同的统计形式进行展示。环境数据展示(折线图)如图4-23所示,环境数据展示(仪表盘)如图4-24所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P134_3610.jpg?sign=1738868014-YWovWLHEqwfrzaXFRRa32RgXMpvFHcDB-0-224a8ac9dd960a07540515fc404d3f2c)
图4-23 环境数据展示(折线图)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P135_3615.jpg?sign=1738868014-M5ySt7c4q24lDBpAh1KQ7q1cGcONxnQ9-0-dd8ac80273ca4a1a8b6c8d3945bc5684)
图4-24 环境数据展示(仪表盘)
4.相关代码
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P135_12864.jpg?sign=1738868014-wKYqWo0UvlCn7gpuTmImupbgbYI59l1H-0-0252afd0e63399572e6bab3d43fecca2)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P136_12865.jpg?sign=1738868014-NWvV0QYC6O2VKDbEKZRTZrbo4W89Q7pB-0-9d75d64fee4c4330720ecaee7a77c035)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P137_12866.jpg?sign=1738868014-xYNIWGzgGTzQXuQsRi4zVdyQXHQ6lWDY-0-c1e6832296c6df973f925ecfda53aa67)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P138_3658.jpg?sign=1738868014-Lt1xTnyc2IU10roDpM4Rh0kUnH7hTVwJ-0-be10b1ac9c79aae216557065b7120713)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P139_12868.jpg?sign=1738868014-xiHZdl2Q3kVW2WioRpre3myL4Exg4gMw-0-29c6cda8e4a68b38eaa31c35781aa296)
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P140_12870.jpg?sign=1738868014-moveTxGWeW8Q3KHnZDHTLVYZ6L2CIF3I-0-40742d5aa89b121ef984893ac4b7a748)