Table des matières:

Station météo Tweeting : 8 étapes (avec photos)
Station météo Tweeting : 8 étapes (avec photos)

Vidéo: Station météo Tweeting : 8 étapes (avec photos)

Vidéo: Station météo Tweeting : 8 étapes (avec photos)
Vidéo: Une superbe station météo fiable avec grand écran couleur 2024, Novembre
Anonim
Station météo de tweet
Station météo de tweet

Vous avez toujours voulu surveiller les conditions météorologiques actuelles, l'empreinte carbone, le bruit et les niveaux de pollution de votre ville ? Voulez-vous être un croisé du changement climatique ou configurer votre propre station météorologique de tweet et partager vos conditions météorologiques locales avec le monde ?

Rencontrez Tweeting Weather IoT Station alias TWIST - une plate-forme de surveillance de l'environnement et d'acquisition de données météorologiques à code source ouvert. Le but de TWIST est de permettre aux individus et aux communautés de collecter des données sur ce qui se passe réellement dans leur environnement et de partager ces données sur les réseaux sociaux tels que Twitter.

  • TWIST est une plate-forme alimentée par l'Internet des objets (IoT).
  • Le cerveau de TWIST est une carte Intel Edison.
  • TWIST est compatible avec une variété de capteurs.
  • Tout le code, les fichiers de conception (schémas et mise en page PCB) sont Open-Source. Cela signifie que n'importe qui peut contribuer à la plate-forme TWIST en partageant le code et les schémas de différents capteurs.

TWIST se compose de trois couches technologiques:

La première couche est une carte matérielle qui contient tous les capteurs météorologiques et environnementaux connus sous le nom de « carte des capteurs ». Comme son nom l'indique, il embarque des capteurs qui mesurent la composition de l'air, la température, l'humidité, la pluie. Des capteurs supplémentaires comme l'activité sismique, l'indice UV, la pression barométrique, l'altitude, le lux (luminosité), les niveaux sonores, la vitesse et la direction du vent, etc. peuvent également être ajoutés. Une fois configurée, la Sensor Board est capable de transmettre les données mesurées par les capteurs à la deuxième couche. La deuxième couche est la carte Intel Edison qui reçoit les données de la carte à capteurs, les traite et les envoie à la couche suivante. La troisième couche connecte votre carte Edison à Internet via Wi-Fi en utilisant le module sans fil sur la carte Edison et les conditions météorologiques et environnementales actuelles de Tweet.

L'alimentation de l'appareil peut être fournie par un panneau solaire ou un adaptateur secteur.

Référentiels contrôlés par version

Les trois couches technologiques de TWIST sont Open-Source, et donc tous les fichiers que nous utilisons pour le code, le développement de PCB, la conception mécanique, etc. sont facilement disponibles sur notre référentiel Github.

Inscriptions au concours

Invitation Intel IoT

Je tiens à remercier Intel + Instructables de m'avoir fourni la carte Intel Edison. Je prévois de créer de nombreux autres Instructables liés à l'IoT à l'aide de la carte Edison.

#iotweatherstn

Si vous faites TWIST, n'oubliez pas de tweeter la météo en utilisant #iotweatherstn. #iotweatherstn peut être un hashtag utilisé par toutes les stations météo tweeting alimentées par l'IoT.

Étape 1: Pièces et matériaux

Pièces et matériaux
Pièces et matériaux
Pièces et matériaux
Pièces et matériaux
Pièces et matériaux
Pièces et matériaux

QuantitéPièceDétails 1

Intel Edison

avec Arduino Breakout Board

1

Capteur de gaz combustible MQ2

1

YL-83

Capteur de pluie

1

SL-HS-220

Capteur de température et d'humidité

1

Résistance

32K

4.7K

3 entretoises en métal 1 pouce

1

Résistance

32K

4.7K

2

Feuille de bois format A4

Peut plus tard être coupé en taille

3

Entretoise en métal

1 pouce

Étape 2: Conception électrique

Puissance

L'ensemble du système est alimenté par une alimentation 5V 1A. Les capteurs (température, humidité, pluie, gaz) consomment environ 200 mA, l'Edison autour de 500 mA. Étant donné que le courant total requis est inférieur à 1 ampère, une alimentation de 1 ampère devrait fonctionner correctement. La LED verte intégrée sur la broche numérique 13 de la carte Edison est utilisée pour afficher l'état de l'alimentation.

ControlAn Intel Edison dirige le spectacle pour TWIST. L'Edison est monté sur une carte de dérivation Arduino, ce qui facilite la lecture des signaux numériques et analogiques des capteurs. L'Edison est connecté au rail 5V via un câble micro USB. L'Edison dispose d'une radio Wi-Fi intégrée, ce qui lui permet de se connecter à Twitter sans avoir besoin de matériel supplémentaire.

