Daftar Isi:

Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah: 5 Langkah (dengan Gambar)
Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah: 5 Langkah (dengan Gambar)

Video: Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah: 5 Langkah (dengan Gambar)

Video: Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah: 5 Langkah (dengan Gambar)
Video: Apa itu teknologi IoT? | TIAnimate 2024, November
Anonim
Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah
Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah
Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah
Lapisan Sensor IOT Nirkabel Baru untuk Sistem Pemantauan Lingkungan Rumah

Instruksi ini menjelaskan lapisan sensor IOT nirkabel bertenaga baterai yang lebih murah untuk Instruksi saya sebelumnya: Sistem Pemantauan Lingkungan Rumah LoRa IOT. Jika Anda belum melihat Instructable sebelumnya, saya sarankan membaca pendahuluan untuk ikhtisar kemampuan sistem yang sekarang diperluas ke lapisan sensor baru ini.

Sistem Pemantauan Lingkungan Rumah LoRa IOT asli mencapai tujuan yang telah saya tetapkan ketika diterbitkan pada April 2017. Namun, setelah menggunakan sistem pemantauan selama beberapa bulan untuk memantau suhu & kelembaban di setiap lantai rumah, saya ingin tambahkan 11 sensor lagi di lokasi yang sangat rentan di dalam rumah; termasuk, enam sensor yang ditempatkan secara strategis di ruang bawah tanah, sensor di setiap kamar mandi, dan satu sensor di loteng, binatu, dan dapur.

Daripada menambahkan lebih banyak sensor berbasis LoRa dari Instructable sebelumnya yang agak mahal dan ditenagai melalui adaptor AC, saya memutuskan untuk menambahkan lapisan yang lebih murah, sensor yang dioperasikan dengan baterai menggunakan Pemancar Tautan RF 434-MHz. Untuk menjaga kompatibilitas dengan Sistem Pemantauan Lingkungan Rumah LoRa IOT yang ada, saya menambahkan jembatan nirkabel untuk menerima paket 434-MHz dan mentransmisikannya kembali sebagai paket LoRa pada 915-MHz.

Lapisan sensor baru terdiri dari subsistem berikut:

  1. Remote Nirkabel 434-MHz - sensor suhu dan kelembaban yang dioperasikan dengan baterai
  2. Wireless Bridge - Menerima paket 434-MHz dan mentransmisikannya kembali sebagai paket LoRa.

Remote Nirkabel 434-MHz menggunakan daya pancar yang lebih rendah dan protokol yang kurang kuat dibandingkan dengan radio LoRa, sehingga lokasi Jembatan Nirkabel di rumah dipilih untuk memastikan komunikasi yang andal dengan semua Remote Nirkabel 434-MHz. Menggunakan Jembatan Nirkabel memungkinkan komunikasi dengan Remote Nirkabel 434-MHz dioptimalkan tanpa menempatkan batasan apa pun di lokasi LoRa IOT Gateway.

Remote Nirkabel 434-MHz dan Jembatan Nirkabel dibuat menggunakan modul perangkat keras yang tersedia dan beberapa komponen individual. Part dapat diperoleh dari Adafruit, Sparkfun, dan Digikey; dalam banyak kasus, suku cadang Adafruit dan Sparkfun juga tersedia dari Digikey. Keterampilan menyolder yang kompeten diperlukan untuk merakit perangkat keras, khususnya, kabel point-to-point dari Remote Nirkabel 434-MHz. Kode Arduino dikomentari dengan baik untuk dipahami dan untuk memungkinkan perluasan fungsionalitas yang mudah.

Tujuan dari proyek ini antara lain sebagai berikut:

  • Temukan teknologi nirkabel berbiaya rendah yang cocok untuk lingkungan rumah tangga.
  • Kembangkan sensor nirkabel bertenaga baterai yang dapat beroperasi selama beberapa tahun pada satu set baterai.
  • Tidak memerlukan modifikasi pada perangkat keras atau perangkat lunak LoRa IOT Gateway dari Instructable saya sebelumnya.

Total biaya suku cadang untuk Remote Nirkabel 434-MHz, tidak termasuk baterai 3xAA, adalah $25, di mana sensor suhu dan kelembaban SHT31-D menyumbang lebih dari setengahnya ($14).

Seperti remote LoRa dari Instructable saya sebelumnya, Remote Nirkabel 434-MHz mengambil pembacaan suhu dan kelembaban, dan melaporkan ke LoRa IOT Gateway, melalui Wireless Bridge, setiap 10 menit. Sebelas Remote Nirkabel 434-MHz dioperasikan pada bulan Desember 2017 menggunakan baterai 3 x AA yang secara nominal menyediakan 4,5V. Pembacaan baterai dari sebelas sensor pada Desember 2017 berkisar antara 4,57V hingga 4,71V, enam belas bulan kemudian pada Mei 2019 pembacaan baterai berkisar antara 4,36V hingga 4,55V. Penggunaan suku cadang dengan rentang tegangan operasi yang lebar harus memastikan pengoperasian sensor selama satu tahun lagi atau lebih, dengan tetap menjaga keandalan tautan RF karena daya pancar berkurang dengan tegangan baterai yang lebih rendah.

