LinkitONE ljus Sensor med webbgränssnitt (4 / 7 steg)
Steg 4: Skriva någon kod
Nu det är dags att skriva några kod!
Algoritm:
Vi vill att vår enhet att få alla sensordata > Tryck sensordata till molnet > få sensordata på våra program.
Kopiera koden i din arduino IDE och sedan ersätta de VARIABLA IDs och TOKEN med polletter och ID i ditt Ubidots.com-konto.
KOD:
------------
#define WIFI_AP "iPhone" #define WIFI_PASSWORD "helloworld1" #define WIFI_AUTH Edison WIFI_WPA / / välja mellan EDISONWIFI_OPEN, LWIFI_WPA eller LWIFI_WEP.
Ubidots information #define URL "things.ubidots.com" #define TOKEN "YOUR_TOKEN" / / byta ut med din Ubidots token genereras i din profil fliken #define VARIABLEID "SUNLIGHT_ID" #define VARIABLEID1 "TEMPRATURE_ID" //temprature #define VARIABLEID2 "Damm SENSOR_ID" //dust #define VARIABLEID3 "AIR_SENSOR_ID" / / luft kvalitet Barometer myBarometer; float temperatur; osignerade långa varaktighet; osignerade långa starttime; osignerade långa sampletime_ms = 3000; osignerade långa lowpulseoccupancy = 0; float ratio = 0; flyta koncentration = 0; int counter = 0; void setup() {pinMode(8,INPUT); Serial.BEGIN(9600); myBarometer.init(); hålla försöker igen tills ansluten till AP Serial.println("Connecting to AP"); medan (0 == EdisonWiFi.connect (WIFI_AP, EdisonWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {delay(1000);}} void loop() {temperatur = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get temperaturen, bmp085ReadUT måste anropas första varaktighet = pulseIn (8, låg); lowpulseoccupancy = lowpulseoccupancy + varaktighet; ratio = lowpulseoccupancy/1000; / / heltal andel 0 = > 100 koncentration = 1,1 * pow (förhållande, 3)-3,8 * pow (förhållande, 2) +520 * förhållandet + 0,62; save_value(String(analogRead(A0)), String(temperature), String(concentration), String(analogRead(A2))); delay(500);} void save_value (strängvärde, sträng en Sträng damm, sträng crow) {Serial.println ("Skicka värde Ubidots..."); EdisonWiFiClient c; medan (! c.connect (URL, 80)) {Serial.println ("försöker igen för att ansluta..."); Delay(100); } Sträng data = "{\"value\":"+ värde + "}"; String thisLength = String(data.length()); Bygga HTTP POST begäran c.print ("POST /api/v1.6/variables/"); c.Print(VARIABLEID); c.Print("/Values?token="); c.Print(token); c.println ("HTTP/1.1"); c.println ("Content-Type: application/json"); c.println ("Content-Length:" + thisLength); c.Print ("Host:"); c.println(URL); c.Print ("\n" + data); c.Print(Char(26)); data = "{\"value\":"+ en + "}"; thisLength = String(data.length()); Bygga HTTP POST begäran c.print ("POST /api/v1.6/variables/"); c.Print(VARIABLEID1); c.Print("/Values?token="); c.Print(token); c.println ("HTTP/1.1"); c.println ("Content-Type: application/json"); c.println ("Content-Length:" + thisLength); c.Print ("Host:"); c.println(URL); c.Print ("\n" + data); c.Print(Char(26)); ////////////////////////////////////////////////////////// data = "{\"value\":"+ crow + "}"; thisLength = String(data.length()); Bygga HTTP POST begäran c.print ("POST /api/v1.6/variables/"); c.Print(VARIABLEID3); c.Print("/Values?token="); c.Print(token); c.println ("HTTP/1.1"); c.println ("Content-Type: application/json"); c.println ("Content-Length:" + thisLength); c.Print ("Host:"); c.println(URL); c.Print ("\n" + data); c.Print(Char(26)); /////////////////////////////////////////////////////////////////// data = "{\"value\":"+ dust + "}"; thisLength = String(data.length()); Bygga HTTP POST begäran c.print ("POST /api/v1.6/variables/"); c.Print(VARIABLEID2); c.Print("/Values?token="); c.Print(token); c.println ("HTTP/1.1"); c.println ("Content-Type: application/json"); c.println ("Content-Length:" + thisLength); c.Print ("Host:"); c.println(URL); c.Print ("\n" + data); c.Print(Char(26)); / / Läs svaret från servern medan (c) {Serial.print((char)c.read());} c.stop(); }
--------------
Glöm inte att redigera taggarna med din variabel- och konto-ID
Också ändra wifi information som din wifi SSID och lösenord.