gpt4 book ai didi

c# - 与蓝牙 OBDII 加密狗通信(我认为它是 ELM327)

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:08 25 4
gpt4 key购买 nike

我的汽车有一个蓝牙 OBDII 加密狗(品牌是 Veepeak),我正在尝试编写一个可以与之通信的 Windows 应用程序。到目前为止,我似乎能够从我的笔记本电脑连接到设备、发送命令并接收某种响应,但我收到的响应不是我所期望的。我正在使用 32feet 通信库来处理蓝牙内容。

这是我用来连接的代码以及我用来发送消息的函数:

BluetoothClient client;
Stream stream;
client = new BluetoothClient();
Guid uuid = new Guid("00001101-0000-1000-8000-00805f9b34fb");
client.BeginConnect(SelectedDevice.DeviceAddress, uuid, bluetoothClientConnectCallback, client);

private void bluetoothClientConnectCallback(IAsyncResult result)
{
client = (BluetoothClient)result.AsyncState;
client.EndConnect(result);
clientConnected = true;
stream = client.GetStream();
UIWriteLine("Client connected");
}

private string sendMessage(string message)
{
byte[] encodedMessage = Encoding.ASCII.GetBytes(message);
stream.Write(encodedMessage, 0, encodedMessage.Length);
Thread.Sleep(100);
int count = 0;
byte[] buffer = new byte[1024];
string retVal = string.Empty;
count = stream.Read(buffer, 0, buffer.Length);
retVal += Encoding.ASCII.GetString(buffer, 0, count);
return retVal.Replace("\n", "");
}

private string getValue(string pid)
{
byte[] encodedMessage = Encoding.ASCII.GetBytes(pid + "\r");
stream.Write(encodedMessage, 0, encodedMessage.Length);
Thread.Sleep(100);
bool cont = true;
int count = 0;
byte[] buffer = new byte[1024];
string retVal = string.Empty;
while (cont)
{
count = stream.Read(buffer, 0, buffer.Length);
retVal += Encoding.ASCII.GetString(buffer, 0, count);
if (retVal.Contains(">"))
{
cont = false;
}
}
return retVal.Replace("\n", "");
}

我使用 sendMessage 方法发送 AT 命令,使用 getValue 方法获取特定的 PID(这些方法是从我找到的 OBDII 库中借用代码的 here )。

当我发送 AT 命令时,我似乎只收到我发送的任何内容的回声,而当我发送 PID 时,我收到一个单一问号的响应,据我所知,这意味着该命令无效。

我的加密狗可能没有 ELM327 吗?我的蓝牙通信有问题还是我的 UUID 有误?谢谢。

最佳答案

我也有一辆 Veepeak。它在相关评论中受到强烈推荐,并且与可用的试用应用程序和我的 Android 手机配合得很好。然而,我在自己的 Python 应用程序中遇到初始化问题。

在我在 raspi 上开发的基于 python 的应用程序上,我必须打开一个“虚拟”串行端口,该端口通过它的 mac 地址映射到先前配对的设备。 MAC 地址的配对和记录是在操作系统级别使用通用蓝牙工具完成的。

关于c# - 与蓝牙 OBDII 加密狗通信(我认为它是 ELM327),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38669163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com