Saya merancang modul sensor berdaya rendah yang akan tersebar di area yang cukup kecil. Semua modul bertenaga baterai dan harus beroperasi untuk waktu yang cukup lama tanpa harus mengisi ulang / mengganti baterai (semakin lama semakin baik, pikirkan setidaknya beberapa minggu jika tidak berbulan-bulan atau bertahun-tahun). Idenya adalah bahwa setiap setengah jam atau jam modul akan bangun dari mode daya rendah, mengambil beberapa sampel, dan mengirimkan data ke pencatat data pusat. Logger data pusat kemungkinan akan bertenaga dinding sehingga konsumsi daya rendah tidak diperlukan. Saya tidak berharap ada modul lebih dari 100m dari logger pusat, kemungkinan jauh lebih sedikit.
Saya telah mengidentifikasi beberapa modul transceiver yang mungkin dapat bekerja:
- ALPHA-TRX433S, 433 MHz
- ALPHA-TRX915S, 915 MHz
- Microchip MRF89XAM8A, 868 MHz
- Microchip MRF89XAM9A, 915 MHz
Dari apa yang saya baca, semua modul ini beroperasi di FCC band yang tidak diatur dan harus aman digunakan. Modul-modul Alpha mengiklankan kisaran 300m, tapi saya tidak tahu berapa kisaran maksimum yang diharapkan dari modul Microchip. Bagaimana saya menghitung tentang ini?
Juga, karena saya punya pilihan band, mana yang harus saya pilih dan mengapa (yaitu apa yang saya dapatkan dari 915 MHz lebih dari 433 MHz dan apa yang saya kehilangan)? Dalam urutan parameter apa yang saya anggap paling penting:
- Daya rendah
- Jangkauan transmisi (lebih banyak lebih baik, masuk akal)
- Kekebalan terhadap faktor lingkungan lainnya (mis. Jaringan wifi / sel, menjalankan oven microwave, dinding / hambatan fisik, suhu, dll.). Penggunaan target adalah di lingkungan perumahan dan kemungkinan akan ada variasi suhu yang signifikan (misalnya -20C hingga 50C).
- Kecepatan data. Ini tidak terlalu penting karena saya mengharapkan data yang sangat sedikit per sampel (paling sedikit byte).
Pertanyaan lain yang saya miliki adalah bagaimana menangani beberapa modul yang mencoba mengirim data pada saat yang sama. Saya memiliki beberapa pemikiran tentang bagaimana mengurangi ini, tetapi saya tidak yakin solusi mana yang harus saya jalani:
Gunakan offset waktu acak untuk saat data dikirimkan. Harapannya adalah bahwa tabrakan akan dihindari. Ini mungkin akan menjadi yang paling sederhana untuk diterapkan dan berpotensi akan menggunakan daya paling sedikit. Namun, ini tidak menjamin bahwa tidak akan ada tabrakan. Juga, mendapatkan sumber keacakan yang baik atau seed pseudo-random unik dapat menyebabkan masalah, meskipun tidak dapat dipecahkan.
Saat bangun dan berusaha mengirim, periksa untuk melihat apakah ada transmisi yang sedang berlangsung. Tunggu saja akhir transmisi sebelum mengirim data. Masalahnya kemudian menjadi bagaimana cara menangani beberapa sensor dalam keadaan menunggu, karena keduanya berpotensi memutuskan bahwa transmisi terakhir telah berakhir dan keduanya mulai mentransmisikan pada saat yang sama.
Beberapa solusi lain.