Arduino Esp8266 Post données au site Web (5 / 6 étapes)

Étape 5: Envoi des données

Vous devez d’abord comprendre les rudiments de HTTP. Le protocole HTTP (Hypertext Transfer) est conçu pour permettre des communications entre clients et serveurs.

Œuvres HTTP comme protocole de demande / réponse entre un client et un serveur. Un navigateur web peut être le client, et une application sur un ordinateur qui héberge un site web peut être le serveur. Exemple : Un client (navigateur) envoie une requête HTTP au serveur ; Ensuite, le serveur retourne une réponse au client. La réponse contient des informations de statut sur la demande et peut également contenir le contenu demandé. Sur notre exemple, l’esp8266 est le client et le serveur qui héberge notre site Internet est le serveur.

Alors effectuer une demande HTTP Post doit être sous une certaine forme :

/Esppost.php POST HTTP/1.0

Hôte : serverconnect.site88.net

Accepter: * / *

Content-Length: « name1 = value1 & name2 = value2 ". Longueur

Content-Type : application/x-www-formulaires-urlencoded


name1 = value1 & name2 = valeur2

Vous pouvez trouver plus d’explication et d’informations dans l’Arduino croquis ci-dessous. Après avoir téléchargé l’esquisse, attendez quelques secondes puis vous actualisez la page Web.

#include « SoftwareSerial.h »
Chaîne de ssid = « yourSSID » ;

Mot de passe string = « yourPassword » ;

SoftwareSerial esp (6, 7); / / RX, TX

Données de type chaîne ;

Server String = « yourServer » ; // www.example.com

Chaîne uri = « yourURI » ; / / notre exemple est /esppost.php

int DHpin = 8 ; //Sensor goupille

dat octet [5] ;

String temp, hum ;

void setup() {}

pinMode (DHpin, sortie) ;

ESP.Begin(9600) ;

Serial.Begin(9600) ;

Reset() ;

connectWifi() ;

}

réinitialiser le module esp8266

void reset() {}

ESP.println("at+RST") ;

Delay(1000) ;

if(ESP.Find("OK")) Serial.println ("Module Reset") ;

}

se connecter à votre réseau wifi

void connectWifi() {}

String cmd = "AT + CWJAP = \" "+ ssid + « \ », \" "+ mot de passe +"\"" ;

ESP.println(cmd) ;

Delay(4000) ;

{if(ESP.Find("OK"))}

Serial.println("Connected!") ;

}

else {}

connectWifi() ;

Serial.println ("Impossible de se connecter au wifi") ; }

}

octet read_data () {}

données d’octets ;

pour (int i = 0; j’ai < 8; i ++) {}

Si (digitalRead (DHpin) == faible) {}

tandis que (digitalRead (DHpin) == faible) ; / / attente pour 50us

delayMicroseconds (30) ; / / déterminer la durée du haut niveau pour déterminer les données est ' 0 'ou 1'

Si (digitalRead (DHpin) == HIGH)

données | = (1 << (7-i)) ; / / haut devant et le bas dans le post

tandis que (digitalRead (DHpin) == haute) ;

données « 1 », attendre que le récepteur suivant un

}

} renvoient des données ; }

void start_test () {}

digitalWrite (DHpin, basse) ; / / bus vers le bas, commencer à envoyer signal

retard (30) ; / / retard supérieur à 18ms, donc DHT11 signal de démarrage peut être détecté

digitalWrite (DHpin, élevé) ;

delayMicroseconds (40) ; / / Attendre réponse DHT11

pinMode (entrée, DHpin) ;

tandis que (digitalRead (DHpin) == haute) ;

delayMicroseconds (80) ;

Réponse de DHT11, tiré les 80us bus

Si (digitalRead (DHpin) == faible) ;

delayMicroseconds (80) ;

80us DHT11 après le bus tiré de commencer à envoyer des données

pour (int i = 0; j’ai 4 <; i ++)