Keandalan lapisan sensor 434-MHz sangat baik di lingkungan rumah saya. Lapisan sensor baru ditempatkan di 4.200 SqFt ruang jadi dan 1.800 SqFt ruang bawah tanah yang belum selesai. Sensor dipisahkan dari Jembatan Nirkabel dengan kombinasi 2 - 3 dinding interior dan lantai/langit-langit. Gateway IOT LoRa dari Instructable saya sebelumnya mengirimkan Peringatan SMS jika komunikasi terputus dengan sensor selama lebih dari 60 menit (laporan tidak terjawab sepuluh menit). Satu sensor, di lantai di sudut paling ujung ruang bawah tanah di belakang kotak bertumpuk, akan menyebabkan peringatan kontak hilang sesekali, namun, dalam semua kasus, komunikasi dengan sensor terjalin kembali tanpa intervensi apa pun.

Terima kasih telah mengunjungi instruksi ini, dan silakan lihat langkah-langkah berikut untuk informasi lebih lanjut.

  1. Desain Sensor Nirkabel yang Dioperasikan dengan Baterai
  2. Perangkat Keras Jarak Jauh Nirkabel 434-MHz
  3. Perangkat Lunak Jarak Jauh Nirkabel 434-MHz
  4. Perangkat Keras Jembatan Nirkabel
  5. Perangkat Lunak Jembatan Nirkabel

Langkah 1: Desain Sensor Nirkabel yang Dioperasikan dengan Baterai

Desain Sensor Nirkabel yang Dioperasikan dengan Baterai
Desain Sensor Nirkabel yang Dioperasikan dengan Baterai

Desain untuk Remote Nirkabel 434-MHz menggunakan bagian-bagian berikut:

  • Mikrokontroler AVR 8-bit ATtiny85
  • Sensirion SHT31-D - Papan Breakout Sensor Suhu & Kelembaban
  • Pemancar Tautan RF Sparkfun 434-MHz
  • Resistor 10K Ohm

Salah satu keputusan desain awal adalah untuk menghindari perangkat yang memerlukan 3.3V atau 5V yang diatur, dan memilih bagian yang beroperasi pada rentang tegangan yang lebar. Ini menghilangkan kebutuhan akan pengatur tegangan yang merupakan pemboros daya dalam desain yang dioperasikan dengan baterai, dan memperpanjang masa pakai sensor karena sensor akan terus berfungsi lebih lama karena tegangan baterai menurun seiring waktu. Rentang tegangan operasi untuk bagian yang dipilih adalah sebagai berikut:

  • ATtiny85: 2,7V hingga 5,5V
  • SHT31-D: 2.4V hingga 5.5V
  • RF Tautan Tx: 1.5V hingga 12V

Memungkinkan untuk beberapa margin, Remote Nirkabel 434-MHz harus beroperasi secara fungsional hingga tegangan baterai 3V. Seperti yang telah disebutkan, masih harus dilihat seberapa baik keandalan tautan RF dipertahankan karena daya pancar berkurang dengan voltase baterai yang lebih rendah.

Keputusan dibuat untuk menggunakan 3 baterai AA x untuk memberikan tegangan awal nominal 4,5V. Setelah 16 bulan beroperasi, tegangan baterai terendah yang diukur adalah 4.36V.

ATtiny85 Watch Dog Timer (WDT) digunakan untuk menjaga Remote Nirkabel 434-MHz dalam mode Tidur untuk sebagian besar waktu. ATtiny85 dibangunkan oleh WDT setiap 8 detik untuk menambah penghitung 10 menit; setelah mencapai interval 10 menit, pengukuran diambil dan paket data dikirimkan.

Untuk lebih meminimalkan konsumsi daya, SHT31-D dan RF Link Transmitter diberi daya dari pin port I/O digital pada ATtiny85 yang dikonfigurasi sebagai output. Daya diterapkan saat pin I/O digerakkan Tinggi (1), dan dilepas saat pin I/O digerakkan Rendah (0). Melalui perangkat lunak, daya hanya diterapkan ke periferal ini setiap 10 menit selama 1 - 2 detik saat pengukuran sedang dilakukan dan ditransmisikan. Lihat Perangkat Lunak Jarak Jauh Nirkabel 434-MHz untuk deskripsi perangkat lunak terkait.

