Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire un réseau de capteurs sans fil dans votre maison

Ce didacticiel vous apprendra à créer un réseau de modules de capteurs sans fil rentables. De nombreux modules sans fil prêts à l'emploi peuvent être trop coûteux pour être utilisés dans plusieurs unités de capteurs. Alors que les modules Wi-Fi et Zigbee sont populaires et faciles à utiliser, leur coût peut rendre leur utilisation dans une gamme de capteurs peu pratique. Il existe cependant des modules RF à faible coût sans toutes les fonctionnalités coûteuses qui fonctionneront parfaitement à ces fins. La plate-forme Arduino peut utiliser des modules radio bas de gamme pour communiquer facilement et de manière fiable.

Une fois le matériel assemblé, vous tirerez parti de la plate-forme Raspberry Pi pour publier les données sur le service Internet des objets de Xively où vous pourrez suivre les valeurs au fil du temps et déclencher sur des conditions de seuil.

Ce projet comprendra trois parties, deux unités émettrices et une unité réceptrice. Les émetteurs sont constitués d'une carte Arduino, d'un capteur et d'un émetteur RF. Le récepteur est composé d'une carte Arduino, d'un récepteur RF, d'un convertisseur de niveau logique et d'un Raspberry Pi.

Il existe une large gamme de cartes compatibles Arduino qui peuvent être utilisées pour ce projet. La configuration minimale requise pour la carte pour ce projet est de deux broches GPIO numériques et une broche analogique. Sélectionnez une carte compatible Arduino qui correspond aux besoins de coût et de simplicité de ce projet.

Dans ce tutoriel, j'ai utilisé un ensemble de cartes Arduino Nano qui s'intègrent bien dans une maquette et sont simples à programmer. Cependant, les versions 5V de l'Arduino pro mini ou du Trinket fonctionneront également bien et à un prix beaucoup plus bas. Ceux-ci nécessitent cependant un peu plus d'expérience pour programmer et utiliser. Choisissez judicieusement.

Les émetteurs eux-mêmes sont des circuits relativement simples. Une seule broche est utilisée pour récupérer les informations du capteur de température et d'humidité et une seule broche est utilisée pour envoyer ces données à l'émetteur RF. Le schéma de la maquette est présenté ci-dessous.

L'alimentation 9V se connectera au connecteur cylindrique rendant les rails inférieurs 9V. Le régulateur de puissance de l'Arduino produira 5 V qui peut être utilisé en toute sécurité pour la radio et les capteurs, le rail d'alimentation supérieur du schéma.

Le capteur est livré avec une résistance de 10 kohms qui connecte la broche de données à l'alimentation en tant que résistance de rappel tandis qu'un autre fil le connecte au GPIO D3.

Veillez à suivre la configuration ci-dessous et assurez-vous de vérifier la fiche technique du capteur et du module RF pour vous assurer que les composants sont correctement positionnés dans la maquette et que les broches d'alimentation, de terre et de signal sont connectées aux bonnes broches. Le diagramme fritzing est inclus dans le package source pour plus de détails.

L'antenne est une partie importante de la carte car le module RF n'a pas d'antenne intégrée. J'ai utilisé un câble de raccordement femelle à mâle de 6 pouces branché sur la planche à pain et cela a assez bien fonctionné pour permettre la réception de toutes les parties de ma maison et un peu à l'extérieur. Comme indiqué dans le schéma, 6,5 pouces est optimal pour cette antenne si vous avez besoin d'une portée supplémentaire.

Une note sur l'utilisation des RF. Il existe différentes lois et règles concernant l'utilisation des fréquences dans différents pays. Veuillez vous assurer que vous êtes en conformité avec ces règles avant de diffuser. Cela étant dit, les signaux de ces modules sont à peine assez puissants pour passer à l'extérieur de votre maison. Dans des conditions parfaites, cependant, ces modules peuvent diffuser jusqu'à 500 pieds.

L'émetteur utilise deux bibliothèques qui ne sont pas fournies avec l'IDE Arduino. Téléchargez les bibliothèques comme décrit ci-dessous et décompressez-les dans votre répertoire sketch dans un sous-répertoire nommé Libraries.

Ce tutoriel suppose que vous avez une certaine expérience avec Arduino et comment les programmer à l'aide de l'IDE Arduino. Si vous ne le faites pas, il existe de très bonnes instructions sur le site officiel d'Arduino.

12345 #define MYID 1      //le numéro d'identification de cette carte. Changez cela pour chaque tableau que vous flashez.                      //L'ID sera transmis avec les données afin que vous puissiez savoir quel appareil transmet #define TRANSPIN 3  //sur quelle broche transmettre #define DHTPIN 4     // à quelle broche le DHT est connecté #define UNIT 0      // 0 pour Fahrenheit et 1 pour Celsius