Horloge en temps réel (RTC)

Étant donné que l'horodatage effectué automatiquement par Twitter pour chaque tweet a une résolution limitée au nombre total de jours depuis l'heure du Tweet, une horloge en temps réel est utilisée pour horodater avec précision la date et l'heure dans l'Heure-Minute. Deuxième format. L'horloge temps réel utilisée dans la plate-forme TWIST est le module DS-1307 RTC.

Capteurs La configuration la plus basique de ce système comprend quatre capteurs (température, humidité, pluie, gaz) qui se connectent à l'Edison. Des capteurs supplémentaires peuvent être ajoutés tels que le bruit, le vent, etc. Chaque capteur est directement alimenté par le rail 5 V et sa broche de signal est connectée respectivement aux broches analogiques A0 à A2 et à la broche numérique 2 sur la carte de dérivation Edison. Les capteurs ont également chacun un potentiomètre de réglage de la sensibilité monté sur chaque carte de capteur; Le MQ-2 est un capteur de gaz combustible (gaz de pétrole liquéfié, propane, hydrogène et méthane) qui délivre une tension analogique proportionnelle à la concentration de gaz en parties par million. Le SL-HS-220 a une thermistance qui donne la valeur de la température. La sortie de la thermistance étant non linéaire, la table de température correspondante est donnée dans le référentiel des capteurs. La thermistance nécessite un circuit diviseur de tension lorsqu'elle est connectée à la carte Edison comme indiqué dans le schéma de circuit. Le SL-HS-220 dispose également d'un hygromètre intégré qui mesure l'humidité et délivre une tension analogique qui correspond à une valeur d'humidité fixe. Le tableau humidité-tension est également donné dans le référentiel capteurs. Un substitut courant au SL-HS-220 est le capteur DHT11. Le capteur de pluie/capteur d'eau possède un potentiomètre qui est réglé pour donner une sortie numérique pour une certaine quantité de pluie dont la sensibilité peut être ajustée par l'utilisateur.

Station météo.fzz

Étape 3: Conception mécanique

Le corps du TWIST est composé de deux plaques de feuilles de bois. Bien que j'aie utilisé du contreplaqué 1/4", la conception peut être assemblée à partir de n'importe quel matériau en feuille car l'espacement (maintenu par des entretoises en aluminium de 1") est le seul élément critique. J'ai joint les fichiers vectoriels à télécharger ci-dessus.

Découpe au laser

Pour tous ceux qui souhaitent découper au laser les deux plaques, j'ai joint les fichiers de découpe laser à télécharger ci-dessous. Il comprend également un capteur de qualité de l'air supplémentaire dans sa conception. Ainsi, vous pouvez soit utiliser un module de capteur MQ2 soit un module de capteur de qualité de l'air selon votre choix.

Étape 4: Assemblage du cadre: Face et base

Façade

Les capteurs s'insèrent dans leurs trous et découpes correspondants et peuvent être fixés à l'aide de vis ou de colle.

Plaque de base

Les entretoises de la carte Edison sont vissées sur la plaque de base. Le convertisseur analogique-numérique (ADC) qui est connecté au capteur de pluie peut également être vissé sur la plaque de base.

Des composants supplémentaires tels que des buzzers ou le circuit régulateur de tension pour l'entrée solaire peuvent également être vissés sur la plaque de base.

La plaque de base et la plaque frontale sont toutes deux séparées par des entretoises de 1.

Étape 5: Assemblage de l'électronique et du capteur

Puissance

L'alimentation du système est fournie par un adaptateur mural avec une prise cylindrique standard qui est connectée directement au connecteur Edison's Barrel. Le système peut également être alimenté via le port USB de la carte Edison. Vous pouvez également alimenter la carte à partir d'un panneau solaire externe.

Capteurs

Les capteurs sont attachés à des cartes de dérivation avec des en-têtes mâles et peuvent donc être directement connectés à l'Edison via des câbles de raccordement mâle-femelle.

Étape 6: Configuration de Twitter

Afin de tweeter, nous utilisons une application tierce développée par NeoCat qui obtient le jeton Twitter dont vous aurez besoin pour tweeter avec votre tableau Edison. Les jetons peuvent également provenir de la page Web des développeurs de Twitter.

Alors, pour commencer, visitez le site Web de NeoCat, suivez son tutoriel pour obtenir la bibliothèque twitter et votre token twitter. Comme NeoCat l'a mentionné sur son site, veuillez ne pas abuser du service. Gardez vos tweets clairsemés. Si vous avez besoin de quelque chose qui tweete toutes les 6 secondes, vous devez configurer votre propre serveur et votre propre application Twitter. Par conséquent, le code que j'ai écrit garantit que le serveur de NeoCat ne surcharge pas (TWIST tweete toutes les 6 heures).