Satu-satunya komponen lain yang digunakan dalam Remote Nirkabel 434-MHz adalah resistor 10K ohm yang digunakan untuk menarik pin Reset pada ATtiny85.

Desain awal menggunakan pembagi tegangan resistif pada baterai untuk mengaktifkan pin ADC pada ATTINY85 untuk mengukur tegangan baterai. Meski kecil, pembagi tegangan ini menempatkan beban konstan pada baterai. Beberapa penelitian menemukan trik yang menggunakan tegangan referensi celah pita 1.1V internal ATtiny85 untuk mengukur Vcc (tegangan baterai). Dengan menyetel tegangan referensi ADC ke Vcc dan melakukan pengukuran tegangan referensi 1.1V internal, Vcc dapat diselesaikan. Tegangan referensi 1.1V internal ATtiny85 adalah konstan selama Vcc > 3V. Lihat Perangkat Lunak Jarak Jauh Nirkabel 434-MHz untuk deskripsi perangkat lunak terkait.

Komunikasi antara ATtiny85 dan SHT31-D adalah melalui bus I2C. Papan breakout Adafruit SHT31-D mencakup resistor pull-up untuk bus I2C.

Komunikasi antara ATtiny85 dan RF Link Transmitter adalah melalui pin I/O digital yang dikonfigurasi sebagai output. Pustaka Radio Paket RadioHead RH_ASK digunakan untuk On-Off Key (OOK/ASK) Pemancar RF Link melalui pin I/O digital ini.

Langkah 2: Perangkat Keras Jarak Jauh Nirkabel 434-MHz

Perangkat Keras Jarak Jauh Nirkabel 434-MHz
Perangkat Keras Jarak Jauh Nirkabel 434-MHz
Perangkat Keras Jarak Jauh Nirkabel 434-MHz
Perangkat Keras Jarak Jauh Nirkabel 434-MHz

Daftar Bagian:

1 x Adafruit 1/4 Ukuran Papan Tempat memotong roti, Digikey PN 1528-1101-ND

1 x Dudukan Baterai 3 x Sel AA, Digikey PN BC3AAW-ND

1 x Adafruit Sensiron SHT31-D Papan Breakout, Digikey PN 1528-1540-ND

1 x Pemancar Tautan RF Sparkfun (434-MHz), Digikey PN 1568-1175-ND

1 x Mikrokontroler ATtiny85, Digikey PN ATTINY85-20PU-ND

Soket DIP 1 x 8-Pin, Digikey PN AE10011-ND

1 x 10K ohm, Resistor 1/8W, Digikey PN CF18JT10K0CT-ND

6.75 / 17cm Panjang Kawat Tembaga Enamel 18AWG

1 x Sepotong Pita Busa Dua Sisi

Kawat Pembungkus Kawat 18 / 45cm

Soket digunakan untuk ATtiny85 karena pemrograman dalam sirkuit tidak didukung.

Papan breakout SHT31-D, Pemancar Tautan RF, soket DIP 8-Pin, dan kabel antena disolder pada papan tempat memotong roti seperti yang ditunjukkan pada foto di atas. Lepaskan enamel dari 1/4 kabel antena 18AWG sebelum menyolder ke papan tempat memotong roti.

Resistor 10K ohm disolder pada papan tempat memotong roti antara pin 1 dan 8 dari soket DIP 8-Pin.

Kawat pembungkus kawat disolder di bagian belakang papan tempat memotong roti untuk membuat hubungan antar komponen sesuai dengan diagram skema Remote Nirkabel yang ditunjukkan pada langkah sebelumnya.

Ujung positif dan negatif dari dudukan baterai disolder ke satu set bus "+" dan "-", masing-masing, di papan tempat memotong roti.

Remote Nirkabel 434-MHz diuji dengan Wireless Bridge dan LoRa IOT Gateway. Remote Nirkabel 434-MHz akan segera mengirim paket setiap kali baterai dimasukkan, dan setiap ~10 menit setelahnya. Setelah menerima paket nirkabel dari lapisan sensor 434-MHz, LED hijau pada Jembatan Nirkabel berkedip selama ~0,5 detik. Nama stasiun, suhu, dan kelembaban harus ditampilkan oleh LoRa IOT Gateway jika nomor stasiun Wireless Remote 434-MHz telah disediakan di gateway.

Setelah Remote Nirkabel diuji baik-baik saja dengan ATtiny85 yang diprogram, sepotong pita busa dua sisi, dipotong dengan ukuran yang sama dengan papan tempat memotong roti, digunakan untuk memasang papan tempat memotong roti yang sudah selesai ke tempat baterai.

Langkah 3: Perangkat Lunak Jarak Jauh Nirkabel 434-MHz