La définition MYID est un identifiant numérique que l'émetteur utilise pour s'identifier de manière unique. Parce que vous aurez plusieurs émetteurs à différents endroits, il est important d'avoir un identifiant unique pour chacun. Ce numéro sera à nouveau utilisé lors de la configuration du script du récepteur.

La fenêtre Serial Monitor réinitialise l'Arduino, vous devriez donc voir une ligne de code à l'écran qui ressemble à :

12 Humidité : 44,00 %    Température :60,80 *F Envoi du message :ID:1:TS:23143:TF:60.79:RH:44.00

Le message est composé de paires Nom:Valeur que le récepteur traitera. L'émetteur lira et diffusera son signal sur un long intervalle aléatoire. Les capteurs ne changent pas beaucoup ou fréquemment, donc diffuser plus d'une fois par minute n'ajoute aucune valeur. Le temps d'attente aléatoire est de permettre à plusieurs capteurs de coexister.

Même s'il y a doublement et que le signal des deux émetteurs est perdu, l'intervalle aléatoire garantira que leurs prochaines diffusions ne se chevaucheront pas. La valeur de départ aléatoire pour cet intervalle est définie à partir d'une lecture analogique sur un port analogique inutilisé qui renverra des valeurs aléatoires pour s'assurer qu'il n'y a pas deux émetteurs sur le même modèle.

L'exemple de code générant la sortie ci-dessus est défini pour utiliser Fahrenheit. Vous pouvez voir l'identifiant TF:60.79 dans la chaîne de message indiquant que mon laboratoire n'est en effet qu'un cheveu de moins de 61 degrés. Cependant, l'humidité relative RH : 44,00 est un confortable 44%. On pourrait déduire de l'environnement frais et humide que mon laboratoire est dans mon sous-sol. On a peut-être raison.

Les émetteurs sont configurés pour attendre 2 à 5 minutes entre les diffusions par défaut. Si vous souhaitez accélérer cela à des fins de débogage, modifiez la valeur de delay() à la fin de l'esquisse pour qu'elle ressemble davantage à 5000 (ms). Il est fortement recommandé de modifier cela et de télécharger à nouveau le code sur vos émetteurs lorsque vous êtes prêt pour une utilisation à temps plein.

La carte réceptrice sera chargée de recevoir le message de diffusion sur son composant récepteur RF et d'envoyer ce message via des fils série au Raspberry Pi. La carte Arduino est utilisée pour recevoir le signal pour plusieurs raisons très importantes. Le code VirtualWire utilise la nature en temps réel de l'Arduino pour gérer la modulation et la démodulation du signal.

Cela signifie que l'unité de réception doit fonctionner à la même fréquence. De plus, il y a peu de place pour le jitter sur le processeur de réception, auquel le Raspberry Pi est sujet, en raison de son système d'exploitation préemptif et non temps réel. La comparaison des coûts d'un Arduino Pro Mini plus le module récepteur RF à celui d'un module Zigbee qui pourrait parler directement au Raspberry Pi a révélé que l'utilisation d'un Arduino externe était encore assez économique.

À ce stade, ne fixez PAS les fils 5V et de masse du Pi à la planche à pain. Gardez les cavaliers à portée de main, mais vous ne voulez pas alimenter l'Arduino à la fois depuis le port USB et le Raspberry Pi.

Notez que le convertisseur de niveau logique dans la liste des matériaux ci-dessus n'est pas exactement le même que celui de la bibliothèque Fritzing, mais les broches sont bien étiquetées, juste à des endroits différents. Veuillez vous assurer que les fils corrects sont connectés aux broches correctes sur le convertisseur de niveau logique réel.

Ce composant est nécessaire pour convertir le signal série 5V Arduino en un signal série 3,3V Raspberry Pi et ne pas endommager le Pi. Voir l'image ci-dessous pour une aide supplémentaire.

Pour plus de détails : Construire un réseau de capteurs sans fil dans votre maison


Processus de fabrication

  1. Réseaux de capteurs sans fil :6 choses à retenir lors du changement de technologie
  2. Qu'est-ce qu'un réseau de capteurs sans fil à faible consommation ?
  3. Interface avec capteur d'allée sans fil
  4. Créer un réseau de capteurs pour un moulin à farine du XVIIIe siècle
  5. Comment alimenter et entretenir vos réseaux de capteurs sans fil
  6. Transfert de données magnétique sans fil
  7. Surveillance du CO2 avec le capteur K30
  8. Comment mesurez-vous ?
  9. Réseau de capteurs sans fil longue portée