基于arduino通过软串口发送数据给DFrobot Mind+并上传阿里云物联网平台

本文主要是介绍基于arduino通过软串口发送数据给DFrobot Mind+并上传阿里云物联网平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于arduino采集光照强度通过软串口发送数据给DFrobot Mind+掌控板并上传阿里云物联网平台

一、硬件准备

器件数量
Mind +掌控板1
arduino uno1
micro:bit掌控I/O扩展板1
光照传感器1
杜邦线若干

二、软件准备

名称版本
Mind+V1.7.0 RC3.0(自己看着办)
arduino IDE1.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+并上传阿里云物联网平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201292

相关文章

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

java对接Pinata上传文件到IPFS全过程

《java对接Pinata上传文件到IPFS全过程》本文详细介绍了如何使用PinataAPI将文件上传到IPFS网络,首先登录Pinata官网并生成JWT令牌,然后在项目中导入OkHttp依赖并编写代... 目录1.登录2.生成令牌3.导入依赖4.编写代码5.调用接口调试China编程代码总结Pinata调用AP

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建