本次的主体是通过DHT11读取温湿度并将其值上传到Yeelink用于在线监测,同时通过Yeelink这个平台提供的模拟开关的形式,可以实现远程开关的目的。
一、硬件连接简述: 本次设计中需要用到的硬件主要有:W5500网络模块,DHT11温湿度传感器,Nucleo-F446ZE板等 其主要接线方式如下所示: MCU W5500 DHT11 PC PA4 CS PA5 SCK PA6 MISO PA7 MOSI PC9 DQ PD8 USB_RX PD9 USB_TX
二、软件工作过程简述:
首先对所需要用的端口和外设进行初始化,包括了GPIO端口,SPI1外设,UART串口。然后是对W5500进行设置和DHT11的检测。 同样在初始阶段中需要对W5500中8个SOCKET的缓冲区进行初始化操作,等待PHY的连接状态打开,对W5500的MAC地址、本机IP、网关、子网掩码、DMS服务器和DHCP状态进行初始化,并设置好溢出时间值和最大重发次数(可不设置)。 根据Yeelink的API相关文档,将从DH111所获取到的湿度、温度值,转换为所需要发送的字符串数据,然后通过TCP的Client工作模式向Yeelink上传数据,上传数据成功后等待十秒,然后进行下一次数据的发送(Yeelink的相关平台要求了每次数据的发送间隔应该大于十秒,否则会收到错误信息)。 然后通过Yeelink,我们创建一个开关量,通过操作这个开关,当W5500查询到云端关于这个开关量的值是1或0时,会对应打开或关闭LED灯,这里我选用的是板载的LED2(蓝色灯)进行模块的。
三、实物图
1\W5500模块实物图
2、整体实物图
四、实验现象: 我们可以随时观察实时温湿度变化曲线图;同时,Yeelink还为我们提供了手机APP,或者是微信客户端的形式,我们同样可以通过这两种形式来查看。
五、代码共享: 以下附上我的代码共享,希望走过路过的大神轻喷哈!!
F446ZE物联网温湿度.rar
(589.81 KB)
|