Superenkel dashboarding direkt på linkit en (2 / 2 steg)

Steg 2: Äntligen en enkel lösning



Detta är vad jag äntligen kom fram till. Något som är super enkelt. Ingen javascript alls. Några beroenden, inga lastande yttre json sidor, bara enkla html med en refresh-taggen. Det är inte den vackraste sak i världen, men det fungerar.

De flesta av genomgången är likvärdiga med vad är i så, jag kommer inte att upprepa att alla här.

Jag kommer dock lyfta fram några saker som du bör kolla in:

< p >< meta http-equiv = "uppdatera" content = "30" / >< /p >

Detta tvingar sidan att ladda varje 30 sekunden. Det är så liten att du inte kommer att märka.

String batteryLevel = String(LBattery.level());
String batteryCharging = String(LBattery.isCharging());

Jag konvertera heltal från LBattery-funktioner direkt i strängar för enkel utskrift.

Taggen < mätare > återges inte i alla webbläsare. Till exempel i Safari på min frus iphone gör det så tomt.

Också, som du ser i kommentarerna här är baserad på Apache licens koden från Evothings. Inte kopiera och klistras in rutorna koden i detta exempel. Vissa escape-tecken användes (detta verktyg var ganska bra att göra saker skrivs ut korrekt för detta instructable: http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/default.php). I stället hämtar koden från min github här: https://github.com/stirobot/evothings-examples/blob/master/examples/mediatek-linkit/mediatek_linkit/linkitone_battery_json_with_meters.ino

Notering:

//
Copyright 2015, Evothings AB
//
Licensieras under Apache License, Version 2.0 ("licensen")
du får inte använda denna fil utom i enlighet med licensen.
Du kan erhålla en kopia av licensen på
//
http://www.apache.org/licenses/LICENSE-2.0

//
Om inte tillämplig lagstiftning eller gått med på att skriftligen, programvara
distribuerad under licensen är utdelad på ett "AS IS" grund,
UTAN garantier eller villkor av något slag, varken uttryckliga eller underförstådda.
Se licensen för språket styr behörigheter och
begränsningar under licens.
//
LinkIt en - Position
//
Skapad februari, 2015
//
Ändrat av github användaren stirobot November, 2015 att exponera batteristatus i stället för GPS (t.ex. en enklare)
Detta exempel visar hur du hämtar ställning och dela med
en enkel webserver.
//
#include < LTask.h >
#include < LWifiServer.h >
#include < LWifiClient.h >
#include < LWifi.h >
#include < LBattery.h >
Konfiguration av WiFi AP inställningar.
#define WIFI_AP "blah"
#define WIFI_PASSWORD "svart"
LWIFI_OPEN, LWIFI_WPA eller LWIFI_WEP.
#define WIFI_AUTH LWIFI_WPA
Konfigurera timeout för en http-begäran (ms).
CONST uint32_t requestTimeout = 1000;
Globala variabler
LWiFiServer server(80);
röding buff [256];
void setup()
{
LTask.begin();
LWiFi.begin();
Serial.BEGIN(115200);
Delay(2000);
}
void loop()
{
statiska bool wifiStatusPrinted = false;
connectToAccessPoint(); okomplicerad
om (Serial & & wifiStatusPrinted == false)
{
printWifiStatus();
wifiStatusPrinted = sant;
}
annat om (!. Serial)
{
wifiStatusPrinted = false;
}
LWiFiClient klient = server.available();
om (klient)
{
Serial.println ("ny kund");
en http-förfrågan avslutas med en tom rad
booleska currentLineIsBlank = sant;
uint32_t lastReceptionTime = millis();
samtidigt (client.connected())
{
om (client.available())
{
Vi i princip ignorerar klientbegäran, men vänta HTTP begäran slutet
int c = client.read();
lastReceptionTime = millis();
Serial.Print((Char)c);
String batteryLevel = String(LBattery.level());
String batteryCharging = String(LBattery.isCharging());
om (c == '\n' & & currentLineIsBlank)
{
Serial.println ("Skicka svar");
Skicka ett standard http-svarshuvud
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println ("anslutning: Stäng"); anslutningen kommer att stängas efter slutförandet av svar
client.println ("Access-kontroll-tillåta-ursprung: *");
client.println();
client.println ("<! DOCTYPE html > ");
client.println ("< html >< kropp >");
client.println ("< h3 > enkel Sensor mäter Demo < /p >");
client.println ("< p > batteri (med mätaren element):" + batteryLevel + "< mätaren id = \"bat\"min = \"0\"max = \"100\"värde = \" "+ batteryLevel +"\">< / meter >< /p >");
client.println ("< p > batteri (med framsteg element):" + batteryLevel + "< framsteg id = \"batp\"min = \"0\"max = \"100\"värde = \" "+ batteryLevel +"\">< / meter >< /p >");
client.println ("< p > laddning:" + batteryCharging + "< /p >");
client.println ("< meta http-equiv = \"refresh\"innehåll = \"30\"/ >< / body >< / html >");
client.println();
bryta;
}
om (c == "\n")
{
du börjar en ny rad
currentLineIsBlank = sant;
}
annars om (c! = '\r')
{
du har fått ett tecken på den aktuella raden
currentLineIsBlank = false;
}
}
annat
{
om (millis() - lastReceptionTime > requestTimeout)
{
Serial.println ("fel - client timeout, släppa anslutning...");
bryta;
}
}
}
de web webbläsare möjlighet att ta emot data
Delay(500);
stänga anslutningen:
Serial.println ("nära samband");
client.stop();
Serial.println ("klienten kopplas från");
}
}
Hjälpare funktioner
void connectToAccessPoint()
{
medan (LWiFi.status()! = LWIFI_STATUS_CONNECTED)
{
om (LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD)))
{
Server.BEGIN();
printWifiStatus();
}
annat
{
Serial.println ("fel - kunde inte ansluta till WiFi");
}
}
}
Hjälpare funktioner från WifiWebServer.ino exempel utvecklat av MediaTek
void printWifiStatus()
{
skriva ut SSID för nätverket du är ansluten till:
Serial.Print ("SSID:");
Serial.println(LWiFi.SSID());
skriva ut din WiFi shield's IP-adress:
IP-adress ip = LWiFi.localIP();
Serial.Print ("IP-adress:");
Serial.println(IP);
Serial.Print ("nätmask:");
Serial.println(LWiFi.subnetMask());
Serial.Print ("gateway IP:");
Serial.println(LWiFi.gatewayIP());
skriva ut mottagna signalstyrka:
långa rssi = LWiFi.RSSI();
Serial.Print ("signalstyrka (RSSI):");
Serial.Print(RSSI);
Serial.println ("dBm\n");
}

