Arduino与掌控板通过软串口通信将数据上传阿里云
注:本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明。
在Mind+上使用 Arduino UNO上云的话,需要购买DFRobot的OBLOQ物联网模块,由于我和我的同伴手头上并没有这款通信模块,所以这里采用的方法是将Arduino采集的温湿度数据通过软串口传给掌控板,掌控板接收数据后将其上传至阿里云。
一、软件准备
软件 |
---|
Mind+ |
Arduino IDE |
二、硬件准备
硬件 | 数量 |
---|---|
Arduino UNO | 1 |
掌控板 | 1 |
micro:bit掌控I/O扩展板 | 1 |
DHT11 | 1 |
Type-C数据线 | 1 |
杜邦线 | 若干 |
三、硬件连线
Arduino | DHT11 |
---|---|
5V | VCC |
GND | GND |
4 | DATA |
Arduino | 掌控板 |
---|---|
D3(Tx) | P8(Rx) |
GND | GND |
四、项目过程
1、Arduino采集数据并将数据传给掌控板
#include <SoftwareSerial.h>
#include "DHT.h"SoftwareSerial mySerial(2, 3); // RX, TX
#define BUF_LEN 50
char SEND_BUF[BUF_LEN];
#define Msg "{\"Temperature\": \"%s\", \"Humidity\": \"%s\"}"#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float Temp, Humi;void setup() {Serial.begin(115200);while (!Serial) {; // wait for serial port to connect. Needed for native USB port only}mySerial.begin(57600);dht.begin();}void loop() { // run over and overstatic unsigned long now = millis();if (millis() - now >= 10000) {now = millis();Get_Temp_Humi();snprintf(SEND_BUF, BUF_LEN, Msg, String(Temp).c_str(), String(Humi).c_str());mySerial.write(SEND_BUF);}
}void Get_Temp_Humi() {Temp = dht.readTemperature();Humi = dht.readHumidity();if (isnan(Humi) || isnan(Temp)) {Serial.println(F("Failed to read from DHT sensor!"));return;}
}
2、掌控板接收数据实现数据上云
3、阿里云部署
①访问以下链接登录阿里云物联网平台,若没有账户,可使用支付宝扫码快速注册。
https://iot.console.aliyun.com/lk/summary
②进入产品管理界面,创建产品:
③在产品详情页面上方找到功能定义,定义产品属性:
(注意属性的标识符与代码中属性的命名一致)
④进入设备管理页面,添加设备:
⑤单击确认后,会弹出设备的三元组信息窗口:
(三元组就如同公民身份证一样,全球唯一,绝不重复)
这三个参数需要记下来,在Mind+编程时的MQTT初始化参数那里需要正确填写。
设备在阿里云物联网平台登记后就有了身份证,但是状态显示是“未激活”“离线”和“在线”。
如果设备从未联网,就显示“未激活”,如果连接阿里云了,就显示“在线”,如果未连接就显示“离线”:
更多关于阿里云的使用说明请看官方文档
五、实验效果
六、实验结论
1、通过这次实验,重新回忆了Arduino的硬串口与软串口之间的区别与联系。硬串口可与电脑通信,软串口就是用程序模拟硬串口实现通信的功能,可以在主控板的引脚进行模拟实现。
本次实验就是用到了两台电脑,分别通过两台电脑的USB接口连接Arduino和掌控板,实现硬串口连接,再利用Arduino上的3号引脚和掌控板上的8号引脚实现软串口通信。
2、掌控板是使用十进制的ASCII码进行通信的,所以我们需要将接收到的数据从十进制的ASCII码转为ASCII码字符。
3、发布到云的消息一定要注意JSON格式是否正确。
4、Arduino和掌控板进行串口通信时,为了保证数据传输的准确性,两边的GND要相连。
至此,本实验已全部完成。如有不妥之处,欢迎批评指正。
Arduino与掌控板通过软串口通信将数据上传阿里云相关推荐
- 掌控板结合Arduino实现数据上传阿里云
硬件间串口通讯与阿里云传输 一.Arduino数据采集 1.硬件接线 接线: Arduino开发板-----光敏电阻传感器模块 VCC-----VCC GND-----GND A1--------AO ...
- 掌控板连网与手机通信
掌控板连网与手机通信 将手机和掌控板连接在同一个wifi下,在掌控板上将会显示ip地址,手机访问该IP下的8888端口,就可以访问. 页面如下: 可以写入数据,也可以读取数据. 以下是源码: from ...
- 掌控板教程 | 让掌控板像 Mixly 串口监视器一样绘图
全文约1500字,阅读时间5分钟 起因 事情的缘由是这样的,早上掌控板群里有老师讨论到掌控板能不能像 Mixly 串口监视器一样绘图,如下图所示: 解决方案 感觉是个蛮有意思的挑战,而且最近又在学习掌 ...
- 基于Arduino的智能家居系统【ESP8266WIFI模块 DHT11温湿度模块 继电器 加湿模块 APP远程控制 数据上传机智云】
- 创客案例篇之Arduino结合掌控板使用Mind+平台上云
中小学创客在做图形化编程时经常使用Arduino读取数据,因为Mind+平台对Arduino提供了丰富的传感器库支持,但是Mind+平台却并不支持Arduino上云,支持上云的掌控板却又只有屈指可数的 ...
- arduino nano 蓝牙_用Arduino玩转掌控板(ESP32):ESP32概述与Arduino软件准备
前言 近年来,掌控板(英文名:mPython)在创客教育中应用越来越广泛.掌控板集成了 ESP32 高性能双核芯片,具备 WiFi 和蓝牙连接功能,同时在板子上又配置了丰富的传感器,最重要的是它是专门 ...
- arduino nano 蓝牙_掌控板IO接口编程入门 | 用Arduino玩转掌控板(ESP32)系列
众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...
- ESP32与掌控板IO接口编程入门 | ESP32轻松学(Arduino版)
众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...
- arduino uno 掌控板实现数据上传到阿里云平台
实验原理:arduino uno采集数据,通过UART接口发送数据到掌控板,掌控板连接阿里云,发送数据到阿里云. 硬件:arduino uno Mind+ 软件平台:arduino ide Mind+ ...
最新文章
- 数据库——修改表信息(转)
- 关于移动端上下滑动卡顿不流畅现象的解决方案
- 烽火传递(dp+单调队列)
- mybatis 多租户saas_MybatisPlus 多租户架构(SaaS)实现
- 强肝保肝养肝4大食物
- 用数据库修改服务器的时间格式,如何查询数据库服务器的时间格式
- Android测试提升效率批处理脚本
- 手机壁纸图片源码自动采集美图网
- baq在聊天中啥意思_职场中的“老实人”如何实现逆袭,得到领导的重用?
- supervivi的一点秘密
- 物联网平台发展前景如何快速发展
- 他说,编程的黄金时代已到
- OPENCV中滑动条的使用
- 远程桌面登陆不上的解决思路
- 为什么excel文件中的表不能删除?
- javascript合并多层级数组
- uni-app 使用 Uview2.x 搭建自定义tabbar组件
- Django admin后台美化(极其简单)
- 一、Excel简介、Excel的基本概念及操作、简单小工具
- 在线扫描php后门_webshell后门扫描-PHP版