DTU网关开发方案——芯讯通4G模组C二次开发

前言

物联网现在越来越热,去年给客户定制了一款低成本DTU网关,采用MCU(STM32)+4G模组的方案,支持协议定制、远程配置、断缓续传,成本不到同行一半,价钱便宜量又足 o( ̄︶ ̄)o
DTU网关开发方案——芯讯通4G模组C二次开发_第1张图片
同时有些应用场景要求的功能简单、性能较低,类似于DTU,但是量大、要求成本更低,于是考虑在模组上做二次开发的方案,榨干硬件的资源。其实我感觉现在模组厂都慢慢变成方案厂了,比如乐鑫、移远。。。不过各家的技术、市场路线差别很大,我之前差点不小心被带到沟里去了。
之前合作过的4G模组厂有移远、芯讯通、合宙等,其中:

  1. 移远:不支持二次开发;
  2. 合宙:展讯方案,支持二次开发,But:
    主推Lua脚本开发——性能较低,放弃;
    对C语言开发仅提供SDK但不提供技术支持——坑太多,放弃;
  3. 芯讯通:ASR方案,支持万能的C,欧耶,就他了~
    开发板采用通用母卡+各模组子卡形式:
    DTU网关开发方案——芯讯通4G模组C二次开发_第2张图片

我选的模组型号是A7600C1-MNSE(比A7600C1多个GPS功能),与文档中稍有不同。
文档比较齐全,质量也比较高,照着做基本就OK了。
在这里插入图片描述
开发文档由于版权原因就不上传了,需要的可以联系供应商获取。
DTU网关开发方案——芯讯通4G模组C二次开发_第3张图片
以下简单记录下开发过程,希望大家少走点弯路。

驱动

1.母卡micro-USB
USB转串口CP2105,连至模块的主串口、调试串口
2. 子卡micro-USB
连至模块USB口,内部模拟出5个端口:
3个串口:AT、调试、GPS;
1个Modem;
1个网口:NDIS;
DTU网关开发方案——芯讯通4G模组C二次开发_第4张图片

编辑

我的开发环境是Win10/VS Code
DTU网关开发方案——芯讯通4G模组C二次开发_第5张图片
主要是理清代码的目录结构,修改相应的makefile,最好是一步一步来,这样更快点:
1.什么都不改,编译demo;
2.改函数内容,比如修改Application里面的打印内容;
3.改函数,修改函数名,或者新增函数;
4.改文件,新增文件;
5.改目录,新增目录;
DTU网关开发方案——芯讯通4G模组C二次开发_第6张图片

编译

交叉编译链工具已经安装配置好了,直接build就可以了:
build.bat A7600C1_MNSE all
DTU网关开发方案——芯讯通4G模组C二次开发_第7张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第8张图片DTU网关开发方案——芯讯通4G模组C二次开发_第9张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第10张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第11张图片
编译完成后自动打包
DTU网关开发方案——芯讯通4G模组C二次开发_第12张图片

下载

ASR提供的下载工具aboot
DTU网关开发方案——芯讯通4G模组C二次开发_第13张图片
第一次要下载完整包,以后只需要下载应用包即可:
DTU网关开发方案——芯讯通4G模组C二次开发_第14张图片
注意:点“Start”后,开发板需关电重启,才会进入下载模式!
DTU网关开发方案——芯讯通4G模组C二次开发_第15张图片
自动开始下载
DTU网关开发方案——芯讯通4G模组C二次开发_第16张图片
注意:下载完成后,需点“Back”、开发板再次关电重启,才会恢复工作模式!
DTU网关开发方案——芯讯通4G模组C二次开发_第17张图片

调试

ASR提供的调试工具CATStudio,只能打印调试,不能设断点。
DTU网关开发方案——芯讯通4G模组C二次开发_第18张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第19张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第20张图片

注意:选择Device 1
DTU网关开发方案——芯讯通4G模组C二次开发_第21张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第22张图片
选择模组型号:
DTU网关开发方案——芯讯通4G模组C二次开发_第23张图片
DTU网关开发方案——芯讯通4G模组C二次开发_第24张图片
设置过滤:
DTU网关开发方案——芯讯通4G模组C二次开发_第25张图片
也可以输出调试信息至调试串口:
DTU网关开发方案——芯讯通4G模组C二次开发_第26张图片

开发

OK,下面可以开始按照API愉快地玩耍了~
DTU网关开发方案——芯讯通4G模组C二次开发_第27张图片

后话

第一次发帖,错漏之处欢迎指正,有问题大家一起交流~
QQ 435223420

你可能感兴趣的:(物联网网关,物联网,网关,c语言)