1.波特率
1.1自适应波特率
  当SIM900A模块处于自适应波特率下,模块开机后,会从串口发出一串字符,在上位机不同的波特率下,会显示出不同的字符,以115200为例子,模块开机后,上位机会收到如下信息,其中0x49是英文字母”I”的ASCII码:

  然后我们发送AT指令,即可把模块的波特率同步成我们上位机的波特率(能同步成功的波特率是特定的几个:1200、2400、4800、9600、19200、38400、57600、115200)同步好后,会出现以下界面,返回“OK”,自适应下同步出来的波特率,在关机后就失效,下次启动还是自适应波特率。

1.2确定波特率
  当SIM900A模块处于确定波特率下,模块开机后,若上位机在正确的波特率下,那么就会收到如下的信息,其中“RDY”代表模块启动成功,可以接收AT指令,“+CREG: 1”代表SIM卡注册网络成功。

SIM900A AT Command Manual:

2.GPRS心跳包
  GPRS连上TCP后,若长期不发送数据,会发生连接在但不能发数据的情况。这是运营商为了保护网络资源而设定的。我们需要定时发生数据包以维持连接一直可用,这个数据包也叫做心跳包。心跳包的间隔随着地区运营商不同而不同,可根据实验情况确定,网络繁忙地区一般为几分钟。当SIM发送心跳包或者其他数据,服务器没有回应的时候,我们不需要继续等待数据,认为这次的连接已失效,主动断开连接,转入重连程序。
  系统有这么一个徐需求:服务器决定SIM900A何时上传数据,上传什么数据,由于服务器不能主动去连接SIM900A,且SIM900A是运营商的内网,服务器是外网,要实现这样的需求,有两个方案:
  1.SIM900A一直连接TCP,用心跳包维持;
  2.SIM900A平时与服务器是断开连接的,要连接时,服务器发送短信,SIM900A然后连接TCP。
  我使用的是方案1,用定时中断。不一定是SIM向服务器发送心跳包,服务器定时向SIM发送数据也是可以维持的。
  心跳包的作用可以不仅仅是维持连接,我们可以在心跳包里附加一点有价值的状态信息等。
  在我调试这个模块的时候,经常连接不上,后来发现是信号的问题,信号低于10,很难通信成功。

3.网络时间同步
  如果SIM模块是带有网络时间功能的,就可以不使用MCU的RTC了。授时服务器可以多准备几个,防止某一个服务器挂掉。另外,还可以根据ntp协议,做一个自己的授时服务器。

【Reference】
心跳包:
http://bbs.eeworld.com.cn/thread-427882-1-1.html
http://www.amobbs.com/forum.php?mod=viewthread&tid=5582370
http://www.amobbs.com/forum.php?mod=viewthread&tid=5544395
网络时间同步:
http://www.amobbs.com/thread-5589688-1-1.html

