SIM808调试笔记(GNSS获取经纬度,GPRS数据上传到服务器)

前一段时间调了LoNet 808,基于SIM808,就是下图这块板子。遇到了一些困难,记录下来,希望以后遇到类似问题有个参考。可能会有理解错误的地方,欢迎指出。

1、建立串口通信。

板子使用3.7V Li-Po电池供电。首先用USB转TTL工具连接SIM808和电脑,VIO接3.3V。打开串口助手,9600,none,连接。按下板子按键2秒打开电源,使用串口助手向SIM808发送一些AT指令(比如开、关回显),串口助手显示SIM808原样返回了AT指令,并没有返回OK或Error字样,关回显命令也没有生效。初步怀疑是由于没装SIM卡,模块启动时自检过不了。找了个移动SIM卡装上,上电后看到指示灯由频繁闪烁变为缓慢闪烁,约灭3秒亮1次,这表示SIM808成功注册到网络。再次使用串口助手发送AT指令,依然原样返回了命令,没有OK或Error字样。在串口助手的发送框里输入AT指令后,按Enter换行,再点击发送后,SIM808返回乱码,里面偶尔掺杂了几个正常的字符。看起来像是AT指令生效了。更改波特率和校验,无法解决返回乱码问题。改用SecureCRT,无法解决返回乱码问题。怀疑USB转TTL工具有问题(记此工具为1号),改用另一个USB转TTL工具(记此工具为2号)。使用2号工具后,正常显示OK字样,乱码问题解决。(后来用1号工具调试过别的模块,发现通信正常,但是调试SIM808就会显示乱码。嗯,,,是个谜)

2、定位功能调试

根据店家提供的参考资料,使用了几个关于GPS功能的AT指令(AT+CGPSPWR=1,AT+CGPSINF=0),但是回复Error。并且发现SIM808启动时的实际打印信息里没有“GPS Ready”,和参考资料不一致。上网查后发现SIM808硬件版本2.01及以后且软件版本1418B01SIM808M32及以后,应该使用GNSS功能获取位置信息。

GNSS手册下载:http://www.elecrow.com/wiki/images/0/05/SIM800_Series_GNSS_Application_Note_V1.00.pdf

 

室外太冷,且在室外调试不方便,所以只能将板子放到窗户边,AT+CGNSPWR=1开启GNSS电源,AT+CGNSINF获取位置信息。一开始获取不到位置信息,等待40秒左右再尝试就可以了,大概是因为冷启动。由于在窗户边不够开阔,每次获取的经纬度会有波动,上网查经纬度值与距离的换算,误差有几十米或几百米。后来将板子带到室外开阔场地,获取的经纬度值非常稳定。

 3、GPRS功能调试

AT+SAPBR=3,1,"CONTYPE","GPRS''

AT+SAPBR=3,1,"APN","CMNET"  (移动的接入点是CMNET,联通的是3GNET,电信卡不适用)

AT+SAPBR=1,1

AT+HTTPINIT

AT+HTTPPARA="URL","xxx.x.xx.xx:90/s?data1=***&data2=***'' (xx表示服务器地址,90是端口号,不写的话默认80,data1和data2是服务器上定义的变量名,***表示上传的变量值)

AT+HTTPACTION=1  (将数据post到服务器,正常会收到返回值200)

AT+HTTPREAD

AT+HTTPTERM (结束HTTP服务)

更多指令和含义可以网上查找SIM808 AT指令手册

4、不得不说的供电

一开始使用3.7v usb充电锂电池供电,将锂电池放在电池盒里,把正负极的线直接焊在板子上。最初可以正常使用,后来有一天晚上,模块出现了开机后很快自动关机的现象,使用板子上提供的充电接口给锂电池充电,模块不停重启。将锂电池取出用手机的电源适配器充满电,再装入仍然无法解决自动关机问题。最后怀疑电池质量有问题,另外电池盒的正负极输出线太长,最终导致驱动电流太低?因为这种事导致无法调试,好气呀。第二天换了块锂电池,大概下图这种,装上以后模块工作稳定。

### GNSS模块实现经纬度导航方法 #### 使用GNSS模块获取经纬度数据 为了通过GNSS模块获得精确的经纬度信息,通常会采用专门设计的支持多个卫星系统的接收设备。例如,ATGM332D-5N系列模块能够同时追踪多达六个不同的卫星导航系统,这不仅提高了定位精度还增强了可靠性[^2]。 当启动这类GNSS接收装置时,它会自动搜寻可见天空中的卫星并建立连接。一旦接收到足够的卫星信号,接收机会解码这些信号来计算其位置参数,即经度、纬度和高度等地理坐标以及当前时间戳。此过程依赖于卫星发送的时间同步脉冲和伪随机噪声码(PRN),利用几何距离测量法确定地球上任何一点的位置[^3]。 对于具体的应用开发而言,开发者可以选择像MATLAB这样的工具来进行数据分析处理工作。比如,在北斗导航应用案例中提到的方法就是借助MATLAB读取来自GNSS接收机串口通信接口传来的原始观测文件,并解析出所需的地理位置信息;之后再调用相应的绘图函数把这些点标记在中国地图或其他指定区域的地图背景之上完成可视化展示[^1]。 另外一种常见的硬件组合方案是由STM32微控制器配合安信可GP-01定位模块构成的小型化嵌入式系统。在这个实例里,GP-01作为核心组件负责捕捉卫星信号并将之转换成易于理解的文字形式(如NMEA协议格式),随后由STM32进一步解释这些字符串从而提取出具体的经纬度数值供后续操作使用[^4]。 ```c // 示例代码片段:从GP-01模块读取NMEA语句并通过UART传输给STM32 void UART_Read_NMEA(void){ char NMEABuffer[100]; while (HAL_UART_Receive(&huart1, (uint8_t*)NMEABuffer, sizeof(NMEABuffer), HAL_MAX_DELAY) != HAL_OK); // 解析NMEA句子以获取GGA消息中的经纬度信息 } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值