WiFi activé Arduino - interfaçage avec web APIs (4 / 7 étapes)

Étape 4: Étape 4: le Code

Donc, je suis sûr à ce stade, la plupart d'entre vous est familier avec l’IDE Arduino. Nous allons utiliser que pour télécharger notre code d’accesseur Get météo sur l’Arduino. J’ai joint une version nettoyée et documentée du code à cette étape, mais nous allons passer dessus un peu ici (pas laborieusement, juste assez pour vous comprenez ce qui se passe).

La première partie du code est notre #defines, juste pour rendre la vie un peu plus facile. Nous avons aussi quelques variable en haut qui nous aident à analyser les données un peu plus faciles.

Setup() fonction

Nous y voilà, c’est comment nous nous connectons nos ESP à notre Arduino. J’ai réservé un espace en haut pour la chaîne de réponse. Il s’agit d’un cale-over d’une itération précédente du code qui avait répété pile tombe en panne, parce que la. JSON accablé juste mon petit micro. Vous pouvez probablement jeter cette ligne de code sur, je l’ai gardé. Après cela, vous voyez que je démarre un I2C (TWI, fil, SMB, quoi que...) connexion. C’est où mes données se passe réellement. Vient ensuite le numéro de série. Il s’agit de la connexion à l’ESP, vous remarquerez la 115200 baud. C’est SUPER important de faire les choses, sinon votre Arduino est parlant l’anglais et l’ESP est parlant cantonais et tout le monde est confus. Vous remarquerez que les commandes AT sont de retour, que je vous ai dit qu’ils serait importants ! Notre code vérifie d’abord s’assurer que l’appareil est prêt à effectuer une réinitialisation du logiciel et d’attendre l’ESP répondre. Après cela, nous avons mis l’ESP en mode station et autoriser les connexions multiples. Nous pouvons nous connecter à APs multiples, mais pour notre usage maintenant nous n’utiliserons une des connexions. C’est suite à une tentative de connexion au WiFi (fonction suivante nous regardons). Une fois que nous avons avec succès (j’espère) connecté au WiFi nous pousser et vous connecter à notre hôte (dans ce cas Wunderground).

connectWiFi() Function

Cette fonction est la viande et pommes de terre de notre code. Donc ce que nous avons ici est une commande (AT + CWJAP) qui est révélateur de notre ESP pour rejoindre un point d’accès. Elle est suivie de l’AP SSID et le mot de passe. Si l’ESP renvoie « OK » puis nous avons rejoint avec succès de l’AP. Si ce n’est pas le cas, la connexion a échoué. Si vous utilisez un méga ou autre multiples serial microcontrôleur, que vous pouvez lui affecter jusqu'à messages envoyer le PC de ce qui se passe. Je vous envoie mes données sur I2C d’un FPGA, donc j’ai juste jeté les réponses.

Loop() fonction