Perangkat Lunak Jarak Jauh Nirkabel 434-MHz
Perangkat Lunak Jarak Jauh Nirkabel 434-MHz
Perangkat Lunak Jarak Jauh Nirkabel 434-MHz
Perangkat Lunak Jarak Jauh Nirkabel 434-MHz

Perangkat lunak Wireless Remote 434-MHz dilampirkan dengan langkah ini dan dikomentari dengan baik.

Saya memprogram mikrokontroler ATtiny85 menggunakan Sparkfun Tiny AVR Programmer dan Arduino IDE. Sparkfun memiliki tutorial ekstensif tentang cara mengatur driver & dll. dan bagaimana membuat programmer bekerja dengan Arduino IDE.

Saya menambahkan soket ZIF (Zero Insertion Force) ke Tiny AVR Programmer untuk memudahkan menambah dan menghapus chip dari programmer.

Langkah 4: Perangkat Keras Jembatan Nirkabel

Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel
Perangkat Keras Jembatan Nirkabel

Daftar Bagian:

1 x Arduino Uno R3, Digikey PN 1050-1024-ND

1 x Adafruit Proto Shield Arduino Stack V. R3, Digikey PN 1528-1207-ND

1 x Adafruit RFM9W LoRa Radio Transceiver Board (915-MHz), Digikey PN 1528-1667-ND

1 x Penerima Tautan RF Sparkfun (434-MHz), Digikey PN 1568-1173-ND

Soket DIP 1 x 8-Pin, Digikey PN AE10011-ND

6.75 / 17cm Panjang Kawat Tembaga Enamel 18AWG

3.25 / 8.5cm Panjang Kawat Tembaga Enamel 18AWG

Kawat Pembungkus Kawat 24 / 61cm

1 x kabel USB A / MicroB, 3 kaki, Adafruit PID 592

Catu daya port USB 1 x 5V 1A, Adafruit PID 501

Pasang pelindung prototipe sesuai dengan instruksi di Adafruit.com.

Pasang papan transceiver RFM95W LoRa sesuai dengan instruksi di Adafruit.com. Kawat 18AWG dengan panjang 3,25" / 8,5cm digunakan untuk antena, dan disolder langsung ke papan transceiver setelah melepas 1/4" enamel dari kawat.

Potong soket DIP 8-pin dengan hati-hati menjadi dua bagian untuk membuat dua set soket SIP 4-pin.

Solder dua soket SIP 4-pin ke pelindung prototipe seperti yang ditunjukkan. Ini akan digunakan untuk menyambungkan Penerima Tautan RF, jadi pastikan lubang tersebut berada di lubang yang tepat agar sesuai dengan Pemancar Tautan RF sebelum menyolder.

Solder papan transceiver RFM9W LoRa ke pelindung prototipe seperti yang ditunjukkan.

Sambungan berikut dibuat antara Arduino Uno dan papan transceiver RFM9W menggunakan kawat pembungkus di sisi atas papan prototipe:

RFM9W G0 Arduino Digital I/O Pin 2, perpustakaan RadioHead menggunakan Interrupt 0 pada pin ini

RFM9W SCK Arduino ICSP header, pin 3

RFM9W MISO Arduino ICSP header, pin 1

RFM9W MOSI Arduino ICSP header, pin 4

RFM9W CS Arduino Digital I/O Pin 8

RFM9W RST Arduino Digital I/O Pin 9

Sambungan berikut dibuat di sisi bawah papan prototipe:

RFM9W VIN Papan prototipe 5V bus

RFM9W GND Prototyping board ground (GND) bus

RF Link Rx Pin 1 (GND) Prototyping board ground (GND) bus

RF Link Rx Pin 2 (Data Keluar) Arduino Digital I/O Pin 6

RF Link Rx Pin 2 (Vcc) Papan prototipe bus 5V

Papan Proto LED Hijau Arduino Digital I/O Pin 7

Informasi pin untuk penerima tautan RF tersedia di www.sparkfun.com.

Lepaskan enamel dari 1/4 'dari panjang 6,75 kawat 18AWG dan masukkan ke dalam lubang papan prototipe yang berbatasan langsung dengan RF Link Rx Pin 8 (Antena). Setelah dimasukkan ke dalam lubang, tekuk ujung yang dilucuti sehingga membuat kontak dengan RF Link Rx Pin 8 dan solder di tempatnya.

Program Arduino Uno dengan sketsa yang disediakan pada langkah berikutnya. Setelah reset atau power up, LED hijau akan berkedip dua kali selama 0,5 detik. Setelah menerima paket nirkabel dari lapisan sensor 434-MHz, LED hijau berkedip selama ~0,5 detik.

Langkah 5: Perangkat Lunak Jembatan Nirkabel

Perangkat lunak Wireless Bridge dilampirkan dengan langkah ini dan dikomentari dengan baik.

Direkomendasikan: