LinKit één serveren JSONP sensorgegevens (batterij voorbeeld) (3 / 4 stap)

Stap 3: Code walkthrough!


Wanneer u klaar bent moet je kunnen gaan naar het IP-adres van uw linkit een en zoiets als wat is afgebeeld voor deze stap.

 #include <LTask.h>#include <LWifi.h> #include <LWifiServer.h> #include <LWifiClient.h> #include <LBattery.h> 

Dit zijn de bibliotheken van mediatek. Ik kan me niet herinneren welke taak doet. De wifi-help met wifi en de batterij een biedt twee eenvoudige functies. Een te controleren van het niveau van de batterij en één om u te vertellen als het wordt geladen of gelost.

 // Configuration of the WiFi AP settings.#define WIFI_AP "foo" #define WIFI_PASSWORD "bar"// LWIFI_OPEN, LWIFI_WPA, or LWIFI_WEP. #define WIFI_AUTH LWIFI_WPA 

Zet hier uw specifieke AP-informatie (dit is het soort ding dat in een liefhebber schets zou je in de eigenschappen van een bestand op het deel van de opslag van de Raad van bestuur en Lees hier).

 // Configure the timeout of a http request (ms).const uint32_t requestTimeout = 1000;// Global variables LWiFiServer server(80); char buff[256]; 