température de recevoir et de données d’humidité, le bit de parité ne sont pas considéré comme

DAT [i] = read_data () ;

pinMode (DHpin, sortie) ;

digitalWrite (DHpin, élevé) ;

Envoyer des données une fois après la sortie de l’autobus, attendent que l’hôte ouvrir le prochain signal de départ

}

void loop () {}

start_test () ;

convertir les bits de données sous forme de chaîne

Hum = String(dat[0]) ;

Temp = String(dat[2]) ;

données = "température =" + temp + "& humidité =" + hum ; / / données envoyées doivent être sous cette forme //name1=value1 & nom2 = valeur2.

HttpPost() ;

Delay(1000) ;

}

Sub httppost () {}

ESP.println ("AT + CIPSTART = \ « TCP\ », \" "+ serveur + « \",80 ») ; //start une connexion TCP.

Si (esp.find("OK")) {}

Serial.println ("connexion TCP prête ») ;

} delay(1000) ;

PostRequest chaîne =

« POST » + uri + « HTTP/1.0\r\n » +

"Hôte:" + serveur + « \r\n » +

"Accepter: *" + « / » + "* \r\n" +

"Content-Length:" + data.length() + « \r\n » +

"Content-Type : application/x-www-formulaires-urlencoded \r\n" +

« \r\n » + données ;

String sendCmd = "AT + CIPSEND =" ; //determine le nombre de caractères à envoyer.

ESP.Print(sendCmd) ;

ESP.println(postRequest.length()) ;

Delay(500) ;

Si (esp.find(">")) {Serial.println("Sending..") ; esp.print(postRequest) ;

Si (esp.find ("envoi OK")) {Serial.println ("paquet envoyé") ;

tandis que (esp.available()) {}

String tmpResp = esp.readString() ;

Serial.println(tmpResp) ;

}

fermer la connexion

ESP.println("at+CIPCLOSE") ;

}

}}

Si tout se passe bien vous devez voir un résultat similaire à l’image ci-dessus voire débranchez puis rebranchez votre Arduino et attendez quelques secondes.

Articles Liés

Arduino double ultrasons liquide mesureur avec site Web intégré

Arduino double ultrasons liquide mesureur avec site Web intégré

ce projet permet de surveiller le niveau de 2 récipients remplis de liquide. Les niveaux peuvent être affichées sur un site Web. L'exemple suivant a un capteur relié par fil et un autre capteur connecté sans fil par XBee.Le site Web vous permettent d
Extraire des données de site Web facilement iOS

Extraire des données de site Web facilement iOS

Il y a beaucoup de façons pour un développeur iOS pour extraire des données d'un site Web. Toutefois, bon nombre de ces façons que code Objective-C compliqué ou vous obligent à parler couramment en HTML, PHP ou JavaScript. Nous allons étudier une mét
Affichage des données sur un site Web - Pot électronique [Arduino Nano + Ethernet Shield]

Affichage des données sur un site Web - Pot électronique [Arduino Nano + Ethernet Shield]

J'ai toujours voulu une plante dans ma chambre, qui comblerait l'espace entre les projets inachevés et des pièces chères, mais inutiles de pièces électroniques. Alors je suis venu avec l'idée d'un pot électronique – E-Pot de l'Arduino – permettant de
PARTIE 1 - Arduino d’envoyer des données sur le Web (PHP / MySQL / D3.js)

PARTIE 1 - Arduino d’envoyer des données sur le Web (PHP / MySQL / D3.js)

L'objectif de ce projet était d'usage et Arduino pour lire un capteur et envoyez les valeurs pour l'internet, pour être stockés dans un serveur Web et affichées.Elle consiste en un Arduino Uno avec un Shield Ethernet et à une température de DHT 11 /
Comment faire pour importer des données depuis n’importe quel site Web de feuille de calcul excel instantanément.

Comment faire pour importer des données depuis n’importe quel site Web de feuille de calcul excel instantanément.

