BearPi-智能井盖数据采集及上传MQTT Broker
- 场景模块
场景为BearPi开发板的智慧井盖场景:
· 使用E53-SC2模块+WIFI8266模块;
·通信协议使用MQTT,使用emqx-5.1.4-windows-amd64在PC端模拟broker;
·PC连接Wi-Fi或者有线网络;
·PC同时开启Hotspot;
·WIFI8266配置连接热点为PC的Hotspot;
·开发板工程使用HCIA-IoT的软件环境HUAWEI-LiteOS-Studio,及代码工程"LiteOS_Lab_HCIA"。
·配置MQTT Broker为PC的IP地址。
2、代码结构
(1)PC启动EMQX服务器;
PS D:\ftp\2023\emqx\emqx-5.1.4-windows-amd64> .\bin\emqx start
EMQX_NODE__DB_ROLE [node.role]: core
EMQX_NODE__DB_BACKEND [node.db_backend]: mnesia
PS D:\ftp\2023\emqx\emqx-5.1.4-windows-amd64>
在浏览器地址栏输入以下命令,可以查看打开的MQTT服务器WEB端
localhost:18083
(2)使用HCIA官方代码LiteOS_Lab_Agriculture,修改“.config”和“iot_config.h”文件
1)“.config”文件,修改模块宏定义,配置Hotspot的SSID和密码,开启MQTT协议配置
# Demo
#CONFIG_USER_DEMO="oc_agriculture_template"
CONFIG_USER_DEMO="oc_manhole_cover_template"
# NB-IoT
#CONFIG_BOUDICA150_ENABLE=y
# WIFI
#CONFIG_OCLWM2MTINY_ENABLE=y
#CONFIG_LWM2M_AL_ENABLE=y
#CONFIG_WAKAAMALWM2M_ENABLE=y
CONFIG_TCIP_AL_ENABLE=y
CONFIG_ESP8266_ENABLE=y
CONFIG_ESP8266_SSID="Huawei"
CONFIG_ESP8266_PWD="12345678"
# MQTT
CONFIG_MQTT_AL_ENABLE=y
CONFIG_PAHO_MQTT=y
CONFIG_PAHO_CONNECT_TIMEOUT=10000
CONFIG_PAHO_CMD_TIMEOUT=10000
CONFIG_PAHO_LOOPTIMEOUT=10
CONFIG_PAHO_SNDBUF_SIZE=2048
CONFIG_PAHO_RCVBUF_SIZE=2048
CONFIG_DTLS_AL_ENABLE=y
CONFIG_MBEDTLS_ENABLE=y
CONFIG_MBEDTLS_PSK=y
2)“iot_config.h”文件,修改模块宏定义,配置Hotspot的SSID和密码,开启MQTT协议配置
/*Demo*/
// #define CONFIG_USER_DEMO "oc_agriculture_template"
#define CONFIG_USER_DEMO "oc_manhole_cover_template"
/*NB-IoT*/
// #define CONFIG_BOUDICA150_ENABLE 1
/*WIFI*/
// #define CONFIG_OCLWM2MTINY_ENABLE 1
// #define CONFIG_LWM2M_AL_ENABLE 1
// #define CONFIG_WAKAAMALWM2M_ENABLE 1
#define CONFIG_TCIP_AL_ENABLE 1
#define CONFIG_ESP8266_ENABLE 1
#define CONFIG_ESP8266_SSID "Huawei"
#define CONFIG_ESP8266_PWD "12345678"
/*MQTT*/
// #define CONFIG_CJSON_ENABLE 1
#define CONFIG_MQTT_AL_ENABLE 1
#define CONFIG_PAHO_MQTT 1
#define CONFIG_PAHO_CONNECT_TIMEOUT 10000
#define CONFIG_PAHO_CMD_TIMEOUT 10000
#define CONFIG_PAHO_LOOPTIMEOUT 10
#define CONFIG_PAHO_SNDBUF_SIZE 2048
#define CONFIG_PAHO_RCVBUF_SIZE 2048
#define CONFIG_DTLS_AL_ENABLE 1
#define CONFIG_MBEDTLS_ENABLE 1
#define CONFIG_MBEDTLS_PSK 1
(3)修改“oc_manhole_cover_template.c”文件,配置MQTT服务器的IP地址,端口号默认1883,登录的用户名、密码、发布订阅的主题。
// MQTT:Connect to the basic variables of the broker.
#define DEFAULT_LIFETIME 60
#define DEFAULT_SERVER_IPV4 "192.168.43.195"
#define DEFAULT_SERVER_PORT 1883
#define CN_MQTT_EP_CLIENTID "liteos"
#define CN_MQTT_EP_USERNAME "Sunshine"
#define CN_MQTT_EP_PASSWD "12345678"
#define CN_MQTT_EP_SUB_TOPIC1 "ManholeCover/Command/+"
#define CN_MQTT_EP_PUB_TOPIC1 "ManholeCover/Data"
(4)完成程序烧写,设备连接,登录MQTT broker。可以在EMQX中订阅上送的数据。
- 点赞
- 收藏
- 关注作者
评论(0)