Ne perdez pas votre temps et faites la même erreur que des centaines de groupes de recherche (y compris le nôtre) depuis des décennies et jetez simplement des capteurs non spécifiques dans la nature sans savoir ce que vous voulez vraiment obtenir à la fin!
Il y a un beau papier de 2006 (!) Qui partage les expériences d'un déploiement dans le monde réel.
Langendoen, Koen, Aline Baggio et Otto Visser. " Murphy aime les
pommes de terre: expériences d'un déploiement pilote d'un réseau de capteurs en
agriculture de précision. " 20e Symposium international sur le traitement parallèle et distribué (IPDPS) 2006.
Soyez prêt pour ces problèmes et bien d'autres qui pourraient survenir et planifiez à l'avance et concentrez-vous sur votre cible!
Vous devez vous poser la question suivante: pourquoi est-ce que je veux construire le déploiement? Est-ce vraiment les données elles-mêmes que je veux collecter, est-ce que je veux évaluer et développer des protocoles réseau ou est-ce que je veux développer et tester un nouveau matériel? La réponse se traduit par des chemins très distincts:
Je veux obtenir les données!
Dans ce cas, essayez de vous fier autant que possible à des pratiques éprouvées. Achetez du matériel standard, utilisez des boîtiers de qualité industrielle, fournissez beaucoup plus de batteries que vous pensez que votre matériel nécessite et surveillez-les! Utilisez des logiciels déjà existants et bien testés et ne construisez pas tout à partir de zéro! Pensez même à ce qui suit: Ai-je vraiment besoin de connexions sans fil?
Bien sûr, il existe de nombreuses applications où vous avez vraiment besoin de centaines d'appareils de récupération d'énergie, sans fil, auto-organisés et minuscules. Mais utiliser ces techniques parce qu'elles sont cool est une perte de temps et d'argent.
Si vous voulez vraiment obtenir les données, rien n'est plus frustrant que de remarquer que rien que pour le jour le plus intéressant, aucune donnée n'est disponible car de l'eau s'est accumulée dans vos appareils (déjà là ...).
Je souhaite améliorer les protocoles des réseaux de capteurs sans fil!
Dans ce cas, concentrez-vous vraiment sur le noyau. Je parle ici des protocoles réseau, mais cela vaut également pour toutes les autres procédures et algorithmes dans le contexte IoT.
Pour la plupart des protocoles, peu importe s'ils transportent des données du monde réel ou juste du bruit pseudo-aléatoire. Alors pourquoi ne pas prendre la route facile, jeter vos capteurs et générer simplement des données aléatoires? Je recommande la procédure suivante:
- Pensez au problème que vous souhaitez résoudre. Quelle est votre question de recherche?
- Lis! Beaucoup de choses ont déjà été faites. De nombreux concepts se sont avérés bons, beaucoup d'autres non. Commencer avec des protocoles réseau à partir de zéro n'est qu'une perte de temps.
- Faites quelques évaluations théoriques. Est-il vraiment possible d'améliorer un protocole donné ou est-il déjà à la limite d'un principe? Shannon ne peut pas être dupe!
- Faites des simulations. Je suggère le framework OMNeT ++ / INET, mais il existe de nombreux frameworks. Mais ne partez pas de zéro. La plupart des composants sont déjà là pour votre commodité. Testez si vos idées fonctionnent dans l'environnement contrôlé d'un simulateur.
- Travail sur l'implémentation matérielle. Votre implémentation fonctionne-t-elle au moins sur votre bureau?
- Testez-le dans un banc d'essai déjà existant. Un exemple est le FIT IoT-LAB . Cela vous permet de tester votre implémentation avec du matériel du monde réel sans la charge de tous les problèmes découlant des bancs d'essais auto-fabriqués.
- Vous pouvez maintenant enfin planifier votre déploiement dans le monde réel et l'adapter au problème spécifique que vous souhaitez résoudre. Jusqu'à présent, vous devriez avoir une bonne idée de la densité de votre réseau, du nombre d'appareils qui ont un sens, de la façon dont ils doivent être distribués, du type de données à fournir, etc. Allez ensuite dans "Je veux obtenir les données!", Mais cette fois, vos données sont la mesure de performance que vous souhaitez tester.
Oui, c'est un long chemin à parcourir, mais il y a des étudiants qui le font pendant une thèse de maîtrise de six mois, donc c'est faisable et ça vaut vraiment la peine! Il y a déjà tellement de recherches dans ce domaine que sauter une étape n'est pas payant au final.
Je veux construire du matériel cool!
Si vous êtes surtout intéressé par la construction de matériel sympa, commencez par jouer avec le matériel existant. Réfléchissez ensuite à ce qui manque à ce matériel et à ce qui pourrait être amélioré. Peut-être que vous voulez simplement créer un boîtier agréable et étanche et voir comment cela fonctionne dans la pratique.
De toute façon, vous aurez besoin de plusieurs itérations, alors commencez par quelque chose de surdimensionné (par exemple en termes de RAM ou de mémoire persistante), puis supprimez les parties inutiles dans les futures itérations. C'est beaucoup plus satisfaisant que de reconnaître que le logiciel que vous souhaitez utiliser n'est que de 1 Ko trop volumineux après la production. Fournissez également de bonnes possibilités pour déboguer et évaluer votre matériel.
Même si vous n'avez pas besoin d'une interface série ou USB pour l'application finale, cela accélère beaucoup le développement. Si vous construisez un logement, fixez un capteur d'humidité et surveillez-le constamment au lieu d'attendre et de vérifier manuellement. Si vous intégrez un récupérateur d'énergie, surveillez les flux d'énergie, même si un CI de mesure de puissance précis peut être surdimensionné pour une application finale.
Pour la partie logicielle, faites confiance aux composants existants! Si vous construisez un banc d'essai parce que vous aimez construire du matériel et que vous ne savez pas vraiment quoi en faire, publiez-le! Il y a beaucoup de gens (voir ci-dessus) qui rêvent d'avoir accès à un déploiement dans le monde réel, donc ils seront heureux de fournir des logiciels.