基于单片机和WiFi的无线温湿度检测节点设计
本文引用地址:http://www.amcfsurvey.com/article/249571.htm
1.2.2 WiFi透明传输模式
USR-WiFi232-G支持串口透明传输模式,可以实现串口即插即用,从而最大程度降低用户使用的复杂度。首次使用时需要对模块进行配置,作为无线传感器网络节点使用时,需要通过PC的无线网卡连接USR-WiFi232-G,默认网络名称(SSID)为HF-A11X_AP。加入网络后,在IE浏览器地址栏输入http://10.10.100.254,在无线终端设置选项中,键入模块要连接的无线接入点的SSID和密码,并选择自动获取IP地址。
然后在模式选择选项中设置USR-WiFi232-G模块工作模式为AP+STA模式,保存后重新启动模块。打开智能手机或者PC的上位机终端,选择客户机(TCP client)模式,服务器IP地址输入自动分配给USR-WiFi232-G的地址,服务器端口号为8899,此为模块默认监听的TCP端口号,点击连接建立TCP连接,即可进行远程数据收发。
1.3 STC15F104W单片机
本设计采用宏晶科技有限公司生产的STC15F104W单片机。该单片机工作电压为3.8~5.5 V,采用增强型8051CPU内核,指令代码完全兼容传统51单片机,速度更快。片内128字节RAM,1K EEPROM,4 KB Flash程序存储器;内部高可靠复位,可彻底省掉外部复位电路;具有高精度R/C时钟,内部时钟为5~35 MHz可选。采用8引脚封装,有2个普通16位重装载定时器/计数器,共有6个通用I/O端口,可利用I/O口结合定时器实现串口功能(通常使用P3.0和P3.1端口)。该单片机价格便宜,单个售价少于2.0元,设计采用该系列单片机,完全可以满足进行温湿度检测的要求。
2 节点软件设计
2.1 读取1位数据
单片机读取一位数据流程如图5所示。由于每位数据都有约50μs的低电平时隙和其后的高电平时隙两部分,单片机将根据高电平时隙的长度确定当前位数据的取值。读取数据时,单片机持续检测数据线SDA状态,当SDA变力高电平时,利用软件延时约30 μs,然后再次检测SDA电平状态。若此耐SDA处于高电平状态,则表示当前位数据为“1”,存储当前位数据,等待SDA重新变为低电子状态时,开始读取下一位数据;若SDA处于低电子状态,则表示当前位数据为“0”,存储数据后开始读取下一位数据。
2.2 读取AM2303数据
单片机读取AM2303数据采用KEIL C51实现,流程如图6所示。AM2303上电后需等待2 s以越过不稳定状态,期间单片机不能向其发送指令。读取AM2303数据时,单片机通过I/O口向AM2303数据线SDA发送起始信号,待接收到响应信号后,依次从数据线SDA串行读取湿度高8位、湿度低8位、温度高8位、温度低8位以及8位校验位。
单片机通过判断湿度高、低8位与温度高、低8位之和是否等于校验位,来确定所接收的温湿度数据是否准确,校验正确则将温湿度数据通过串口送至WiFi模块;否则重新获取温湿度数据。由于AM2303硬件原因,读取间隔小于2 s可能导致读取温湿度数据不准确或通信不成功等情况,所以单片机连续两次读取温湿度数据时间至少间隔2 s。
结语
本文介绍的温湿度检测节点作为无线温湿度传感器网络节点可以实现灵活组网,并可针对现场温湿度信息进行实吋监测。通过打开路由器网络设置中的动态DHCP客户端列表,获取路由器分配给节点的IP地址。使用智能手机客户端连接节点IP,选择TCP Client模式,默认端口号8899,连接后即可接收节点数据。经测试,在无障碍物的室外环境,节点可接入约300m范围内的路由器,并可稳定地通过路由器上传温湿度数据,数据传输错误出错率很低。测试效果如图7所示。
测试表明节点用于采集环境温湿度数据,检测距离远并且运行稳定。该设计节点的通用性良好,组网方便,具有扩充能力与发展余地,并可接入互联网方便远程测控与资源共享,具有较强的实用性。
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
路由器相关文章:路由器工作原理
路由器相关文章:路由器工作原理
断路器相关文章:断路器原理
高压真空断路器相关文章:高压真空断路器原理 上拉电阻相关文章:上拉电阻原理 土壤湿度传感器相关文章:土壤湿度传感器原理 温湿度控制器相关文章:温湿度控制器原理 漏电断路器相关文章:漏电断路器原理
评论