Isi kandungan:
- Langkah 1: Apa itu MQTT?
- Langkah 2: Memasang MQTT Broker pada Raspberry Pi
- Langkah 3: Sambungkan IOT Cricket ke RaspberryPi Over MQTT
- Langkah 4: Periksa Mesej MQTT
- Langkah 5: Ringkasan
- Langkah 6: Mengenai Kami
Video: Sistem Automasi Rumah WiFi Kuasa Sangat Rendah: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:06
Dalam projek ini kami menunjukkan bagaimana anda dapat membina sistem automasi rumah tempatan yang asas dalam beberapa langkah. Kami akan menggunakan Raspberry Pi yang akan berfungsi sebagai peranti WiFi pusat. Manakala untuk node akhir kita akan menggunakan IOT Cricket untuk membuat peranti WiFi bertenaga bateri cth. sensor suhu dan sambungkannya ke RPi tanpa menulis satu baris kod.
Sistem kami akan didasarkan pada protokol komunikasi MQTT, yang sangat diadopsi di kebanyakan sistem automasi rumah. Untuk menyiapkannya, kami memilih broker Mosquitto MQTT (pelayan) dan memasangnya di Raspberry Pi (pusat pusat kami).
IOT Cricket juga dilengkapi dengan sokongan protokol HTTP (S) dan MQTT. Kami mengkonfigurasinya untuk menggunakan MQTT untuk berkomunikasi terus dengan broker RPi MQTT kami.
Projek ini dapat direalisasikan oleh pembuat di semua peringkat kemahiran. Ia mungkin memerlukan pematerian asas tetapi tidak memerlukan pengekodan atau pengaturcaraan. Pada akhir projek ini, anda akan mendapat idea kukuh bagaimana anda dapat membina sistem anda dengan mudah dan memperluas dengan cepat dengan menambahkan nod akhir IOT anda sendiri ke sistem.
Bekalan:
- Raspberry Pi (kami menggunakan versi 3 untuk projek ini)
- Modul WiFi IOT Cricket
- Pemegang bateri 2xAAA
- Bateri 2xAAA
Langkah 1: Apa itu MQTT?
Protokol MQTT menyediakan kaedah ringan untuk melaksanakan pesanan menggunakan model penerbitan / langganan. Ini menjadikannya sesuai untuk pesanan Internet of Things seperti sensor kuasa rendah atau peranti mudah alih seperti telefon, komputer tertanam atau mikrokontroler. (sumber: mosquitto.org)
Kita boleh menggunakan seberapa banyak peranti yang kita mahu untuk melanggan topik dan mendengar mesej yang diterima. Sekiranya beberapa peranti menerbitkan pesan mengenai topik itu, maka semua perangkat, yang berlangganan topik tersebut, menerima pesan itu seketika. Topik boleh berupa rentetan sewenang-wenang yang biasanya digabungkan dengan / watak untuk membolehkan membina topik hierarki. Penggunaan MQTT yang paling biasa adalah mempunyai satu server pusat yang mana peranti dapat melanggan dan menerbitkan mesej. Ini memudahkan semua komunikasi antara peranti yang disambungkan ke pelayan tersebut. Dalam projek ini, kami akan menggunakan RPi untuk bertindak sebagai broker MQTT pusat kami dan semua peranti lain akan menghantar mesej melalui broker ini. Kaedah terbaik untuk mempelajarinya, adalah dengan melakukannya sendiri. Terdapat banyak sumber yang ada di internet di MQTT. Walau bagaimanapun, untuk projek ini, anda mesti baik-baik saja dengan pengenalan asas, yang kami sediakan di atas.
Langkah 2: Memasang MQTT Broker pada Raspberry Pi
Untuk projek ini kami menggunakan broker Mosquitto MQTT sumber terbuka. Ia ringan dan sesuai digunakan pada semua peranti dari komputer papan tunggal berkuasa rendah hingga pelayan penuh.
Sebelum kita mula memasang, adalah amalan yang baik untuk mengemas kini komponen sistem terlebih dahulu:
$ sudo apt-get kemas kini $ sudo apt-get upgrade
Pasang broker Mosquitto. Buka terminal dan ketik arahan berikut:
$ sudo apt-get install mosquitto -y
Konfigurasikan broker Mosquitto. Edit fail konfigurasi:
$ sudo vi /etc/mosquitto/mosquitto.conf
dan tambahkan baris berikut di bahagian atas:
port 1883allow_anonymous true
Mulakan semula RPi untuk menerapkan perubahan:
but semula $ sudo
Itu sahaja! Broker MQTT kami sudah beroperasi sekarang!
CATATAN: demi kesederhanaan projek ini, kami tidak membuat akaun. Oleh itu, sesiapa sahaja dalam rangkaian tempatan kami boleh berhubung dengan broker MQTT ini tanpa bukti kelayakan. Sekiranya anda ingin menambahkan pengesahan pengguna dan menjadikannya lebih selamat, terdapat banyak tutorial di internet bagaimana melakukannya.
Sekarang, kita hanya perlu mendapatkan alamat IP supaya kita dapat menghantar mesej kepada broker Mosquitto dari peranti lain dalam rangkaian:
Dapatkan alamat IP:
$ nama host -I
alamat_RPi_IP_ anda (mis. 192.168.1.10)
Langkah 3: Sambungkan IOT Cricket ke RaspberryPi Over MQTT
Dalam projek ini kami menggunakan modul WiFi IOT Cricket untuk sensor sederhana untuk melaporkan suhu setiap 30 saat ke sistem kami. Ia akan menggunakan bateri sehingga kita dapat melekatkannya di mana sahaja di rumah atau taman. Nanti anda boleh menggunakan IOT Cricket untuk membina pelbagai sensor bateri, penggera, butang, suis dan sambungkannya juga ke broker RPi MQTT kami di luar kotak.
Pada langkah pertama, sambungkan bateri ke Cricket.
Cricket dilengkapi dengan sensor suhu terbina dalam. Kami hanya perlu mengkonfigurasinya untuk mengirim nilai suhu ke broker MQTT kami dengan menetapkan alamat IP RPi. Untuk melakukannya, buka panel konfigurasi Cricket (lihat langkah-langkah di sini) dan gunakan tetapan berikut (seperti yang ditunjukkan pada gambar di bawah, sila sesuaikan alamat IP dalam kotak "url" ke RPi anda)
Sekarang kita boleh keluar dari mod konfigurasi. Peranti sudah siap! Cricket sudah menghantar data ke broker MQTT kami setiap 30 saat.
Langkah 4: Periksa Mesej MQTT
Untuk melihat / menerima mesej yang dihantar ke broker MQTT kami, kami dapat menggunakan pelbagai alat.
Yang paling mudah ialah alat baris perintah mosquitto_sub. Kami boleh memasangnya di komputer mana pun di rangkaian kami atau di RPi kami dengan arahan ini:
$ sudo apt-get install mosquitto-clients -y
Sekarang kita boleh melaksanakan perintah berikut untuk mendengar SEMUA topik dan mesej yang dihantar melalui broker MQTT kami:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / DEVICE_NAME MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26.0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Di atas adalah contoh output dari apa yang dihantar oleh IOT Cricket kepada broker kami. Di antara data lain yang dapat kita lihat ada suhu:
/ 59A98F494C / temp 26.0
Keindahan MQTT adalah bahawa ia membolehkan kita melanggan hanya topik yang kita minati. Sekiranya kita ingin menerima hanya suhu, kita boleh melanggan / 59A98F494C / topik temp dengan menggunakan perintah berikut:
$ mosquitto_sub -h your_RPi_IP_address -t '/ 59A98F494C / temp'
…26.126.527.227.6…
Langkah 5: Ringkasan
Kami telah menunjukkan dalam projek ini perkakasan dan perisian penting untuk mula membina sistem automasi rumah dengan tenaga rendah, cekap tenaga, berdasarkan WiFi. MQTT adalah intipati untuk membangun sistem yang lebih canggih.
Ekosistem perisian dan perkhidmatan yang dapat disatukan dengan MQTT adalah BESAR! Terdapat banyak sistem hebat seperti Pembantu Rumah, Node RED, Grafana, dan lain-lain untuk membolehkan anda mendapat pengalaman pengguna yang hebat dari sistem anda sendiri. Kami tidak hanya dapat melakukan cetakan sederhana dari suhu, tetapi kami dapat memiliki papan pemuka yang hebat untuk memvisualisasikan data dan mengurus peranti anda.
Sekarang kerana kita mempunyai infrastruktur sistem asas ini, langit adalah had kita untuk apa peranti WiFi lain yang dapat kita bina menggunakan modul IOT Cricket dan menambah sistem automasi rumah kita.
Terima kasih kerana sampai di sini. Kami harap anda menikmati tutorial ini!
Pasukan Things On Edge
Langkah 6: Mengenai Kami
Things On Edge adalah syarikat yang berpusat di Cambridge, UK. Kami merancang modul Wi-Fi Cricket berkuasa bateri ultra rendah untuk membolehkan anda menyambungkan pelbagai peranti elektronik ke telefon pintar atau perkhidmatan internet lain secara harfiah dalam beberapa minit. Ia tidak memerlukan pengaturcaraan dan pengekodan. Ini membolehkan anda mengintegrasikan peranti anda ke perkhidmatan ekosistem IOT yang besar melalui MQTT dan HTTP apis.
Disyorkan:
Sistem Penggera Pencerobohan Automasi Rumah DIY !: 5 Langkah (dengan Gambar)
Sistem Penggera Pengganggu Rumah Automatik DIY: Dalam projek ini saya akan menunjukkan kepada anda bagaimana menggunakan perisian Pembantu Rumah untuk membuat sistem penggera penyusup untuk rumah anda. Sistem pada dasarnya akan mengesan jika pintu dibuka tanpa izin dan kemudian akan menghantar notifikasi
Cara Membuat Rumah Pintar Menggunakan Modul Arduino Control Relay - Idea Automasi Rumah: 15 Langkah (dengan Gambar)
Cara Membuat Rumah Pintar Menggunakan Modul Arduino Control Relay | Idea Automasi Rumah: Dalam projek automasi rumah ini, kami akan merancang modul relai rumah pintar yang dapat mengawal 5 peralatan rumah. Modul relay ini dapat dikendalikan dari telefon bimbit atau telefon pintar, jauh IR atau TV jauh, suis manual. Relay pintar ini juga dapat merasakan
Kaedah Sangat Mudah Bermula dengan Automasi Rumah Menggunakan Modul DIY: 6 Langkah
Kaedah Sangat Mudah Bermula dengan Automasi Rumah Menggunakan Modul DIY: Saya terkejut apabila saya memutuskan untuk mencuba menambahkan beberapa sensor DIY ke pembantu rumah. Menggunakan ESPHome sangat mudah dan dalam catatan ini, kita akan belajar bagaimana mengawal pin GPIO dan juga memperoleh suhu & data kelembapan dari n tanpa wayar
Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: 3 Langkah
Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: Halo, selamat datang ke arahan pertama saya. Ruang bawah tanah rumah saya dibanjiri setiap beberapa tahun kerana pelbagai sebab seperti ribut petir musim panas yang lebat, air bawah tanah yang tinggi atau paip yang pecah. Walaupun ia bukan tempat yang bagus, tetapi pemanasan pusat saya
Sistem Automasi Rumah yang Dikendalikan dengan Murah, Mudah, Internet: 5 Langkah (dengan Gambar)
Sistem Automasi Rumah yang Dikendalikan dengan Murah, Mudah, Internet: Sekiranya anda mempunyai haiwan peliharaan / anak-anak dan perlu memberi makan atau memukulnya melalui internet, sistem ini mungkin berguna bagi anda. Ini adalah kaedah yang sangat mudah dan murah untuk mengawal motor, LED, dll di rumah dari mana-mana komputer yang disambungkan ke web. Yang diperlukan hanyalah Webc