不会开发的我玩转爱星云

[复制链接]
查看1397 | 回复1 | 2023-12-4 15:23:21 | 显示全部楼层 |阅读模式
本帖最后由 海上明月 于 2023-12-4 15:20 编辑

这里小白已提前搭建好了开源版本,并从date文件中初始化了数据,云管平台已经有常用的物模型和通用控制页等数据(太方便了)。短信服务已开通并配置。有不懂的可以在论坛中查看开源如何搭建
下面我们就开始使用我们自己搭建的开放平台吧
1. 注册开放平台开发者账号

2. 登录账号
AJ~(~7I1%M6]NQAI$_Q74O1.png
3. 创建产品
%NS(P9(W1$CL}IS4G9S5V@J.png

8CT4V3)KZ5XRQ{Z0QY~[T{V.png
4. 选择需要的标准功能
B$TL`N1Y1{V6C0C8AIB]6XO.png
如果没有合适的标准功能,开发者可以自定义功能哦,如下图
0Y8~210M3G2HO5U}HA$MUD1.png
5. 选择模组固件(支持自定义固件)
]2)K6NOL5S2QB}}XTB]}I)N.png
6. 选择面板
W`9BUX[)IJAL0)IP)Y$_F%L.png
5VP3W)B`9CL96QVFO4@YQB3.png
7. 添加基础配置
JXEZDSC6K90L@O7~M40~0YF.png
8. 下载MCU SDK(这里我使用的是透传模组,连接MCU就可以使用,小白不懂开发就不修改MCU的业务逻辑了,各位官人有能力的可自行修改MCU
5T8M61QI}3}MZ5)9A{F6ENR.png
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
[N8CZ4S$DSI4G7PSG@(`J{Y.png
模组和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需要在公版开放平台注册并生成三元组,然后导入到自己部署的平台上)
DMUFML(8VC[LLNC{~9M{)MX.png
$}KW07]7DNA(X}NUD@]K9_A.png
C6ULJ]%UO~PRJ(G12[9R0LN.png
8K6BT0{O)3T(BH{QOUQB_AG.png
  • 登录自己搭建的开放平台,导入三元组excel文件
_E5NH0HR7M5A~B5O3ZP_9QF.png
  • 向设备写入刚生成的三元组信息(注意:不同模组使用的波特率不一样哈)
AT+KEY=设备ID,用户名,密码
)EP(ET4@U$J{1OVHQ279EQO.png
11. 下载通用测试用例,自己检查一遍设备是否能正常运行哦(用例来自云管平台)
6QV(}K~43RVATSQ`S]SUY3Q.png
12. 自定义APP
Y20J@PU}{$QTKKWXJ_3{6NX.png
13. 添加推荐场景(如果不需要该功能,可以不添加)
F[5LX5QA5NL8K)YQ3P_M)N8.png
14. 配置产品多语言(配置多语言后国外友人也能看的懂)
~}L%(@`EUX6C%S7SO_DCL.png
配置APP多语
7B[Y8J_BD[0NZV870XXBT[A.png [url=]图片[/url]
15. 添加闪屏推送(用户首次下载APP后会有推送页,非必填)
V440C})K~SC[$T2)D6YUWLS.png
MF{VI1HQ0PJ$S~%S(UQHN.png
16. 添加帮助文档
YTK)18G3DSO{[ZPX2T7_I_R.png
B1U7FFYTUIA6R5_VC}{`ZCC.png
17. 添加问题类型,用户在app上反馈问题时会用到
P0N)4}BSAEH~9_S3~3D85QH.png
18. 开始配网(前面已介绍如何接线模组和MCU,产品也开发好了),这里支持自动搜索和手动搜索
1XXR}{SBVP%N1AR]FZV}JT4.png
19. 配网成功后,进入控制页开始体验吧(小白太懒,只添加了一个开关,各位看官将就下用吧)
0{{51RW5K_8D{`ZAS5NE}W1.png
总结下,用起来还是挺方便的:
1. 开源的APP已帮小白自动生成,不用自己开发,下载即用
2. 执行脚本一键生成通用的物模型和控制页(云管的基础数据就有了)小白不用自己开发控制页,万一没有适合自己的功能,添加自定义功能就行
3. 使用透传模组,不用小白自己写固件和MCU程序,就是烧录和修改MCU文件费了点功夫(使用非透传模组就需要自己写功能了)
4. 可以添加多款不同产品,一个平台就搞定
5. 平台还提供了真机和虚拟调试,设备还没开发完也可以调试MQTT和控制页功能
6. 三元组来自公版开放平台,小白在公版注册账号生成三元组,导入到自己搭建的私有云开放平台就可以使用(非公版开放平台生成的三元组不可用)
7. 懂开发的人员可以根据开源提供的资料,自定义APP,自定义控制页,开发自己的固件
8. 吐槽也很方便,http://bbs.ai-thinker.com/forum.php,上链接,大家都懂的

回复

使用道具 举报

496199544 | 2023-12-4 17:23:14 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则