从Python看来,您正在打开任何旧的RFCOMM通道,希望它能神奇地采用AT命令并进行消息传递.
我认为(可能是错误的),您需要连接到特定的配置文件/服务通道,并且我认为对于SMS来说,它是消息传递配置文件(MAP),该文件尚未标准化,因此要查找装有它的电话,好吧,我不会说不可能,但是非常非常不可能.否则,某些手机将支持AT指令进行消息传递,但这超出了规范,例如我拥有通过拨号网络配置文件(DUN)支持索尼爱立信电话的权限.
因此,首先,您的移动设备是否支持某些SMS规范AT命令,如果是,则支持某个配置文件或临时专有文件?接下来,您需要连接到该配置文件.
您可以使用以下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 " Name: %s" % (services["name"])
print " Description: %s"