前言
上一节我们学习了通过STM32串口控制ESP01S模块的基本使用方法,本节我们使用STM32串口控制ESP8266模块连接FastBee物联网平台。
一、准备
1. FasetBee物联网平台简介
FastBee的前身是物美智能(wumei-smart)平台,网址:https://iot.fastbee.cn/,FastBee开源物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。
系统后端采用Spring boot;前端采用Vue;消息服务器采用EMQX;移动端支持微信小程序、安卓、苹果和H5采用Uniapp;数据库采用Mysql、TDengine和Redis;设备端支持ESP32、ESP8266、树莓派、合宙等;系统架构图如下所示:
2. 硬件连接
注意串口2连接ESP01S模块,串口1连接串口工具
3. 云平台创建设备
参考如下文章创建自己设备:
01-mqtt.fx工具快速连接FastBee物联网平台
本文自己创建远程开关,物模型使用开关,属性为只读否,可读可写。
MQTT相关信息如下:
host: iot.fastbee.cn
port: 1883
clientId = "S&1234567890B&2111&1"
userName = "FastBee"
password = "P1W4MHA32B8TGGW5"
device_subscribe_topic = "/2111/1234567890B/property/get"
device_public_topic = "/2111/1234567890B/property/post"
二、实例
1. 建立工程
将上节串口实验代码复制并修改名字为:8.Project_Led,Keil打开工程,在Application/User/Driver处右击选择Add New Item…,添加C文件,名称命名为mqtt_task。
同样方法拆功能键mqtt_task.h文件, 上图第2步选择Header File(.h)文件即可。然后将…\user路径添加到头文件访问路径,如此便可以访问mqtt_task.h。
mqtt_task.h内容如下:
#ifndef __MQTT_TASK_H__
#define __MQTT_TASK_H__
#include "esp8266.h"
int mqtt_task_init(void);
int mqtt_task_subcribe(void);
int mqtt_task_report(void);
#endif
mqtt_task.c内容如下:
#include "mqtt_task.h"
int mqtt_task_init(void)
{
bool ret = false;
char data[