打印
[STM32F4]

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

[复制链接]
2230|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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模块实物图

2、整体实物图

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

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


F446ZE物联网温湿度.rar (589.81 KB)


沙发
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

使用特权

评论回复
5
yklstudent| | 2016-4-25 18:20 | 只看该作者
楼主要是能搞出视频(截图),记得分享下啊;

使用特权

评论回复
6
jjlink|  楼主 | 2016-4-25 22:32 | 只看该作者
yklstudent 发表于 2016-4-25 18:20
楼主要是能搞出视频(截图),记得分享下啊;

一个小作品而己啦 。没什么视频可拍,不过图片有几张,全放在上面了。

使用特权

评论回复
7
jjlink|  楼主 | 2016-4-25 22:34 | 只看该作者
caoqing 发表于 2016-4-25 17:29
要是板子带网络接口就好了

板子上面有带internet的组件,不过没焊上去,板子上面还预留了一个RJ45的网口封装,有空可以按官方的原理图去焊一下哈哈。

使用特权

评论回复
8
yklstudent| | 2016-4-26 09:13 | 只看该作者
jjlink 发表于 2016-4-25 22:32
一个小作品而己啦 。没什么视频可拍,不过图片有几张,全放在上面了。

Yeelink可以实现视频截图监控功能,你可以去试试
做好了记得分享啊

使用特权

评论回复
9
jjlink|  楼主 | 2016-4-26 11:25 | 只看该作者
yklstudent 发表于 2016-4-26 09:13
Yeelink可以实现视频截图监控功能,你可以去试试
做好了记得分享啊

哦。我懂你意思了,这个在ST上实现还真没试过,Linux的我试过,完全没问题哈哈。

使用特权

评论回复
10
jinshudg| | 2016-4-27 16:59 | 只看该作者
首先对所需要用的端口和外设进行初始化,包括了GPIO端口,SPI1外设,UART串口。然后是对W5500进行设置和DHT11的检测。

使用特权

评论回复
11
FireRiver9| | 2016-4-27 20:35 | 只看该作者
RJ45和RJ11接口什么区别

使用特权

评论回复
12
jjlink|  楼主 | 2016-4-28 17:47 | 只看该作者
FireRiver9 发表于 2016-4-27 20:35
RJ45和RJ11接口什么区别

RJ11接口和RJ45接口很类似,但只有4根针脚(RJ45为8根)。
RJ11也就是我们常用的电话线的接口~

使用特权

评论回复
13
笑鸟007| | 2016-5-13 23:09 | 只看该作者
楼主,出现0:Socket Connect Error怎么解决?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

73

帖子

0

粉丝