Suara– dan SMS–Sensor Cahaya yang Diaktifkan Menggunakan Raspberry Pi dan Twilio
Ikhtisar
Ruang Hacker School untuk angkatan kami memiliki dua toilet:satu terhubung ke area kerja utama, dan satu lagi di lantai bawah. Kami pikir akan menyenangkan mengetahui apakah kamar mandi sudah terisi sebelum meluangkan waktu untuk berjalan.
Proyek kami memungkinkan untuk memeriksa status kamar mandi melalui telepon atau pesan teks.
Status hunian kamar mandi ditentukan menggunakan sensor cahaya yang terpasang pada Raspberry Pi. Jika lampu di kamar mandi menyala, kita asumsikan kamar mandi sudah terisi.
Kami membuat aplikasi web yang dihosting Heroku yang menerima pembaruan status kamar mandi berkala dari Raspberry Pi dan menangani permintaan masuk dari Twilio. Saat pengguna menelepon atau mengirim SMS ke nomor telepon Twilio, Twilio mengirimkan permintaan ke aplikasi web, yang merespons dengan pesan yang sesuai untuk diucapkan atau dikirimi SMS kepada pengguna.
Selain antarmuka suara/SMS, @gelstudios membuat antarmuka web yang bagus untuk proyek tersebut.
Server
Twilio
Twilio adalah layanan berbasis web untuk mengirim dan menerima panggilan telepon dan pesan teks SMS. Ini menyediakan API yang mudah digunakan yang dapat diakses melalui HTTP dan paket Python yang nyaman. Tersedia uji coba layanan gratis (yang menyisipkan pemberitahuan cerewet kecil ke dalam pesan keluar). Kami menggunakan Tutorial Quickstart Twilio Python sebagai pengantar kami.
Heroku
Heroku adalah layanan yang menyediakan stack terintegrasi lengkap untuk hosting aplikasi web dengan berbagai pilihan bahasa, framework, server web, dan penyimpanan data. Kami membuat aplikasi server untuk proyek dengan Python menggunakan microframework Flask. Artikel Heroku Dev Center Memulai dengan Python di Heroku adalah panduan yang baik untuk menyiapkan Flask di Heroku.
Kode Server
Sumber lengkap untuk aplikasi web dapat ditemukan di github.com/qqrs/twilio-light-sensor-server/blob/master/run.py.
/twilio/voice
dan /twilio/text
route menangani permintaan dari Twilio. Saat pengguna menelepon atau mengirim pesan SMS ke nomor telepon yang ditetapkan ke akun kami, Twilio dikonfigurasi sehingga akan membuat permintaan HTTP POST ke rute ini. Ketika server menerima permintaan dari Twilio, itu menghasilkan pesan yang sesuai yang menunjukkan status kamar mandi. Pesan dikembalikan ke Twilio dalam respons HTTP dan dikirim ke pengguna sebagai audio (melalui teks-ke-ucapan) atau sebagai pesan SMS.
/update
route menerima pembaruan status sensor dari sensor jarak jauh melalui HTTP POST. Setiap permintaan menyertakan sensor_id
dan sensor_val
parameter untuk mengidentifikasi sensor dan melaporkan nilai saat ini.
Untuk detail selengkapnya:Sensor Cahaya Berkemampuan Suara– dan SMS Menggunakan Raspberry Pi dan Twilio