gpt4 book ai didi

android - SIM800H 上的蓝牙 SPP 配置文件

转载 作者:行者123 更新时间:2023-11-30 00:10:14 26 4
gpt4 key购买 nike

我在尝试在我的项目中使用蓝牙时遇到问题。在以前的版本中,我使用 HC-05 蓝牙模块,它在连接任何设备后立即为我提供一个简单的串行连接。现在项目发展了,我们选择使用 SIM800H,因为它为我们提供了 GSM+Bluetooth。

当我连接任何安卓设备时,它会给我一些配置文件,但不会给我 SPP。我可以正常配对,但在使用任何 SPP 服务器应用程序 (https://stackoverflow.com/a/4037619/2637661) 时,我永远无法从我的设备发送或获取数据。如果我从 Android 应用程序开始连接,它说它正在连接,而 SIM800 给我 URC,我回应:

+BTCONNECTING: "34:c7:31:aa:37:5b","SPP"
AT+BTACPT=1
OK
+BTCONNECT: 1,"Android",34:c7:31:aa:37:5b,"SPP"

但它停留在服务器模式,我无法使用命令 AT+BTSPPSEND 或 AT+BTSPPGET,如文档所述。

另一方面,如果我像文档所说的那样从我的设备开始连接:

AT+BTCONNECT=1,4 // Device is 1 and SPP profile is 4
OK
AT+BTSPPSEND
>I type anything here + ctrl+z
SEND FAIL

在 Android 端什么也得不到。

此外,在这两种情况下,连接都会在大约 30 秒后断开,除非我关闭 SIM800H 并重新打开,否则我无法重新建立连接。

使用APP模式也没有成功(连接成功后立即发送字符串“SIMCOMSPPFORAPP”进行透明通信)。

SIM800H固件版本为

AT+CGMR
Revision:1309B07SIM800H32_BT

我尝试使用以下应用

Bluetooth Terminal

Bluetooth spp pro

BlueSPP

GSM 端工作完美,我每次尝试都可以发送/接收 TCP 消息。

有没有人有使用这个模块的经验?感谢阅读!

更新:

我正在使用一个简单的草图来与模块的序列号对话,不知道它是否相关,但就在这里。

#define SIM800_POWER 23

void setup() {
Serial.begin(9600);
Serial1.begin(19200);
Serial.print("Setting all up");
pinMode(SIM800_POWER, OUTPUT);
Serial.print(".");
delay(500);
digitalWrite(SIM800_POWER, HIGH);
Serial.print(".");
Serial.println("OK");
}

void loop() {
if(Serial1.available()){
Serial.write(Serial1.read());
}
if(Serial.available()){
Serial1.write(Serial.read());
}
}

在尝试了 Andrii 的 answer 之后我得到了什么:

Setting all up..OK
AT
OK
AT
OK
AT
OK
AT+BTPOWER=0
OK
AT+BTPOWER=1
OK
AT+BTCONNECT=1,4
OK
+BTCONNECT: 1,"Will",d4:87:d8:77:37:0b,"SPP"
AT+BTSTATUS?
+BTSTATUS: 5
P: 1,"Will",d4:87:d8:77:37:0b
C: 1,"Will",d4:87:d8:77:37:0b,"SPP"

OK
AT+BTSPPSEND
> SIMCOMSPPFORAPP
SEND FAIL

最佳答案

似乎AT+BTSPPSEND没有任何参数仅适用于从客户端(您的 SIM800H)向服务器(其他 SIM800,而不是您的 Android 设备,除非您的 Android 设备实现 AT 指令支持)发送 AT 指令。对于数据发送,您应该使用 AT+BTSPPSEND在收到>之后符号 发送SIMCOMSPPFORAPP关键字,然后在收到 SEND OK 后响应发送命令 AT+BTSPPSEND=<LENGTH_OF_YOUR_DATA>然后,在收到 > 之后符号,发送您的数据直到 Ctrl+Z代码例如:

AT+BTSPPSEND
> SIMCOMSPPFORAPP
SEND OK

AT+BTSPPSEND=5
> HELLO
SEND OK

^Z

哪里HELLO - 是你的数据,5AT+BTSPPSEND=5HELLO 的长度字符串。详见SIM800H_BT_Application_Note .

更新bold 小而重要的答案部分选择(感谢 hlovdal )

关于android - SIM800H 上的蓝牙 SPP 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48265982/

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