С Python вы выглядите так, будто открываете любой старый канал RFCOMM и надеетесь, что он волшебным образом примет команды AT и отправит сообщение.
Я думаю (и могу ошибаться), что вам нужно подключиться к определенному профилю / служебному каналу, и я думаю, что для SMS это профиль доступа к сообщениям (MAP), который еще не стандартизирован, поэтому поиск телефона с это, ну, я не скажу невозможное, но очень, очень маловероятно. В противном случае некоторые телефоны будут поддерживать AT-команды для обмена сообщениями, но это выходит за рамки спецификации, например, Я уверен, что телефоны Sony-Ericson будут поддерживать его через профиль удаленного доступа к сети (DUN).
Итак, в первую очередь, поддерживает ли ваше мобильное устройство некоторые специальные AT-команды для SMS, и если да, то в определенном профиле или в специальном проприетарном? Далее вам необходимо подключиться к этому профилю.
Вы можете просматривать поддерживаемые сервисы и т. Д., Используя следующий Python (проверяет все окружающие устройства BT) ...
import bluetooth
def whats_nearby():
name_by_addr = {}
nearby = bluetooth.discover_devices(flush_cache=True)
for bd_addr in nearby:
name = bluetooth.lookup_name( bd_addr, 5)
print bd_addr, name
name_by_addr[bd_addr] = name
return name_by_addr
def what_services( addr, name ):
print " %s - %s" % ( addr, name )
for services in bluetooth.find_service(address = addr):
print "\t Name: %s" % (services["name"])
print "\t Description: %s" % (services["description"])
print "\t Protocol: %s" % (services["protocol"])
print "\t Provider: %s" % (services["provider"])
print "\t Port: %s" % (services["port"])
print "\t service-classes %s" % (services["service-classes"])
print "\t profiles %s" % (services["profiles"])
print "\t Service id: %s" % (services["service-id"])
print ""
if __name__ == "__main__":
name_by_addr = whats_nearby()
for addr in name_by_addr.keys():
what_services(addr, name_by_addr[addr])
Как только вы найдете правильный сервис / профиль, вашей следующей проблемой будет согласование безопасности (пин-код для сопряжения), что я еще не выяснил, как это сделать!
См. www.bluetooth.org для всех ваших потребностей Bluetooth!