无线路灯项目——SIM900A调试相关推荐

  1. 全球最大的LoRaWAN智能路灯项目刚刚启动

    NNNCo 与技术提供商 Wellness TechGroup 合作推出 LoRaWAN无线网关模块在世界上最大的物联网应用智能街道照明项目之一. 该项目将覆盖200平方公里,为超过130万人提供物联 ...

  2. aruba无线轻轨项目

    在无线网络管理方面,必须具有无线的集中控管.智能调控.自动恢复.负载均衡等实用功能,所建无线网络可以适应多种环境的变化,可动态地保证良好的应用效果.还应具有远端AP数据进行采集.远程监控.终端定位等功 ...

  3. 基于STM32小熊派开发智慧路灯项目实践

    目录 一.引言 二.智慧路灯物联网架构介绍 1.感知层: 2.网络层: 3.平台层 4.应用层 三.开发环境 四.开发注意事项 五.学习网站(实践指南) 1.华为云实战训练营教学视频 2.智慧路灯项目 ...

  4. OAI项目GDB调试及代码分析

    OAI项目GDB调试及代码分析 如果想使用GDB调试工具对项目进行调试,首先需要在编译时加入调试信息. 在完成之前的对eNB和UE的编译之后,使用作者写的编译脚本,同时加上-g选项加入调试信息 ./c ...

  5. 无线局域网安装与调试(Wireless LAN installation and commissioning)

    无线局域网安装与调试(Wireless LAN installation and commissioning) 在校园内,无线局域网与现有校园网链接 无线统一网络AC功能描述 Configuratio ...

  6. 无线覆盖项目地勘——无线地勘记录

    近期在做一个客户的无线覆盖项目,以下是对这个项目无线地勘过程的一个记录. 项目背景 某公司办公场所搬迁,新办公楼位于市区某栋写字楼的27.28.29三层楼.项目开启时,新办公楼为毛胚房状态,各项装修工 ...

  7. C#项目单步调试莫名结束问题

    C#项目单步调试莫名结束问题 今天在调试一个问题时,单步跟踪,走到某一步时突然跳出了调试,后面很多断点一个都不进来. 经过更细致的一步步调试(进入每个函数查看),定位到如下一段代码有问题: 原因是:s ...

  8. eclipse+pydev添加已存在django项目及其调试方法

    1.导入已存在django项目 File->import ->General->Existing Projects into Workspace->Next->selec ...

  9. Django讲课笔记04:Django项目的调试

    文章目录 零.本讲学习目标 一.课程导入 二.新课讲授 (一)PyCharm运行命令创建的Django项目 1.打开第03讲里的MyDjango项目 2.配置Django Server 3.通过工具栏 ...

  10. [NXOpen] Siemens NX 二次开发 (c#) 安装,配置,新建项目,调试, 调用程序

    1. 软件版本 坐标德国,目前使用的是由学校给学生免费提供的正版Siemens NX 12.0.2,编程软件的版本是Visual Studio 2019 Community 2. 官方文档 因为工作原 ...

最新文章

  1. python脚本编写_【PyQGIS】编写用于处理框架(QGIS3)的Python脚本
  2. 游戏人生(一),我的lua之旅:那些坑爹的CCBReaderLoad
  3. IE提示console未定义问题解决
  4. VS2008中vss的设置
  5. python基础教程: os.stat() 和 stat模块详解
  6. 根据json对象的某一属性对其进行排序
  7. python 字符串%和format_python基础任务二
  8. 【原创】brew 和 brew cask
  9. ios plist_iOS属性列表(plist)示例
  10. 数据库系统:NoSQL与SQL的区别
  11. 代理服务器proxy server是什么?有什么作用
  12. 11.scrapy框架持久化存储
  13. Android必知必会-App 常用图标尺寸规范汇总
  14. 菜鸟站长之家google账号注册申请图文教程
  15. uni-app开发App上架Apple Store流程(简略版)
  16. typora 配置 smms 图床
  17. mysql limit sql注入_LIMIT子句中的盲 SQL注入漏洞利用
  18. 数据仓库(五)元数据管理
  19. 如何用计算机制作动态图,怎样用电脑轻松制作GIF动图图片
  20. 2012-2013-2(复变函数56, 高等数学60)

热门文章

  1. ECCV 2022 | AirDet: 无需微调的小样本目标检测方法
  2. 智慧城市:Web GIS 地图应用 IOC 运营中心
  3. 树莓派4b IO引脚输出模式异常
  4. easyrecovery15新版绿色序列号数据恢复软件
  5. mysql 嵌套查询多表_MySql嵌套查询+关联查询+多表查询+对应案例 超详细,一看就会!!!...
  6. 5.5.49mysql
  7. ios html跳转appstore,H5跳转app store问题
  8. 旧视频调整为4k视频提高分辨率Topaz Video Enhance AI
  9. SDACM 五一联赛 3 G - L
  10. 脉歌蓝牙耳机线评测_性能均衡的真无线降噪耳机 脉歌MT-70开箱评测