BearPi-智能井盖数据采集及上传MQTT Broker

举报
forest.wang 发表于 2023/08/29 18:51:58 2023/08/29
【摘要】 BearPi基于HCIA-IoT认证代码,实现智慧井盖场景端到端数据上云解决方案。
  1. 场景模块

       场景为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中订阅上送的数据。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。