将NodeMCU接入物联网平台的踩坑之路(阿里云、百度天工)

最近在学习物联网,第一次买了一个Aaruino D1 WIFI开发板,过程遇到不少困难,甚至怀疑开发板是不是有问题;后来发现网上的大部分教程里用的是NodeMCU,于是我就把它买了下来,本教程里用的也是NodeMCU开发板。

下面是分别是接入阿里云物联网平台和百度天工物联网平台的注意事项:

  1. 阿里云物联网平台
  2. 百度天工物联网平台

在这里插入图片描述

阿里云物联网平台

阿里云物联网平台链接:https://www.aliyun.com/product/iot
在这里插入图片描述
直接进入管理控制台即可,新建设备什么的比较简单,查看技术文档即可
在这里插入图片描述
下面是阿里云开发者社区给出的教程:
NodeMCU(ESP8266)接入阿里云物联网平台

对于上面教程里的esp8266.ino 代码:

#include <ESP8266WiFi.h>
/* 依赖 PubSubClient 2.4.0 */
#include <PubSubClient.h>
/* 依赖 ArduinoJson 5.13.4 */
#include <ArduinoJson.h>

#define SENSOR_PIN    13

/* 连接您的WIFI SSID和密码 */
#define WIFI_SSID         "路由器SSID"
#define WIFI_PASSWD       "密码"


/* 设备的三元组信息*/
#define PRODUCT_KEY       "设备PRODUCT_KEY"
#define DEVICE_NAME       "替换DEVICE_NAME"
#define DEVICE_SECRET     "替换DEVICE_SECRET"
#define REGION_ID         "cn-shanghai"

/* 线上环境域名和端口号,不需要改 */
#define MQTT_SERVER       PRODUCT_KEY ".iot-as-mqtt." REGION_ID ".aliyuncs.com"
#define MQTT_PORT         1883
#define MQTT_USRNAME      DEVICE_NAME "&" PRODUCT_KEY

#define CLIENT_ID         "esp8266|securemode=3,timestamp=1234567890,signmethod=hmacsha1|"
// 算法工具: http://iot-face.oss-cn-shanghai.aliyuncs.com/tools.htm 进行加密生成password
// password教程 https://www.yuque.com/cloud-dev/iot-tech/mebm5g
#define MQTT_PASSWD       "参考上面password教程,算法工具生成"

#define ALINK_BODY_FORMAT         "{\"id\":\"123\",\"version\":\"1.0\",\"method\":\"thing.event.property.post\",\"params\":%s}"
#define ALINK_TOPIC_PROP_POST     "/sys/" PRODUCT_KEY "/" DEVICE_NAME "/thing/event/property/post"

这里主要讲一下CLIENT_ID和MQTT_PASSWD:

  • CLIENT_ID的timestamp不用写,也就是:
  "esp8266|securemode=3,signmethod=hmacsha1|"
  • MQTT_PASSWD使用password生成小工具
    在这里插入图片描述
    这个生成方法对刚开始接触的同学比较友好,至少比注释里提供的方式要简明的多:
    在这里插入图片描述
    把这块搞定,其他的基本就没什么问题了

阿里云的接入方法还是比较简单的,也有很多资源,下面来看看接入百度天工物联网平台的方法

百度天工物联网平台

百度天工物接入IoT Hub链接:
https://cloud.baidu.com/product/iot.html
在这里插入图片描述
创建设备的方法很简单,在帮助文档都能找到:
在这里插入图片描述
下面是百度开发者中心里的案例:
了解物接入-家庭温湿度交互式系统开发

教程里用的是Linux系统,但是问题不大,使用Windows系统的朋友也是可以的

首先是第三步的固件包下载:
在这里插入图片描述
这里划重点!
在这里插入图片描述
一定要把MQTT加上,如果要做温湿度检测,还要把DHT勾上,不然就会像这样:
在这里插入图片描述
报错信息如下:

PANIC: unprotected error in call to Lua API (init.lua:37: attempt to index global ‘mqtt’ (a nil value))

这个报错就好像python里导入的库没有安装一样

接下来是第4步:
在这里插入图片描述
准确说,这里的烧录不是上传程序,而是为后续的程序上传做准备,具体原因请看 NodeMCU文档:
https://nodemcu.readthedocs.io/en/master/flash/#putting-device-into-flash-mode
在这里插入图片描述
在这里插入图片描述
那这一步怎么做呢?教程用到的是esptool.py

esptool.py的GitHub地址在教程上已经给了,但是下载速度很慢,这里我找了一个码云的,一样的,亲测能用:
https://gitee.com/reepu/esptool

使用方法在readme.md里,比较重要的是这一部分:
在这里插入图片描述
对应着教程里的这一部分:
在这里插入图片描述
在Windows系统下,驱动路径直接写COM口即可,下面是我用的命令:
在这里插入图片描述

python C:\Users\Administrator\Downloads\reepu-esptool-master\esptool\esptool.py --port COM10 write_flash -fm dio 0x00000 C:\Users\Administrator\Downloads\nodemcu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值