BİLGİ SAYAMIYORUM beta

Python'da bluetooth bağlantısı nasıl kurulur?

0

Python'da bluetooth programlama socket programlama modeli ile yapılır. Aşağıdaki örnekte RFCOMM socketi kullanılarak bağlantı kurmak, veri göndermek ve bağlantıyı sonlandırmak amacı ile yazılmış sunucu ve kullanıcı tarafında ayrı iki kod örneği bulunmaktadır.

Sunucu tarafındaki socket ilk oluşturulduğu zaman bağlantı kurmamaktadır ancak kullanıcı tarafı bağlantı isteğinde bulunduğunda isteği kabul ederek bağlantıyı sağlamaktadır. Bağlantı kurulduktan sonra da sonlandırılıncaya (veya bağlantıda bir problem olması durumuna kadar) veri gönderilebilmekte ve okunabilmektedir.

RFCOMM ' BluetoothSocket' gelecek bağlantı istekleri için kullanılmakta ve isletim sistemi kaynaklarına 'bind' metodu ile eklenmelidir. bind metodu yerel Bluetooth adaptörünün adresini ve bir portu dinleyecek parametreler alır. 

RFCOMM Server (Sunucu)

import bluetooth // bluetooth paketi çağrılıyor (bu paket yüklü değilse yüklemeniz gerekebilir aksi durumda kodu çalıştırdığınızda paket bulunamadığı için hata verecektir.)

server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )  // RFCOMM baglantisi kuruluyor.

port = 666  // dinlenilecek port adresi
server_sock.bind(("",port))   // bluetooth adres ve portu ekleniyor.
server_sock.listen(1)  // gelecek bağlantılar icin dinleniyor.

client_sock,address = server_sock.accept()  // gelen bağlantı kabul ediliyor. 
print "Kabul edilen baglanti adresi: ",address  // bağlantı isteği gönderen tarafın adresi yazdırılıyor.

data = client_sock.recv(1024) // gönderilen veri alınıyor.
print "received [%s]" % data // gönderilen veri yazdırılıyor.

client_sock.close()  // istemci tarafın bağlantısı sonlandırılıyor.
server_sock.close() // sunucu tarafın bağlantısı sonlandırılıyor.

RFCOMM Client (Kullanıcı)

import bluetooth

bd_addr = "A1:B2:C3:00:06:66"  // bağlanılacak cihazın bluetooth adresi tanımlanıyor.
port = 666 // bağlanılacak cihazın portu tanımlanıyor.

sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM ) // RFCOMM baglantisi kuruluyor.
sock.connect((bd_addr, port)) // bluetooth bağlantısı kuruluyor.
print "Bağlantı:", sock  // bağlantı durumu yazdırılıyor.

sock.send('Merhaba Dünya') // bağlantı kurulan cihaza veri gönderiliyor.
sock.close() // bağlantı sonlandırılıyor.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER