四、Arduino接入阿里云物联网平台[学习笔记]

本文详细介绍了如何使用Arduino和AliyunIoTSDK连接阿里云物联网平台,涉及ESP8266设备的配置、AliyunIoTSDK库的搜索与安装、以及解决编译过程中的错误,如缺少库和连接问题。
摘要由CSDN通过智能技术生成

参考  手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...-CSDN博客

文中提到的 AliyunIoTSDK 这个 Arduino 库,可以在 Arduino 库商店里搜索到(搜索 AliyunIoTSDK)

 

AliyunIoTSDK可以帮助你快速连接阿里云 IoT 平台,通过和阿里云物联网开发平台配合,可快速实现各种硬件应用,包括了很上层的封装,无需自己解析数据体,绑定事件即可,在ESP8266平台充分测试(NodeMCU 1.0)

AliyunIoTSDK库,除了上面在Arduino库商店里直接搜索外,还可以手动把 github 上的项目 clone 下来,放到 Arduino 的 library 库下。

github 地址:https://github.com/xinyu198736/arduino-aliyun-iot-sdk

拷贝上面网址上的测试代码:Usage使用示例

随意命名文件名,保存代码文件:

设备管理器中查看当前ESP8266 WiFi所占用的串口号:

Arduino中选择对应的串口号:

填写三元组和WiFi信息:

上海的服务器不用改       #define REGION_ID "cn-shanghai" 

点击“√”对号对工程进行编译:

编译后出错:

添加:ArduinoJson库

再次编译仍旧报错:

错误信息如下所示:

 
  1. Arduino:1.8.8 (Windows 10), 开发板:"WeMos D1 R1, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

  2. 构建选项已变更,全部重新构建

  3. C:\Users\juban\Documents\Arduino\libraries\AliyunIoTSDK\src\AliyunIoTSDK.cpp:3:26: fatal error: PubSubClient.h: No such file or directory

  4.  #include <PubSubClient.h>

  5.                           ^

  6. compilation terminated.

  7. exit status 1

  8. 为开发板 WeMos D1 R1 编译时出错。

  9. 在文件 -> 首选项开启

  10. “编译过程中显示详细输出”选项

  11. 这份报告会包含更多信息。

因为AliyunIoTSDK库,底层连接依据 PubSubClient 库,所以继续安装:PubSubClient库

缺少:SHA256库,继续安装:SHA256库

 

“AWS-SDK-ESP8266”库

再次编译,成功。

编译并下载程序,上传固件至mini D1 WiFi模块。

上传成功之后显示如下:

arduino上阿里云所需要用到的四个库文件。PubSubClient,ArduinoJson,AliyunIoTSDK,Crypto(SHA256)。

PubSubClient.h,是发布/订阅功能的头文件; 

SHA256.h,是加密功能的头文件(Crypto里面已有包含这个了);

ArduinoJson.h,是支持Json数据格式的头文件; 

AliyunIoTSDK.h,是阿里云SDK的头文件。

打开Arduino软件,工具-->串口监视器,可以查看模块打印输出的信息:

这个串口号换了,不是上面的COM7了,因为我更换了USB口,所以串口号变化了。

下面是在PubSubClient.h文件中关于错误类型的定义:

报错MQTT Connect err : -2,说明MQTT没有连接。

解决方法是更改PubSubClient.h文件中的两个宏MQTT_MAX_PACKET_SIZE和MQTT_KEEPALIVE,将其改大点,比如改成1024和60。

 

修改后,重新下载程序,然后看到可以正常上传数据了。

登录生活物联网平台--阿里云

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

未下载程序时,设备未激活

下载程序后,刷新一下,可以看到设备在线了。

打开监控运维—日志服务

点击查看详情

{"id":"123","version":"1.0","method":"thing.event.property.post","params":{"LightLuminance":100}}

为开发板向阿里云发送的一条数据

通过arduino的setup函数中的该函数


 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值