Envoyer les données du capteur (DHT11 & BMP180) à ThingSpeak avec un Arduino, en utilisant un câble ou WiFi (ESP8266) (2 / 5 étapes)

Étape 2: Le programme

Ci-dessous, vous trouverez le code complet.
Juste quelques remarques :
Le BMP180 est une version actualisée de la BMP085. Les bibliothèques BMP085 sont compatibles avec le BMP180.
AdaFruit a 2 versions de la bibliothèque. J’ai pris la version 1 comme je l’ai trouvé plus facile de travailler avec. Version 2 requiert également l’installation de la bibliothèque « Capteur ».
Dans le code, je présente aussi un flotteur supplémentaire : suis '. qui donne la pression en « mmHg » que je n’ai pas utilisé de maintenant il n’y a aucune conversion de chaîne encore et il n’est pas ajouté à la datastream, mais ajoutant il devrait maintenant être aussi simple que 1 + 1

/ * Arduino--> ThingSpeak canal via Ethernet et Ethernet l’esquisse ThingSpeak Client est conçu pour l’Arduino. Cette esquisse met à jour un canal d’alimentation avec une lecture d’entrée analogique via l’API ThingSpeak (http://community.thingspeak.com/documentation/) à l’aide de HTTP POST. L’Arduino utilise DHCP et DNS pour une configuration de réseau simple. L’esquisse comprend également un chien de garde / Reset function pour s’assurer que l’Arduino reste connecté et/ou regagne connectivité après une panne de réseau. Utilisez le Serial Monitor sur l’IDE Arduino pour voir vos commentaires verbeux réseau et ThingSpeak état de la connectivité. Débuter avec ThingSpeak: * Sign Up pour le nouveau compte d’utilisateur - < a href = « https://www.thingspeak.com/users/new » rel = « nofollow » > https://www.thingspeak.com/users/new < /a > * entrer une adresse MAC dans ce sketch sous « Paramètres de réseau Local » * créer une nouvelle chaîne en sélectionnant des canaux, puis Create New Channel * entrez la clé API écrire dans ce sketch sous « Paramètres ThingSpeak » Arduino exigences : * Arduino Ethernet Shield ou Arduino Ethernet * Arduino 1.0 IDE configuration réseau requise: * port Ethernet sur routeur * DHCP activé sur le routeur * adresse MAC Unique pour Arduino créé : 17 octobre 2011 par Hans Scharler (http://www.iamshadowlord.com) des crédits supplémentaires : exemple de croquis des équipe Arduino Ethernet par Adrian McEwen ajouté dht11/BMP180 a montré dtostrf fonction de diy_bloke 22/11/2014 * / #include < SPI.h > #include < Ethernet.h > #include < dht11.h > #include < Wire.h > #include < Adafruit_BMP085.h > / / C’est la bibliothèque de la version 1 #define DHT11PIN 4 / / la température/humidité capteur Adafruit_BMP085 bmp ; dht11 DHT11 ; Paramètres du réseau local mac Byte = {0xD4, 0 x 28, 0xB2, 0xFF, 0xA0, 0xA1} ; Doit être unique sur le réseau local / / ThingSpeak paramètres char thingSpeakAddress [] = "api.thingspeak.com" ; String writeAPIKey = « REPLACE_THIS_BY_YOUR_API_BUT_KEEP_THE_QUOTES » ; const int updateThingSpeakInterval = 16 * 1000 ; Intervalle de temps en millisecondes pour mettre à jour ThingSpeak (nombre de secondes * 1000 = intervalle) / / Configuration Variable long lastConnectionTime = 0 ; lastConnected booléen = false ; int failedCounter = 0 ; Initialiser l’Arduino Ethernet Client EthernetClient client ; void setup() {/ / Start série pour le débogage sur le Serial Serial.begin(9600) moniteur; / / démarrage Ethernet sur Arduino startEthernet();} void loop() {/ / lire la valeur de la broche d’entrée analogique 0 String analogPin0 = String(analogRead(A0), DEC); / / imprimer la réponse mise à jour de Serial Monitor si (client.available()) {char c = client.read() ; Serial.Print(c) ; } //---DHT11---int chk = DHT11.read(DHT11PIN) ; char t_buffer [10] ; char h_buffer [10] ; float t=(DHT11.temperature) ; String temp=dtostrf(t,0,5,t_buffer) ; Serial.Print(temp) ; Serial.Print("") ; float h=(DHT11.humidity) ; String humid=dtostrf(h,0,5,h_buffer) ; Serial.println(Humid) ; ---BMP180---bmp.begin() ; flotteur p = (bmp.readPressure () / 100,0); //this est pour la pression en hectoPascal float m=(bmp.readPressure()/133.3); / / il s’agit de la pression en mmHG float t2=(bmp.readTemperature()) ; char p_buffer [15] ; char t2_buffer [10] ; String pres=dtostrf(p,0,5,p_buffer) ; String temp2=dtostrf(t2,0,5,t2_buffer) ; Serial.println(pres) ; } / /---/ / Débrancher ThingSpeak si (! client.connected() & & lastConnected) {Serial.println("...disconnected") ; Serial.println() ; client.Stop() ; } / / Mise à jour ThingSpeak si ()
! client.connected() & & (millis() - lastConnectionTime > updateThingSpeakInterval)) {updateThingSpeak ("champ1 ="+ temp +"& champ2 ="+ humide +"& field3 ="+ pres +"& field4 =" + temp2);} / / vérifier si Arduino Ethernet doit être redémarré si (failedCounter > 3) {startEthernet();} lastConnected = client.connected() ; } void updateThingSpeak (String tsData) {si (client.connect (thingSpeakAddress, 80)) {client.print ("POST/Update HTTP/1.1\n"); client.print ("Host : api.thingspeak.com\n"); client.print ("connexion : close\n"); client.print ("X-THINGSPEAKAPIKEY:" + writeAPIKey + "\n"); client.print ("Content-Type : application/x-www-formulaires-urlencoded \n"); client.print ("Content-Length:") ; client.Print(tsData.length()) ; client.Print("\n\n") ; client.Print(tsData) ; lastConnectionTime = millis() ; Si (client.connected()) {Serial.println ("Connecting to ThingSpeak...") ; Serial.println() ; failedCounter = 0 ; } else {failedCounter ++ ; Serial.println ("Connection to ThingSpeak a échoué ("+ String(failedCounter, DEC) +")") ; Serial.println() ; }} else {failedCounter ++ ; Serial.println ("Connection to ThingSpeak a échoué ("+ String(failedCounter, DEC) +")") ; Serial.println() ; lastConnectionTime = millis() ; Sub}} startEthernet() {client.stop() ; Serial.println ("connexion Arduino pour réseau...") ; Serial.println() ; Delay(1000) ; Se connecter au réseau amd obtenir une adresse IP via DHCP si (Ethernet.begin(mac) == 0) {Serial.println ("DHCP a échoué, reset Arduino pour essayer à nouveau") ; Serial.println() ; } else {Serial.println ("Arduino connectée au réseau via DHCP") ; Serial.println() ; } delay(1000) ; }

