amobbs.com 阿莫电子论坛

 找回密码
 注册
bottom↓
查看: 410|回复: 199

GSM模块除GPRS联网外,还有什么更好办法定期获得时间?短信

[复制链接]
发表于 2016-4-27 15:42:43 | 显示全部楼层 |阅读模式
GSM模块除GPRS联网外,还有什么更好办法获得时间?

接收短信也能获得服务器时间 ,可以第三方发送短信过来,也可以自己发给自己。


定期获得时间是为了防和谐

sim卡是用户自己的,使用中没有联网的需要,而且也不能强制客户打开GPRS上网。 否则 每用一次联网获得时间就扣2元日租,坑爹啊。

GSM模块也没法通过AT命令获得本机号码,来实现定期查询时间。



已知方法

1 GPRS联网  ---- 否决
AT+CIPSTART="TCP","time.nist.gov",13
OK
CONNECT OK
56771 14-04-24 08:29:20 50 0 0 774.4 UTC(NIST) *  
CLOSED


2 接收短信
   2a 第三方发送短信  ----- 需要第三方主动定时发送短信,不好实施
   2b 发短信给自己     ----- 需要预先获得本机号码,
                                       设备没有直接输入途径,
                                       第三方发送内容为【该SIM卡号码】的短信给该SIM卡来获得本机号码,则存在用户操作错误的可能。

3 短信送达报告
  这个不清楚在各种条件下(对方没开机)的具体返回信息,更怕不同运营商不同处理。
   而且只看到过在PDU模式发送短信可以启用送达报告。 第二个字 31是需要送达报告,11就是不需要。
   text模式好像找不到相关设置。

   短信发送状态报告(Status Report)的处理
   http://blog.csdn.net/9527/article/details/1503482


还有没有更简单直接的方法啊?
发表于 2016-4-27 16:12:11 | 显示全部楼层
给10086(移动服务提供商)发短信?
发表于 2016-4-27 16:34:15 | 显示全部楼层
某宝见过物联网专用的gsm好像跑流量特别便宜,但是没试过
 楼主| 发表于 2016-4-27 17:21:15 | 显示全部楼层
erxun 发表于 2016-4-27 16:12
给10086(移动服务提供商)发短信?

国内可以考虑发短信给3大运营商。

不过产品需要考虑海外客户,五花八门的运营商和相应号码,
不好保证100%正确。

产品没有远程升级能力,1个BUG就亏大本了。


我现在感觉  

带本机号码的激活短信 + 自己定期发短信给自己

这个方案比较可行一些。

发表于 2016-4-27 17:36:48 | 显示全部楼层
CDMA倒是直接可以读时间。
发短信给自己 时间是本机的还是网络时间呢?
发表于 2016-4-27 17:40:55 来自手机 | 显示全部楼层
哈哈,你用这种 at模块,不等于是全透明嘛,直接仿个通讯好了。。。。
 楼主| 发表于 2016-4-27 18:18:26 | 显示全部楼层
dhbighead 发表于 2016-4-27 17:36
CDMA倒是直接可以读时间。
发短信给自己 时间是本机的还是网络时间呢?

短信附带的时间应该是短信服务中心的时间,基本就是网络时间了。

本机时间没意义,RTC掉电就没了。容易误伤, 起不到正确的防和谐作用。
 楼主| 发表于 2016-4-27 18:19:26 | 显示全部楼层
wxws_wxws 发表于 2016-4-27 17:40
哈哈,你用这种 at模块,不等于是全透明嘛,直接仿个通讯好了。。。。

不开GPRS

要是走GPRS ,方法就多了。
发表于 2016-4-27 22:28:13 来自手机 | 显示全部楼层
发10086查话费
发表于 2016-4-28 07:01:57 来自手机 | 显示全部楼层
中九的接收机,也是类似装了个sim卡来防盗版,可以了解下。不过人的意思是说用 at gsm模块的话,很容易仿制模块本身来骗你的核心 mcu.   另中九早就破解了。
发表于 2016-4-28 08:02:39 来自手机 | 显示全部楼层
加装GPS呢,读时间。但是要防止hacker模拟GPS和你通讯。
 楼主| 发表于 2016-7-14 19:12:03 | 显示全部楼层
本帖最后由 Magicfjpg 于 2016-7-14 19:34 编辑

现在只考虑国内sim卡.
用户更换sim卡后,我还是拿不到电话号码,不能自己发自己

那就发查余额短信给三大运营商,但还是有问题
测试了基于联通的虚拟运营商卡,发YE到10010 , 发出倒是成功了(有CDS短信送达报告),但是根本收到不到回信。

退一步,我看CDS提取时间总行吧?
问题是 CDS居然像六脉神剑,不是人人都会。

sim800c模块,同样的设置,同一张sim卡,同一个地方
CNMI=2,2,0,1,0     
第四个参数 <ds>=1,应该是打开了CDS短信送达报告的。

居然从代理商拿的8个sim800c模块就是没有CDS报告,无论发送成功还是失败。
而在TB买的sim800c测试板就收得到,发送成功很快收到CDS,发送失败第二天收到CDS也试过。
晕死

有高手知道SIM800C怎样设置才能确保正常收到CDS短信送达报告
发表于 2016-7-14 20:08:17 来自手机 | 显示全部楼层
erxun 发表于 2016-4-27 16:12
给10086(移动服务提供商)发短信?

别这么干,移动会被你玩死的。
发表于 2016-7-25 19:41:30 来自手机 | 显示全部楼层
AWEN2000 发表于 2016-7-14 20:08
别这么干,移动会被你玩死的。

呵呵,这就是可用的方法。
国内不用配置,直接发给移动联通,国外就得叫人配置一下了,配成当地运营商的服务号
发表于 2016-7-25 20:07:40 | 显示全部楼层
移动卡的自动更新时间是怎么做的??
 楼主| 发表于 2016-7-28 11:35:20 | 显示全部楼层
折腾了好久,才发现收不到CDS 不是模块问题。 而是设置问题,默认设置是没有打开文本模式下的CDS功能。

除了设置AT+CNMI=x,x,x,1        //AT+CNMI=<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]
还要设置 AT+CSMP=49,x            //AT+CSMP=[<fo>[,<vp>,<pid>,<dcs>]]

<fo> Depending on the command or result code: first octet of GSM 03.40 SMS-DELIVER, SMS-SUBMIT (default 17),SMS-STATUS-REPORT, or SMS-COMMAND (default 2) in integer format.
SMS status report is supported under text mode if <fo> is set to 49.

其中一个模块是我测试各种命令时曾经修改过 CSMP, 会保存,但 AT&V查看配置 不显示这个设置值。

国产的规格书就是这么含糊,不会把相关设置集中提示 。  得人肉搜索各种可能的关键字。

友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号-1 )

GMT+8, 2020-4-10 06:50

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表