Il s’agit de la dernière plus grande partie du code. Cette zone se connecte à l’API de Weather Underground et télécharge les données. Une fois l’ESP commence à envoyer des données en arrière nous pousser dans la variable de chaîne de réponse que nous avons déclaré plus tôt. J’ai capturé les données ligne par ligne (commençant par "et finissant avec), et cherché les données j’ai besoin (temp_f et météo). Cela permet de maintenir la quantité de données que l’Arduino essaie de magasin/analyser à la fois à un minimum.

Autres fonctions

La plupart de ce code est assez bien documenté, donc vous devriez être en mesure de comprendre ce qui se passe dans le reste de celui-ci. J’ai traverser et recherchez temp_f et météo. J’ai ensuite convertir ces valeurs en octets à envoyer à mon FPGA (en gardant la taille minimale). J’ai converti le temps en une valeur de 1 octet. Cela me donne jusqu'à 256 codes météo différents. J’ai ensuite utilisé une méthode simple pour convertir la température en décimale codée en binaire et envoyer que pour le FPGA dans 2 paquets de 1 octet (total sur un afficheur sept segments de 4 chiffres).

Crédits

Ce code s’est partiellement de mon propre travail et partiellement de celui des autres. Je ne me souviens pas de toutes les sources que j’ai pu glaner des idées et le code de, mais si quelqu'un d'entre vous arrive à d’autres travaux qui ressemble à ceci, faites le moi savent. J’aimerais donner le crédit où elle est due.

  • cleanWunderground.ino

Articles Liés

SIM900A interfaçage avec Arduino UNO et Running AT simples commandes

SIM900A interfaçage avec Arduino UNO et Running AT simples commandes

Bonjour les gars,J'ai mon nouveau module SIM900A de SIMCom. Je faisais face à des problèmes tout en elle interagira avec Arduino Mega.Puis j'ai essayé il interface avec arduino UNO. Donc dans ce instructable je vais vous montrer comment j'ai surmonté
Objet numérique compteur à l’aide de LDR interfaçage avec Mediatek LinkIt One

Objet numérique compteur à l’aide de LDR interfaçage avec Mediatek LinkIt One

Dans ce Instructable, vous serez en mesure à Mediatek Linkit une carte d'Interface à l'aide de LDR et compteur d'objet numérique qui peut comte objets jusqu'à 9999.Étape 1: exigences Usage général PCB bord4 CD 4026 Johnson décennie Counter.4 communes
Boulon d’interfaçage avec Arduino : Boulon UART

Boulon d’interfaçage avec Arduino : Boulon UART

IntroductionCette instructable faite pour les utilisateurs de boulon qui souhaitent l'obturateur hardware Arduino Uno d'interface ou tout simplement envie d'expérimenter avec l'UART de boulon.Conditions préalablesAccès à l'atelier de boulon ITO et sa
Écran tactile 4 fils interfaçage avec Arduino

Écran tactile 4 fils interfaçage avec Arduino

Ce tutoriel montre comment l'interface écran tactile 4 fils en utilisant Arduino. Ce tutoriel est utile pour tous les microcontrôleurs de savoir comment s'interfacer Reisistive TouchscreenAffichages d'écran tactile résistif sont composés de plusieurs
Arduino MATLAB - interfaçage avec accéléromètre ADXL330

Arduino MATLAB - interfaçage avec accéléromètre ADXL330

Seeeduino MEGA 2560 avec ADXL330Référence :http://Arduino.cc/en/Tutorial/ADXL3xxhttp://Playground.Arduino.cc/main/ADX...https://www.Sparkfun.com/datasheets/C...Pour plus de projets, s'il vous plaît visitez - http://retardokiddo.blogspot.sg/
MediaTek Sandbox interfaçage avec LinkIt One

MediaTek Sandbox interfaçage avec LinkIt One

Le Sandbox de nuage MediaTek est une plate-forme de cloud pour les projets de l'ITO. Bien qu'il existe plusieurs plates-formes disponibles maintenant, celui-ci est faite par le fabricant ! Ainsi, l'intégration avec votre matériel est sans faille.Dans
Affichage à LED 7 segments interfaçage avec FT232

Affichage à LED 7 segments interfaçage avec FT232

Nous allons dans ce Instructable pour contrôler un afficheur 7 segments LEDsans utiliser un microcontrôleur (un microcontrôleur moins affichage) et afficher les caractères alphanumériques sur elle.Ici nous allons utiliser un USB FT232 à puce série d'
Accéléromètre, interfaçage avec une planche Mediatek Linkit

Accéléromètre, interfaçage avec une planche Mediatek Linkit

Aujourd'hui, je vais montrer comment Mediatek Linkitone Conseil travaille avec accellerometer ADXL335.Le ADXL335 est un petite, mince, faible consommation, complète accéléromètre 3 axesavec signal conditionné sorties de tension. L'accélération des me
Servo moteur de balayage Mode interfaçage avec une planche Mediatek Linkit

Servo moteur de balayage Mode interfaçage avec une planche Mediatek Linkit

Un servomoteur est un vérin rotatif ou actionneur linéaire qui permet un contrôle précis de la position angulaire ou linéaire, de vitesse et d'accélération. [1] il se compose d'un moteur approprié couplé à un capteur de position. Il requiert égalemen
* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

LED-tour « Hello », Vu-mètre avancé de détection musique sans qu'avec Arduino d'ICet l'interfaçage avec le logiciel PC Windows ! Salut, tout le monde.Ce qui rend ce projet cool c'est le fait, que sa musique de télédétection, contrairement aux traditi
Interfaçage RFID avec microcontrôleur 8051

Interfaçage RFID avec microcontrôleur 8051

cette vidéo montre le travail de RFID interfacé avec microcontrôleur 8051 (AT89C51).Pour circuit diagramme et le code source en C, s'il vous plaît visitez RFID interfaçage avec 8051
Interfaçage GY 26 avec atmega640

Interfaçage GY 26 avec atmega640

Bonjour ami une fois de plus avec les nouveaux instructable dans ce que je vous montrera comment interfacer GY 26 avec UART quand j'ai commencé à travailler sur ce très moins de ressources où disponible sur internet. Donc j'ai pensé partager mon trav
Contrôler l’Arduino avec python basé web API (pas de php)

Contrôler l’Arduino avec python basé web API (pas de php)

Dans ce guide, je vais vous montrer comment contrôler votre appareil arduino d'une page Web ! Par la suite, je vais vous montrer comment contrôler votre arduino depuis votre appareil mobile et même créer une API basée sur le web pour contrôler votre
Interfaçage des moteurs avec Arduino

Interfaçage des moteurs avec Arduino

Interfaçage des différents types de moteurs avec un microcontrôleur est parmi les compétences les plus fondamentaux, un passionné de maker/robotique besoins au maître. Dans ce projet je vais accumuler du précédent projet Smart Phone contrôlée LED s'a