Isi kandungan:
Video: TextPlayBulb: PlayBulb Diaktifkan REST Menggunakan Raspberry Pi 3, BLE dan Telegram: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Instruksional ini menunjukkan cara menyambung ke lampu LED Bluetooth PlayBulb Color menggunakan Python, perpustakaan Raspberry Pi 3 dan Bluetooth dan untuk memperluas kawalan melalui REST API untuk senario IoT, dan sebagai pantulan, projek ini juga menunjukkan cara memperluas REST API untuk mengawal PlayBulb anda ke atas klien teks IM, mis Telegram, seperti bercakap dengan rumah automatik anda melalui teks.
Projek ini dibina berdasarkan 3 modul:
- pyBulbDriver: Sambungkan ke PlayBulb melalui BLE gatttool dan python.
- pyBulbServer: Menggunakan pyBulbDriver untuk mendedahkan kawalan main bola melalui REST API.
- pyBulbMessenger: Menyambung ke bot telegram untuk menghantar dan menerima arahan melalui klien telegram yang dipasang di mana-mana telefon pintar, dan menggunakan REST API untuk mengeluarkan perintah ke PlayBulb.
Anda boleh mengklon projek melalui git repository:
Matlamat Projek:
Untuk membuat alat asas untuk berinteraksi dengan mentol anda melalui kaedah yang berbeza seperti menghantar teks buat masa ini, senario masa depan mungkin melibatkan arahan ucapan, memberi isyarat kepada lampu … dll.
Sumber lain yang digunakan untuk membuat arahan ini:
- Protokol Bluetooth Warna PlayBulb:
- Menyambungkan Python ke Playbulb melalui Bluetooth:
- Menyiapkan bot telegram:
Sumbangan
pyBulbDriver diperluas agar lebih fleksibel dan parameter untuk kemudahan peluasan masa depan, membina senario untuk membolehkan anda bermain-main dengan menghantar teks lampu anda. Antara muka yang mudah untuk menguji dan bermain-main.
Batasan
Pemacu ditulis untuk PlayBulb Color, untuk jenis PlayBulb lain seperti Asli atau lilin, kod bluetooth di pyBulbDriver perlu diubah mengikut protokol yang disebutkan di atas.
Anda perlu mendaftarkan akaun telegram, dan mendapatkan kunci api, yang anda tambahkan di pyBulbMessenger.py, ikuti pengaturan bot telegram di sumber lain.
Langkah 1: Menyiapkan Projek
1. Mendapatkan kunci API anda dari Telegram
> Ikuti arahan semasa untuk mendapatkan kunci API anda
> Tambahkan kunci api anda ke pemboleh ubah api di pyBulbMessenger.py
2. Menetapkan Nama PlayBulb anda di pyBulbDriver
> Agar gatttool dapat mencari peranti tulis, tetapkan nama peranti anda untuk diimbas menggunakan pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Contohnya boleh didapati di pyBulbServer.py untuk menyediakan Pelayan REST anda
3. Untuk memulakan projek
> Anda perlu memulakan pyBulbServer.py terlebih dahulu, kemudian diikuti oleh pyBulbMessenger.py untuk menghantar teks. Anda boleh menguji arahan pyBulbServer menggunakan CURL.
4. Bahan yang Diperlukan:
> Raspberry Pi 3 dan PlayBulb Color atau PlayBulb Candle
> Memasang Telegram untuk Android atau iOS
5. Pemasangan Bluetooth Rasberry Pi 3 LE:
www.elinux.org/RPi_Bluetooth_LE
Langkah 2: Berjalan Melalui Kod
pyBulbDriver.py
pyBulbDriver mengandungi kelas pemacu untuk menyambung ke PlayBulb melalui BLE
pyBulbDriver dapat digunakan juga untuk projek generik lain, kerana ia hanya mengandungi kod untuk mengimbas dan mengatur sambungan playBulb.
API utama untuk antara muka Aplikasi Pengguna:
- scanForBulb (devicename: String)> Untuk mengimbas PlayBulb atau PlayBulbs melalui nama peranti mereka
- setBulbColor (s: int, r: int, g: int, b: int)> Untuk menentukan nilai kecerahan dan warna RGB (0 hingga 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Mirip dengan setBulbColor, tetapi merangkumi jenis kesan dan kelajuan. Untuk mengetahui lebih lanjut periksa bahagian Kesan protokol warna
Di kelas ini, anda juga akan menemui kaedah pembantu lain yang dimaksudkan untuk pemeriksaan integriti data dan bukan untuk antara muka pengguna
- tukarRGBToHexaCmd (s, r, g, b)
- convertIntToHex (nombor)
- checkModeAndSpeed (mod, offbeat, onbeat)
- cekRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer memperlihatkan antara muka Aplikasi Pengguna ke dalam pautan RESTful menggunakan PUT dan JSON untuk menghantar dan menerima data ke pyBulbDriver. Imbasan dan inisialisasi sambungan BLE juga dibuat semasa pelayan diaktifkan.
pyBulbResource (Sumber) menyalurkan panggilan ke Pelayan REST menggunakan warna dan kesan untuk menentukan perintah mentol.
Contoh Untuk memberi kesan:
127.0.0.1/bulb/effect
JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}
pyBulbMessenger.py
Akhirnya pyBulbMessenger bertanggungjawab untuk menghubungkan bot Telegram yang disambungkan ke klien telefon pintar telegram anda. Untuk maklumat lebih lanjut mengenai cara mengkonfigurasi dan menyambung ke bot telegram semak
cmdHandler (bot, update) adalah tempat perintah teks ditentukan dan disambungkan ke PlayBulb melalui RESTful API.
Saat ini proyek hanya memiliki teks, tujuan lain adalah juga mengirim pesan suara yang direkam yang akan dikirimkan ke pengenal ucapan untuk mengaktifkan perintah lain (Belum Dilaksanakan).
Langkah 3: Kesimpulannya
Reka bentuk seni bina semasa lebih kepada penyederhanaan daripada skalabiliti. Masih belum ada sambungan kumpulan, lebih banyak aplikasi mengenai menghantar teks mentol sama ada untuk arahan lurus atau interaksi suka bermain masih dalam penyelidikan.
Dengan melanggan git repo atau mengikuti, lebih banyak maklumat akan datang mengenai kemas kini ini. Alasan untuk projek seperti ini adalah untuk menghubungkan playBulb dan membuat antara muka RESTful untuk kemudahan pembangunan dalam IoT (senario internet of things) tetapi juga untuk membuka peluang untuk menggunakan kaedah yang berbeza melalui telegram IM Pelanggan seperti gambar, suara dan teks untuk berinteraksi dengan peralatan dari perspektif penyelidikan.
Disyorkan:
Bina Penyiram yang Diaktifkan dari Jauh Menggunakan PiFace dan Ubidots: 13 Langkah
Bina Penyiram yang Diaktifkan dari Jauh Menggunakan PiFace dan Ubidots: Ini adalah contoh hebat yang mengajar anda cara menggunakan Raspberry Pi, PiFace dan Ubidots untuk menyiram kebun anda dari jauh. Anda dapat mengawal injap elektro dari jauh untuk menyiram tanaman anda dari mana-mana tempat, hanya dengan menggunakan telefon anda
Alat kawalan jauh yang diaktifkan Alexa (menggunakan WEMO D1 Mini): 3 Langkah
Alexa Enabled Remote Control (menggunakan WEMO D1 Mini): Ini adalah versi terkini dari catatan sebelumnya: https: //www.instructables.com/id/Voice-Activated-R..Dalam versi sebelumnya, saya menggunakan Geetech modul suara untuk mengawal alat pembuka pintu garaj biasa jarak jauh. Dalam arahan ini saya telah menggantikan vo
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: 5 Langkah (dengan Gambar)
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: Mengendalikan 8 suis relai menggunakan penerima nodemcu dan ir melalui aplikasi wifi dan jauh dan android. Alat kawalan jauhnya tidak bergantung pada sambungan wifi. DI SINI ADALAH KLIK VERSI YANG DIKEMASKINI SINI
Peralatan Media Diaktifkan Suara Menggunakan Alexa: 9 Langkah (dengan Gambar)
Peralatan Media Diaktifkan Suara Menggunakan Alexa: Unit yang dibangunkan di sini menjadikan peralatan anda seperti TV, penguat, pemain CD dan DVD dikendalikan dengan arahan suara menggunakan Alexa dan Arduino. Kelebihan unit ini ialah anda hanya perlu memberikan arahan suara. Unit ini dapat berfungsi dengan semua peralatan yang
Menggunakan Telefon Sony Ericsson yang Diaktifkan Bluetooth Anda untuk Mengendalikan Komputer Anda: 6 Langkah
Menggunakan Telefon Sony Ericsson yang Diaktifkan oleh Bluetooth Anda untuk Mengendalikan Komputer Anda: Saya telah membaca arahan untuk sementara waktu, dan saya selalu mahu melakukan beberapa perkara yang telah ditulis orang, tetapi saya mendapati perkara yang sukar dilakukan kerana ia benar-benar sukar dilakukan, atau yang