Stap 6: Codes voor de arduino
Vereist voor het gebruik van deze code de volgende bibliotheken:
- Privacy librarie
- Wifly librarie
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nou, ik zal kort uitleggen van de code voor de arduino, gebruiken de client dat ons het schild Wifly biedt voor het verzenden van de gegevens invoeren van het digitaal pin 3 en pin analoge 0, deze worden verzonden als een zinnen naar bestand "agregar.php" hiervoor gebruiken we de client.print.
Ik moet onthouden om de gegevens geschreven vetgedrukt in de code te wijzigen:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#ifndef __CREDENTIALS_H__
#define __CREDENTIALS_H__
char passphrase [] = "pass_WIFI"; wachtwoord van Wi-Fi
char [ssid] = "name_WIFI"; naam Wi-Fi
#endif
#include
#include "WiFly.h"
int sensorPin = A0;
int sensorValue = 0;
int DS18S20_Pin = 3;
Privacy ds(DS18S20_Pin);
Cliënt ("your_server_web", 80);
int lus = 1;
VOID Setup
{
Serial.begin (9600);
WiFly.begin();
if (!. WiFly.join (ssid, wachtwoord))
{
Serial.println ("vereniging is mislukt.");
terwijl (1)
{
Hang op mislukking.
}
}
}
void loop
{
Als (client.connect())
{
sensorValue = analogRead(sensorPin);
float temp = 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-1-800-www-Dell-vorm-urlencoded");
client.println ("verbinding: sluiten");
client.println();
client.println();
client.stop();
}
vertraging (5000);
}
float getTemp() {}
geeft als resultaat de temperatuur van een DS18S20 in graden Celsius
bytegegevens [12];
byte addr [8];
Als (! ds.search(addr)) {}
geen meer sensoren op de keten, reset zoeken
DS.reset_search();
Return-1000;
}
Als (OneWire::crc8 (addr, 7)! = addr[7]) {}
Serial.println ("CRC is niet geldig!");
Return-1000;
}
Als (addr [0]! = 0x10 & & addr [0]! = 0x28) {}
Serial.Print ('apparaat wordt niet herkend');
Return-1000;
}
DS.reset();
DS.Select(addr);
DS.write(0x44,1); Start conversie, met kracht van de parasiet op eind
byte aanwezig = ds.reset();
DS.Select(addr);
DS.write(0xBE); Lees Kladblok
voor (int i = 0; ik < 9; i ++) {/ / moeten we 9 bytes
gegevens [i] = ds.read();
}
DS.reset_search();
byte MSB = data [1];
byte LSB = data [0];
zweven tempRead = ((MSB << 8) | LSB); met behulp van twee compliment
zweven TemperatureSum = tempRead / 16;
Return TemperatureSum;
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------