本文主要是介绍基于arduino通过软串口发送数据给DFrobot Mind+并上传阿里云物联网平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基于arduino采集光照强度通过软串口发送数据给DFrobot Mind+掌控板并上传阿里云物联网平台
一、硬件准备
器件 | 数量 |
---|---|
Mind +掌控板 | 1 |
arduino uno | 1 |
micro:bit掌控I/O扩展板 | 1 |
光照传感器 | 1 |
杜邦线 | 若干 |
二、软件准备
名称 | 版本 |
---|---|
Mind+ | V1.7.0 RC3.0(自己看着办) |
arduino IDE | 1.8.13(自己看着办) |
三、项目开始
arduino IDE下载链接:
1、arduino软串口发送数据
在这里不用硬串口是因为每次烧写程序是都要拔掉对应的插线,不然会出现占用现象。发送数据时,可以考虑直接发送JSON格式,因为阿里云物联网的数据格式就是JSON格式,这样接收方便处理。
(1)具体代码:
#include <SoftwareSerial.h>
#include <string.h>SoftwareSerial mySerial(3, 6); // RX, TX
#define Sunshine A0 //定义AO 引脚 为 IO-A0
String sun;
long last_time = 0;void setup() {Serial.begin(9600);while (!Serial) {; // wait for serial port to connect. Needed for native USB port only}// set the data rate for the SoftwareSerial portmySerial.begin(115200);//监听软串口通信pinMode(Sunshine, INPUT);//定义A0为输入模式,将AO所测得的数据输入到计算机中}
void loop() { // run over and overlong now = millis();if (now - last_time > 2000) {last_time = now;sun = analogRead(Sunshine);mySerial.write(sun.c_str());Serial.println(sun); }
}
2、掌控板接收数据并发送上阿里云物联网平台
(1)物联网平台
A.阿里云物联网平台相关配置
B.创建相关产品和设备
b1.点击公共实例
b2.创建产品
b3.创建设备
创建设备是对应着相关产品的,每一个设备都相当于是相关设备的功能。
b4.定义相关产品的功能并用于相关设备
相关说明(自定义功能,这里用的也是它)
1、属性、服务、事件
属性:一般是设备的运行状态,如当前温度等;
服务:是设备可被调用的方法,支持定义参数,如执行某项任务;
事件:是设备上报的通知,如告警,需要被及时处理。
2、功能名称、标识符、数据类型、取值范围等
注:这些都可以自己定义,不过建议用平台推荐的
(2)Mind+的具体代码及相关说明
Mind+IDE下载链接:
A.添加相关功能
这里选择上传模式(在右上角),主控板选择掌控板,网络服务选择WiFi和mqtt,在用户库搜索JSON格式
a1.主控板
a2.网络服务
a3.用户库搜索
B.部分重要代码解析
b1.mqtt配置及连接
三元组
topic_0的配置:
/sys/a1svJVDRTXY/${deviceName}/thing/event/property/post
改成:/sys/a1svJVDRTXY/LI_test/thing/event/property/post
注:${deviceName}:改成自己的设备名字,即deviceName。
b2.数据处理:由于串口是一个一个字符发送过来的,所以每次都要把全部数据接收完才能完整,同时把数据转变成整型。在掌控板这端也同样是使用了软串口进行通信(接收数据),由于掌控板是使用十进制的ASCII码进行通信的,所以掌控板在接收到数据后,要将十进制ASCII码转为相对应的ASCII码字符。(这是个坑)
b3.完整代码
标识符
四、相关效果展示
(1)云平台展示
(2)arduino串口打印
(3)掌控板串口打印
(4)web端展示
A.在iot studio开发一个web显示界面
B.选择web可视化开发
C.新创建一个web应用
D.关联产品和设备
d1.关联产品
d2.关联设备
d3.配置资源
d4.最终效果
五、总结
以上就是使用Arduino UNO采集数据传至掌控板,并由掌控板提取数据发送上云的小实验,简单的介绍了一下一些实验过程中要注意的点。如有写的不好的地方,欢迎大家提点宝贵的建议。
这篇关于基于arduino通过软串口发送数据给DFrobot Mind+并上传阿里云物联网平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!