发帖
1 0 0

不会开发的我玩转爱星云

海上明月
论坛元老

26

主题

4

回帖

3487

积分

论坛元老

积分
3487
爱星物联IoT云平台 39674 1 2023-12-4 15:23:21
本帖最后由 海上明月 于 2023-12-4 15:20 编辑

这里小白已提前搭建好了开源版本,并从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. 配置产品多语言(配置多语言后国外友人也能看的懂)

配置APP多语
[url=]图片[/url]
15. 添加闪屏推送(用户首次下载APP后会有推送页,非必填)


16. 添加帮助文档


17. 添加问题类型,用户在app上反馈问题时会用到

18. 开始配网(前面已介绍如何接线模组和MCU,产品也开发好了),这里支持自动搜索和手动搜索

19. 配网成功后,进入控制页开始体验吧(小白太懒,只添加了一个开关,各位看官将就下用吧)

总结下,用起来还是挺方便的:
1. 开源的APP已帮小白自动生成,不用自己开发,下载即用
2. 执行脚本一键生成通用的物模型和控制页(云管的基础数据就有了)小白不用自己开发控制页,万一没有适合自己的功能,添加自定义功能就行
3. 使用透传模组,不用小白自己写固件和MCU程序,就是烧录和修改MCU文件费了点功夫(使用非透传模组就需要自己写功能了)
4. 可以添加多款不同产品,一个平台就搞定
5. 平台还提供了真机和虚拟调试,设备还没开发完也可以调试MQTT和控制页功能
6. 三元组来自公版开放平台,小白在公版注册账号生成三元组,导入到自己搭建的私有云开放平台就可以使用(非公版开放平台生成的三元组不可用)
7. 懂开发的人员可以根据开源提供的资料,自定义APP,自定义控制页,开发自己的固件
8. 吐槽也很方便,http://bbs.ai-thinker.com/forum.php,上链接,大家都懂的

──── 0人觉得很赞 ────

使用道具 举报

您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 30993 个
  • 话题数: 44907 篇