从昨天开始,我就一直在研究这个话题。我想开发有关obd-ii扫描仪的android应用程序。 Github或Google Codes上有许多开源项目。我必须找到没有汽车或任何odb-ii芯片的obd-ii模拟器来开发此应用程序。
我发现OBDSim可以创建示例数据并回答应用程序发送的请求。我遇到了许多问题,并通过阅读许多文档和博客文章解决了这些问题。但是我有最后一个问题,我需要您的帮助。
新版本的OBDsim现在使用com0com支持Windows进行蓝牙连接。当我安装com0com时,我遇到了签名问题,并且我解决了此问题以禁用相关的Windows功能。我还将蓝牙的传入端口设置为COM4。到目前为止一切都很好。之后,我想使用com0com创建虚拟端口。安装时已创建一对。它们是CNCA0和CNCB0。我只想将此对的第二个端口从CNCB0更改为COM4。但是Windows给出了有关COM4已经使用的错误。我仍然完成并分配COM4而不是CNCB0。之后,我运行obdsim.exe,它开始创建这样的日志;
SimPort name: CNCA0
Successfully initialised obdsim, entering main loop
10.046624 seconds. 0 samples, 0 queries. 0.00 s/s, 0.00 q/s
10.049810 seconds. 0 samples, 0 queries. 0.00 s/s, 0.00 q/s
10.049377 seconds. 0 samples, 0 queries. 0.00 s/s, 0.00 q/s
在这段时间内,我开始使用android应用程序,然后按开始实时数据按钮。我在android手机上给出关于蓝牙连接错误的错误-读取失败,套接字可能关闭或超时。这是一种情况。
在第二种情况下,我删除了com0com中断,并将OBDsim直接连接到COM4。然后我再次运行obdsim.exe。它还具有与之前方案相同的输出。我启动t之后,android应用程序的输出将发生如下变化。
Echo disabled
Echo disabled
Echo disabled
10.066543 seconds. 0 samples, 6 queries. 0.00 s/s, 0.60 q/s
Echo disabled
Echo disabled
Echo disabled
Echo disabled
Echo disabled
10.030909 seconds. 0 samples, 5 queries. 0.00 s/s, 0.50 q/s
Echo disabled
Echo disabled
Echo disabled
Echo disabled
Echo disabled
Echo disabled
10.034040 seconds. 0 samples, 6 queries. 0.00 s/s, 0.60 q/s
Echo disabled
Echo disabled
Echo disabled
而且我看不到我的应用程序的任何更改。
如果您知道问题出在哪里,或者我弄错了或者忘记了什么,那么我在等待或您的帮助。
谢谢。
最佳答案
好。我解决了有关此主题的问题。
首先,在Windows上与OBDSim通信不需要com0com。
我可以成功连接到我的应用程序和OBDSim,并且可以在Android手机屏幕上看到值。
我的问题是关于Android上的OBD Reader程序的。我不了解这种情况的原因,但是OBDSim无法连接到所有OBD读取器。我建议您在尝试连接OBDSim时使用lite android系统。而且您应该谨慎处理顺序。
首先,您应该将计算机和手机配对。 (有时有必要删除配对并再次配对。)
之后,您应该运行> obdsim.exe -w COMx(x是您的蓝牙收入端口名称。您可以在PC的蓝牙设置-> Com端口上设置此端口)
最后,您应该打开应用程序并尝试通过蓝牙连接计算机。
这个解决方案对我有用。您可以尝试其他应用程序。
谢谢,
萨利赫先生
关于android - 在Windows 8.1上通过蓝牙与Android设备进行OBDSim连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26200772/