• ESP8266 Node Mcu开发板连接WIFI并上报数据到MQTT服务器——物联网应用开发


    一、前言

            本文主要介绍关于ESP8266 Node Mcu开发板如何连接WIFI并将本地采集的数据上传到MQTT服务器中。

            大家调试可以使用MQTTBox

    二、WIFI连接

            首先,导入WIFI连接所需的头文件,引入所需库。

    #include 

            声明字符串常量,以存储用于连接的WIFI名和密码。

    1. //这里更改WIFI名称
    2. const char* wifi_name= "TP-LINK_AA01";
    3. //这里填写WIFI密码
    4. const char* password = "00000000";

            初始化WIFI模块并等待连接成功。注意:ESP8266开发板本身有WIFI模块的开发库,而不需AT指令控制WIFI模块。

    1. WiFi.begin(wifi_name, password);
    2. while (WiFi.status() != WL_CONNECTED) {
    3. delay(500);
    4. }

            如果你有设置静态IP、网关等的需求,可以通过下面的代码来完成。

            首先,声明相关参数的字符串常量:

    1. IPAddress ip(0.0.0.0);
    2. IPAddress mask(255,255,255,0);
    3. IPAddress gateway(0.0.0.0);

            随后执行下面代码绑定配置。

      WiFi.config(staticIP,Mask,Gateway);

    三、连接MQTT服务器

            首先,导入连接MQTT服务器的头文件,引入所需库。

    1. WiFiClient espClient;
    2. PubSubClient client(espClient);

            随后,声明需要上传的MQTT报文主题的字符串常量。

    1. //设置你的主题
    2. const char* Topic = "my_topic";

            声明并初始化客户端对象。

    1. WiFiClient wifi;
    2. PubSubClient client(wifi);

            声明有关MQTT服务器的字符串常量。

    1. const char* mqttServer = "broker.cn";
    2. const int mqttPort = 1883;
    3. const char* mqttUser = "admin";
    4. const char* mqttPassword = "admin";
    5. const char* clientID="abc001";

            设置MQTT服务器信息并设置消息接收回调函数。

    1. client.setServer(mqttServer, mqttPort);
    2. client.setCallback(callback);

            其中,我们必须声明并自定义callback函数。

    1. void callback(char* topic, byte* payload, unsigned int length) {
    2. Serial.println("Receive Message");
    3. }

            连接MQTT服务器,并订阅报文。

    1. client.connect(clientID, mqttUser, mqttPassword);
    2. client.subscribe(Topic);

            声明字符数组,并上报数据,其中Message的内容需要根据实际数据格式化并赋值。

    1. char message[200];
    2. client.publish(Topic, message);
  • 相关阅读:
    丐版设备互联方案:安卓linux互联局域网投屏,文件共享,共享剪切板
    UE4 局域网联机案例
    11-Docker-Redis集群部署
    电脑怎么设置定时关机?
    egg框架的使用
    父组件调用子组件 ref 不生效?组件暴露 ref ?
    来了来了:Revit内建模型的基础教学
    亚马逊,速卖通,国际站卖家如何找到真实干净的买家账号测评补单
    包 package
    【微服务】七. http客户端Feign
  • 原文地址:https://blog.csdn.net/qq_39724355/article/details/133846777