基于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

相关文章

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

GitLab文件的上传与下载方式

《GitLab文件的上传与下载方式》:本文主要介绍GitLab文件的上传与下载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录GitLab 项目拉取到本地GitLab 项目上传方法方法 1:本地项目未初始化Git方法 2:本地项目已初始化GitGitLab 上

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然