1、 如何在windows10上环境搭建,编译烧录代码固件,查看运行日志。
2、 GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度。
这个小diy项目是空闲时候做出来的,而且准备开源出来,主要功能是实现 在微信小程序上地图定位显示该 GPS模块的信息,想想都刺激啊!!
先上图,再解释一波:
关注博文最下面的本人微信号二维码,回复 190828 即可获取本开源工程全部源码!
下面是实现原理:
最近半月都没更新博客了,因为新公司的事情比较多,群里有人说我是工作室支持的,才有这么多时间写博客。o((⊙﹏⊙))o. 我竟无语凝噎。我再声明下,这些年的博客都是自己毕业开始写的哈,都是工作和平时学习的笔记,只是笔记较为详细哈!
因为大学时候未好好玩够2G模块的 SDK 开发,所以出来社会,必须把这个玩下,于是乎,看中了安信可的 A9g 模块,因为它支持SDK内核开发,而且是C语言开发,集成了很多好玩的demo。
虽然现在 2g网络逐渐减弱,甚至联通都放弃了2g网络,但是有中国移动在坚持,所以,我相信2g网络还是不会被取代的!
我准备做些安信可GPRS模组片上(SoC)开发SDK C语言版的一些学习历程,空闲之余做一些好玩的demo,开源给大家玩下;
A9G模块内核是基于RDA8955芯片的。安信可官网有很多关于它的介绍,大家可以去官网看看:
GPIO、UART、基础信息获取如ICCID、IMEI、IMSI等、SPI、I2C、ADC、GPRS网络(包括基站信息查询)、基站定位(LBS)、socket(TCP/UDP)、dns、SSL/TLS、MQTT、短信、通话、低功耗、GPS、RTC、基站时间同步、FOTA、看门狗、音频播放(如播放MP3)、机智云平台快速接入、阿里云CSDK、其它库如json、NMEA解析库等等;
如何芯片的学习,搭建环境是第一步,而且也是重要的一步,那么这篇先给大家搭建一个环境和如何烧程序固件进去运行!
这是编译时候的工具,类似 gcc编译器;文章最下方会有下载链接!
解压到某个文件夹,比如C:\CSDTK,路径请不要带中文!
运行CSDTk目录下的 config_env_admin.bat
文件来设置环境变量!那么成功之后,会在我的电脑的环境变量看到如下:
这个步骤我弄了好久,讲道理,应该下载成功就是完整的代码,但是即使你下载成功之后,还是需要另外下载一些东西,官网推荐是这样的,因为里面还有一些子模块,需要这样,但是神奇的是,竟然这样也是没拉取子模块下来,还另外自己下载:
git clone --recursive https://github.com/Ai-Thinker-Open/GPRS_C_SDK.git
因此,我自己创了个仓库,同步我的代码以及SDK工程上去,保证可以正常编译,而且是最新同步官方的,因为这个官方仓库更新代码也是在 8个月前了,所以推论是稳定的了。
即使有更新,我也会立刻更新上去,希望大家拉取我的仓库就好,一次性下载所有代码:
git clone --recursive https://github.com/xuhongv/GPRS_A9G
首先,解压下载到的CSDK为GPRS_C_SDK
文件夹放到某个目录下,比如 C:\GPRS_C_SDK
,请使用下划线(_)而不是减号(-)。
然后,进入CSDK文件夹(C:\GPRS_C_SDK)
,按住shift,在文件夹内空白处鼠标右键单击,选择 cmd 打开或者 powershell 打开,如图:
最后,使用 ./build.bat app
或者 build.bat app
来编译工程,测试环境是否可用,如果正常,会出现以下结果:
如果提示NO CSDTK,Please install CSDTK first!
,则是环境变量没有生效(在win7下可能会出现),可以重启电脑以生效
保证环境可以使用后,就可以在CMD
或powershell
窗口中使用build.bat脚本来编译工程,有以下参数:
使用 ./build.bat $PROJ
来编译你的应用模块,如 ./build.batsh app 则是编译app目录下的源码
使用 ./build.bat demo $PROJ
来编译demo目录下的特定例程,比如./build.bat demo gpio
使用 ./build.bat clean $PROJ
清除$PROJ目录的中间文件
使用 ./build.bat clean all
清除所有中间文件
使用 ./build.bat demo $PROJ release
来生成 release
版本,比如./build.bat demo gpio release
, 如果最后一个参数不是release,则默认是debug版本, debug版本在死机后会停止运行并可以使用GDB调试,而release版本加入了看门狗功能,在死机时会自动重启系统,所以实际投入使用时请使用release版本以防止出现bug时死机,测试时使用debug版本
比如:
./build.sh demo gpio
进行编译,编译会生成一个build
目录,编译完成会在hex目录下生成两个格式为 lod
的文件,这就是我们用来下载到开发板的目标文件;
硬件连接:A9G模块的调试下载接口是HST接口,即引脚HST_RX和HST_TX脚分别连接连接USB转串口模块的TX和RX引脚(交叉连接,即HST_RX接TX)!
将coolwatcher更新到最新版本
(coolwatcher在CSDTK文件夹下)
打开CSDTK/cooltools/coolwatcher.exe
点击Ok
等待连接成功,出现以下界面
如果出现连接失败的情况,请参考 coolwatcher 无法连接原因部分
如果第一次使用,需要点击DRY图标,选择名字包含8955 ramrun spi32m .lod
的文件(在工程platform/ramrun
下或者coolwatcher
只需要设置一次,后面都会记住的
点击下图中的lod图标,选择编译生成的固件,在工程hex目录下.lod
格式的文件,首次下载下载文件体积较大的.lod
格式文件,后面为了加快下载速度只需要下载体积较小的固件文件即可
如果下载失败,请参考官网
coolwatcher
无法下载部分说明;
Plugins
->Active Tracer
,界面及功能如下图使用前需要设置 Tracer
,设置如下如1~6步:
api_debug.h
中的bool Trace(uint16_t nIndex,const char* fmt, ...)
函数,其中 nIndex
就是对应tracer设置中的MMI 01
~ MMI 16
,即为:可以使用MMI 01
~ MMI 16
过滤日志;参考资料:
因为官网的代码开源仓库,在拉取时候总会出现小问题,初学者可以拉取我的仓库,我的是同步官网最新的,不用担心是否新版代码;
git clone --recursive https://github.com/xuhongv/GPRS_A9G
下载完后请检查目录platform/csdk
目录写是否包含debug
、release
目录。如果没有,则是下载方式错误,请仔细阅读第一步下载正确的文件!
请移步到官网文档搭建,或者参考我这博文:传送门
本仓库包含有官网的demo和我写的demo工程;
编译官方demo步骤:比如编译这个 gpio ,可以cd 到本工程目录,然后:
./build.bat demo gpio
编译我写的demo步骤:比如编译这个我分析的这个 微信小程序追踪器 ,可以cd 到本工程目录,然后:
./build.bat mycode mini_tracer
esp8266
带你飞、加群付费QQ
群,不喜的朋友勿喷勿加:434878850