Använda en Linkit en till molnet kontroll en färg LED (2 / 6 steg)

Steg 2: kod



Det finns några saker du kommer att ha lägga specifik information till koden för den till verk riktig. Namnet på din wifi och den enhets-id och lösenord nyckel av ditt moln.

#include
#include #include #include #include #include #define WIFI_AP "" #define WIFI_PASSWORD "" #define WIFI_AUTH LWIFI_WPA / / välja mellan LWIFI_OPEN, LWIFI_WPA eller LWIFI_WEP. #define per 50 #define per1 3 #define DEVICEID "" / / ingång din deviceId #define DEVICEKEY "" / / ingång din deviceKey #define SITE_URL "api.mediatek.com"

LWiFiClient c; unsigned int rtc; unsigned int lrtc; unsigned int rtc1; unsigned int lrtc1; char port [4] = {0}. char connection_info [21] = {0}. char ip [21] = {0}. int portnum; int val = 0; String tcpdata = String(DEVICEID) + "," + String(DEVICEKEY) + ", 0"; Sträng upload_led; String tcpcmd_led_on = "LED_Controller, 1"; String tcpcmd_led_off = "LED_Controller, 0"; String tcpcmd_blue_on = "LED_BlueControl, 1"; String tcpcmd_blue_off = "LED_BlueControl, 0"; String tcpcmd_green_on = "LED_GreenControl, 1"; String tcpcmd_green_off = "LED_GreenControl, 0";

LWiFiClient c2; HttpClient http(c2);

