发新帖本帖赏金 36.00元(功能说明)我要提问
返回列表
打印

【原创连载】+和土匪一起玩GPRS模块

[复制链接]
50378|176
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是土匪|  楼主 | 2015-8-20 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我是土匪 于 2016-7-19 14:39 编辑

        随着物联网技术的普及,GPRS模块使用越来越广泛,从工业设备远程监控到智慧农业,从智能家居到电力集抄,从智能穿戴到物流运输,GPRS应用在众多行业都能找到踪影,发挥作用,恰好二姨家做连载活动,一时心血来潮,利用工作之余策划连载。
        这个连载并不是说我本人对GPRS多熟、玩的多好,只是抛砖引玉,和大家一起来学习一下GPRS,一起迎接物联网应用大潮。

        模块选择目前主流的SIMCOM产品,比如SIM900A,SIM800结合STM32处理器.
        分主题的方式,比如开关机、电话、短信、TCPIP、HTTP、DTMF、FTP等等。请大家出谋划策,一起学习。
        因为是工作之余,进度不会很快,但会**,请谅解,请支持。
       目录(更新中):
第一章  GPRS开、关机
第二章  浅谈AT
第三章  AT架构浅谈
第四章  DTMF实现远程开门第五章 短信
第六章 TCPIP数据连接第七章 原理图
第八章 PCB





打赏榜单

zwqmcuzwq 打赏了 5.00 元 2023-05-14
理由:学习中,雪中送碳

21ic小喇叭 打赏了 15.00 元 2015-08-26

相关帖子

沙发
lfjwfm| | 2015-8-20 19:02 | 只看该作者
搬个小板凳听课了。能否选华为的GSM模块啊,这种量大又便宜,好找。

使用特权

评论回复
板凳
我是土匪|  楼主 | 2015-8-21 09:34 | 只看该作者
lfjwfm 发表于 2015-8-20 19:02
搬个小板凳听课了。能否选华为的GSM模块啊,这种量大又便宜,好找。

选择SIMCOM是因为他们的模块出货量据说世界第二,其二本人更熟悉一些。

不过可以考虑硬件上,单片机作为底板,GPRS模块作为小板,做成模块和底板直插。
代码角度,模块的差别主要在于非标准的AT,操作流程基本差别不大。如果时间和精力允许,移植代码用其他家模块试试。

使用特权

评论回复
评论
lfjwfm 2015-8-21 10:41 回复TA
哈,给力!!是的就是某些AT代码不同而已。 
地板
lijunlinv| | 2015-8-21 19:30 | 只看该作者
搬个小板凳听课了,虚心求教,哈哈

使用特权

评论回复
5
xinyipcb| | 2015-8-24 07:39 | 只看该作者
关注一下。

使用特权

评论回复
6
lijunlinv| | 2015-8-24 16:27 | 只看该作者
本帖最后由 lijunlinv 于 2015-9-7 09:22 编辑

楼主啊,更新的太慢了!

使用特权

评论回复
7
我是土匪|  楼主 | 2015-8-24 17:49 | 只看该作者
本帖最后由 我是土匪 于 2015-10-10 14:17 编辑

敲门篇:
第一章  开、关机。


也许你会觉得GPRS开机很简单,单独来讲有点小题大做,那是你运气好,没有掉进这个坑。
下面步入正题,看看土匪有没有危言耸听。

使用特权

评论回复
8
我是土匪|  楼主 | 2015-8-24 17:49 | 只看该作者
本帖最后由 我是土匪 于 2015-8-24 17:53 编辑

1、为什么要开机?
GPRS模块不同于其它模块如:433M等上电后稍做延时就能工作,GPRS模块必须要对其开机,才能对其进行操作,就像手机。
2、如何开机?
先看看simcom的硬件手册是如何描述开机的:
SIM900A的两种开机方式:
        使用PWRKEY引脚
        使用PWRKEY引脚和PWRKEY_OUT引脚
我们这里学习使用PWRKEY 引脚开启模块(开机)
用户通过拉低PWRKEY 信号至少1秒然后释放来开机。此引脚已在模块内部上拉到3V。推荐电路如下图:

图1:使用PWRKEY驱动电路开机
  
图 2:使用PWRKEY按键开机
下图是开机时序说明:
    开机之前要确保模块已经供电,个人认为开机流程如下:


图4.png (29.37 KB )

图4.png

使用特权

评论回复
9
我是土匪|  楼主 | 2015-8-24 17:53 | 只看该作者
3、如何判断开机成功?
模块既然开机,就要知道动作成功或失败,正确判断开机成功与否至关重要。
常见判断开机成功的几种方法:
人眼看,如果网络灯闪烁,一定开机成功。
串口监控,如果开机模块会通过串口主动上报RDY(只有在固定波特率的情况下才会上报)
AT方式,发送“AT\r\n”,如果立即返回“OK\r\n”,则开机成功
Status引脚监控,模块成功开机,该引脚输出高电平,否则低电平。

个人喜欢AT方式,通用,且能判断MCU和GPRS串口的通信情况。

使用特权

评论回复
10
我是土匪|  楼主 | 2015-8-24 17:55 | 只看该作者
本帖最后由 我是土匪 于 2015-8-24 17:58 编辑

4、如何关机?
        关机不能粗暴的断电,虽然干净利索,不过容易对模块系统造成伤害,有可能导致模块内部文件系统崩溃,如同用扣掉手机电池的方法关机一个道理。
    关机和开机时序几乎相同,按照simcom手册描述如下:
下面是SIM900A的几种关机方法:
        使用PWRKEY引脚关机
        使用PWRKEY引脚和 PWRKEY_OUT 引脚关机
        使用AT命令关机
        高压或者低压自动关机
        高温或者低温自动关机
具体操作官方手册有详细描述,不再重复。
关机成功串口会收到,NORMAL POWER DOWN
如果要断电,请延时5秒(实验测试有些模块接近5秒status电压到0)。
即使没有输出NORMAL POWER DOWN 或STATUS输出仍高电平(排除程序问题),最终也要断电。
如果本次关机不断电,就要另作处理:

     或:

5、如何判断关机成功
收到,NORMAL POWER DOWN,status引脚电平为0

图8.png (16.69 KB )

图8.png

使用特权

评论回复
11
我是土匪|  楼主 | 2015-8-24 18:00 | 只看该作者
本帖最后由 我是土匪 于 2015-8-24 18:05 编辑

6、如何主动控制重启?
        复位引脚。听说SIM900该引脚不足够可靠。
        AT命令:AT+CFUN=1,1,前提模块没有死机。
7、注意事项:
        POWERKEY通过下拉电阻接地:
有很多人不用单片机控制POWERKEY引脚,而是直接用POWERKEY引脚一个下拉电阻接地,只要模块上电就会自动开机。
        这种方法简单,实用,不过局限性。
如果你希望模块关机,如何控制?
直接断电还是用AT+CPOWD=1?
如果电压或温度异常,模块自动关机,会因为POWERKEY接地导致模块2分钟后自动重启,这样模块会反复重启。SIM800和SIM900均测试过,其他模块没做过测试。

        模块开机和关机都有一定概率会失败,有些低功耗设备,需要频繁开关机时对这个性能尤为重视。而开机和关机的时序是相同的,如果弄反意味着开关机时序反了。
解决办法:结合status引脚状态判断模块当前的状态,结合开关机电源控制尤佳,毕竟模块产生的漏电流对低功耗设备而言也是不小的耗电。

        关于串口串电,这个问题很隐蔽,概率很低,但很要命,是个定时炸*。
        所谓的串口串电,是模块在开机之前(切断模块电源的方式下),在模块的电源引脚上也能检测到1.8V左右或者更高的电平?这个电压来自哪?串口!某公司量产产品出现该问题,千分之几的问题,随机出现,这是很要命的问题,花费大量人力、物力最终定位到这个问题,教训就是白花花的银子。
这有什么危害?危害就是某些模块在此时无法成功开机?
如何解决?对于单片机工程师而言,软件处理起来已经很容易了。



模块开机和关机都有一定概率会失败,有些低功耗设备,需要频繁开关机时对这个性能尤为重视。而开机和关机的时序是相同的,如果弄反意味着开关机时序反了。
解决办法:结合status引脚状态判断模块当前的状态,结合开关机电源控制尤佳,毕竟模块产生的漏电流对低功耗设备而言也是不小的耗电。

关于串口串电,这个问题很隐蔽,概率很低,但很要命,是个定时炸*。
所谓的串口串电,是模块在开机之前(切断模块电源的方式下),在模块的电源引脚上也能检测到1.8V左右或者更高的电平?这个电压来自哪?串口!
这有什么危害?危害就是某些模块在此时无法成功开机?
如何解决?对于单片机工程师而言,软件处理起来已经很容易了。

使用特权

评论回复
12
我是土匪|  楼主 | 2015-8-24 18:01 | 只看该作者
本帖最后由 我是土匪 于 2015-8-24 18:10 编辑
lijunlinv 发表于 2015-8-24 16:27
楼主啊,更新的太慢了,可否把你的代码分享给我,先学习一下,谢谢啦!

因为工作也很忙,只能抽时间了。边构思,边写文档和代码,写好一部分更新一部分,现场直播,速度快不了,抱歉了。

使用特权

评论回复
13
我是土匪|  楼主 | 2015-8-24 18:02 | 只看该作者
本帖最后由 我是土匪 于 2015-8-24 18:08 编辑

改天上传开关机部分参考原理图和代码。
和大家一起切磋,有问题随时纠正,技术交流,有交流才有提升。
感谢支持!欢迎交流,欢迎板砖。

使用特权

评论回复
14
dsoyy| | 2015-8-24 22:35 | 只看该作者
整理成文档供下载会不错。

使用特权

评论回复
15
dirtwillfly| | 2015-8-26 09:37 | 只看该作者
mark

使用特权

评论回复
16
han0097| | 2015-8-26 10:33 | 只看该作者
我也来听课了!

使用特权

评论回复
17
貌似稿手| | 2015-8-26 10:36 | 只看该作者
持续关注学习

使用特权

评论回复
18
huangqi412| | 2015-8-26 13:01 | 只看该作者
第一页占座,

使用特权

评论回复
19
lemenade| | 2015-8-27 09:16 | 只看该作者
现在各种只能玩意用到这些的越来越多,不了解就落后了。收藏学习

使用特权

评论回复
20
ayl439| | 2015-8-27 14:13 | 只看该作者
赞楼主一个,专业、深入。

使用特权

评论回复
发新帖 本帖赏金 36.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

226

主题

1761

帖子

30

粉丝