Se Steg
Relaterade Ämnen

LinkIt en DHT11 Webserver

Uppdatering 7 nov, 2015 7:35 CST: redigera i skiss - ökad följetong till 115200 verkar mer stabil vid uppdateringStälla in en webbsida du kan komma åt överallt att se ditt hem temperatur är en mycket bekväm service, kan du ge för dig utan extra kostn...

LinkIt en Tutorials - #3 tala med extern enhet

Jag hoppas att du följt mina tidigare två LinkIt en tutorials och allt fungerade bra.För den här läraren kommer vi att ansluta en extern enhet (i detta fall en LED (Light Emitting Diode)) till LinkIt en styrelsen.Detta kommer att Visa styra externa e...

Linkit en: Flame Sensor

detta instructable vägleder dig att använda en flamma sensor med Mediatek Linkit ONE. En flamma sensor är en enhet som kan upptäcka förekomsten av brand i närheten.En Summer ansluten till linkit en piper när branden upptäcks av sensorn.Så låt oss kom...

Köra Linker RTC på pcDuino

Linker RTC är ett slags realtid klocka modul utifrån DS1307. DS1307 är en låg strömförbrukning,med 56 bytes icke förlora full BCD kod klocka kalender realtidsklocka, är adress och dataöverförs via två line dubbelriktad seriell buss, chip kan leverera...

Stalker Guard

tack för att läsa min Instructable. Jag heter Aditya och jag bor i up, Indien. Varje dag får vi höra några stöldeller brott i vårt grannskap. Så jag bestämde mig att göra en anordning för att lösa vissa problem. Som kedja rycka, Bus med flickor etc....

Närvaro anmälaren med tryckknapp

Dessa dagar i familjer, har både män och kvinnor börjat jobba. Både män och kvinnor vill lyckas i livet och för detta de måste arbeta hårt och tillbringade mer tid i kontor. Och med detta blir det svårt för dem att se efter sina barn båda. På grund a...

