连接Sparkfun ESP8266事情Azure的物联网中心(Connecting Sparkfu

2019-10-29 07:06发布

目前我正在试图给我的Sparkfun ESP8266东西连接到我的Azure的物联网中心。 我已经成功地建立了我的枢纽,和我下面就如何将事情连接到我的Azure的物联网中心这个教程: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-sparkfun -esp8266-事情-DEV-GET-开始

不幸的是我不断收到错误:

“StaticJsonBuffer”没有在这个范围内声明

Arduino的:1.8.5(视窗10),理事会: “SparkFun ESP8266的事情,80兆赫,512K(无SPIFFS),V2低内存,残疾人,无,只有素描,115200”

构建选项改变,重建所有C:\用户\ L.FULL \文件\的Arduino \ IOT - 轮毂SparkFun-ThingDev客户端应用程序内\应用\ message.ino:在函数 '布尔readMessage(INT,字符*)':

消息:46:错误:“StaticJsonBuffer”在此范围内未声明

 StaticJsonBuffer<MESSAGE_MAX_LEN> jsonBuffer;

 ^

C:\ Users \用户L.FULL \文件\的Arduino \ IOT - 轮毂SparkFun-ThingDev客户端应用程序内\应用\ message.ino:46:5:注:建议的替代:

在文件选自C包括:\用户\ L.FULL \文件\ Arduino的\库\ arduino_172002 \ SRC / ArduinoJson / StaticJsonDocument.hpp:8:0,

             from C:\Users\L.FULL\Documents\Arduino\libraries\arduino_172002\src/ArduinoJson.hpp:10,

             from C:\Users\L.FULL\Documents\Arduino\libraries\arduino_172002\src/ArduinoJson.h:9,

             from C:\Users\L.FULL\Documents\Arduino\iot-hub-SparkFun-ThingDev-client-app\app\message.ino:2:

C:\ Users \用户L.FULL \文件\ Arduino的\库\ arduino_172002 \ SRC / ArduinoJson /存储器/ StaticJsonBuffer.hpp:110:7:注意: 'ArduinoJson ::塔内:: StaticJsonBuffer'

类StaticJsonBuffer:公共内幕:: StaticJsonBufferBase {

   ^

消息:46:错误:“jsonBuffer”在此范围内未声明

 StaticJsonBuffer<MESSAGE_MAX_LEN> jsonBuffer;

                                   ^

消息:74:错误: '类ArduinoJson ::的JSONObject' 没有名为 'printTo' 构件

 root.printTo(payload, MESSAGE_MAX_LEN);

      ^

C:\ Users \用户L.FULL \文件\的Arduino \ IOT - 轮毂SparkFun-ThingDev客户端应用程序内\应用\ message.ino:在函数 'void parseTwinMessage(字符*)':

消息:80:错误:“StaticJsonBuffer”在此范围内未声明

 StaticJsonBuffer<MESSAGE_MAX_LEN> jsonBuffer;

 ^

C:\ Users \用户L.FULL \文件\的Arduino \ IOT - 轮毂SparkFun-ThingDev客户端应用程序内\应用\ message.ino:80:5:注:建议的替代:

在文件选自C包括:\用户\ L.FULL \文件\ Arduino的\库\ arduino_172002 \ SRC / ArduinoJson / StaticJsonDocument.hpp:8:0,

             from C:\Users\L.FULL\Documents\Arduino\libraries\arduino_172002\src/ArduinoJson.hpp:10,

             from C:\Users\L.FULL\Documents\Arduino\libraries\arduino_172002\src/ArduinoJson.h:9,

             from C:\Users\L.FULL\Documents\Arduino\iot-hub-SparkFun-ThingDev-client-app\app\message.ino:2:

C:\ Users \用户L.FULL \文件\ Arduino的\库\ arduino_172002 \ SRC / ArduinoJson /存储器/ StaticJsonBuffer.hpp:110:7:注意: 'ArduinoJson ::塔内:: StaticJsonBuffer'

类StaticJsonBuffer:公共内幕:: StaticJsonBufferBase {

   ^

消息:80:错误:“jsonBuffer”在此范围内未声明

 StaticJsonBuffer<MESSAGE_MAX_LEN> jsonBuffer;

                                   ^

消息:82:错误:“类ArduinoJson :: JSONObject的”没有名为“成功”成员

 if (!root.success())

           ^

消息:88:错误: 'ArduinoJson ::塔内:: enable_if> ::类型' 没有名为 '成功' 构件

 if (root["desired"]["interval"].success())

                                 ^

退出状态1“StaticJsonBuffer”在此范围内未声明

该报告将有“编译过程中显示详细的输出”,在文件中启用选项的详细信息 - >首选项。

我从“SparkFun ESP8266东西开发”改变了DEVICE_ID为“SparkFun ESP8266事”,并使用模拟数据我。

任何帮助,将不胜感激!

Answer 1:

这样做的原因错误是你安装ArduinoJson版本> = 6,默认版本6.2.3-β将被安装,但是从6版及更高版本JsonBuffer替换JsonDocument。 也正是在错误消息表明:

C:\ Users \用户L.FULL \文件\的Arduino \ IOT -轮毂SparkFun-ThingDev客户端应用程序内\应用\ message.ino:46:5:注: 建议的替代

在文件选自C包括:\用户\ L.FULL \文件\ Arduino的\库\ arduino_172002 \ SRC / ArduinoJson / StaticJsonDocument .HPP:8:0

为了解决这个问题,你可以回滚到以前的版本。 版本5.13.2对我的作品。

参考上ArduinoJson回购问题和问题的IOT -轮毂羽毛好哇客户端应用程序内回购 。



文章来源: Connecting Sparkfun ESP8266 Thing to Azure IoT Hub