Saya sedang mengerjakan proyek yang mengandalkan komunikasi nirkabel, dan saya mencari alternatif terbaik. Ini adalah persyaratan desain:
- Mudah berinteraksi dengan Arduino
- Bekerja dalam rentang kecil (paling banyak 5-6 meter)
- Membutuhkan sedikit daya - paling tidak mungkin
- Perangkat tidak boleh saling mengganggu
- Tidak perlu real-time, keterlambatan bisa dalam urutan ratusan milidetik
- Secara umum, perangkat tidak saling berhadapan (berarti IR dan solusi serupa tidak akan berfungsi)
Skenarionya adalah:
Sekitar 10 perangkat di ruangan yang sama, berkomunikasi satu sama lain, mengirim pesan pendek (paling banyak 30 karakter) sesekali, selama beberapa jam (tanpa mengganti baterai).
Yang terbaik yang bisa saya temukan adalah Bluetooth (BLE, khususnya), terutama karena ada beberapa modul Arduino + Bluetooth siap pakai dan label "Low Energy" yang menjanjikan (paling banyak setengah dari konsumsi energi Bluetooth normal), tetapi saya senang mendapatkan pendapat dari orang-orang dengan pengalaman lebih di bidang ini.
Jawaban:
Lihatlah garis XBee tranceivers. Ada berbagai jenis tergantung pada kisaran transmisi dan peringkat daya yang diinginkan.
Perangkat ini juga berinteraksi dengan proyek Arduino hampir sepele. The
Serial
merek perpustakaan menggunakan perangkat keras UART AVR ini yang secara langsung kompatibel dengan pin Rx dari XBee. Perhatikan juga bahwa tidak diperlukan pemindah level karena pin XBee Rx / Tx bekerja dengan 5V!Namun, perlu diperhatikan bahwa XBee harus ditenagai dengan 3.3V, sehingga pengatur tegangan LDO 3.3V yang sederhana dapat digunakan.
sumber
"Terbaik" sulit untuk didefinisikan, tetapi saya akan melihat transceiver IEEE 802.15.4.
Saya menggunakan MRF24J40MA untuk proyek ( https://github.com/briksoftware/gradusnik ). Anda dapat mencoba melihat apakah ada beberapa kode yang dapat Anda gunakan di sana. Proyek ini untuk PIC, tetapi banyak hal sebenarnya platform independen (terutama proyek lain yang bergantung padanya).
Modul ini mengkonsumsi sekitar 20mA dalam rx / tx, yang tidak banyak. Namun, untuk mendapatkan waktu baterai yang lama Anda harus meletakkan modul untuk tidur sebagian besar waktu. Anda dapat menggunakan jaringan yang diaktifkan suar untuk ini, dengan satu perangkat bertindak sebagai koordinator. Modul ini mengkonsumsi beberapa μA dalam mode tidur (periksa lembar data untuk angka yang tepat)
Satu-satunya masalah yang berinteraksi dengan Arduino adalah Anda membutuhkan shifter level 5-> 3.3 (jika Arduino masih menggunakan 5v).
Transceiver populer lainnya untuk protokol IEEE 802.15.4 adalah modul XBee, tetapi jauh lebih mahal.
sumber
Saya tidak melihatnya sebagai masalah nirkabel tetapi lebih merupakan masalah protokol.
Jika konservasi baterai adalah nama permainan dan jika satu perangkat dapat, melalui pemrograman yang sesuai, mengadopsi peran "master" sementara, maka setiap perangkat lainnya dapat dialokasikan timeslot. Setelah alokasi dilakukan maka master sementara dapat kembali menjadi rekan tetapi yang penting adalah bahwa kerangka slot waktu telah dibuat dan semua rekan akan membeli ke kerangka ini.
Apa fungsinya? Memiliki slot waktu berarti Anda dapat mematikan radio selama ratusan milidetik dan bangun untuk melihat apakah ada transmisi yang sedang berlangsung yang dimaksudkan untuk diterima. Ketika seorang rekan bangun, ia harus menunggu untuk melihat apakah ada dari 8 rekan lainnya yang mengirim pesan kepadanya. Pengaturan waktu sangat penting tetapi jika Anda ingin daya tahan baterai yang lama maka berkonsentrasilah pada protokol. Jawaban ini hanyalah sebuah ide. Timelot bangun akan dibagi menjadi 8 slot lain yang masing-masing dari 8 rekan lainnya dialokasikan untuk ditransmisikan dan, jika satu mentransmisikan, yang lain dapat mendengarkan terlebih dahulu untuk memeriksa apakah mereka dapat mengirimkan. Sesuatu seperti ini: -
Slot "berikutnya" memungkinkan teman baru untuk bergabung dengan grup.
Transceiver berdaya rendah adalah tempat yang biasa jadi saya tidak akan melihat ini.
sumber
Cobalah modul txrx 433 mhz yang murah. mereka berguna dan dapat dengan mudah dihubungkan dengan Arduino. Saya menggunakannya untuk proyek robotika hobi pribadi saya.
sumber
Hanya ingin tahu mengapa NRF24L01 2.4GHz Wireless Transceiver Module belum disebutkan? Ini adalah unit dengan daya rendah, dapat diubah ke mode siaga untuk pengundian yang lebih rendah. Ini beroperasi dari 3.3v, jadi dapat menggunakan arduino daya rendah atau splitter, dan yang terbaik adalah cukup murah?
Berikut adalah halaman produk nRF24L01 + bersama dengan nRF24L01 How-To yang berisi informasi tentang antarmuka satu ke Arduino bersama dengan kode sampel.
sumber
RFM12B terlintas dalam pikiran ..
http://www.hoperf.com/rf/fsk_module/RFM12B.htm
Beberapa fitur:
Antarmuka komunikasi SPI harus cukup untuk diatur dengan Arduino.
Model RFM12B-S2 dijual di bawah $ 7 hari ini.
sumber