这是一个非常具体的问题。

我目前正在开发一个项目,以创建一个能够通过蓝牙读取比重计值的android应用程序。通过阅读数据表,我怀疑比重计使用的是串行通讯。

首先,我在蓝牙管理器的帮助下连接了笔记本电脑,并尝试通过串行终端与之通讯。通过反复试验,我成功发送了十六进制字符“ 0x44”时收到了一些信息。 receive,我收到的是不可读的示例,如下所示:

D0Lڮ� ���A��p���wn��
��� )
x11
10 7B FD 78 16
x1a
11 1a 19 44 30 4c da ae 9b 20 cc 01 a2 31 13 00 13 70 66 76 0e 26 8b b9 8c 0c 47 b7 3c 09 0b 00 74 0f 00 00 ca 09
11 1a 19 44 30 4c da ae 9b 20 cc 01 a2 41 13 00 13 70 03 ba f2 77 6e 82 81 0d 08 ba c8 09 0b 00 7a 1f 00 00 6c 0a
11 1a 19 44 30 4c da ae 9b 20 cc 01 a2 51 13 00 13 70 14 95 bb dc 4f 51 58 d6 11 b8 49 0a 03 00 6a 2f 00 00 e5 0a
11 1a 19 44 30 4c da ae 9b 20 cc 01 a2 01 13 00 13 70 5f 07 d4 db e9 cd e6 61 6c b0 50 0b 0b 00 57 60 00 00 12 0c
11 1a 19 44 30 4c da ae 9b 20 cc 01 a2 11 13 00 13 70 48 28 9d 70 c8 1e 3f ba 75 b2 b5 09 0a 00 de 71 00 00 0e 0b
x19D0L
11 1a 19 44 30 4c 07 f3 d7 20 98 01 a2 31 1c 00 13 9f 8d ba 81 19 d6 e2 a3 ad f0 53 30 0b 0e 00 a2 0c 00 00 ec 0b
11 1a 19 44 30 4c 07 f3 d7 20 98 01 a2 41 1c 00 13 9f e8 76 7d 48 33 d9 ae ac bf 5e ba 0a 0d 00 55 1d 00 00 39 0b
11 1a 19 44 30 4c 07 f3 d7 20 98 01 a2 51 1c 00 13 9f ff 59 34 e3 12 0a 77 77 a6 5c 9f 09 0d 00 e2 2c 00 00 ba 0a
11 1a 19 44 30 4c 07 f3 d7 20 98 01 a2 61 1c 00 13 9f c6 28 ee 1e 70 7e 1d 1a 8d 5b 3b 09 10 00 df 3d 00 00 67 0a
xdaq4312078qxaeq4312078qx9b q4312078qxccq4312078qx01q4312078qxa2qq4312078qx13q4312078qx00q4312078qx13p:q4312078qxcb(q4312078qx8aq4312078qx0cq4312078qxf6q4312078qxeb`#q4312078qxbdv


然后我使用BluetoothSerial一个phonegap插件通过蓝牙进行串行通信,适用于android的小型测试应用程序,并且通过发送相同的字符(0x44),我收到了一串奇怪的字符:

相信信息可以被编码或加密。

阅读同一家公司不同水表的PDF,我发送了以下内容(十六进制):

q4312078q

我得到的是十六进制的以下内容:

q4312078q

只需阅读PDF的附录2和M-BUS PDF I无法从此回应中获得任何意义。我知道,当对此设备使用现有的android应用程序时,我会获得有关其找到的设备的以下信息,例如:


C10SA202842
当前:500 m3
已存储:500 m3
日期:15/11/15/15 20:14

我还得到了以下响应:

q4312078q

对于其他水测量单位,它会检测到。 android应用程序在同一日期和(或多或少)时间以可读格式得到了以下结果: m3
日期:15/11/23/15 18:32

如果收到的确实是我所期望的,我如何找到一种以可读格式解码该信息的正确方法?

评论

我认为这里有一个反向工程SE,那里的人们可能更熟悉解码协议,而实际上与EE没有多大关系

不要期望得到ASCII字符。

将4个字节的一组疯狂地按不同字节顺序转换为浮点数,以查看是否一个可能的测量值。

您的数据表通向www.hydrometer.com,通向德国Diehl公司,该公司的产品下载链接指向此pdf,该pdf详细描述了(不同的)比重计的通信。引言中说:“ M-Bus(仪表总线)是用于远程读取仪表的欧洲标准。它可用于所有类型的消耗仪表以及各种传感器和执行器。”因此,您的仪表很有可能会使用仪表一样。

@GuntramBlohm阅读PDF(第4页),我已发送以下内容(十六进制):68 04 04 68 73 FF 50 00 20 16.得到的内容如下:\ 0x16 \ 0x18 \ 0x07 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x00 \ 0x07 \ 0x00。阅读附录1和2,我无法从响应中获得任何意义。我知道使用Android应用程序时会得到以下信息:当前:500 m3,已存储500 m3,日期:19/11/15/15 12:09,名称:C10SA202842。