void setup() {LTask.begin(); LWiFi.begin(); Serial.BEGIN(115200); tag (!. Serial) delay(1000); / * kommentera bort raden när följetong inte är närvarande, dvs. Kör denna demo utan ansluter till PC * /

Serial.println ("ansluter till AP"); medan (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {delay(1000);} Serial.println ("calling anslutning");

medan (! c2.connect (SITE_URL, 80)) {Serial.println ("åter ansluter till webbplatsen"); delay(1000);} delay(100);

pinMode (13, OUTPUT); pinMode (12, OUTPUT); pinMode (11, OUTPUT); getconnectInfo(); connectTCP(); }

void getconnectInfo() {//calling RESTful API för att få TCP socket anslutning c2.print ("GET /mcs/v2/devices /"); c2.print(DEVICEID), c2.println ("/connections.csv HTTP/1.1"), c2.print ("Host:"); C2.println(SITE_URL); C2.Print ("deviceKey:"); C2.println(DEVICEKEY); C2.println ("anslutning: Stäng"); C2.println(); Delay(500);

int errorcount = 0; medan (! c2.available()) {Serial.println ("väntar på HTTP-svar:"); Serial.println(errorcount); errorcount + = 1; om (errorcount > 10) {c2.stop(); återvänder;} delay(100); } int err = http.skipResponseHeaders();

int bodyLen = http.contentLength(); Serial.Print ("innehåll längd är:"); Serial.println(bodyLen); Serial.println(); char c; int ipcount = 0; int count = 0; int separater = 0; medan (c2) {int v = c2.read(); om (v! = -1) {c = v; Serial.Print(c); connection_info [ipcount] = c; IF(c==',') separater = ipcount; ipcount ++; } annat {Serial.println (inte mer innehåll, koppla bort"); c2.stop();

{}} Serial.print ("Anslutningsinfo:"); Serial.println(connection_info); int i; för (jag = 0; jag

} //getconnectInfo

void uploadstatus() {//calling RESTful API att ladda upp datapoint till MCS till rapporten LED status Serial.println ("ringa anslutning"); LWiFiClient c2;

medan (! c2.connect (SITE_URL, 80)) {Serial.println ("åter ansluter till webbplatsen"); delay(1000);} delay(100); IF(digitalRead(13)==1) upload_led = "LED_Display,, 1"; annat upload_led = "LED_Display,, 0"; int thislength = upload_led.length(); HttpClient http(c2); C2.Print ("POST /mcs/v2/devices /"); C2.Print(DEVICEID); C2.println ("/datapoints.csv HTTP/1.1"); C2.Print ("Host:"); C2.println(SITE_URL); C2.Print ("deviceKey:"); C2.println(DEVICEKEY); C2.Print ("Content-Length:"); C2.println(thislength); C2.println ("Content-Type: text/csv"); C2.println ("anslutning: Stäng"); C2.println(); C2.println(upload_led); Delay(500);

int errorcount = 0; medan (! c2.available()) {Serial.print ("väntar på HTTP-svar:"); Serial.println(errorcount); errorcount + = 1; om (errorcount > 10) {c2.stop(); återvänder;} delay(100); } int err = http.skipResponseHeaders();

int bodyLen = http.contentLength(); Serial.Print ("innehåll längd är:"); Serial.println(bodyLen); Serial.println(); medan (c2) {int v = c2.read(); om (v! = -1) {Serial.print(char(v));} annat {Serial.println (inte mer innehåll, koppla bort"); c2.stop();

} } }

void connectTCP() {//establish TCP-anslutning med TCP Server med utnämnt IP och Port c.stop(); Serial.println ("ansluta till TCP"); Serial.println(IP); Serial.println(portnum); medan (0 == c.connect (ip, portnum)) {Serial.println ("åter ansluta till TCP"); delay(1000);} Serial.println ("Skicka TCP förbinda"); c.println(tcpdata); c.println(); Serial.println ("väntar på TCP-svar:");} connectTCP

void heartBeat() {Serial.println ("Skicka TCP heartBeat"); c.println(tcpdata); c.println();} //heartBeat

void loop() //Red ledde {//Check för TCP socket kommandot från MCS-servern sträng tcpcmd = ""; samtidigt (c.available()) {int v = c.read(); om (v! = -1) {Serial.print((char)v); tcpcmd += (char) v; om (tcpcmd.substring(40).equals(tcpcmd_led_on)) {digitalWrite 13, hög. Serial.Print ("Switch LED på"); tcpcmd = ""; } annat if(tcpcmd.substring(40).equals(tcpcmd_led_off)) {digitalWrite 13, låg. Serial.Print ("avstängning LED"); tcpcmd = ""; } annat if(tcpcmd.substring(40).equals(tcpcmd_blue_on)) {digitalWrite (12, hög). Serial.Print ("Switch LED på"); tcpcmd = ""; } annat if(tcpcmd.substring(40).equals(tcpcmd_blue_off)) {digitalWrite (12, låg). Serial.Print ("avstängning LED"); tcpcmd = ""; } annat if(tcpcmd.substring(40).equals(tcpcmd_green_on)) {digitalWrite (11, hög). Serial.Print ("Switch LED på"); tcpcmd = ""; } annat if(tcpcmd.substring(40).equals(tcpcmd_green_off)) {digitalWrite (11, låg). Serial.Print ("avstängning LED"); tcpcmd = ""; } } }

LDateTime.getRtc(&rtc);
om ((rtc-lrtc) > = per) {
heartBeat();
lrtc = rtc;
}
Kontrollera om rapporten datapoint status intervall
LDateTime.getRtc(&rtc1);
om ((rtc1-lrtc1) > = per1) {
uploadstatus();
lrtc1 = rtc1;
}

}

Se Steg
Relaterade Ämnen

Använda en Dremel (verktyg) till ändra en Dremel (fall)

Dags för en annan stor Instructables bygga natt på Omaha Maker grupp! Denna månad, lämnat den fint folken på Dremel oss med en hel massa av bra produkter! I vår makerspace hålla vi dock sällan verktyg i deras ursprungliga fall, utan i stället för kro...

Hur att installera och använda ScratchExt: Javascript Scratch tillägg

ScratchExt är inställd för JavaScript Extensions för Scratchprogramming miljö och ett community för människor i alla åldrar. Det är ett projekt som utvecklats av GrannyCookies, Yoda3D och thistleeverfreen.Detta projekt är fortfarande under utveckling...

Hur till använda en mjuk krets till skydda din öl

vill veta vem har tagit din öl? (Eller egentligen någon mat ur ditt kylskåp) Med denna enkla krets/växel kan du ha en ljus gå i ett annat rum och köra och fånga din öl tjuven!Vad du behöver:en bit av skrivarpapperförpackning bandledande trådledande t...

Fjärr kontroll en leksaksbil över WiFi - använder en LinkIt

Här är en stor helg projekt! som omfattar modifiera en trasig leksak lastbil/bil och Mediatek LinkIt en bräda.Följ instruktionerna nedan, som inkluderar bärgning komponenter av leksaksbil som du kan använda som ett chassi och kombinera det med en Lin...

10 steg till din egen logotyp i Inkscape (gratis) och använda kreativa marknaden for dummies som mig

HejLedsen för den långa titeln. Jag har några bekännelser också. Först är min ritning och konstruktionsarbeten färdigheter inte ens detsamma av en finger målare. Det andra tjäna jag inte pengar, så jag har alltid att göra saker som kan köpas, inklusi...

Använda en rörelsesensor för att automatisera din spökhus

En av de mest användbara sensorerna för att automatisera ett spökhus är en rörelsesensor. Denna sensor kan du aktivera din specialeffekter endast när en ny grupp människor anländer. Så överraskningen kommer inte att förstöras av människor se eller hö...

Använda ogräs som en fri, välsmakande och hälsosam sallad

Många människor ser numera ogräs som onyttiga växter som de behöver för att utrota. Men inte alla ogräs är "dålig" och många av dem är även ganska goda.I detta instructable får du veta och lära sig att skörda massor av olika ogräs & vilda vä...

Karaktär kostym smink - saker att tänka på, Tips Du kan använda!

jag älskar verkligen Halloween (.. .och bär kostymer till cons... och bara klä upp i allmänhet), så jag gå-all-out när jag kan. För att driva de vissa dräkter over-the-top och har du sett din bästa (eller värsta) det finns några underbara lilla ändri...

Steg för att använda en bandsåg

Nyligen fick jag en ny bandsåg. För att komma ihåg stegen för att göra före och efter användande den, gjorde jag mig själv en liten lista som en vänlig påminnelse. Jag tycker att det är bra att ha en checklista så att du inte glömmer ett steg, så här...

Anpassade stryka på teckningar genom att använda en 3D-skrivare

Skriva ut 3D-objekt är en fascinerande sak. Fortfarande, många människor inte inser att standard 3D-skrivare kan vara användbar också för uppgifter som du kanske tänker på som "2D". I detta instructable, ska jag visa hur jag gör du av min 3D skr...

Använda Återställ pin / pin 1 på Attiny utan att bry sig med säkringar

Du shldnt att kunna se detta Instructable som det är opublicerade. Jag hade glömt att jag hade gjort en liknande en föreAttiny 13, 25, 45, 85 är charmiga lilla chips som som namnet säger, är små. De ska ha 6 I/O pins men pin nummer ett (PB5/ADC0) fun...

Konvertera din 4th Gen iPod för att använda Flash-minne

vi alla har eller känner någon som har en iPod med en död hårddisk. Naturligtvis kan du helt enkelt köpa en annan enhet men du tillbaka till de samma makthungriga, fel-benägen, bräckliga roterande media. I stället, uppgradera din iPod för att använda...

Hur man gör en enkel att använda band Dispenser

om du någonsin behöver slå in ett paket eller box för utskick eller göra en låda för ett särskilt projekt, måste du ha tape händig. Särskilt användbart när inslagning gåvor vid juletid eller andra helgdagar. Jag kom upp med idén att använda bara en h...

Använda din mobiltelefon som en MP3 spelare

kolla författarens hemsida, http://www.neatinformation.com/, för massor av intressanta artiklar. Om du länkar till detta instructable från en annan webbplats, vänligen inkludera en länk till webbplatsen Ordentlig Information .En av mina vänner blev h...

Hur man gör FM-mottagare genom att använda Arduino

Hej stötarna. Wan't att göra något coolt? Kolla in.I denna video, har vi gett en kort demonstration av FM-mottagare genom att använda Arduino. I detta Instructable visar vi dig hur man gör det steg för steg.Låt "med det.Steg 1: komponenter 1. Arduino...

Använda en borrmaskin och använda en bil Jack.

jag jobbar regelbundet på min bil och andra fordon. Höja och sänka bilen är ett manuell drift och istället för att köpa en ny elektrisk jack jag beslutade att använda en liten ändring till använda min borr på Jack.Märk väl är detta inte ett nytt anvä...

Projektet 1.2: Använda växlar till kontroll lysdioder

Detta projekt visar hur du använder Verilog HDL med en FPGA ombord. I detta projekt använder du en switch på brädan FPGA för att slå på en LED. Att göra detta, du lär dig de första stegen av skriva Verilog kod och observera hur en switch kan kontroll...

Använda Switcheroo till kontroll leksaker med din smartphone

Tänk om du kunde göra en leksak göra en dans när den speciella någon kallas, eller Ställ in ett alarm på telefonen som orsakade ett fysiskt objekt att komma till livet? Med den Switcherooär det lätt!Först, du ska behov att få en Switcheroo ombord. Få...

Använda Lynx SSC-32 Terminal till kontroll servon

när du får din SSC-32 servo controller, det första du behöver göra är att testa om det är i drift. För att göra detta, måste du använda Lynx SSC-32 terminal. Detta inlägg kommer att förklara för dig exakt hur man gör.Steg 1: Installera Lynx SSC-32 Te...