[STM32F4] 【NucleoF446ZE获奖】2、物联网温湿度+远程开关控制

[复制链接]
 楼主| jjlink 发表于 2016-4-25 13:50 | 显示全部楼层 |阅读模式
        本次的主体是通过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模块实物图
820865280281842131.jpg

2、整体实物图
639962736346794112.jpg

四、实验现象:
我们可以随时观察实时温湿度变化曲线图;同时,Yeelink还为我们提供了手机APP,或者是微信客户端的形式,我们同样可以通过这两种形式来查看。
6176.tmp.jpg
微信截图_20160425134723.png

五、代码共享:
以下附上我的代码共享,希望走过路过的大神轻喷哈!!


F446ZE物联网温湿度.rar (589.81 KB, 下载次数: 43)


caoqing 发表于 2016-4-25 17:29 | 显示全部楼层
要是板子带网络接口就好了
arima 发表于 2016-4-25 17:39 | 显示全部楼层
不错,谢谢分享。。。。
294479435 发表于 2016-4-25 18:11 | 显示全部楼层
caoqing 发表于 2016-4-25 17:29
要是板子带网络接口就好了

好像用的也是外接的W5500
yklstudent 发表于 2016-4-25 18:20 | 显示全部楼层
楼主要是能搞出视频(截图),记得分享下啊;
 楼主| jjlink 发表于 2016-4-25 22:32 | 显示全部楼层
yklstudent 发表于 2016-4-25 18:20
楼主要是能搞出视频(截图),记得分享下啊;

一个小作品而己啦 。没什么视频可拍,不过图片有几张,全放在上面了。
 楼主| jjlink 发表于 2016-4-25 22:34 | 显示全部楼层
caoqing 发表于 2016-4-25 17:29
要是板子带网络接口就好了

板子上面有带internet的组件,不过没焊上去,板子上面还预留了一个RJ45的网口封装,有空可以按官方的原理图去焊一下哈哈。
yklstudent 发表于 2016-4-26 09:13 | 显示全部楼层
jjlink 发表于 2016-4-25 22:32
一个小作品而己啦 。没什么视频可拍,不过图片有几张,全放在上面了。

Yeelink可以实现视频截图监控功能,你可以去试试
做好了记得分享啊
 楼主| jjlink 发表于 2016-4-26 11:25 | 显示全部楼层
yklstudent 发表于 2016-4-26 09:13
Yeelink可以实现视频截图监控功能,你可以去试试
做好了记得分享啊

哦。我懂你意思了,这个在ST上实现还真没试过,Linux的我试过,完全没问题哈哈。
jinshudg 发表于 2016-4-27 16:59 | 显示全部楼层
首先对所需要用的端口和外设进行初始化,包括了GPIO端口,SPI1外设,UART串口。然后是对W5500进行设置和DHT11的检测。
FireRiver9 发表于 2016-4-27 20:35 | 显示全部楼层
RJ45和RJ11接口什么区别
 楼主| jjlink 发表于 2016-4-28 17:47 | 显示全部楼层
FireRiver9 发表于 2016-4-27 20:35
RJ45和RJ11接口什么区别

RJ11接口和RJ45接口很类似,但只有4根针脚(RJ45为8根)。
RJ11也就是我们常用的电话线的接口~
笑鸟007 发表于 2016-5-13 23:09 | 显示全部楼层
楼主,出现0:Socket Connect Error怎么解决?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

73

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部