本人近期做毕业设计用到了Developer Kit 开发板,要实现开发板读取数据,将数据传输到阿里云物联网平台,最后将这些数据存入本地数据库的功能。因为网上资料实在太少,云端一些功能配置的资料更是没有,实行起来非常困难,所以本人实现这一功能之后,将这一步骤与大家分享。
这一篇文章主要介绍开发板连接云端并实现云端显示数据。
一.开发环境部署
首先根据官方文档部署开发环境,资料地址:http://www.notioni.com/#/source 这里因为资料详细,就不再一一介绍,接下来从github上下载AliOS Things的源码,这里建议选择最新版本的代码,我在做这个工作的时候,使用的最新版本的代码是rel2.1.0。
传感器简介:developerkit板在硬件上已集成了多款传感器,型号如下:、
BMP280 -- 压力传感器
SHTC1 -- 温湿度传感器
LTR553 -- 环境光、接近光传感器
LSM6DSL -- 加速度、陀螺仪传感器
MMC3680KJ -- 磁力计
下面这个链接是介绍传感器信息的:
https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-uData-Sensor-Driver-Porting-Guide.zh
二.云端设置
登录LD平台,按照下图所示注册相关测试设备,注册时请确保标识符⼀致。平台链接:https://linkdevelop.aliyun.com/admin
设备功能汇总 :
功能名称 | 标识符 |
数据上云设置 | dtc_config |
压⼒sensor | Barometer |
温度sensor | CurrentTemperature |
湿度sensor | CurrentHumidity |
光照强度sensor | LightLux |
光接近sensor | Proximity |
加速度计sensor | Accelerometer |
磁⼒计sensor | Magnetometer |
陀螺仪sensor | Gyroscope |
加速度功能(新版struct类型)
磁场强度传感器功能(新版struct类型)
陀螺仪功能(新版struct类型)
三.代码编译
1.修改三元组
在⽂件app\example\udataapp\mqtt\mqtt_example.c中修改上述设备的三元组。
2.编译
这里使用mqtt连云有两种编译方法:本人选择了第一种
方法一:
在VS Code powershell终端中输入 aos make menuconfig,打开系统菜单页,如下图所示(这里有个小提示,建议将这个终端的窗口拉伸的大一点,否则可能显示不出来菜单):
选择需要的应用:
接下来返回主菜单,选择开发板为Developer Kit
设置好之后,保存,退出。
在终端输入 aos make 对代码进行编译,编译成功之后会生成 bin 文件和 hex 文件
再输出 aos upload 将程序烧录到开发板。
方法二:
直接输入:
aos make udataapp@developerkit dtc=mqtt
不过这个方法我编译出错了,不知道为什么,所以选择了方法一。
四.设备联网
1.固件更新
这是一个注意事项,有的开发板固件比较老旧,容易自动断开网络连接,所以需要自己购买ttl转串口工具升级一下。官方提供了帮助文档,链接如下:https://github.com/alibaba/AliOS-Things/wiki/wifi_upgrade_guide.md
2.开发板配网
使用串口工具输入netmgr connect ssid passwd (ssid为wifi名,passwd为密码)进行联网,连接成功后,串口会返回信息。
一次配网成功之后,以后每次开发板通电,会自动连接WiFi,如果要更改WiFi,需要输入netmgr clear 指令清除WiFi配置。
五.数据上云
通过以下命令可以开启磁力计传感器上云功能 :
其他类型的传感器命令如下:
加速度:acc=1 磁力计:mag=1 陀螺仪:gyro=1
环境光:als=1 接近光:ps=1
温度计:temp=1 湿度计:humi=1 气压计:baro=1
六.结果
关闭上云功能,将相关传感器的值赋0即可。