Daftar Isi:
Video: TextPlayBulb: REST Diaktifkan PlayBulb Menggunakan Raspberry Pi 3, BLE dan Telegram: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Instruksi ini menunjukkan cara menyambungkan ke lampu LED bluetooth PlayBulb Color menggunakan Python, perpustakaan Raspberry Pi 3 dan Bluetooth dan untuk memperluas kontrol melalui REST API untuk skenario IoT, dan sebagai bonus, proyek ini juga menunjukkan cara memperluas REST API untuk mengontrol PlayBulb Anda melalui klien teks IM misalnya Telegram, seperti berbicara ke rumah otomatis Anda melalui teks.
Proyek ini dibangun di atas 3 modul:
- pyBulbDriver: Hubungkan ke PlayBulb melalui BLE gatttool dan python.
- pyBulbServer: Menggunakan pyBulbDriver untuk mengekspos kontrol playbulb melalui REST API.
- pyBulbMessenger: Menghubungkan ke bot telegram untuk mengirim dan menerima perintah melalui klien telegram yang diinstal pada ponsel pintar apa pun, dan menggunakan REST API untuk mengeluarkan perintah ke PlayBulb.
Anda dapat mengkloning proyek melalui repositori git:
Tujuan Proyek:
Untuk membuat alat dasar untuk berinteraksi dengan bohlam Anda melalui modalitas yang berbeda seperti mengirim pesan teks untuk saat ini, skenario masa depan dapat melibatkan perintah ucapan, memberi isyarat ke lampu … dll.
Sumber daya lain yang digunakan untuk membuat instruksi ini:
- Protokol Bluetooth Warna PlayBulb:
- Menghubungkan Python ke Playbulb melalui Bluetooth:
- Setting bot telegram:
Kontribusi
pyBulbDriver diperluas menjadi lebih fleksibel dan berparameter untuk kemudahan perpanjangan di masa mendatang, membangun skenario untuk memungkinkan Anda mengutak-atik SMS lampu Anda. Antarmuka sederhana untuk menguji dan mengutak-atik.
Keterbatasan
Driver ditulis untuk PlayBulb Color, untuk jenis PlayBulb lainnya mis. Asli atau lilin, kode bluetooth di pyBulbDriver perlu diubah sesuai dengan protokol yang disebutkan di atas.
Anda perlu mendaftarkan akun telegram, dan mendapatkan kunci api, yang Anda tambahkan di pyBulbMessenger.py, ikuti pengaturan bot telegram di sumber daya lainnya.
Langkah 1: Menyiapkan Proyek
1. Mendapatkan kunci API Anda dari Telegram
> Ikuti instruksi saat ini untuk mendapatkan kunci API Anda
> Tambahkan kunci api Anda ke variabel api di pyBulbMessenger.py
2. Mengatur Nama PlayBulb Anda di pyBulbDriver
> Agar gatttool menemukan perangkat tulis, atur nama perangkat Anda untuk dipindai menggunakan pyBulbDriver.scanForBulb("PLAYBULB COLOUR"). Contoh dapat ditemukan di pyBulbServer.py untuk mengatur Server REST Anda
3. Untuk memulai proyek
> Anda harus memulai pyBulbServer.py terlebih dahulu, lalu diikuti oleh pyBulbMessenger.py untuk SMS. Anda dapat menguji perintah pyBulbServer menggunakan CURL.
4. Bahan yang Dibutuhkan:
> Raspberry Pi 3 dan PlayBulb Color atau PlayBulb Candle
> Memasang Telegram untuk Android atau iOS
5. Instalasi Bluetooth Rasberry Pi 3 LE:
www.elinux.org/RPi_Bluetooth_LE
Langkah 2: Berjalan Melalui Kode
pyBulbDriver.py
pyBulbDriver berisi kelas driver untuk menghubungkan ke PlayBulb melalui BLE
pyBulbDriver dapat digunakan juga untuk proyek umum lainnya, karena hanya berisi kode untuk memindai dan mengatur koneksi playBulb.
API utama untuk antarmuka Aplikasi Pengguna:
- scanForBulb(devicename:String) > Untuk memindai PlayBulb atau PlayBulbs melalui nama perangkatnya
- 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 mencakup jenis efek dan kecepatan. Untuk mengetahui lebih lanjut, periksa bagian Efek protokol warna
Di kelas ini Anda juga akan menemukan metode pembantu lain yang dimaksudkan untuk pemeriksaan integritas data dan bukan untuk antarmuka pengguna
- convertRGBToHexaCmd(s, r, g, b)
- convertIntToHex(angka)
- checkModeAndSpeed(mode, offbeat, onbeat)
- checksRGBInBounds(s, r, g, b)
pyBulbServer.py
pyBulbServer memaparkan antarmuka Aplikasi Pengguna ke hyperlink RESTful menggunakan PUT dan JSON untuk mengirim dan menerima data ke pyBulbDriver. Juga pemindaian dan inisialisasi koneksi BLE dilakukan saat server diaktifkan.
pyBulbResource(Resource) menyalurkan panggilan ke REST Server menggunakan warna dan efek untuk menentukan perintah bulb.
Contoh Untuk memerintahkan efek:
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 bertanggung jawab untuk menghubungkan bot Telegram yang terhubung ke klien ponsel pintar telegram Anda. Untuk detail lebih lanjut tentang cara mengkonfigurasi dan menghubungkan ke bot telegram, periksa
cmdHandler(bot, update) adalah tempat perintah teks didefinisikan dan dihubungkan ke PlayBulb melalui RESTful API.
Saat ini proyek hanya memiliki teks, tujuan lain juga mengirim pesan suara yang direkam yang akan dikirim ke pengenal suara untuk mengaktifkan perintah lain (Belum Diimplementasikan).
Langkah 3: Kesimpulan
Desain arsitektur saat ini lebih tentang penyederhanaan daripada skalabilitas. Konektivitas grup masih hilang, juga lebih banyak aplikasi tentang mengirim pesan ke bohlam baik untuk perintah langsung atau interaksi yang menyenangkan masih dalam penelitian.
Dengan berlangganan git repo atau mengikuti, detail lebih lanjut akan datang pada pembaruan ini. Alasan proyek semacam itu adalah untuk menghubungkan playBulb dan membuat antarmuka RESTful untuk kemudahan pengembangan dalam IoT (skenario internet of things) tetapi juga untuk membuka kesempatan untuk menggunakan modalitas yang berbeda melalui telegram Klien IM seperti gambar, suara dan teks untuk berinteraksi dengan peralatan dari perspektif penelitian.
Direkomendasikan:
Bangun Sprinkler yang Diaktifkan dari Jarak Jauh Menggunakan PiFace dan Ubidots: 13 Langkah
Bangun Sprinkler yang Diaktifkan dari Jarak Jauh Menggunakan PiFace dan Ubidots: Ini adalah contoh keren yang mengajarkan Anda cara menggunakan Raspberry Pi, PiFace, dan Ubidots untuk menyirami taman Anda dari jauh. Anda akan dapat mengontrol katup listrik dari jarak jauh untuk menyirami tanaman Anda dari mana saja, hanya menggunakan ponsel Anda
Alexa Diaktifkan Remote Control (menggunakan WEMO D1 Mini): 3 Langkah
Alexa Enabled Remote Control (menggunakan WEMO D1 Mini): Ini adalah versi terbaru dari posting sebelumnya: https://www.instructables.com/id/Voice-Activated-R…Pada versi sebelumnya, saya menggunakan Geetech modul suara untuk mengontrol remote tipe pembuka pintu garasi biasa. Dalam instruksi ini saya telah mengganti vo
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: 5 Langkah (dengan Gambar)
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: Mengontrol 8 sakelar relai menggunakan nodemcu dan penerima ir melalui wifi dan ir remote dan aplikasi android.Remote ir bekerja terlepas dari koneksi wifi.INI VERSI TERBARU KLIK DI SINI
Membaca Nilai Dari Perangkat BLE Menggunakan CSR1010 dan Dragonboard 410c: 6 Langkah
Membaca Nilai Dari Perangkat BLE Menggunakan CSR1010 dan Dragonboard 410c: Tutorial ini menunjukkan cara membaca nilai dari perangkat BLE CSR1010 menggunakan Dragonboard 410c dengan LinaroDalam contoh ini, CSR1010 meniru sensor detak jantung
Peralatan Media yang Diaktifkan Suara Menggunakan Alexa: 9 Langkah (dengan Gambar)
Peralatan Media yang Diaktifkan Suara Menggunakan Alexa: Unit yang dikembangkan di sini membuat peralatan Anda seperti TV, amplifier, pemutar CD dan DVD dapat dikontrol dengan perintah suara menggunakan Alexa dan Arduino. Keuntungan dari unit ini adalah Anda hanya perlu memberikan perintah suara. Unit ini dapat bekerja dengan semua peralatan yang