Gör en TumblyBOT: vända Spinning tumlande Robot

De flesta små robotar är två motorer och en castor hjul.Jag ville designa en robot med en unik enhet.Presentera TumblyBOT. TumblyBOT flyttar i en cool sätt som är intressant att titta på.Kontrolleras av en telefon rörelse, kan du göra din TumblyBOT r...

WiFi kontrollerad RGB LED Strip

De IR-fjärrkontroller som används för att styra RGB LED strips kan ibland bli irriterande på grund av deras begränsade räckvidd och jakt på fjärrkontrollen när du inte hittar den. Detta enkla, men effektiva projekt kan lösa ett problem genom att kont...

Linkit en - Webserver Dashboard & Webcam

Koppla in GPS och WiFi antenner och batteri!Grove seriell kameran är valfritt.http://www.seeedstudio.com/Depot/Grove-Serial-came...Steg 1: Kompilera och DashboardInstallera min bibliotek omslag!https://github.com/swampyness/wrappers_linkitKopiera och...

Intellekten IoT Analytics Dashboard

Detta Instructable ger information om hur man upprättar ett Intel Analytics Dashboard konto, Anslut en enhet till molnet, kontroll en enhet genom molnet, och köra Arduino program som kommunicerar med molnet.De flesta stegen i detta Instructable är ba...

Linkit en - Live data övervakas i Excel och visas med hjälp av en instrumentpanel

Det finns många sätt att samla in data från prototyper plattformar som Linkit en varav många måste du betala för. Förmodligen är det enklaste att använda Excel för din samling och manipulation.Till exempel:Använd den seriella porten och väderkvarn ht...

Använda Cortana att styra din LinkIt en!

IntroduktionDet finns ny teknik runt omkring oss och bara fler kommer varje dag. Vår micro styrenheter blir snabbare, är telefoner blir smartare och molnet blir starkare. Med all denna nya teknik alla frågar sig: Hur kan jag utnyttja det hela?Tja, ko...

En enkel hydroponiska System med MediaTek LinkIt™ en

Idag vill vi beskriva ett projekt baserat på den nya styrelsen Mediatek Linkit en. Vi vill med denna styrelse inser en enkel hydroponiska system som kan:1) att göra hydroponics näringslösning:Detta kommer att göras med hjälp av magnetventiler aktiver...

Alkohol detektering med Linkit en

En Alkoholmätare är en enhet för skattning av blodalkoholhalten (BAC) från ett utandningsprov. Bevisinstrument mäta inte direkt blodalkoholkoncentration eller koncentration, vilket kräver en analys av ett blodprov. Istället, de uppskattar BAC indirek...

Batteri och kraft för en Linkit

Power är en mycket viktig aspekt av en mikrokontroller när dess förväntade vara anslutna 24 timmar att sakernas Internet.Styrelsen det själv kommer med en ackumulatorn. Men i detta instructable jag kommer att diskutera makt krav, sätt att kraften i s...

Färg detektering med TCS3200 färg Sensor och LinkIt en stiger ombord

I detta Instructable lär vi hur gränssnittet TCS3200 färg sensor med LinkIt en för färg upptäckt.De TCS3200 programmerbara färg ljus-till-frekvensomformare som kombinerar konfigurerbara kisel fotodioder och ett ström-till-frekvens converter på en end...

Berömda LM35 med Mediatek Linkit en styrelse

I detta Instructable kommer du att kunna gränssnitt berömda Lm35 med Mediatek LinkitOne styrelse.LM35 serien är precision integrerade kretsar1• kalibrerad direkt i Celsius (Celsius) temperatur enheter med en output voltage linjärt-• linjära + 10-mV /...

D-Link trådlös Router DIR-628 installation [utan CD]

de flesta, om inte alla, trådlösa routrar kan sättas upp utan de kommer med-programmet. Här är de steg för steg instruktionerna för de flesta D-Link trådlösa routrar, men mer specifikt DIR-628.Steg 1: Förberedelser för installation Förutsatt att du j...

Link svärd, balja, sköld och slingshot

Huvudpersonen i Nintendo Legend of Zelda spelen är länken, som är en svärd-viftande korsning mellan Legolas och Indiana Jones. Han springer i en diskett hatt lösa pussel och avsändning skurkarna när han försökte rädda den eponymous prinsessan. Mina s...