esp8266(arduino)以及前端网页(uniapp)接入阿里云物联网平台

网页和esp8266的交互,傻瓜教程
摘要由CSDN通过智能技术生成

工具及软件

软件:arduino ide (老版本比较好用);Hbuilderx;
硬件:esp8266 (优信电子,好用不贵)。
烧写线:用安卓充电线就可以。
haoy==

1.弄好阿里云物联网平台

网址:https://iot.console.aliyun.com/product
1.先创建产品
在这里插入图片描述
在这里插入图片描述
2.再创建设备
一共要创建两个设备,一个给web使用,一个给esp8266用。一样的操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.每个设备都有自己的topic,可以自定义创建topic。设备与设备的通信就要使用到规则引擎下的云产品流转。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.关于esp8266

操作步骤:1.连接WiFi;2.连接mqtt;3.订阅发布。

直接给代码了
ESP8266WiFi.h 文件所在库可能比较难弄,可以参考其他博客。

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <ArduinoJson.h>  
//WiFi名称密码
#define WIFI_SSID        "******"//替换自己的WIFI
#define WIFI_PASSWD      "******"//替换自己的WIFI
//阿里云物联网三元模组 在设备证书可以看到,上面有截图
#define PRODUCT_KEY      "******" //替换自己的PRODUCT_KEY
#define DEVICE_NAME      "******" //替换自己的DEVICE_NAME
#define DEVICE_SECRET    "******"//替换自己的DEVICE_SECRET
//接收与发送消息的两个topic,修改为自己需要的topic,一下无效的实例
#define sub_topic    "/ProductKey/${deviceName}/user/get"  //修改
#define REGION_ID         "cn-shanghai" 
//end*********需要修改的已完毕************************
/* 线上环境域名和端口号,不需要改 */
#define MQTT_PORT         1883
#define MQTT_USRNAME      DEVICE_NAME "&" PRODUCT_KEY
#define MQTT_PASSWD       "******"//修改 ,需要证书生成,我会在下面放文件
#define MQTT_SERVER       PRODUCT_KEY ".iot-as-mqtt." REGION_ID ".aliyuncs.com"
  • 13
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
您好,以下是将Arduino Uno通过ESP8266将数据传到阿里云物联网平台的代码示例: #include <SoftwareSerial.h> #include <ESP8266WiFi.h> #include <PubSubClient.h> #define WIFI_SSID "your_wifi_ssid" #define WIFI_PASSWORD "your_wifi_password" #define MQTT_SERVER "your_mqtt_server" #define MQTT_PORT 1883 #define MQTT_USERNAME "your_mqtt_username" #define MQTT_PASSWORD "your_mqtt_password" #define MQTT_TOPIC "your_mqtt_topic" SoftwareSerial espSerial(2, 3); // RX, TX WiFiClient wifiClient; PubSubClient mqttClient(wifiClient); void setup() { Serial.begin(960); espSerial.begin(115200); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(100); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); mqttClient.setServer(MQTT_SERVER, MQTT_PORT); mqttClient.setCallback(mqttCallback); while (!mqttClient.connected()) { Serial.println("Connecting to MQTT server..."); if (mqttClient.connect("arduino", MQTT_USERNAME, MQTT_PASSWORD)) { Serial.println("Connected to MQTT server"); mqttClient.subscribe(MQTT_TOPIC); } else { Serial.println("Failed to connect to MQTT server"); delay(100); } } } void loop() { if (espSerial.available()) { String data = espSerial.readStringUntil('\n'); Serial.println("Received data: " + data); mqttClient.publish(MQTT_TOPIC, data.c_str()); } mqttClient.loop(); } void mqttCallback(char* topic, byte* payload, unsigned int length) { Serial.print("Received message ["); Serial.print(topic); Serial.print("]: "); for (int i = ; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赛迪奥特曼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值