Étape 6: Codes pour l’arduino
Pour utiliser ce code nécessite les bibliothèques suivantes :
-Librairie OneWire
-Librairie Wifly
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Eh bien, je vais brièvement expliquer le code de l’arduino, utiliser le client que nous offre le bouclier Wifly pour envoyer les données entrant dans la broche numérique 3 et broche analogique 0, ceux-ci sont envoyés sous forme de phrases un fichier « agregar.php » pour cela que nous utilisons le client.print.
Je dois me rappeler modifier les données écrites en caractères gras dans le code :
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#ifndef __CREDENTIALS_H__
#define __CREDENTIALS_H__
Char [] mot de passe = "pass_WIFI" ; mot de passe Wi-Fi
Char [] ssid = "name_WIFI" ; nom de la connexion Wi-Fi
#endif
#include
#include « WiFly.h »
int sensorPin = A0 ;
int sensorValue = 0 ;
int DS18S20_Pin = 3 ;
OneWire ds(DS18S20_Pin) ;
Client client ("your_server_web", 80) ;
int en boucle = 1 ;
void setup()
{
Serial.Begin (9600) ;
WiFly.begin() ;
if (!. WiFly.join (ssid, mot de passe))
{
Serial.println ("Association a échoué.") ;
while (1)
{
Pendre en cas d’échec.
}
}
}
void loop()
{
Si (client.connect())
{
sensorValue = analogRead(sensorPin) ;
temp de flotteur = getTemp() ;
Serial.println (temp) ;
Serial.println(sensorValue) ;
client.Print (« GET /add.php?") ;
client.Print("Temp1=") ;
client.Print (temp) ;
client.Print ("& &") ;
client.Print("moi1=") ;
client.Print (sensorValue) ;
client.println ("HTTP/1.1") ;
client.println ("Host : your_server_web") ;
client.println ("Content-Type : application/x-www-formulaires-urlencoded") ;
client.println ("connexion : fermer") ;
client.println() ;
client.println() ;
client.Stop() ;
}
retarder (5000) ;
}
flotteur getTemp() {}
renvoie la température d’un DS18S20 en degrés Celsius
octet de données [12] ;
addr octet [8] ;
Si (! ds.search(addr)) {}
pas plus de capteurs sur chaîne, réinitialiser recherche
DS.reset_search() ;
retour -1000 ;
}
Si (OneWire::crc8 (addr, 7)! = {addr[7])}
Serial.println (« le CRC est non valide!") ;
retour -1000 ;
}
Si (addr [0]! = 0 x 10 & & addr [0]! = 0 x 28) {}
Serial.Print ("la périphérique n’est pas reconnu") ;
retour -1000 ;
}
DS.Reset() ;
DS.Select(addr) ;
DS.Write(0x44,1) ; lancer la conversion, avec puissance parasite sur à la fin
octet présent = ds.reset() ;
DS.Select(addr) ;
DS.Write(0xBE) ; Bloc-notes de lecture
pour (int i = 0; j’ai < 9; i ++) {/ / nous avons besoin de 9 octets
données [i] = ds.read() ;
}
DS.reset_search() ;
octet MSB = données [1] ;
octet LSB = data [0] ;
float tempRead = ((MSB << 8) | LSB) ; à l’aide de deux compliment
float TemperatureSum = tempRead / 16 ;
Return TemperatureSum ;
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------