nodemcu+阿里云(ArduinoIDE)

Nodemcu上阿里云记录

1、移动应用开发时,编辑完记得保存。
2、产品、设备标识码在与阿里云通讯时需要用到。
3、MQTT的PASSWD要使用专门的工具生成,否则无法连接。

软件环境:
ArduinoIDE
测试源码:

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

#define LED_IO          D1
#define PWM_IO_R        D2
#define PWM_IO_G        D3
#define PWM_IO_B        D4

/* 连接您的WIFI SSID和密码 */
#define WIFI_SSID         "test"
#define WIFI_PASSWD       "123456789"


/* 设备证书信息*/
#define PRODUCT_KEY       "a1YSkpQ02ky"
#define DEVICE_NAME       "led_text"
#define DEVICE_SECRET     "hN2hAcbs6z2eSOG95Fgp20elIplFCeIg"
#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,signmethod=hmacsha1,timestamp=1234567890|"
// MQTT连接报文参数,请参见MQTT-TCP连接通信文档,文档地址:https://help.aliyun.com/document_detail/73742.html
// 加密明文是参数和对应的值(clientIdesp8266deviceName${deviceName}productKey${productKey}timestamp1234567890)按字典顺序拼接
// 密钥是设备的DeviceSecret
//要使用加密工具,输入以上证书信息加密(时间戳可以省略)
#define MQTT_PASSWD       "5275C24B8FADC899816716FBD8106E06166F1544"

#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"

unsigned long lastMs = 0;
WiFiClient espClient;
PubSubClient  client(espClient);

unsigned int pwm_r=0,pwm_g=0,pwm_b=0;
int status=0;

void callback(char *topic, byte *payload, unsigned int length)
{
   
    Serial.print("Message arrived [");
    Serial.print(topic);
    Serial.print("] ");
    payload[length] = '\0'
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Arduino NodeMCU 是一款基于ESP8266开发的开源物联网平台,它可以通过Wi-Fi模块连接到网络。要将数据透传到阿里云,首先需要进行以下几个步骤: 1. 确定阿里云IoT平台的产品和设备:在阿里云IoT平台上创建一个产品,并为产品添加一个设备,获取设备的三元组信息(设备标识、设备密钥和设备证书)。 2. 安装并配置Arduino IDE:在Arduino IDE中安装ESP8266开发库并配置相应的开发环境,确保NodeMCU可以与IDE正常通信。 3. 编写Arduino代码:在Arduino IDE中编写代码,包括连接Wi-Fi和阿里云服务器的相关参数配置以及数据的收集和上传。可以使用ArduinoJson库来处理和封装数据。 4. 上传代码到NodeMCU:将编写好的代码上传到NodeMCU开发板上,可以通过USB线连接并烧录固件。 5. 连接到阿里云IoT平台:在代码中使用设备的三元组信息连接到阿里云IoT平台,并进行身份验证。 6. 数据透传:通过阿里云IoT平台提供的MQTT协议,订阅需要接收数据的Topic,并将NodeMCU收集到的数据发布到相应的Topic上。 7. 数据接收与处理:在阿里云IoT平台上,可以配置数据流转规则,将数据进行过滤、存储和处理,并将结果通知到相应的服务端。 通过以上步骤,就可以实现Arduino NodeMCU透传数据到阿里云IoT平台。这样,你可以从任何地方远程监控和控制NodeMCU,并对数据进行分析和利用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值