日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python调用电脑蓝牙_python-从蓝牙设备获取响应

發布時間:2023/12/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python调用电脑蓝牙_python-从蓝牙设备获取响应 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在嘗試編寫一個簡單的模塊來啟用發送SMS的功能.我使用藍牙通過以下示例連接到手機:

文件:bt-sendsms.py

import bluetooth

target = '00:32:AC:32:36:E8' # Mobile address

print "Trying to send SMS on %s" % target

BTSocket = bluetooth.BluetoothSocket(bluetooth.RFCOMM)

BTSocket.connect((target, 2)) # BT Address

BTSocket.send('ATZ\r')

BTSocket.send('AT+CMGF=1\r')

#sockfd.send('AT+CSCA="+972547716507"\r') # This line changes the SMSC address - do not modify unless required

BTSocket.send('AT+CMGS="+972547877763"\r') # TO Phone Number

BTSocket.send('This is a test message - port 2.\n')

BTSocket.send(chr(26)) # CTRL+Z

print "SMS sent"

sockfd.close()

print "Closed"

我的問題是我無法驗證或獲取SMS發送或任何套接字操作的錯誤代碼.

任何推薦給正確方向的人將不勝感激

解決方法:

從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 "\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])

找到正確的服務/配置文件后,您的下一個問題將是協商安全性(用于配對的PIN碼),我還沒有弄清楚該怎么做!

標簽:mobile-phones,sms,bluetooth,python

總結

以上是生活随笔為你收集整理的python调用电脑蓝牙_python-从蓝牙设备获取响应的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。