当前位置:网站首页>NodeMCU(ESP8266) 接入阿里云物联网平台 踩坑之旅
NodeMCU(ESP8266) 接入阿里云物联网平台 踩坑之旅
2022-08-09 08:37:00 【Lengff12138】
NodeMCU(ESP8266) 接入阿里云物联网平台 踩坑之旅
在看阿里云的物联网平台的时候发现居然可以接入NodeMCU ,于是就顺手买了一个就开始弄,一路上遇到了不少的坑,经过接近三天的时间才完整的把问题解决,为此写一下我的笔记,可以选择新阅读
NodeMCU
简介
官网
官方解释
一款开源快速硬件原型平台,包括固件和开发板,用几行简单的Lua脚本就能开发物联网应用
第三方解释
找了很久都没有找到有什么人对这个模块做一个比较完整的介绍,就引用百度百科的一段介绍,感觉还比较合理的
NodeMCU,是一个开源的物联网平台。 它使用Lua脚本语言编程。该平台基于eLua 开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在 esp8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。
我个人解释
简单,便宜,快速的物联网开发平台
参考文章
快速入门
这里的快速入门我也是参照别人的,我个人的话也不想去列举一个步骤,所以请参考参考文章
1.我的购买淘宝链接
(没有打广告的意思,确确实是就是单纯的推荐)
wifi物联网 ESP8266开发板 V3 ESP-12N F NodeMcu Lua CP2102
2.CP2102驱动下载地址
USB串口有好多种类型,其中包括(FT232,CP2102,CH340,PL2303)
不同的类型就需要不同的驱动软件来驱动,这里我列举的是CP2102,所以附上驱动下载地址
3.ArduinoIDE 下载地址
推荐下载windows免安装包
4.快速入门CSDN文章
简单使用
阿里云物联网
简介
官方解释
物联网平台是阿里云针对物联网领域开发人员推出的一款设备管理平台。高性能IoT Hub实现设备与云端稳定通信,全球多节点部署有效降低通信延时,多重防护能力保障设备云端安全。此外,物联网平台还提供丰富的设备管理功能、稳定可靠的数据存储能力,以及规则引擎。使用规则引擎,您仅需在Web上配置简单规则,即可将设备数据转发至阿里云其他产品,获得数据采集、数据计算、数据存储的全栈服务,真正实现物联网应用的灵活快速搭建。
官方文档
快速入门
推荐参考阿里的快速入门的文档,其实也很简单,大致流程是:
1.创建产品
2.为产品添加设备
3.将创建好的设备绑定到真实的物理设备上
4.调试
NodeMCU(ESP8266)接入物联网平台
如果说您已经知道如何向nodeMCU里面编写程序,您就可以开始这一步操作了
这里我只说明我踩到的坑,具体教程,请看阿里官方的教程文档:
坑1
MQTT_PASSWD 生成问题
看了文档显示很不清晰,而且官方给的小工具也比较垃圾
问题就在CLIENT_ID
CLIENT_ID是可以自己随便定义的,但是你一定要要加|securemode=3,timestamp=1234567890,signmethod=hmacsha1| 这一段,可是文档没说这个是你生成完passwd后加的,我每次生成的时候就带上了这一段,所以pubsubclient这个工具一直给我报err=4,找了很久才找到err的错误代码表
所以我重新改了一下这个小工具
int - the client state, which can take the following values (constants defined in PubSubClient.h):
int - the client state, which can take the following values (constants defined in PubSubClient.h):
-4 : MQTT_CONNECTION_TIMEOUT - the server didn’t respond within the keepalive time
-3 : MQTT_CONNECTION_LOST - the network connection was broken
-2 : MQTT_CONNECT_FAILED - the network connection failed
-1 : MQTT_DISCONNECTED - the client is disconnected cleanly
0 : MQTT_CONNECTED - the client is connected
1 : MQTT_CONNECT_BAD_PROTOCOL - the server doesn’t support the requested version of MQTT
2 : MQTT_CONNECT_BAD_CLIENT_ID - the server rejected the client identifier
3 : MQTT_CONNECT_UNAVAILABLE - the server was unable to accept the connection
4 : MQTT_CONNECT_BAD_CREDENTIALS - the username/password were rejected
5 : MQTT_CONNECT_UNAUTHORIZED - the client was not authorized to connect
坑2
官方的背景说是控制一个灯泡设备,其实是一个红外人体感应设备,就是说根本不能点亮一个灯泡设备
后期列出我的源码
写在最后
这个文章写得很不好,很乱;主要是我比较懒,不想一一去列举这些东西,但是欢迎有疑问的朋友加我的QQ:1286396784 一起沟通交流,这个是我个人QQ账号,不涉及任何的广告,没有任何的有关钱的问题,单纯的技术沟通和学习
边栏推荐
猜你喜欢
![[MySQL]mysql: Solve the problem of [Err] 1093 - You can't specify target table 'table name' for update in FROM clause](/img/76/8e6a3a1c5fdc9bffc0c7c9187a027c.png)
[MySQL]mysql: Solve the problem of [Err] 1093 - You can't specify target table 'table name' for update in FROM clause

数据库MySQL的安装和卸载

Kibana:为地图应用选择不同的语言 - Elastic Stack 8.3

黑马2022最新redis课程笔记知识点(面试用)

三次握手,四次挥手

VLAN的原理及配置

Redis redis 】 【 the expiration of listening

leetcode 36. 有效的数独(模拟题)

ctfshow-web入门 文件上传篇部分题解
![[漏洞复现]CVE-2018-12613(远程文件包含)](/img/0b/707eb4266cb5099ca1ef58225642bf.png)
[漏洞复现]CVE-2018-12613(远程文件包含)
随机推荐
内存中的swap机制
MySql homework practice questions
权限管理模型 ---- ACL、RBAC和ABAC(详解)
数制之间的转换
The Servlet,
Introduction to the Endpoint
消息中间件(MQ)前置知识介绍(必看)
Shell编程之正则表达式
火星人 --简单的数学题
VMware virtual machine cannot be connected to the Internet after forced shutdown
DeFi 项目中的治理Token
【CNN】白话迁移学习中域适应
File Handling (IO)
leetcode 32. 最长有效括号 (困难)
QT设置exe可执行文件的图标
Operations in the database (syntax)
Operator Overloading in Inheritance: A Legend of Input and Output
jdbctemplate连接sql server,代码中查出来的数据跟数据库中不一致,如何解决?
【GNN终身学习】2022 CVPR 终身图学习
图像识别后将识别结果整理成列表,点击列表可跳转到搜索页面