物联网Cat 1产品开拓初学者: 本文将先容产品的软硬件定义、硬件设计剖析、软件设计剖析,并详细讲解单一功能点功能模块的验证过程和测试验证方法。通过学习本内容,初学者可以在 1-2 天内完成一款 Cat 1 DTU产品的开拓全过程,快速提升物联网产品开拓的实践能力。本文也是红豆开源产品的一个实战讲解项目。
卖力开拓类似DTU(Cat 1 版本)功能定义的产研职员:通过本案例,你将全面理解 DTU的设计全部功能模块拆剖解析,并结合红豆开源平台(开源硬件+RTOS 开源资料),快速进行微改动,完本钱身的物联网产品项目研发设计。
须要设计一款DTU产品的项目卖力人:本案开源了产品设计软硬件全部设计资料,以及产品手册、AT指令手册、JSON通信协议等开拓成果,可以直接转为自己量产产品设计资料,节省开拓本钱。

DTU 常日指的是数据传输单元,它是一种用于将现场设备的数据通过无线或有线办法传输到远程掌握中央的设备。DTU 可以实现设备与掌握中央之间的数据通信,以便实时监测和掌握设备的运行状态。
产品定义描述产品功能定义:传统设备须要接入云平台,在不改变传统设备的情形下,通过串口连接一个可以连接做事器的设备,在不修正传统设备的情形下,赋能其上云功能。
MQTT DTU+GNSS版本DTU具有56贴片卡/外置SIM卡/全网通卡功能,支持北斗/GPS定位,支持卡基站定位,内嵌看门狗,掉线自动规复。标准工业RS232/485接口,可以支持6-20V的宽电压输入。
MQTT DTU+GNSS版本DTU为用户供应标准固件以及对应源码,以及对应的MQTT透传、GNSS功能、AT指令配置等功能的操作例程,用户可以快速理解如何去从0开拓一个项目,快速完本钱身的产品功能定义,加速开拓。
产品硬件剖析框图:系统框图
暂时无法在飞书文档外展示此内容
功能简介
电源:为 SOM 核心板+底板和扩展外设供应电源。SOM 核心板+底板:产品的核心部分。上位机:用于配置设备参数。4G 天线:用于旗子暗记的吸收和发送。SOM 板和底板之间的接口:利用板对板连接器。硬件资料包括,SOM板事理图和PCB,主板事理图和PCB,部分组件资料。
硬件设计事理图、Layout图、BOM信息等资料详情点击下面链接:硬件开拓部分
产品核心板资料和产品datesheet点击如下链接:1)AM430EV5 SOM板4(56卡/GNSS) 2)datasheet
也可以购买标准硬件进行软件开拓,购买链接:TB搜索”奇迹物联AMAZIOT企业店“软件开拓剖析:
开拓一个项目,常日会涉及大量的代码。一样平常来说,我们会将项目的功能拆分成一个个独立的功能点,然后逐个实现,终极组合成完全的产品代码。
产品软件流程剖析我们的目标是开拓一款 DTU(数据传输单元),它是一种针对通信间隔较长和工业现场环境恶劣而设计的具有模块化构造的、分外的打算机数据传输单元。这款 DTU 将末端检测仪表和实行机构与远程调控中央的主机通过数据透传办法连接在一起。
该项目实现的功能包括:
通过 AT 指令配置设备运行参数,例如做事器连接 IP、端口号,心跳包的开启/关闭,心跳包内容,注册包模式,注册包内容,以及复位和查询干系配置参数指令。可以随时选择进入或退出透传模式。具备心跳保持功能,心跳间隔可配置。具备网络重连功能。理论上可以发送无限长度数据包。波特率固定为 115200,也可以根据客户需求进行定制。支持网络 AT 指令和 JSON 协议配置功能,可以通过做事器下发远程 AT 指令来配置设备。支持远程升级。根据 DTU 该当具有的功能,代码可以分为以下模块:数据存储模块、AT 指令模块、切卡模块、透传模式切换模块、MQTT 模块、心跳模块、掉线重连模块、GNSS 模块和 JSON 模块。
暂时无法在飞书文档外展示此内容
模块内拆解的功能点剖析模块是将具有相似功能的代码组织到同一个源文件中。每个功能都被视为一个功能点,而不同功能点的组合则构成了模块的紧张功能。
数据存储功能点:包括文件创建、初始化、读写和关闭等操作。AT 指令功能点:包括串口初始化、串口数据吸收、发送、数据剖析以及 AT 指令解析等。切卡功能点:包括 GPIO 初始化和复位切卡等操作。透传模式切换功能点:包括串口初始化、串口数据吸收、发送、数据剖析以及切换模式等。掉线重连功能点:包括连接状态检测和掉线重连等操作。MQTT 功能点:包括参数配置、创建 MQTT 连接、与做事器连接、数据发送和吸收等操作。心跳功能点:包括参数配置和定时发送等操作。GNSS 功能点:包括参数配置、串口初始化、串口数据吸收、数据剖析、模式切换以及定时上报等操作。上述模块功能点的顺序大致反响了它们之间的依赖关系,下面讲述的模块实现可能会依赖于前面的功能点。
开拓过程(基于红豆平台搭乐高模式开拓)根据上述剖析,开拓过程便是一个实现功能点的过程,即由几个功能点组成一个模块,由几个模块组成一个项目。开拓过程将从核心功能点验证、完全代码详解和调试三个章节来讲解如何利用做事层 API 或运用层组件中的代码实现功能点和模块,从而完玉成部项目。在软件开拓部分,我们对这个开源项目进行了模块划分,并对每个模块拆解出相应的功能点。在这个章节,我们将对所有功能点进行逐一验证,拼接出我们终极的 DTU 产品代码。
本产品基于以上软件剖析,涉及以下 9 个功能模块:数据存储模块、AT 指令模块、切卡模块、透传模式切换模块、TMQTT 模块、心跳模块、掉线重连模块、GNSS 模块和 JSON 模块。
暂时无法在飞书文档外展示此内容
这9个功能模块在红豆开源平台RTOS系统做事层组件&运用层组件都供应干系的做事,可以直接采取搭乐高开拓模式。红豆平台的干系资源先容链接:红豆平台RTOS技能架构
第一步:基于RTOS的组件快速完成每一个功能模块的验证,针对本次工程每个功能模块验证详情链接:核心功能点验证
第二步:验证完功能点和功能模块后,从0快速搭建出一个DTU工程,进行系统级联调测试。DTU工程完全代码讲解链接:完全代码详解 ;DTU工程代码调试详解链接:调试:产品固件Gitee链接:软件源码树文件先容及Gitee链接。
本工程的代码对第一次打仗红豆平台也非常友好,供应详细的代码讲解备注,例如以下:文件模块的代码,可以迅速理解上手,也可以根据自己的需求做优化改进。
int dtu_init_trans_conf(void){ //初始化连接类型 st_dtu_file_t.type = 0; //初始化默认IP,onenet 多协议接入 tcp sprintf(st_dtu_file_t.ip,"183.230.40.40"); //初始化端口 st_dtu_file_t.port = 1811; //设置默认上报心跳 st_dtu_file_t.heartflag = 1; //设置默认心跳内容为hearttest sprintf(st_dtu_file_t.heart,"hearttest"); //设置心跳间隔韶光为30s st_dtu_file_t.hearttime = 30; //设置默认上报注册包 st_dtu_file_t.linkflag = 1; //设置注册包内容为"275619#amaziot4000mt#AP4000MT",内容是根据onenet 多协议接入,tcp配置的脚本上报规则,上报后,onenet会一直下发 sprintf(st_dtu_file_t.link,"275619#amaziot4000mt#AP4000MT"); //配置网络AT指令默认前缀是"am.iot" sprintf(st_dtu_file_t.cmdpw,"am.iot"); //三合统统卡,默认卡是 st_dtu_file_t.sim = 1; //sim卡禁止切卡标志 st_dtu_file_t.simlock = 0; //默认不上报gnss语句 st_dtu_file_t.gpsflag = 0; //返回文件首地址 return 0;}
工程成果下载
开拓成果属于项目完成后,总结出来的一些解释性文件,包括Datasheet,AT指令手册,通信协议,以及固件等,可以作为本开源项目的工程量产资料。
datasheet
SCH的讲解和Geber文件资料
产品BOM
AT指令手册
JSON通信协议
固件
如需下载干系资料或者须要技能互换请私信我们:
物联网技能发展日月牙异,也欢迎反馈您的技能需求,我们会及时更新迭代红豆平台的技能运用能力。
欢迎同学们走进AmazIOT知识库的天下!这里是为物联网人构建的百度百科,以便帮助你更快更大略的开拓物联网产品。
IoT Wiki初心:
我们在物联网 ODM 办理方案的长期实践中,一贯受到物联网技能碎片化和家当资源碎片化的困扰。从产品选项、方案制订,到开拓和测试,物联网碎片的技能信息一贯影响着团队的效率和产品交付。为了降落重复造轮子的事情,我们开始对物联网的碎片化技能和家当资源干系产品知识进行沉淀管理。后来创造,许多同行都面临着类似的困扰,因此我们决定将内部沉淀的知识库以 Wiki 的形式开放给所有物联网行业开拓者,希望能为更多的物联网人减少一些重复造轮子的事情。
部分素材来源于网络,仅用于互换学习,如有侵权请联系删除!