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.