Articles Liés

Envoyer les données du capteur (DHT11 & BMP180) à ThingSpeak avec un Arduino, à l’aide de ENC28J60 Ethercard

Envoyer les données du capteur (DHT11 & BMP180) à ThingSpeak avec un Arduino, à l’aide de ENC28J60 Ethercard

Remarque : Cette instructable est pour les vieux ENC26J60 Ethershield et ethercard. Si vous avez le WIZ5100 moderne basé Ethernetshield ou un ESP8266 aller visiter mes autres instructable que je mentionne ci-dessousEnviron un an et demi que j'ai publ
Marque : on Robotics Starter Kit - envoi de données de capteur sans fil

Marque : on Robotics Starter Kit - envoi de données de capteur sans fil

Dans ce Instructable, nous allons prendre ce que nous avons appris à « Make : on Robotics Starter Kit – Wireless Connectivity » et « Make : on Robotics Starter Kit – capture données capteur » et associer ces données pour capturer les données des capt
Savez-vous comment envoyer des données du capteur de l’Arduino pour opacifier (chose + serveur)

Savez-vous comment envoyer des données du capteur de l’Arduino pour opacifier (chose + serveur)

Je sais la plateforme Arduino pour ITO. Donc, j'ai implémenté un firmware d'Arduino par modification Ethenert SW parce que je peux gérer un code source facilement. Vous pouvez connaître l'état du matériel même si c'est à ce jour. S'il vous plaît se r
GEO Data Logger : Arduino + GPS + SD + accéléromètre pour enregistrer, horodatage et les données des capteurs géo-tag

GEO Data Logger : Arduino + GPS + SD + accéléromètre pour enregistrer, horodatage et les données des capteurs géo-tag

mises à jour17 octobre 2013: J'ai publié un guide sur l'utilisation de votre téléphone Android pour accomplir une tâche similaire en s'appuyant sur votre Android appareil construit dans le GPS et les capteurs.6 février 2013: En vedette sur GeoAwesome
Afficher les données des capteurs domotique à nuages et temps réel en une application web

Afficher les données des capteurs domotique à nuages et temps réel en une application web

Ce Edison Intel avec capteurs domotique se veut une station domotique maison que vous pouvez placer n'importe où et il ont lu l'entourage actuel qui envoient dans les nuages et étalez-les sur une application web ou une application mobile.IDE : Arduin
Envoi des données de capteur de température à la base de données d’Azur

Envoi des données de capteur de température à la base de données d’Azur

Ce projet utilise une framboise de Pi B + joint à 2 capteurs de température et envoie des données à une source de données Azure qui peut être utilisée pour créer des graphiques.Un tas de mon code d'accès à des capteurs de température provient de la A
Utilisez les LEGO Mindstorm RCX capteur de lumière avec Arduino (programme Visuino)

Utilisez les LEGO Mindstorm RCX capteur de lumière avec Arduino (programme Visuino)

Dans ce Instructable, vous allez apprendre à programmer Arduino au contrôle et à obtenir des données du Capteur de lumière de LEGO Mindstorm RCX avec l'aide de Visuino - un environnement de développement graphique facile à utiliser pour Arduino.Veuil
Arduino Nano : Température et humidité Module de capteur DHT11/DHT21/DHT22 avec Visuino

Arduino Nano : Température et humidité Module de capteur DHT11/DHT21/DHT22 avec Visuino

DTH11 / DTH21 / DTH22 et AM2301sont des capteurs de température et humidité Arduino combinés très populaires.Dans ce Instructable, je vais vous montrer, comment il est facile de programmer Arduino pour les utiliser avec Visuino - un environnement de
Construire votre premier ITO avec un capteur DHT11 et Raspberry Pi, Thingspeak.

Construire votre premier ITO avec un capteur DHT11 et Raspberry Pi, Thingspeak.

IOT ou Internet of Things est un sujet d'actualité ! Selon les experts tout sera relié à l'internet et tous nos appareils et leurs données seront bientôt juste une adresse IP s'éloigne de nous. Alors par où commencer si vous voulez explorer le monde
Atelier de IoT : Lab 4 - envoi des données vers le nuage

Atelier de IoT : Lab 4 - envoi des données vers le nuage

Dans cet atelier vous construire une application simple détection de lumière ambiante (similaire à Lab 2) et envoyer les données que nous recueillons dans le nuage. Vous allez utiliser l'azote pour envoyer des données vers une passerelle de nuage et
Enregistreur de données de capteur de luminosité et de température

Enregistreur de données de capteur de luminosité et de température

Dans ce tutoriel, je fais une température et un enregistreur de données de capteur de lumière avec un Arduino pour que je peux tester les différents endroits des plantes ou des endroits pour dormir à l'extérieur durant l'été qui n'obtiennent pas de b
Vivent les données vers excel d’un capteur de lumière Arduino

Vivent les données vers excel d’un capteur de lumière Arduino

J'ai commencé ce petit projet à l'autre jour quand j'ai vu que Instructables avait affiché une concurrence pour l'utilisation de capteurs, cependant sa en passe de devenir un peu plus intéressant.Mon idée de départ était de prendre un projet très sim
Visualiser les données provenant de capteurs utilisant Arduino + coolterm

Visualiser les données provenant de capteurs utilisant Arduino + coolterm

une fois que vous obtenez des valeurs des capteurs, par exemple en utilisant l'Arduino, (voir mon précédent instructable), parfois c'est agréable de voir les données du capteur dans un graphe.Voici comment en quelques étapes seulement !J'ai fait cett
Twitter contrôlée Arduino sorties - aucun PC - affichage à cristaux liquides + données de capteur à Twitter

Twitter contrôlée Arduino sorties - aucun PC - affichage à cristaux liquides + données de capteur à Twitter

contrôle numérique des pins par les messages de Twitter. Lectures du capteur renvoyés à Twitter.MODIFIÉ par JOHN DINGLEY de Twitter2LCD, originellement écrit par Fabrizio GranelliVoir * Vous pouvez envoyer des messages texte à l'écran LCD Arduino de