摘要:昨天周末,晚上刷抖音的时候看到一个视频说做一个物联网小项目要花好几百块钱,看完我直呼内行。今天就整理一下以前的一个好玩的物联网小项目,只要10分钟我保证你能搞定。学习是一种乐趣,把一个比较复杂的东西简单化让大家快速掌握并实现就是小编的乐趣,哈哈。本文针对初学者入门的小demo,大佬勿喷!
所需材料:STM32F103C8T6核心板、ESP8266-01S模块、DHT11模块(别的单片机和wifi模组同样适用)
本项目的目的是:ESP8266通过MQTT协议将温湿度数据传输至OnenNet云平台。用的单片机采用的是最常见最便宜的C8T6,当然如果你是别的f1系列的单片机代码直接复制过去就能用,要的就是这么暴力。wifi模块用的是最入门的ESP8266,因为是写文章所以没必要用那么贵的啊!当然如果你用别的ESP8266都是可以的,AT指令和接线方式基本都是一样的。传感器采集模块用的是DHT11,因为这个小模块可以输出温度和湿度信息,非常适合极客开发。
用最少的钱和最大众的模块,用最快的时间掌握物联网开发的基本流程并实现它,nice
1、接线方式
这里使用ESP8266,如果是其他的模块也可以按照这个方式接线。
ESP8266-01S(5根线)
PA2——>RX
PA3——>TX
PA4——>复位
3V3——>VCC
GND——>GND
DHT11(3根线)
PA6——>DATA
3V3——>VCC
GND——>GND
LED(核心板上一般都有一个led)
PC13——>LED1
2.程序code
大致思路:在 stm32f10x_it.c文件中编写中断处理函数。usart1用来与上位机通信打印一些调试信息。usart2用来与ESP8266通信,并且接收中断处理上位机发送来的数据。timer2的中断用来发送温湿度数据,10S发送一次温湿度数据。timer3的中断用来发送心跳包(ping,用于保持和服务器连接,长时间没给服务器发送数据会被踢下线),2s和30s两种模式。timer4将串口2接收到的服务器数据依次存放在MQTT接收缓存数组中,50ms处理一次。control用来控制LED灯,并且发送LED灯开关信号。
本文不讲代码的主要实现,代码的中最核心的部分就是MQTT通信协议和通过AT指令集使ESP8266入网连接服务器。而这部分的代码原理我已经在前面的发文章详细的讲解了,这里就不再赘述。主要说一说你拿到代码后需要修改的部分,方便你快速的实现。
1.mqtt.h
#definePRODUCTID"411887"//自己的产品ID
#defineDEVICEID"701754917"//自己的设备ID
#defineAUTHENTICATION"zhiguoxin"//自己的鉴权信息(创建设备的时候设置)
2.mqtt.c
sprintf(ServerIP,"%s","183.230.40.39");//构建服务器域名(ONENET的)
ServerPort=6002;//服务器端口号6002
根据平台地址列表填写,这里是mqtt协议
3.wifi.h
#defineSSID"guoguo"//自己的路由器名称
#definePASS"guoguoxiaoshidi"//自己的路由器密码
3、云平台环境配置
云平台配置:
OneNET控制台—全部产品服务,多协议接入—添加产品—进入产品—设备列表—添加设备—创建完成
平台应用设置:
添加应用—编辑应用—组件库中添加折线图和开关 折线图: 选择数据流 — 选择设备—数据流选择要显示的数据 开关(数据上传成功后进行配置): 选择数据流 — 选择设备—数据流选择要显示的数据(这里选择LED,ledFlag)—开关开值—开关关值
4、OneNet平台操作
1.注册OneNet平台
直接百度OneNet物联网平台,进入那个官方的链接,之后注册它。
2.添加产品
1.注册好之后进入控制台,选择多协议接入,这是旧版本不收费,是不是很香,想发多少发多少!
2.之后添加一个产品,这个意思就好比,我要做产品了做项目了肯定要添加一个产品啊,就跟你新建一个新工程一样的意思。
3.完善产品信息,这里我们可以随便填一下
3.添加设备
1.产品添加成功之后,就可以添加设备了。这里设备就是我们的硬件,你的STM32、ESP8266、DHT11就是你的设备。
2.完善设备信息
4.修改程序
现在就要将你的模块联网接入平台了。下面的产品ID、设备ID、鉴权信息,就是你的硬件平台进入OneNet平台的钥匙和身份证,只有你拿到了身份证号才能连接云平台,否则平台就会把你踢了。
1.之后要修改程序的4处地方,就是上面说的对接信息。第一个地方就是修改程序里面的产品ID
2.第二个地方就是修改设备的ID
3.第单个地方就是修改鉴权信息
4.第四个地方就是修改wifi名称和密码,要让你的ESP8266模块连接上网络,你的模块是先连网再接入云平台
5.下载程序
1.编译好工程之后就可以下载程序了,同时也会看到调试助手上显示调试的信息。
2.连接成功之后进入后台就会发现设备现在已经处于在现状态。
6.数据上传显示
开发板上的温湿度信息也实时的显示在后台中。
7.制作可视化界面
1.当然我们也可以把这些温湿度信息做成可视化界面,按照下面的步骤操作。
2.拖动控件,修改属性
3.编辑完成之后就可以预览保存和发布了!
至此你的物联网项目已经完成了。把程序下载下来,是不是10分钟就搞定了!
END
长按图片,扫码免费领取
暂无评论哦,快来评论一下吧!