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

Étape 2: Le code

Le programme. Instructables n’étant pas grand dans le code de publication, je suggère d’utiliser le fichier que j’ai ajouté

 // The full development history of this code is in the attached file #include <EtherCard.h> // if this library disappeared, it is EtherCard.h #include <Wire.h> // it is Wire.h #include <Adafruit_BMP085.h> // it is Adafruit_BMP085.h #include <dht11.h> // it is dht11.h #define DHT11PIN 2 Adafruit_BMP085 bmp; dht11 DHT11; #define APIKEY "QTRR4654FRE3" // put your key here #define ethCSpin 10 // put your CS/SS pin here. // ethernet interface mac address, must be unique on the LAN static byte mymac[] = { 0x75,0x68,0x68,0x68,0x68,0x68 }; const char website[] PROGMEM = "api.thingspeak.com"; byte Ethernet::buffer[700]; uint32_t timer; Stash stash; byte session; //timing variable int res = 100; // was 0 void setup () { Serial.begin(9600); Serial.println("\n[ThingSpeak example]"); //Initialize Ethernet initialize_ethernet(); } void loop () { //------DHT11-------- int chk = DHT11.read(DHT11PIN); int t=(DHT11.temperature); int h=(DHT11.humidity); //-----BMP180----------- bmp.begin(); float p=(bmp.readPressure()/100.0);//this is for pressure in hectoPascal float m=(bmp.readPressure()/133.3);// this is for pressure in mmHG float t2=(bmp.readTemperature()); //------ENC28J60---------- //if correct answer is not received then re-initialize ethernet module if (res > 220){ initialize_ethernet(); } res = res + 1; ether.packetLoop(ether.packetReceive()); //200 res = 10 seconds (50ms each res) if (res == 200) { // field1=(Field 1 Data)&field2=(Field 2 Data)&field3=(Field 3 Data)&field4=(Field 4 Data)&field5=(Field 5 Data)&field6=(Field 6 Data)&field7=(Field 7 Data)&field8=(Field 8 Data)&lat=(Latitude in Decimal Degrees)&long=(Longitude in Decimal Degrees)&elevation=(Elevation in meters)&status=(140 Character Message) byte sd = stash.create(); stash.print("field1="); stash.print(t); stash.print("&field2="); stash.print(h); stash.print("&field3="); stash.print(p); stash.print("&field4="); stash.print(t2); stash.print("&field5="); stash.print(t); stash.print("&field6="); stash.print(h); stash.print("&field7="); stash.print(p); stash.print("&field8="); stash.print(t2); stash.save(); // generate the header with payload - note that the stash size is used, // and that a "stash descriptor" is passed in as argument using "$H" Stash::prepare(PSTR("POST /update HTTP/1.0" "\r\n" "Host: $F" "\r\n" "Connection: close" "\r\n" "X-THINGSPEAKAPIKEY: $F" "\r\n" "Content-Type: application/x-www-form-urlencoded" "\r\n" "Content-Length: $D" "\r\n" "\r\n" "$H"), website, PSTR(APIKEY), stash.size(), sd); // send the packet - this also releases all stash buffers once done session = ether.tcpSend(); // added from: http://jeelabs.net/boards/7/topics/2241 int freeCount = stash.freeCount(); if (freeCount <= 3) { Stash::initMap(56); } } const char* reply = ether.tcpReply(session); if (reply != 0) { res = 0; // Serial.println(F(" >>>REPLY recieved....")); // Serial.println(reply); } delay(300); } void initialize_ethernet(void){ for(;;){ // keep trying until you succeed //Reinitialize ethernet module //Serial.println("Reseting Ethernet..."); //digitalWrite(5, LOW); //delay(1000); //digitalWrite(5, HIGH); //delay(500); if (ether.begin(sizeof Ethernet::buffer, mymac, ethCSpin) == 0){ Serial.println( F("Failed to access Ethernet controller")); continue; } if (!ether.dhcpSetup()){ Serial.println(F("DHCP failed")); continue; } ether.printIp("IP: ", ether.myip); ether.printIp("GW: ", ether.gwip); ether.printIp("DNS: ", ether.dnsip); if (!ether.dnsLookup(website)) Serial.println(F("DNS failed")); ether.printIp("SRV: ", ether.hisip); //reset init value res = 180; break; } } 

----------------

Articles Liés

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

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

J'ai écrit cette instructable car comment facile à mettre en place - Thingspeak - nevermind a quelques obstacles que j'ai rencontré et que, à en juger par les réactions, autres personnes sont aux prises avec aussi bien.Choses dont vous avez besoin :A
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
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
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
Arduino moniteur portatif de météo, altimètre, température, humidité, à l’aide de DHT11 et BMP85 avec écran LCD à l’aide de seulement 3 points

Arduino moniteur portatif de météo, altimètre, température, humidité, à l’aide de DHT11 et BMP85 avec écran LCD à l’aide de seulement 3 points

j'ai fait ce projet parce que j'ai souvent escalader des montagnes comme celui de la photo et j'ai besoin de connaître l'altitude, la température et aussi des changements de temps, parfois en quelques minutes le temps obtenir très mauvais, avec la gr
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
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