安卓设备连接Cohda Wireless MK5 OBU并通信

在上一篇文章Cohda Wireless MK5 RSU&OBU 入门指南中,我们已经可以通过PC与OBU或RSU进行通信。

而现在我们需要使用安卓设备中丰富的传感器,我们必须寻求一种方式使得安卓设备可以通过有线连接与OBU进行通信,当然,这里的有线连接是特指通过USB数据线进行连接通信。幸运地是,官方有一篇相关文档,本文根据官方文档并进行实践,在此记录如下。

我们需要一条OTG线,Micro USB 转 USB A 的转接线,如果有同学不懂,可以看下图。

除了准备一条OTG线外,我们还需要对OBU以及Android设备进行一些简单设置。

通过Xshell连接OBU,然后输入命令  sudo fw_setenv usb_mode将OBU的USB模式设置为android。可通过命令  sudo fw_printenv查看OBU所有的环境变量,如下图所示,倒数第二行显示为“usb_mode=android”,说明OBU已经设置成功。

之后,就可以将安卓设备与OBU通过OTG线进行连接,并在安卓设备中系统设置里开启USB共享网络。

之后,回到连接到OBU的终端,输入以下命令,可以看到OBU中已经有了usb0这个网卡。如果你的也是一样,那么恭喜你,OBU已经可以和安卓设备进行通信了。

[email protected]:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 02:00:5a:0a:32:38
          inet addr:192.168.42.101  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::5aff:fe0a:3238/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:544 (544.0 B)  TX bytes:732 (732.0 B)

经过了之前的步骤,安卓设备已经在物理层面连接起来,但是如果通过安卓设备来处理OBU接收到的BSM数据报文,则需要重新执行OBU中的Bsm-shell程序。其中,192.168.42.129为安卓设备的IP地址,这样,就大功告成了。

D_LEVEL=4 ./bsm-shell -m 1 -c 178 -b 172 -n 172 -i 1 –f/dev/null –u 192.168.42.129 -y 4040 -z 4040

发表评论