不知道我还能在哪里问这个问题,所以就这样吧。
我一直在我的 Ubuntu PC 上使用wammu
/gammu
通过蓝牙连接到索尼爱立信 T630 手机 - 一切正常。尤其是我喜欢的一个功能wammu
,叫做“同步时间”:这个功能不会在手机中手动设置当前时间和日期,而是会自动将手机时钟与 PC 时钟同步。
最近我拿到了一部诺基亚 112,它显然运行的是 S40 操作系统。每次我关闭它并取出电池时,它都会要求我再次手动设置当前日期/时间,我觉得这非常烦人。
所以,我设法从 连接到诺基亚 112 手机wammu
,并发出“同步时间”命令 - 不幸的是,它失败了;日志报告如下:
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 命令进行通信;只是,显然,它不支持用于同步时间的AT+CCLK
命令。wammu
我还发现:
- AT 命令 - Nokia Developer Wiki(标记:兼容平台:Series 40,Symbian)
- 诺基亚手机和 AT 命令支持指南 (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 消息)——如果它支持将移动时钟与 PC 时间同步,我也找不到任何参考。
所以,我的问题最终是:如果AT+CCLK
这些手机不支持,还有其他方法吗——也许是 SyncML?或其他东西(也许是 OBEX)——这将允许我通过蓝牙连接将移动设备的时钟与 Linux PC 上的当前时间同步?