at_device sim7670驱动支持gps信息获取、基站定位、低功耗

AT Device神器简介

AT device 软件包是由 RT-Thread AT 组件针对不同 AT 设备的移植文件和示例代码组成,目前支持的 AT 设备有:ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X 、SIM76XX、A9/A9G、BC26 、AIR720、ME3616、M6315、BC28、EC200X、M5311、L610系列设备等,目前上述设备都完成对 AT socket 功能的移植,及设备通过 AT 命令实现标准 socket 编程接口,完成 socket 通讯的功能。

开发之前推荐先阅读官方AT命令部分的官方文档,对整体概念和开发方法有个整体的了解。

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/at/at.md

AT Device开启步骤

AT Device软件包自带SIM76XX的支持,开启方法如下:

1、在scons --dist命令生成的dist目录中运行menuconfig,选中软件包。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 建议不选择Enable sample,sample文件名为at_sample_sim76xx.c,随后可以自己打开参考。后续我们会在port目录下建立port_sim76xx.c用于向at系统注册设备,采用我们自定义的名称和引脚。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 2、运行pkgs --update自动下载软件包

3、运行scons --target=mdk5生成工程

4、参考软件保重sim76xx的例子,添加注册代码,并加入工程。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 针对官方驱动,我们做了哪些修改

1、修改了电源管理引脚的定义。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 官方手册上这样定义上电时序,对于低功耗应用通常我们会控制VBAT,因此就是三个控制引脚。VBAT、PWRKEY、STATUS。因此我们修改struct at_device_sim76xx结构的控制引脚为三个,并修改上下此电时序以满足手册要求。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 同时支持不配置电源引脚,不配置status引脚的情况。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 2、sim76xx_netdev_set_info函数中获取IP地址时增加重试,避免网络条件不好的时候获取IP地址慢导致整体失败

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

3、修改sim76xx_init_thread_entry注释掉AT+CREG?过程,直接使用AT+CGREG?检测网络状态,电信卡来说AT+CREG总是失败

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

4、修改sim76xx_init_thread_entry把设置PDP context放在检查网络状态之前

at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 5、增加控制GPS电源开关和获取GPS坐标的代码

GPS采用模块内部控制的方式,这样才能利用模块内部的GPS热启动、AGPS等功能。

新增GPS上下电的命令字。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

实现GPS上电代码

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 实现GPS断电代码

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 如果GPS已经开启,优先从GPS获取坐标,不成功或没有开启则采用基站定位。

 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

 

 

上一篇:python + selenium 爬虫 基础操作


下一篇:Java程序设计 多线程【三】