文章目录
前言一、准备材料二、方法步骤1.Arduino采集数据2.掌控板读取数据并上云3.实验效果 总结前言
mind+ Arduino提供了十分丰富的库,可惜不支持Arduino uno上云,所以陷入了一种困境,但发现了一种新的方法,可以通过Arduino采集数据,然后再通过掌控版传输上阿里云,以下是具体方法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、准备材料
二、方法步骤
1.Arduino采集数据
首先使用Arduino采集需要的数据,笔者这里使用的是DHT11温湿度传感器,采集简单的温度作为实验。
Arduino IDE代码:
#include <dht.h>dht DHT11;//创建一个变量类型DHT11#define DHT11_Pin D7//DHT11所接引脚为D7int Temp_Value;// 主程序开始void setup() {//dht11_5.begin(5, DHT11);Serial.begin(115200);}void loop() {delay(2000);DHT11_detection(); }void DHT11_detection(void){//DHT11检测//Serial.print("DHT11: ");D: int chk = DHT11.read11(DHT11_Pin);//读取DHT11传感器的数值switch (chk){case DHTLIB_OK: break;case DHTLIB_ERROR_CHECKSUM: break;case DHTLIB_ERROR_TIMEOUT: break;default: break;}Temp_Value = DHT11.temperature; //将读取到的温度数值存放到Temp_Value变量中Serial.write(Temp_Value);}
代码下载地址:稍后补充
2.掌控板读取数据并上云
首先设置好wifi与阿里云,这里使用的是阿里云物联网平台,注意设置好三元组与topic,topic使用的是属性上报
/sys/a1en8qVBur0/${deviceName}/thing/event/property/post
注意填写好devicename
然后设置软串口,读取软串口的数据
最后传输上阿里云物联网平台,使用JSON格式上报,标识符应与功能定义的一致。
代码下载地址:稍后补充
3.实验效果
硬件效果图:
阿里云物联网平台查看数据:
可视化界面查看数据:
总结
本次实验很有参考价值,不同板子之间通过串口传输数据,各自实现不同的功能,很有实验价值,过程中也遇到一点坑,上报的数据格式必须与功能定义的一致,而mind+上传的数据格式默认带小数点,阿里云的int32型不支持小数点,必须换成float型才行。