前言
物联网现在越来越热,去年给客户定制了一款低成本DTU网关,采用MCU(STM32)+4G模组的方案,支持协议定制、远程配置、断缓续传,成本不到同行一半,价钱便宜量又足 o( ̄︶ ̄)o
同时有些应用场景要求的功能简单、性能较低,类似于DTU,但是量大、要求成本更低,于是考虑在模组上做二次开发的方案,榨干硬件的资源。其实我感觉现在模组厂都慢慢变成方案厂了,比如乐鑫、移远。。。不过各家的技术、市场路线差别很大,我之前差点不小心被带到沟里去了。
之前合作过的4G模组厂有移远、芯讯通、合宙等,其中:
- 移远:不支持二次开发;
- 合宙:展讯方案,支持二次开发,But:
主推Lua脚本开发——性能较低,放弃;
对C语言开发仅提供SDK但不提供技术支持——坑太多,放弃; - 芯讯通:ASR方案,支持万能的C,欧耶,就他了~
开发板采用通用母卡+各模组子卡形式:
我选的模组型号是A7600C1-MNSE(比A7600C1多个GPS功能),与文档中稍有不同。
文档比较齐全,质量也比较高,照着做基本就OK了。
开发文档由于版权原因就不上传了,需要的可以联系供应商获取。
以下简单记录下开发过程,希望大家少走点弯路。
驱动
1.母卡micro-USB
USB转串口CP2105,连至模块的主串口、调试串口
2. 子卡micro-USB
连至模块USB口,内部模拟出5个端口:
3个串口:AT、调试、GPS;
1个Modem;
1个网口:NDIS;
编辑
我的开发环境是Win10/VS Code
主要是理清代码的目录结构,修改相应的makefile,最好是一步一步来,这样更快点:
1.什么都不改,编译demo;
2.改函数内容,比如修改Application里面的打印内容;
3.改函数,修改函数名,或者新增函数;
4.改文件,新增文件;
5.改目录,新增目录;
编译
交叉编译链工具已经安装配置好了,直接build就可以了:
build.bat A7600C1_MNSE all
编译完成后自动打包
下载
ASR提供的下载工具aboot
第一次要下载完整包,以后只需要下载应用包即可:
注意:点“Start”后,开发板需关电重启,才会进入下载模式!
自动开始下载
注意:下载完成后,需点“Back”、开发板再次关电重启,才会恢复工作模式!
调试
ASR提供的调试工具CATStudio,只能打印调试,不能设断点。
注意:选择Device 1
选择模组型号:
设置过滤:
也可以输出调试信息至调试串口:
开发
OK,下面可以开始按照API愉快地玩耍了~
后话
第一次发帖,错漏之处欢迎指正,有问题大家一起交流~
QQ 435223420