前言
本人是一名嵌入式学习者,在大学期间也参加了不少的竞赛并获奖,包括:江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。
暑假的时候参加了太多的比赛,作为队长要写代码、材料文档,几乎是比完赛过几天又要去其他比赛了,前段时间都在休息,现在才有时间来记录一下。后面会经常写一下博客分享一下,如果想了解其他项目、技术,可以去B站搜:星汇极客,主页链接:星汇极客B站
此外,还开发了个人网站,里面有一些资料和源码供下载:星汇极客
个人物联网平台
1、为什么要自己搭建个人物联网平台?
答:网上常见的物联网平台有阿里云、腾讯云、Onenet、机智云等,我自己用过阿里云,但是它的连接方式比较麻烦,数据发送、接收指令格式固定复杂,没有那么方便。所以我在大学期间开发了自己的网站,搭建了物联网平台,用单片机通过ESP8266可以跟网页实现物联网通信。
2、物联网平台网页端
介绍:
下面这个是我搭建的物联网平台,使用Vue2开发的,部署在腾讯云服务器中。可以通过网址查看:物联网平台
(1)这里有订阅主题来接收消息、选择topic发送消息、连接断开服务器等。
(2)消息框来显示接收到的消息,下面可以发送消息,消息是JSON格式,发送后单片机接收解析数据提取即可。
(3)右边是可视化界面,可以显示指定的数据,更新的时间。
展示:
(1)订阅主题“wd”,Topic输入“wd”,点击下面的发送,可以收到自己发送的数据。
(2)可视化界面处,“key”输入“wd”,“name”输入温度,可得到需要解析的数据。
单片机通信:
单片机通过串口发送AT指令给ESP8266连接服务器,服务器中转发送给网页。
下面是ESP8266连接服务器的指令:这里MQTT服务器的用户名、密码、服务器IP隐藏了,如果有意向租用这个物联网平台的可以私聊我。
uint8_t ESP8266_SEND_STR[][200] =
{
//0. 设置客户端模式
{"AT+CWMODE=1\r\n"},
//1. 连接wifi,密码
{ "AT+CWJAP=\"OnePlus\",\"12345678\"\r\n" },
//2. username,password
{"AT+MQTTUSERCFG=0,1,\"NULL\",\"xxx\",\"xxx\",0,0,\"\"\r\n"},
//3. clientID
{"AT+MQTTCLIENTID=0,\"myWifi\"\r\n"},
//4. 连接服务器
{"AT+MQTTCONN=0,\"xxx\",1883,1\r\n"},
//5. 订阅指令
{"AT+MQTTSUB=0,\"esp8266test\",1\r\n"},
//6. 发布消息
{"AT+MQTTPUB=0,\"tempData\",\"{\\\"tempData\\\":\\\"22.0\\\"}\",1,0\r\n"},
//7 esp01重启
{"AT+RST\r\n"},
};
发送数据的指令:
printf("AT+MQTTPUB=0,\"mqtt\",\"{\\\"TempValue\\\":\\\"%d.%d\\\"\\\,\\\"humidityData\\\":\\\"%d.%d%%\\\"}\",1,0\r\n",temperature>>8,temperature&0xff,humidity>>8,humidity&0xff);
视频展示,可以到阿B看看。基于STM32 ESP8266通过MQTT 上传温湿度到网页中显示
如果想了解可以加一下我的公众号私聊。