Я пытаюсь отправить AT-команды с моего компьютера (ubuntu 13.04) на свой телефон (Android 5.1) через Bluetooth. Я хочу прочитать SMS.Отправить AT-команду через bluetooth с помощью python
я получить МАС-адрес моего телефона с:
hcitool scan
Я просмотреть все доступные сервисы на устройстве с:
sdptool browse XX:XX:XX:XX:XX:XX
Я получаю хороший RFCOMM канал для SMS/услуги MMS и теперь я пытаюсь отправить команду AT.
Я попытался с pySerial со связанным и подсоединенного RFCOMM на мой телефон, но нет ответа:
import serial
phone = serial.Serial('/dev/rfcomm0', 115200, timeout=2)
phone.write(b'AT\r')
data = phone.readall()
print data
Я попытался один и тот же код на последовательный порт USB и у меня есть ответ:
import serial
phone = serial.Serial('/dev/ttyACM0', 115200, timeout=2)
phone.write(b'AT\r')
data = phone.readall()
print data
# *EMRDY: 1
# AT
# OK
Я попытался с pyBluez, но та же проблема, нет ответа моей команды AT:
import bluetooth
client_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
client_sock.connect(('XX:XX:XX:XX:XX:XX', 4))
client_sock.send(b'AT\r')
data = client_sock.recv(1024)
print "received [%s]" % data
И я finall у попыталось с родными питоном сокетами, но нет ответа:
import socket
s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
s.connect(('XX:XX:XX:XX:XX:XX',4))
s.send(b'AT\r')
data = s.recv(1024)
s.close()
print('Received', repr(data))
Примечания: телефон отображает окно подсказки, чтобы признать, что мой компьютер получает доступ к моему смс. Конечно, я согласился.
Может ли кто-нибудь сказать мне, что не так, и что я могу попробовать?
Просто идея отладки: возможно, отправив AT-команду сразу после сбоя соединения, попробуйте добавить задержку между и посмотрите, не имеет значения. – hlovdal