文章目录
前言
本文介绍如何玩转爱星云。这里已经提前搭建好了开源版本,并从date文件中初始化了数据,云管平台已经有常用的物模型和通用控制页等数据。短信服务已开通并配置。
一、流程
1. 注册开放平台开发者账号
2.登陆账号
3.创建产品
4.选择需要的标准功能
如果没有合适的标准功能,开发者可以自定义功能,如下图:
5.选择模组固件(支持自定义固件)
6. 选择面板
7.添加基础配置
8. 下载MCU SDK
这里我使用的是透传模组,连接MCU就可以使用,小白不懂开发就不修改MCU的业务逻辑了,各位官人有能力的可自行修改MCU;
9. 烧录MCU
在protocol.c文件上替换一下内容:
- 添加一下头文件
#include “usart.h”
- 替换以下函数
/**
- @brief 串口发送数据函数
-
- @note 该函数需由客户适配好对于发送接口。即MCU_SDK调用该函数,即可将数据通过串口发送给模组
-
- @param[in] dataBuff 待发送的数据
- @param[in] dataLen 数据长度
- @return unsigned char 返回发送结果
-
0:发送成功
-
-1:发送失败
-
- @author Ai-Thinker (zhuolm@tech-now.com)
- @date 2022-06-23
*/
char UartWriteData(unsigned char *dataBuff, unsigned char dataLen)
{
//#error “请将MCU串口发送函数填入该函数,并删除该行”
USART2SendDatas(dataBuff, dataLen);
return 0;
} - 在下面函数打开注释
/**
-
@brief MCU向模组上报所有的状态数据
-
-
- @author Ai-Thinker (zhuolm@tech-now.com)
-
-
@date 2022-06-29
*/
void ReportAllDeviceState(void)
{
//#error “请在此处理可下发可上报数据及只上报数据示例,处理完成后删除该行的//”UartReportBoolTypeData(CMD_SWITCH, switch_status);
UartReportEnumTypeData(CMD_MODE, mode_status);
UartReportEnumTypeData(CMD_SPEED, speed_status);
UartReportValueTypeData(CMD_TEMP, temp_status);
UartReportValueTypeData(CMD_HUMIDITY, humidity_status);
UartReportValueTypeData(CMD_PM25, pm25_status);
UartReportValueTypeData(CMD_TVOC, tvoc_status);
UartReportValueTypeData(CMD_ECO2, eco2_status);
UartReportEnumTypeData(CMD_AIR_QUALITY, air_quality_status);
UartReportValueTypeData(CMD_FILTER, filter_status);
UartReportValueTypeData(CMD_FILTER_DAYS, filter_days_status);
UartReportBoolTypeData(CMD_FILTER_RESET, filter_reset_status);
UartReportEnumTypeData(CMD_FAULT_CODE, fault_code_status);
UartReportEnumTypeData(CMD_FAULT_TYPE, fault_type_status);
UartReportValueTypeData(CMD_TOTAL_TIME, total_time_status);
UartReportValueTypeData(CMD_TOTAL_PM, total_pm_status);
UartReportEnumTypeData(CMD_TEMP_UNIT_CONVERT, temp_unit_convert_status);
UartReportValueTypeData(CMD_METHANAL, methanal_status);
UartReportBoolTypeData(CMD_ANION, anion_status);
UartReportBoolTypeData(CMD_UV, uv_status);
UartReportBoolTypeData(CMD_LOCK, lock_status);
UartReportEnumTypeData(CMD_LIGHT, light_status);
UartReportBoolTypeData(CMD_Y_10, y_10_status);
} -
修改文件后,开始烧录MCU
模组和MCU接线(模组和MCU开发板联系客服购买,以下接线指引为BL602透传模组,不同模组请参照模组相关说明书)
mcu和模组接线
A2-RX
A3-TX
mcu日志接线
A9-RXD
A10-TXD
模组日志接线
IO4-TXD
IO3-RXD
10. 生成三元组
三元组来自公版开放平台https://open.iot-aithings.com/user/login需要在公版开放平台注册并生成三元组,然后导入到自己部署的平台上
- 登录自己搭建的开放平台,导入三元组excel文件
- 向设备写入刚生成的三元组信息(注意:不同模组使用的波特率不一样哈) AT+KEY=设备ID,用户名,密码
11. 下载通用测试用例(检查一遍设备是否能正常运行)
12. 自定义APP
13. 添加推荐场景(可选)
14. 配置产品多语言(便于国内外通用)
15. 添加闪屏推送(可选)
16. 添加帮助文档
17. 添加问题类型,用户在app上反馈问题时会用到
18. 开始配网(支持自动和手动搜索)
19. 配网成功后,进入控制也开始体验吧
二、注意
- 开源的APP已自动生成,不用自己开发,下载即用;
- 执行脚本一键生成通用的物模型和控制页(云管的基础数据就有),不用自己开发控制页,万一没有适合自己的功能,添加自定义功能就行;
- 使用透传模组,不用自己写固件和MCU程序,就是烧录和修改MCU文件费了点功夫(使用非透传模组就需要自己写功能了);
- 可以添加多款不同产品,一个平台就搞定;
- 平台还提供了真机和虚拟调试,设备还没开发完也可以调试MQTT和控制页功能;
- 三元组来自公版开放平台,在公版注册账号生成三元组,导入到自己搭建的私有云开放平台就可以使用(非公版开放平台生成的三元组不可用);
- 懂开发的人员可以根据开源提供的资料,自定义APP,自定义控制页,开发自己的固件;
总结
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
爱星物联IoT平台体验网址:https://open.iot-aithings.com