Cette vidéo démontre comment utiliser un outil dans excel qui vous permet de récupérer des données depuis n'importe quel site Web de feuille de calcul excel.Gratter la tête... juste essayer dur de comprendre comment transférer les données plus recher
Guide de piratage site Web base de données 101

Guide de piratage site Web base de données 101

ce court volonté instructable enseigner vous sur « SQL Injection », comment le faire et comment le prévenirAVERTISSEMENT : IM PAS RESPONSABLE SI VOUS OBTENEZ INTERDIT/SIGNALÉ1.quelle est une Injection SQL ?Une injection SQL est utilisée pour attaquer
Contrôler la valeur de température et d’humidité de votre site Web (Internet of Things consept)

Contrôler la valeur de température et d’humidité de votre site Web (Internet of Things consept)

Aujourd'hui, je vais vous montrer comment tracer température lecture de DHT11 et des valeurs d'humidité pour mettre le graphique produit sur votre site Internet. Si vous avez un modem sans fil, je veux dire WiFi hotspot point de toute façon qui perme
Bot d’horloge et météo monde DIY (Arduino + ESP8266)

Bot d’horloge et météo monde DIY (Arduino + ESP8266)

Salutdans cette instuctable, vous apprendrez comment faire monde horloge météo bot à l'aide de Arduino Mega et ESP8266 (à la mode).Caractéristiques :• personnalisé bot avec écran à cristaux liquides comme la bouche, le potentiomètre dans le nez et le
Capteur de température sans fil simple mise à jour de site web avec imp électrique et thermistance

Capteur de température sans fil simple mise à jour de site web avec imp électrique et thermistance

[Edit 2014] L'urbaniste qui a été utilisé par Imp électrique n'est plus utilisé et n'est pas disponible plus. [/ Edit]Il s'agit d'un petit projet pour vous aider à démarrer avec l'imp électrique et une thermistance, ainsi vous pouvez voir comment vou
Site Web PHP simple pour les Contacts

Site Web PHP simple pour les Contacts

Bonjour à tous, ceci est mon premier instructable et j'espère que vous aimez !Je tiens à souligner que ce projet a été rendu purement pour le langage php de passe-temps et d'apprentissage. J'ai commencé à partir de zéro et il n'est pas encore achevée
Création de Bookhuddle.com, un site Web pour découvrir, organiser et partager des informations de livre

Création de Bookhuddle.com, un site Web pour découvrir, organiser et partager des informations de livre

ce post décrit les étapes impliquées dans la création et lancement de Bookhuddle.com, un site Web visant à aider les lecteurs découvrir, organiser et partager des informations sur le livre.Les étapes décrites ici s'appliquerait à l'élaboration d'autr
Construire un site Web pour aussi peu que $20 ans !

Construire un site Web pour aussi peu que $20 ans !

Dans ce instructable, j'ai recouvrira tout ce que vous devez savoir pour créer un site idéal pour un coût très faible ! Si vous souhaitez consulter certains de mes travaux, rendez-vous sur : Webshawty.comUn couple de choses que vous pouvez :-Accès In
Comment faire pour installer et personnaliser un site Web CMS Drupal / / http://www.collectiveresolve.org

Comment faire pour installer et personnaliser un site Web CMS Drupal / / http://www.collectiveresolve.org

aperçu / / une enquête générale ou RésuméDrupal Open source Content Management SystemDécouvre quelques sites Web qui utilise le CMS Drupal.Tester une installation de la démo du CMS Drupal avec un accès administrateur.CollectiveResolve utilise le Cont
Site Web (HTML et CSS)

Site Web (HTML et CSS)

Bonjour tout le monde chez instructables:)Récemment, j'ai essayé de faire quelques sites Web et hôte en ligne juste voir comment HTML et CSS , j'ai appris a fonctionné alors que je pourrais faire un site à part entière complet mettant en vedette et l