开源一个安信可A9g小项目微信小程序定位器项目①如何在windows10上环境搭建,编译烧录代码固件,查看运行日志;
Posted on 2019-08-28 17:24 CoreHouse 阅读(435) 评论(0) 收藏 举报- 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
1、 如何在windows10上环境搭建,编译烧录代码固件,查看运行日志。
2、 GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度。
文章目录
 
 
一、小项目简介;
这个小diy项目是空闲时候做出来的,而且准备开源出来,主要功能是实现 在微信小程序上地图定位显示该 GPS模块的信息,想想都刺激啊!!
先上图,再解释一波:
 
 
 
 
全部开源(微信端和硬件端):
关注博文最下面的本人微信号二维码,回复 190828 即可获取本开源工程全部源码!
下面是实现原理:
- 采用安信可模块 A9G的开发板作为调试硬件,因为它支持 SDK 开发,插着中国移动的2G卡,再插着 GPS模块,可以实现全球定位;
- A9G模块可以实现MQTT协议连接,这个也是非常得意的,而且新版SDK支持重连机制;官网的SDK包有很多好玩的demo;
- A9G模块上面那个二维码是 IMEI信息,因此我用它作为我们与服务器通讯的主题设置;
- MQTT服务器我是自己搭建的,大家可以到我前面的博文参考怎么搭建。当然了,后面我会教大家使用阿里云物联网来实现;
- A9G模块定位的GPS出来的定位坐标系不是微信小程序的内置地图的坐标系,所以,需要进一步转换,而我使用依然是腾讯地图的开发服务,这个我后面会详细讲;
- 具体的通讯协议和睬坑记录都会在这个博文连载中一一为大家讲述;
二、前言;
最近半月都没更新博客了,因为新公司的事情比较多,群里有人说我是工作室支持的,才有这么多时间写博客。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解析库等等;
三、环境搭建;
如何芯片的学习,搭建环境是第一步,而且也是重要的一步,那么这篇先给大家搭建一个环境和如何烧程序固件进去运行!
第一步:下载CSDTK4.2
这是编译时候的工具,类似 gcc编译器;文章最下方会有下载链接!
解压到某个文件夹,比如C:\CSDTK,路径请不要带中文!
    运行CSDTk目录下的 config_env_admin.bat 文件来设置环境变量!那么成功之后,会在我的电脑的环境变量看到如下:

第二步:下载SDK代码和demo
这个步骤我弄了好久,讲道理,应该下载成功就是完整的代码,但是即使你下载成功之后,还是需要另外下载一些东西,官网推荐是这样的,因为里面还有一些子模块,需要这样,但是神奇的是,竟然这样也是没拉取子模块下来,还另外自己下载:
git clone --recursive https://github.com/Ai-Thinker-Open/GPRS_C_SDK.git
因此,我自己创了个仓库,同步我的代码以及SDK工程上去,保证可以正常编译,而且是最新同步官方的,因为这个官方仓库更新代码也是在 8个月前了,所以推论是稳定的了。
即使有更新,我也会立刻更新上去,希望大家拉取我的仓库就好,一次性下载所有代码:
git clone --recursive https://github.com/xuhongv/GPRS_A9G
第三步:编译demo
    首先,解压下载到的CSDK为GPRS_C_SDK文件夹放到某个目录下,比如 C:\GPRS_C_SDK ,请使用下划线(_)而不是减号(-)。
    然后,进入CSDK文件夹(C:\GPRS_C_SDK),按住shift,在文件夹内空白处鼠标右键单击,选择 cmd 打开或者 powershell 打开,如图:

    最后,使用 ./build.bat app 或者 build.bat app来编译工程,测试环境是否可用,如果正常,会出现以下结果:

Tips:
    如果提示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
-  左边 profiles选项选择8955,右边需要设置lastcomport为连接模块下载调试串口(HST)的端口
 ![在这里插入图片描述]() 
-  点击Ok 
-  等待连接成功,出现以下界面 

如果出现连接失败的情况,请参考 coolwatcher 无法连接原因部分
-  如果第一次使用,需要点击DRY图标,选择名字包含 8955 ramrun spi32m .lod的文件(在工程platform/ramrun下或者coolwatcher
-  只需要设置一次,后面都会记住的 
-  点击下图中的lod图标,选择编译生成的固件,在工程hex目录下 .lod格式的文件,首次下载下载文件体积较大的.lod格式文件,后面为了加快下载速度只需要下载体积较小的固件文件即可
-  点击 download图标,进行下载,正常效果如下图,右下角Command栏会有进度标志; 
 ![在这里插入图片描述]() 
如果下载失败,请参考官网
coolwatcher无法下载部分说明;
五、如何查看运行日志;
Tracer基本介绍及使用
- 查看debug信息:打开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过滤日志;
Tracer使用容易遇到的问题
- 有时候自己期望的调试数据没有显示,有可能是点了右上角的暂停显示最新的按钮,忘了关闭!!
- 刚开机的时候Trace模块可能还没启动完成,可能会出现开始部分信息没有打印的情况
六、参考资料和个人仓库介绍;
参考资料:
- 安信可官网A9g文档:https://ai-thinker-open.github.io/GPRS_C_SDK_DOC/zh/
- 安信可官网A9g开源仓库:https://github.com/Ai-Thinker-Open/GPRS_C_SDK
因为官网的代码开源仓库,在拉取时候总会出现小问题,初学者可以拉取我的仓库,我的是同步官网最新的,不用担心是否新版代码;
1. 下载代码
git clone --recursive https://github.com/xuhongv/GPRS_A9G
2. 检查代码完整性
下载完后请检查目录platform/csdk目录写是否包含debug、release目录。如果没有,则是下载方式错误,请仔细阅读第一步下载正确的文件!
3. 搭建编译环境
请移步到官网文档搭建,或者参考我这博文:传送门
4. 编译工程
本仓库包含有官网的demo和我写的demo工程;
编译官方demo步骤:比如编译这个 gpio ,可以cd 到本工程目录,然后:
 ./build.bat demo gpio
编译我写的demo步骤:比如编译这个我分析的这个 微信小程序追踪器 ,可以cd 到本工程目录,然后:
 ./build.bat mycode mini_tracer
七、其他;
另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!
- 玩转esp8266带你飞、加群付费QQ群,不喜的朋友勿喷勿加:434878850
- esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
- esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
- 邮箱联系或者加群联系我,就可以啦!
 
 
 
                    
                     
                    
                 
                    
                 
 
        

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号