Zelf verklarende globale variabelen. De server port het wat dat 80 is.

 void setup(){ LTask.begin(); LWiFi.begin(); Serial.begin(115200); //delay(2000); } 

Ik haalde de vertraging die in de oorspronkelijke tekening was. Als u wilt weten waarom vertragingen zijn kwade controle dit uit: https://www.sparkfun.com/news/1940

yadda yadda... er is wat code die controleert de status van wifi en het spams naar de seriële console. Ik ga niet te gaan over het hier. Het is geweldig voor het snel uitzoeken welk IP-adres uw linkit een heeft ontvangen van de AP. De andere kant kan je dat het door te gaan naar de adminpagina van uw Toegangspunt en kijken naar de DHCP indienen voor het item met het overeenkomstige MAC-adres (blik op de sticker op de onderkant van je board).

 while (client.connected()) { if (client.available()) { // we basically ignores client request, but wait for HTTP request end int c = client.read(); lastReceptionTime = millis(); Serial.print((char)c); if (c == '\n' && currentLineIsBlank) { Serial.println("send response"); // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: application/json"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println("Access-Control-Allow-Origin: *"); client.println(); client.print("{\"batteryLevel\":\""); client.print(LBattery.level()); client.print("\", \"chargingStatus\":\""); client.print(LBattery.isCharging()); client.print("\"}"); client.println(); break; } if (c == '\n') { // you're starting a new line currentLineIsBlank = true; } else if (c != '\r') { // you've gotten a character on the current line currentLineIsBlank = false; } } else { if (millis() - lastReceptionTime > requestTimeout) { Serial.println("Error - client timeout, dropping connection..."); break; } } } // give the web browser time to receive the data delay(500); // close the connection: Serial.println("close connection"); client.stop(); Serial.println("client disconnected"); } 

Dit stukje is de juiste webserver. Het zorgt voor alles, van wanneer een client het hits met een HTTP GET tot het punt dat die verbinding is gedaan.

De belangrijke dingen gebeurt in deze lijnen:

 client.println("Content-Type: application/json"); 

Deze regel wordt het MIME-type van de terugkeer naar json, die wordt begrepen door veel "IoT enablers" zoals ubidots, Vrijboord, enz.

 client.print("{\"batteryLevel\":\"");client.print(LBattery.level()); client.print("\", \"chargingStatus\":\""); client.print(LBattery.isCharging()); 

De LBattery.level() is dat zeer eenvoudige methode die ik op eerder zinspeelde die gewoon het niveau van de batterij retourneert. Helaas het is niet zeer fijnkorrelige en zal slechts 0, 33, 66 en 100.
Het is vrij eenvoudig te vervangen deze code met uw eigen en hebben een sensor-waardes voorgeschoteld als de json-gegevens voor gemakkelijke consumptie. Vervang batteryLevel met uw descriptor en de functieaanroep met een functie-aanroep waarmee gegevens worden opgehaald van uw sensor van keuze. Ook kunt u deze afdrukken lijnen in hetzelfde patroon om te bouwen van meer structuur in het uitbreiden. Voor meer info over json en welke json ziet eruit als check-out: http://www.w3schools.com/json/

Gerelateerde Artikelen

Gebruik van de batterij van de LinKit ONE

Gebruik van de batterij van de LinKit ONE

BatterijStap 1: materialenComputerLinKit eenBatterijUSB-kabelStap 2: Linkit één batterijWat is cool over deze batterij is het oplaadbare. U kunt ook de status van de batterij via computerStap 3: De Status van de batterijOm te controleren van de statu
Digitale Object item LDR Interfacing met Mediatek LinkIt One

Digitale Object item LDR Interfacing met Mediatek LinkIt One

In dit Instructable zult u kunnen aan Mediatek Linkit een interfacekaart met behulp van LDR en digitale Object Counter die kan tellen objecten t/m 9999.Stap 1: vereisten General-Purpose PCB Board4 CD 4026 Johnson decennium teller.4 gemeenschappelijke
LinKit één antenne beugels & Upgrades

LinKit één antenne beugels & Upgrades

Ik was blij om te zien dat de Linkit één kit inbegrepen alle nodige onderdelen om te gaan met uitzondering van een SD- of SIM-kaart...Dit maakte het zo makkelijk te springen in de tutorials en het werkend krijgen. Zelfs het testen van de Flash-bestan
LinkIt een Bluetooth carkit

LinkIt een Bluetooth carkit

Ik denk dat technologieprojecten nauwlettend kunnen worden vergeleken met illustraties. Elk project moet afwijken en zijn eigen unieke spin op een basisidee hebben. Dit is de reden waarom ik dit stap voor stap handleiding op hoe maak je het fundament
Batterij aangedreven fundamentele elektromotor Masco G26

Batterij aangedreven fundamentele elektromotor Masco G26

De volgende instructable zal u tonen hoe gemakkelijk de bouw van een motor aangedreven door een batterij, magneet draad, een magneet, elastiek en paperclips.Stap 1: Stap 1. Materialen & Tools Eerst, zult u moeten verzamelen2 kleine of grote paperclip
LinkIt één Bluetooth PWM-controle met LED

LinkIt één Bluetooth PWM-controle met LED

Hallo!In dit Instructable ga ik u tonen hoe om te controleren van een LED-strip, met behulp van de PWM-pin op de LinkIt ONE via Bluetooth. U zal moeten maken de transistor schakeltechniek circuit, met behulp van de TIP120, in mijn vorige Instructable
KL250 Van vergeten te rijklaar (niet-technische)

KL250 Van vergeten te rijklaar (niet-technische)

Mijn eerste idee achter nemen aan dit project - Ik wist dat ik wilde dual-sport motorfiets en ik heb niet het geld om te gaan en het kopen van een gloednieuwe Suzuki DRZ of, voor die kwestie, het kopen van een gebruikt exemplaar. Ik had gedaan een be
Spinnen schedel gecontroleerd door Web app

Spinnen schedel gecontroleerd door Web app

Hier is een groot halloween decor item tafel diner/snacks voor uw Halloweenfeest. Maak een spooky spinnen schedel die u kunt activeren van een eenvoudige Web App op je tablet/mobiel terwijl uw gasten zijn het oppakken van hun snacks...De beweging van
Verwerking van controles R/C auto met XBee modules

Verwerking van controles R/C auto met XBee modules

dit instructable is een wijziging van mijn presentatie naar Chicago verwerking Gemeenschap bij de (EVL) elektronische Visualization Laboratory, Universiteit van Illinois in Chicago op 1 oktober 2012. In het onderwerp vanProcessing Library serieVerwer
Vonk Core / foton en CloudMQTT

Vonk Core / foton en CloudMQTT

In deze instructables leert u over "message queuing" speciaal "MQTT" protocol dat speciaal gebruikt voor IoT toepassingen, in ons geval de Spark kern / foton.We zullen gebruiken de standaard "MQTT" voorbeeld en bibliotheek ge
Elektrische scooter self balancing Raleigh Chopper geïnspireerd

Elektrische scooter self balancing Raleigh Chopper geïnspireerd

Als een gretige maker van "dingen die Seg" deze is geïnspireerd op de jaren 1970 Raleigh Chopper fiets.Ik was onlangs betrokken bij de Hackaday competitie met de MediCycle: MediCycle dit was een groot een wielen elektrische motorfiets stijl mach
Lange boord veiligheid lichten

Lange boord veiligheid lichten

Veiligheid eersteStap 1: materialen LongboardLEDLinKit eenLithium-ionenbatterij (beschikbaar met de LINKIT ONE)Boorschroeven (grootte hangt af van aan boord van de dikte)Stap 2: Linkit eenSluit de accu aan de poort in de bodem juiste hoek van de ontw
Zeer eenvoudige afstandsbediening auto

Zeer eenvoudige afstandsbediening auto

jongens dit is om te laten zien hoe maak je heel eenvoudig extern gecontroleerde auto (niet draadloos) maar meer zal uw langere draden zullen uw limiet te controleren... so..irst assembleren materiaal nodig... dus dingen nodig:Katrol (zorg door rappe
Magic Tik lantaarn

Magic Tik lantaarn

Dit project werd opgericht als een inleiding tot de vector tekening, lasersnijden, solderen en circuits.Krediet: Het idee kwam van Jaymes Dec's toverlantaarn project, maar in plaats van een aangepaste printplaat, gesoldeerd we componenten samen, graa