【发布时间】:2014-07-24 10:43:39
【问题描述】:
不知道我还能在哪里问这个问题,所以就这样吧。
我一直在我的 Ubuntu PC 上使用 wammu/gammu 通过蓝牙连接到索尼爱立信 T630 手机 - 一切正常。特别是wammu有一个我很喜欢的功能,叫做“同步时间”:不用在手机中手动设置当前时间和日期,该功能会自动将手机时钟与PC时钟同步.
最近我得到了一个Nokia 112,它显然运行的是S40 操作系统。而且每次我关闭电源并取出电池时,它都会要求我再次手动设置当前日期/时间,这让我非常恼火。
所以,我设法从wammu 连接到诺基亚112 手机,并发出“同步时间”命令 - 不幸的是,它失败了;日志报告如下:
Tue 2014/06/03 13:16:17: Entering GSM_SetDateTime
Tue 2014/06/03 13:16:17: Setting date & time
Tue 2014/06/03 13:16:17: SENDING frametype 0x00/length 0x1F/31
Tue 2014/06/03 13:16:17: 41A|54T|2B+|43C|43C|4CL|4BK|3D=|22"|311|344|2F/|300|366|2F/|300 AT+CCLK="14/06/0
Tue 2014/06/03 13:16:17: 333|2C,|311|333|3A:|311|366|3A:|311|377|2B+|300|300|22"|0D 3,13:16:17+00".
Tue 2014/06/03 13:16:17: 1 "AT+CCLK="14/06/03,13:16:17+00""
Tue 2014/06/03 13:16:17: 2 "ERROR"
Tue 2014/06/03 13:16:17: RECEIVED frametype 0x00/length 0x28/40
Tue 2014/06/03 13:16:17: 41A|54T|2B+|43C|43C|4CL|4BK|3D=|22"|311|344|2F/|300|366|2F/|300 AT+CCLK="14/06/0
Tue 2014/06/03 13:16:17: 333|2C,|311|333|3A:|311|366|3A:|311|377|2B+|300|300|22"|0D |0D 3,13:16:17+00"..
Tue 2014/06/03 13:16:17: 0A |45E|52R|52R|4FO|52R|0D |0A .ERROR..
Tue 2014/06/03 13:16:17: GSM_SetDateTime failed with error NOTSUPPORTED[21]: Function not supported by phone.
Tue 2014/06/03 13:16:17: Leaving GSM_SetDateTime
Tue 2014/06/03 13:16:34: Entering GSM_GetSignalQuality
Tue 2014/06/03 13:16:34: Getting signal quality info
Tue 2014/06/03 13:16:34: SENDING frametype 0x00/length 0x07/7
Tue 2014/06/03 13:16:34: 41A|54T|2B+|43C|53S|51Q|0D AT+CSQ.
Tue 2014/06/03 13:16:34: 1 "AT+CSQ"
Tue 2014/06/03 13:16:34: 2 "+CSQ: 93,99"
Tue 2014/06/03 13:16:34: 3 "OK"
Tue 2014/06/03 13:16:34: RECEIVED frametype 0x00/length 0x1C/28
Tue 2014/06/03 13:16:34: 41A|54T|2B+|43C|53S|51Q|0D |0D |0A |2B+|43C|53S|51Q|3A:|20 |399 AT+CSQ...+CSQ: 9
Tue 2014/06/03 13:16:34: 333|2C,|399|399|0D |0A |0D |0A |4FO|4BK|0D |0A 3,99....OK..
Tue 2014/06/03 13:16:34: Signal quality info received
Tue 2014/06/03 13:16:34: Parsing +CSQ: 93,99 with +CSQ: @i, @i
Tue 2014/06/03 13:16:34: Parsed int 93
Tue 2014/06/03 13:16:34: Parsed int 99
Tue 2014/06/03 13:16:34: Leaving GSM_GetSignalQuality
所以,显然这款手机可以通过蓝牙通过 AT 命令进行通信;只是,显然它不支持wammu 用来同步时间的AT+CCLK 命令。我还发现:
- AT Commands - Nokia Developer Wiki(标记:兼容平台:Series 40、Symbian)
- Support Guide for the Nokia Phones and AT Commands (pdf)
...这似乎证实了诺基亚手机不支持AT+CCLK(至少不支持S40手机)。
现在,我发帖的动机是我在wammu 日志中读到的:
Tue 2014/06/03 13:14:47: 1 "AT+CGMI"
Tue 2014/06/03 13:14:47: 2 "Nokia"
Tue 2014/06/03 13:14:47: 3 "OK"
Tue 2014/06/03 13:14:47: RECEIVED frametype 0x00/length 0x17/23
Tue 2014/06/03 13:14:47: 41A|54T|2B+|43C|47G|4DM|49I|0D |0D |0A |4EN|6Fo|6Bk|69i|61a|0D AT+CGMI...Nokia.
Tue 2014/06/03 13:14:47: 0A |0D |0A |4FO|4BK|0D |0A ...OK..
Tue 2014/06/03 13:14:47: Manufacturer info received
Tue 2014/06/03 13:14:47: HINT: Consider using Nokia specific protocol instead of generic AT.
Tue 2014/06/03 13:14:47: [Manufacturer: Nokia]
Tue 2014/06/03 13:14:47: Leaving GSM_GetManufacturer
现在,这款诺基亚 112 实际上支持SyncML,我已经设法使用syncevolution 在诺基亚 112 和 PC 之间同步通讯录联系人(通过蓝牙)。不幸的是,syncevolution 似乎只适用于联系人、日历项目和便笺/待办事项(例如,它显然不备份 SMS 消息)——如果它支持将移动时钟与电脑时间。
所以,我的问题最终是:如果这些手机不支持AT+CCLK,还有其他方法吗 - 也许是 SyncML?或其他东西(可能是 OBEX)——这将允许我通过蓝牙连接将移动设备的时钟与 Linux PC 上的当前时间同步?
【问题讨论】:
标签: linux bluetooth at-command nokia-s40 syncml