前言
本次实验很有参考价值,不同板子之间通过串口传输数据,各自实现不同的功能,很有实验价值,过程中也遇到一点坑,上报的数据格式必须与功能定义的一致,而mind+上传的数据格式默认带小数点,阿里云的int32型不支持小数点,必须换成float型才行。提示:以下是本篇文章正文内容,下面案例可供参考
一、Arduino采集数据
首先使用Arduino采集需要的数据,笔者这里使用的是DHT11温湿度传感器,采集简单的温度作为实验。
Arduino IDE代码:
#include <dht.h>
dht DHT11; //创建一个变量类型DHT11
#define DHT11_Pin D7 //DHT11所接引脚为D7
int 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);
}
二、掌控板读取数据并上云
首先设置好wifi与阿里云,这里使用的是阿里云物联网平台,注意设置好三元组与topic,topic使用的是属性上报,注意填写好devicename
然后设置软串口,读取软串口的数据
最后传输上阿里云物联网平台,使用JSON格式上报,标识符应与功能定义的一致。
三、实验效果
硬件效果图:
阿里云物联网平台查看数据:
可视化界面查看数据:
四、总结
本次实验很有参考价值,不同板子之间通过串口传输数据,各自实现不同的功能,很有实验价值,过程中也遇到一点坑,上报的数据格式必须与功能定义的一致,而mind+上传的数据格式默认带小数点,阿里云的int32型不支持小数点,必须换成float型才行。