- Bluetooth İletişimi için Gerekli Paketleri Yükleme:
- Bluetooth üzerinden Raspberry Pi ile Cihazları Eşleştirme:
- Devre şeması:
- Android Uygulaması BlueTerm ile AC Cihazını Kontrol Etme:
- Programlama Açıklaması:
Raspberry Pi, internet üzerinden kesintisiz kablosuz iletişim yeteneği nedeniyle IoT projeleri için çok popülerdir. Raspberry Pi 3 dahili Wi-Fi ve Bluetooth'a sahiptir ve Bluetooth çok popüler bir kablosuz iletişim Protokolüdür. Bu yüzden bugün Ev Aletlerini Raspberry Pi 3 ve Bluetooth kullanarak Akıllı Telefonla Kontrol edeceğiz.
Burada dahili Bluetooth'a sahip Raspberry Pi 3 kullanıyoruz, bu nedenle herhangi bir harici USB Bluetooth dongle kullanmamıza gerek yok. Bunun dışında bu Kablosuz Ev Otomasyon Projesi için sadece Röle Modüllerine ihtiyacımız var. Burada kablosuz iletişim için RFCOMM Bluetooth protokolünü kullanıyoruz.
Python'da Bluetooth için programlama, soket programlama modelini takip eder ve Bluetooth cihazları arasındaki iletişim RFCOMM soketi aracılığıyla yapılır. RFCOMM (Radyo Frekansı İletişimi), benzetilmiş RS-232 seri bağlantı noktaları sağlayan ve Seri Bağlantı Noktası Emülasyonu olarak da adlandırılan bir Bluetooth Protokolüdür. Bluetooth seri bağlantı noktası profili bu protokole dayanmaktadır. RFCOMM, geniş desteği ve halka açık API'si nedeniyle Bluetooth uygulamalarında çok popülerdir. L2CAP protokolüne bağlıdır.
Raspberry Pi 2'niz varsa, harici Bluetooth dongle veya Bluetooth modülü HC-06 kullanmanız gerekir. Bu harici Bluetooth cihazlarını kullanmak için önceki projelerimize bakın: Bluetooth üzerinden Android Uygulamasını kullanarak Raspberry Pi GPIO'yu ve Raspberry Pi kullanarak Ses kontrollü LED'leri kontrol etme. Ayrıca, bazı iyi IoT Projeleri ile birlikte önceki Raspberry Pi Projelerimizi de kontrol edin.
Bluetooth İletişimi için Gerekli Paketleri Yükleme:
Başlamadan önce, Raspberry Pi'de Bluetooth iletişimini kurmak için bazı yazılımlar yüklememiz gerekiyor. Raspberry Pi ile birlikte Raspbian Jessie yüklü bir hafıza kartına sahip olmalısınız. Raspbian OS'yi yüklemek ve Raspberry Pi'yi kullanmaya başlamak için bu makaleye bakın. Bu yüzden şimdi aşağıdaki komutları kullanarak Raspbian'ı güncellememiz gerekiyor:
sudo apt-get update sudo apt-get yükseltme
O zaman Bluetooth ile ilgili birkaç paket kurmamız gerekiyor:
sudo apt-get bluetooth blueman bluez yükle
Ardından Raspberry Pi'yi yeniden başlatın:
sudo yeniden başlatma
BlueZ açık kaynaklı bir proje ve resmi Linux Bluetooth protokol yığınıdır. Tüm temel Bluetooth protokollerini destekler ve artık resmi Linux Kernel'in bir parçası haline gelir.
Blueman, Bluetooth cihazlarını yönetmek ve kontrol etmek için Masaüstü arayüzü sağlar.
Son olarak, Python dilini kullanarak RFCOMM aracılığıyla veri gönderip alabilmemiz için Bluetooth iletişimi için python Kitaplığına ihtiyacımız var:
sudo apt-get install python-bluetooth
Ayrıca Raspberry Pi için GPIO destek kitaplıklarını yükleyin:
sudo apt-get install python-rpi.gpio
Artık Raspberry Pi'de Bluetooth iletişimi için gerekli paketlerin kurulumunu tamamladık.
Bluetooth üzerinden Raspberry Pi ile Cihazları Eşleştirme:
Raspberry Pi ile cep telefonu gibi Bluetooth Cihazlarını eşleştirmek çok kolaydır. Burada Android Smart telefonumuzu Raspberry Pi ile eşleştirdik. Bluetooth cihazlarımızı yönetmek için "bluetoothctl" adlı bir komut satırı yardımcı programı sağlayan BlueZ'yi Pi'ye daha önce kurmuştuk.
Şimdi bluetoothctl yardımcı programını aşağıdaki komutla açın:
sudo bluetoothctl
'Help' yazarak bluetoothctl yardımcı programının tüm komutlarını kontrol edebilirsiniz. Şimdilik aşağıdaki komutları verilen sırayla girmemiz gerekiyor:
# power on # ajan açık # keşfedilebilir # eşleştirilebilir # tarama açık
Son "tara" komutundan sonra, listede Bluetooth cihazınızı (Cep telefonu) göreceksiniz. Cep telefonunuzda Bluetooth'un açık olduğundan ve yakındaki cihazlar tarafından görülebilir olduğundan emin olun. Ardından cihazınızın MAC adresini kopyalayın ve verilen komutu kullanarak eşleştirin:
çift
Ardından, Terminal konsolunuzda Parola veya Pin girmeniz istenir, ardından parolayı oraya yazın ve enter tuşuna basın. Ardından, istendiğinde cep telefonunuza aynı parolayı yazın ve artık Raspberry Pi ile başarıyla eşleştirildiniz. Önceki GPIO kontrol Eğitiminde verilen Videoda tüm bu süreci de açıkladık. İşte doğrudan YouTube bağlantısı.
Daha önce de belirtildiği gibi, Cep telefonunu eşleştirmek için Masaüstü arayüzünü de kullanabilirsiniz. Blueman'ı kurduktan sonra, Raspberry Pi masaüstünüzün sağ tarafında aşağıda gösterildiği gibi eşleştirmeyi kolayca yapabileceğiniz bir Bluetooth simgesi göreceksiniz.
Devre şeması:
Bu Raspberry Pi tabanlı Bluetooth Kontrollü Ev Otomasyonu için devre şeması çok basittir, sadece Röle Modülünün giriş sinyali Pinini Raspberry Pi'nin PIN 40'ına (GPIO 21) ve diğer iki Pinini (röle modülünün Vcc ve GND'si) Pin 2 ve 6'ya bağladık. Raspberry Pi 3. Ardından, devre şemasında gösterildiği gibi Röleye bir AC CFL ampulü bağladık:
Relay'de yeniyseniz ve Relay ve bunun AC cihazı ile bağlantıları hakkında daha fazla bilgi edinmek istiyorsanız, bu Makaleye bakın.
Android Uygulaması BlueTerm ile AC Cihazını Kontrol Etme:
Şimdi Cep Telefonunu eşleştirdikten sonra , Raspberry Pi'nin GPIO pinlerini kontrol edebilmemiz için Bluetooth Seri Adaptör kullanarak Raspberry Pi ile iletişim kurmak için bir Android Uygulaması yüklememiz gerekiyor. Daha önce de belirtildiği gibi, RFCOMM / SPP protokolü Bluetooth üzerinden seri iletişimi taklit eder, bu yüzden burada bu protokolü destekleyen BlueTerm Uygulamasını yükledik.
Ayrıca, RFCOMM soketi aracılığıyla iletişimi destekleyen diğer herhangi bir Bluetooth Terminal Uygulamasını da kullanabilirsiniz.
Şimdi BlueTerm Uygulamasını indirip kurduktan sonra , aşağıda verilen Python Programını terminalden çalıştırın ve eşleştirilmiş raspberrypi cihazını aynı anda BlueTerm Uygulamasından bağlayın.
Başarılı bağlantıdan sonra, aşağıda gösterildiği gibi Uygulamanın sağ üst köşesinde bağlandı: raspberrypi göreceksiniz:
Şimdi, sırasıyla GPIO pinini YÜKSEK ve DÜŞÜK yapmak için BlueTerm uygulamasından '1' veya '0' girebilirsiniz; bu, sırayla bu pime bağlı Röle modülünü tetikler ve bu da Röleye bağlı AC ampulünü daha da kontrol eder. Programdan çıkmak için 'q' tuşuna basın. Sen olabilir Google Sesle Yazma Klavye kullanmak için Ses kullanarak GPIO kontrol etmek. Tam Demo kontrol video sonunda verilen.
Bluetooth üzerinden bir Android Uygulaması kullanarak AC Cihazını kablosuz olarak bu şekilde kontrol edebilirsiniz. Ayrıca Bluetooth'un Arduino ile nasıl kullanılacağını da kontrol edin.
Programlama Açıklaması:
Android Uygulaması ile Raspberry Pi GPIO'yu Kontrol Etmek İçin Python Programı çok basit ve açıklayıcıdır. Sadece Bluetooth RFCOMM iletişimiyle ilgili kod hakkında biraz bilgi edinmemiz gerekiyor. Öncelikle Bluetooth'u Python diliyle kontrol etmemizi sağlayan Bluetooth soket kitaplığını içe aktarmamız gerekiyor; kütüphaneyi bir önceki bölümde aynı şekilde kurduk.
Bluetooth'u içe aktar
Bluetooth iletişiminden sorumlu kod aşağıdadır:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, adres = server_socket.accept () print "Bağlantı kabul edildi", adres 1: data = client_socket.recv (1024)
Burada onları satır satır anlayabiliriz:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Bluetooth RFCOMM iletişimi için soket oluşturma.
server_socket.bind (("", bağlantı noktası): - Sunucu, ana bilgisayar üzerindeki komut dosyasını bağlantı noktasına '' bağlar.
server_socket.listen (1) : Sunucu, her seferinde bir bağlantıyı kabul etmeyi dinler.
client_socket, address = server_socket.accept () : Sunucu, istemcinin bağlantı isteğini kabul eder ve mac adresini değişken adresine atar , client_socket , istemcinin soketidir
data = client_socket.recv (1024): Client_socket istemci soketi aracılığıyla veri alır ve onu değişken verilere atar. Bir seferde maksimum 1024 karakter alınabilir.
Son olarak, tüm programlamadan sonra, aşağıdaki kodu kullanarak istemci ve sunucu bağlantısını kapatın:
client_socket.close () server_socket.close ()
Diğer tüm kodlar kolay ve açıklayıcıdır. Aşağıdaki kodun tamamını kontrol edin. Bu projeyi değiştirmeye çalışın ve diğer birçok şeyi kablosuz olarak, Robot arabayı android telefon üzerinden kontrol etmek için kullanabilir veya ışıkları kontrol etmek için sesinizi kullanabilirsiniz.
Ayrıca, farklı teknolojileri ve Mikrodenetleyicileri kullanan birçok Ev Otomasyonu Projemizi de kontrol edin: