Je conçois des modules de capteur à faible puissance qui seront répartis sur une zone raisonnablement petite. Les modules sont tous alimentés par batterie et devraient fonctionner pendant une période décemment longue sans avoir à recharger / remplacer les batteries (plus c'est long, mieux c'est, pensez au moins quelques semaines sinon des mois ou des années). L'idée est que toutes les demi-heures ou heures, le module sortira du mode basse consommation, prendra des échantillons et transmettra les données à un enregistreur de données central. L'enregistreur de données central sera probablement alimenté par un mur, donc une faible consommation d'énergie n'est pas aussi nécessaire. Je ne m'attends pas à ce que les modules soient à plus de 100 m de l'enregistreur central, probablement beaucoup moins.
J'ai identifié certains modules émetteurs-récepteurs qui pourraient potentiellement fonctionner:
- ALPHA-TRX433S, 433 MHz
- ALPHA-TRX915S, 915 MHz
- Microchip MRF89XAM8A, 868 MHz
- Microchip MRF89XAM9A, 915 MHz
D'après ce que j'ai lu, ces modules fonctionnent tous dans des bandes non réglementées par la FCC et devraient être sûrs à utiliser. Les modules Alpha annoncent une portée de 300 m, mais je ne peux pas comprendre quelle serait la portée maximale attendue des modules Microchip. Comment pourrais-je calculer cela?
De plus, comme j'ai le choix des bandes, lesquelles dois-je choisir et pourquoi (c'est-à-dire qu'est-ce que j'obtiens de 915 MHz sur 433 MHz et qu'est-ce que je perds)? Dans l'ordre des paramètres que je considérerais comme les plus importants:
- Batterie faible
- Plage de transmission (plus c'est mieux, dans des limites raisonnables)
- Immunité aux autres facteurs environnementaux (par ex. Réseaux wifi / cellulaires, fours à micro-ondes en fonctionnement, murs / obstacles physiques, température, etc.). L'utilisation cible est dans un environnement résidentiel et il y aura probablement des variations de température importantes (disons -20C à 50C).
- Débit de données. Ce n'est pas très important car j'attends très peu de données par échantillon (quelques octets au maximum).
Une autre question que j'ai est de savoir comment gérer plusieurs modules en essayant de transmettre des données en même temps. J'ai quelques réflexions sur la façon d'atténuer cela, mais je ne suis pas sûr de la solution à suivre:
Utilisez un décalage temporel aléatoire lorsque les données sont transmises. L'espoir est que les collisions seront simplement évitées. Ce serait probablement le plus simple à mettre en œuvre et utiliserait potentiellement le moins d'énergie. Cependant, cela ne garantit pas qu'il n'y aura pas de collisions. De plus, obtenir une bonne source de caractère aléatoire ou une graine pseudo-aléatoire unique peut causer des problèmes, mais pas insoluble.
Au réveil et lors d'une tentative de transmission, vérifiez s'il y a actuellement une transmission en cours. Attendez la fin de la transmission avant d'envoyer des données. Le problème devient alors comment gérer plusieurs capteurs dans l'état d'attente, car ils pourraient potentiellement tous les deux décider que la dernière transmission est terminée et les deux commencer à transmettre en même temps.
Une autre solution.