Magicfjpg 发表于 2016-4-27 15:42:43

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

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


还有没有更简单直接的方法啊?

erxun 发表于 2016-4-27 16:12:11

给10086(移动服务提供商)发短信?

759648442@qq.co 发表于 2016-4-27 16:34:15

某宝见过物联网专用的gsm好像跑流量特别便宜,但是没试过

Magicfjpg 发表于 2016-4-27 17:21:15

erxun 发表于 2016-4-27 16:12
给10086(移动服务提供商)发短信?

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

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

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


我现在感觉

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

这个方案比较可行一些。

dhbighead 发表于 2016-4-27 17:36:48

CDMA倒是直接可以读时间。
发短信给自己 时间是本机的还是网络时间呢?

wxws_wxws 发表于 2016-4-27 17:40:55

哈哈,你用这种 at模块,不等于是全透明嘛,直接仿个通讯好了。。。。

Magicfjpg 发表于 2016-4-27 18:18:26

dhbighead 发表于 2016-4-27 17:36
CDMA倒是直接可以读时间。
发短信给自己 时间是本机的还是网络时间呢?

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

本机时间没意义,RTC掉电就没了。容易误伤, 起不到正确的防和谐作用。

Magicfjpg 发表于 2016-4-27 18:19:26

wxws_wxws 发表于 2016-4-27 17:40
哈哈,你用这种 at模块,不等于是全透明嘛,直接仿个通讯好了。。。。

不开GPRS

要是走GPRS ,方法就多了。

pensty 发表于 2016-4-27 22:28:13

发10086查话费

wxws_wxws 发表于 2016-4-28 07:01:57

中九的接收机,也是类似装了个sim卡来防盗版,可以了解下。不过人的意思是说用 at gsm模块的话,很容易仿制模块本身来骗你的核心 mcu.   另中九早就破解了。

StoneSun 发表于 2016-4-28 08:02:39

加装GPS呢,读时间。但是要防止hacker模拟GPS和你通讯。

Magicfjpg 发表于 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短信送达报告 ?

AWEN2000 发表于 2016-7-14 20:08:17

erxun 发表于 2016-4-27 16:12
给10086(移动服务提供商)发短信?

别这么干,移动会被你玩死的。

redroof 发表于 2016-7-25 19:41:30

AWEN2000 发表于 2016-7-14 20:08
别这么干,移动会被你玩死的。

呵呵,这就是可用的方法。
国内不用配置,直接发给移动联通,国外就得叫人配置一下了,配成当地运营商的服务号

boboo 发表于 2016-7-25 20:07:40

移动卡的自动更新时间是怎么做的??

Magicfjpg 发表于 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查看配置 不显示这个设置值。

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

页: [1]
查看完整版本: GSM模块除GPRS联网外,还有什么更好办法定期获得时间?短信