赞
踩
本文旨在手把手的教大家学会使用ESP-01S连接阿里云物联网平台服务器,并通过手机APP监测(待补充)以DHT11检测环境温湿度数据为例。
首先注册登录后在主页面搜索物联网平台
选择物联网平台
然后点击管理控制台
然后选择左下角的公共实例
这里我是已经开通过了,直接点击开通即可。开通后点击进入即可。
进入后点击设备管理界面
然后点击产品
点击创建产品
名字自取,品类选择自定义,然后点击确定
创建完成点击添加设备
输入设备名称 DeviceName 随意 不过后面会用到 完成点击确认即可
然后点击查看设备信息
然后就能看到你所创建的设备
点击查看产品密钥
记录这些数据后面代码部分要用
然后点击产品界面 点击查看产品
然后点击功能定义
点击编辑草稿
选择添加自定义功能
我这里添加的是温湿度检测,按需添加即可
设置完成后点击左下角的发布上线
在弹出的窗口打钩确认即可
到这一步产品的发布就大功告成了,剩下的只需要配置代码即可
模块使用ESP-01S以及DHT11模块
使用Arduino IDE 进行固件编写
不熟悉的小伙伴可以通过下方链接进入太极创客的视频进行学习
点击学习Arduino编程
安装完Arduino IDE后 打开软件选择工具-管理库
输入AliyunIoTSDK然后点击安装即可 如果后面缺少其他库同理
然后在开发板管理器选择ESP8266
安装完成后选择NodeMCU即可 ESP-01S与ESP8266 NodeMCU开发板通用
#include <ESP8266WiFi.h> static WiFiClient espClient; //引入DHT库使用DHT11 #include <DHT.h> // 引入阿里云 IoT SDK #include <AliyunIoTSDK.h> // 设置产品和设备的信息,从阿里云设备信息里查看 #define PRODUCT_KEY "修改为自己的信息" #define DEVICE_NAME "修改为自己的信息" #define DEVICE_SECRET "修改为自己的信息" #define REGION_ID "cn-shanghai"//修改为自己的信息 // 设置 wifi 信息 #define WIFI_SSID "修改为自己的信息" #define WIFI_PASSWD "修改为自己的信息" #define DHTPIN 2 // 连接到DHT11的引脚 #define DHTTYPE DHT11 // 使用DHT11传感器 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); //pinMode(DHTPIN, OUTPUT); // 将GPIO0引脚设置为输出模式 // 初始化 wifi wifiInit(WIFI_SSID, WIFI_PASSWD); dht.begin(); // 初始化 iot,需传入 wifi 的 client,和设备产品信息 AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID); } void loop() { float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" °C"); // 发送一个数据到云平台,Temperature是在设备产品中定义的物联网模型的 id AliyunIoTSDK::send("Temperature", temperature);//修改为自己的标识符 delay(1000); AliyunIoTSDK::send("Humility", humidity);//修改为自己的标识符 AliyunIoTSDK::loop(); delay(1000); } // 初始化 wifi 连接 void wifiInit(const char *ssid, const char *passphrase) { WiFi.mode(WIFI_STA); WiFi.begin(ssid, passphrase); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("WiFi not Connect"); } Serial.println("Connected to AP"); }
这里使用了阿里云官方提供的SDK,所以我们只需要配置产品和设备的信息然后调用AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);即可
这个函数一共有五个参数
分别是espClient 开头定义的wiFiClient类的对象
PRODUCT_KEY 产品密钥
DEVICE_NAME 设备名称
DEVICE_SECRET 设备密钥
REGION_ID 地区ID
这四项都能在设备界面查看
地区一共有这些,显示华东2(上海)的不需要修改直接使用cn-shanghai即可
剩下的需要修改的部分为数据上传部分
将Temperature Humility修改为产品-功能定义处的标识符即可
烧录成功后打开串口监视器(因为没接DHT11所以还没有数据)
连接好DHT11然后使用我自制的电源供电
(这里提一下数据类型的匹配,代码里的温湿度数据为float类型,需要将产品功能定义里的数据类型也改成float类型,不然会不显示)
这时打开设备-物模型数据就,成功显示了检测的数据,到这里就大功告成了!
部分常见问题可以前往这位大佬的帖子进行观看,篇幅有限不再赘述,也可以评论或者私信讨论。
https://blog.csdn.net/tiandiren111/article/details/107032096
点击前往
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。