La bibliothèque utilise le site Web de NeoCat comme serveur proxy pour les éléments OAuth. Votre tweet peut ne pas être appliqué pendant la maintenance de ce site Web de NeoCat. Twitter semble rejeter les tweets répétés avec le même contenu (renvoie l'erreur 403).

Jeton Twitter

Bibliothèque de tweets Arduino

Étape 7: Logiciel et configuration

Suivez le guide d'installation d'Intel pour Intel Edsion avant de commencer à coder.

Le programme est un sketch Arduino fonctionnant sur l'Edison. J'ai expliqué chacun des principaux blocs de code ci-dessous.

Le code comprend des constantes prédéfinies, des déclarations de broches et quelques instructions d'impression en série qui aident au dépannage.

Délai de Tweet

Étant donné que Twitter filtre les tweets qui ont le même contenu et sont tweetés sur de courtes périodes entre chacun d'eux, un délai standard de 3 heures (10800000 millisecondes) entre chaque tweet a été défini.

tweetMessage();

retard(10800000);

Type de moulage

Une grande partie des lectures que nous obtenons des capteurs sont de type de données «int» ou «float». Mais puisque nous tweetons ces valeurs, nous devons les convertir en un type de données 'String'. Pour cela, nous utilisons une technique spéciale de moulage de type.

char *dtostrf (double val, largeur de caractère signé, prec de caractère non signé, char *sout) {

char fmt[100]; sprintf(fmt, "%%%d.%df", largeur, prec); sprintf(sout, fmt, val); retour sud; }

Jeton Twitter

Le jeton twitter est créé sur le site Web de NeoCat et doit être collé dans l'espace du jeton ici.

void tweetMessage() {

Twitter twitter (" ENTRER LE JETON TWITTER ICI ");

Tweeter les valeurs des capteurs

Afin de tweeter la valeur du capteur, nous incluons d'abord le type de capteur; Exemple: "Humidité". Ceci est suivi d'une déclaration de caractère et d'une ligne de code requise pour le transtypage. Ensuite, nous ajoutons une déclaration pour l'unité de mesure; Exemple: "%HR". Nous pouvons continuer à ajouter des valeurs d'autres capteurs de la même manière.

humidité(); flotteur humide;

//Message Twitter String stringMsg = "Humidity:"; caractère tmp[10]; dtostrf(humide, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Emplacement et marquage de la station météo

Ensuite, nous taguons l'emplacement (Ville, Localité, etc.) et d'autres tags comme #iotweatherstn.

stringMsg += " #Mumbai #Bandra #iotweatherstn ";

Horloge en temps réel (RTC)

Comme expliqué précédemment, TWIST peut également tweeter les données de l'horloge en temps réel. Vous trouverez ci-dessous un exemple du bloc de code de paramètre « jour » du RTC. La fonction d'horloge en temps réel est facultative dans la plate-forme TWIST puisque le module est fourni séparément. Par conséquent, il existe une branche distincte créée dans le référentiel TWIST pour le code et les schémas de la branche Real Time Clock.

TwistDateTime(); DateHeure maintenant = rtc.now(); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day[10]; dtostrf(twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

Limite de 140 caractères

Ce bloc de code convertit le tableau de chaînes en un tableau de 140 caractères prêt à tweeter.

char msg[140];

stringMsg.toCharArray(msg, 140);

Dépannage des messages et de la connexion

Ce bloc de code imprime quelques lignes de texte dans le moniteur série pour aider l'utilisateur à vérifier l'état du message et du tweet.

//Tweeter ce meunier !

if (twitter.post(msg)) { int status = twitter.wait(); if (statut == 200) { Serial.println("OK."); Serial.println("Message tweeté"); } else { //Test de connexion Serial.print("échec: code "); Serial.println("Message non tweeté"); Serial.println(statut); } } else { Serial.println("la connexion a échoué."); Serial.println("Message non tweeté"); }

Tous les autres blocs de code convertissent simplement la lecture analogique ou numérique des capteurs en données utilisables.

Le code peut être téléchargé à partir d'ici ou du référentiel principal:

Station météo.ino

Étape 8: Contribuer au référentiel de capteurs

Êtes-vous un programmeur, un ingénieur ou un concepteur qui a une idée géniale pour une nouvelle fonctionnalité dans TWIST ? Peut-être avez-vous une bonne idée pour une correction de bogue ? N'hésitez pas à récupérer notre code, nos schémas et nos fichiers CAO sur Github et à les bricoler.

TWIST GitHub

Invitation Intel® IoT
Invitation Intel® IoT
Invitation Intel® IoT
Invitation Intel® IoT

Deuxième prix du Intel® IoT Invitational

Conseillé: