Paso 3: Instalación del Software.
En primer lugar necesita configurar su MediaTek LinkIt una tabla con el IDE de Arduino, así que le rogamos que siga las instrucciones disponibles en la página web oficial de laboratorios de MediaTek: http://bit.ly/1KcU66X
Una vez terminada la instalación, puede iniciar el IDE y asegúrese de que está conectado al puerto COM correcto.
Código de Arduino:
< p > / * < br > * mujeres seguridad usable * autor: Geeve George * Instrubtables: * / < /p >< p > #include < Ltask.h >< ltask.h > #include < LWiFi.h >< lwifi.h > #include < LWiFiServer.h >< lwifiserver.h > #include < LWiFiClient.h >< lwificlient.h >< /lwificlient.h >< /lwifiserver.h >< /lwifi.h >< /ltask.h >< /p >< p > #define WIFI_AP "Su Wifi SSID" #define WIFI_PASSWORD "su Contraseña WIFI"#define WIFI_AUTH LWIFI_WPA < /p >< p > serverPort int = 80; Server(serverPort) de LWiFiServer; int LED = 13; < /p >< p > #include < Wire.h >< wire.h >< /wire.h >< /p >< p > #include < rgb_lcd.h >< rgb_lcd.h >< /rgb_lcd.h >< /p >< p > #include < LGPS.h >< lgps.h >< /lgps.h >< /p >< p > gpsSentenceInfoStruct info; char buff [256]; < /p >< rgb_lcd p > lcd; < /p >< p > int ButtonPin = 7; int BuzzerPin = 2; < /p >< p > latitud doble; doble longitud; < /p >< p > int buttonState; < /p >< p > static unsigned char getComma (unsigned char num, const char * str) {unsigned char i, j = 0; int len=strlen(str); para (i = 0; i < len; i ++) {si (str [i] == ',') j ++; if(j == num) volver i + 1;} return 0;} < /p >< p > estática doble getDoubleNumber (const char * s) {char buf [10]; unsigned char i doble rev; i = getComma (1, s); i = i - 1; strncpy (buf, s, i); buf [i] = 0; rev=atof(buf); rev vuelta;} < /p >< p > estática doble getIntNumber (const char * s) {char buf [10]; unsigned char i doble rev; i = getComma (1, s); i = i - 1; strncpy (buf, s, i); buf [i] = 0; rev=atoi(buf); rev vuelta;} < /p >< p > void parseGPGGA (const char * GPGGAstr) {doble latitud doble longitud; int tmp, hora, minuto, segundo, num; si (GPGGAstr [0] == ') {tmp = getComma (1, GPGGAstr); hora = (GPGGAstr [tmp + 0] - '0') * 10 + (GPGGAstr [tmp + 1] - '0'); minuto = (GPGGAstr [tmp + 2] - '0') * 10 + (GPGGAstr [tmp + 3] - '0'); segundo = (GPGGAstr [tmp + 4] - '0') * 10 + (GPGGAstr [tmp + 5] - '0'); sprintf (buff, "UTC temporizador % 2d-2d-% 2d" hora, minuto, segundo); Serial.println(Buff); tmp = getComma (2, GPGGAstr); latitud = getDoubleNumber (& GPGGAstr[tmp]); tmp = getComma (4, GPGGAstr); longitud = getDoubleNumber (& GPGGAstr[tmp]); sprintf (buff, "latitude = % .4f 10, longitud = %10.4f", latitud, longitud); Serial.println(Buff); tmp = getComma (7, GPGGAstr); Num = getIntNumber (& GPGGAstr[tmp]); sprintf (buff, "número de satélites = %d", num); Serial.println(Buff); } else {Serial.println ("no obtener datos");}} < /p >< p > void setup() {< /p >< p > Serial.begin(9600); lcd.begin(16,2); < /p >< p > LGPS.powerOn(); Serial.println ("LGPS encendido y esperando..."); Delay(3000); pinMode(ButtonPin,INPUT); pinMode(BuzzerPin,OUTPUT); pinMode (LED, salida); LWiFi.begin(); < /p >< p > / Mantenga reintentando hasta conectado a AP Serial.println("Connecting to AP"); mientras que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {digitalWrite (LED, alta); delay(100); digitalWrite (LED, baja); delay(100); digitalWrite (LED, alta); delay(100); digitalWrite (LED, baja); delay(600); < /p >< p >} digitalWrite (LED, alta); printWifiStatus(); Serial.println ("Start Server"); Server.Begin(); Serial.println ("servidor iniciado"); digitalWrite (LED, baja); } < /p >< p > int loopCount = 0; < /p >< p > void loop() {< /p >< p > / / Pon tu código principal, para ejecutar varias veces: String str = ""; String url = ""; int i; Delay(500); loopCount ++; Cliente LWiFiClient = server.available(); Si (cliente) {Serial.println ("nuevo cliente"); / / termina una solicitud http con una línea en blanco boolean currentLineIsBlank = true; mientras que (client.connected()) {si (client.available()) {/ / básicamente ignora la petición del cliente, pero espere para HTTP petición final char c = client.read(); Serial.Print(c); Si (c! = '\n') str += c; Si (c == '\n') {/ / Serial.println(str); si (str.startsWith ("GET")) {url = str.substring (4, str.lastIndexOf("")); Serial.Print("URL:"); Serial.Print(URL); Serial.println(":");} Str = "";} < /p >< p > Si (c == '\n' & & currentLineIsBlank) {Serial.println ("enviar respuesta"); / / enviar un client.println de encabezado de respuesta http estándar ("HTTP/1.1 200 OK"); client.println ("tipo de contenido: texto/html"); client.println ("conexión: cerrar"); / / la conexión se cerrará después de la terminación de la client.println() respuesta; si (url! = String("favicon.ico")) {client.println(""); Client.println ("\n \n < /p >< p > < /p >< p > de \n"); Ip dirección IP = LWiFi.localIP(); Client.println ("< /p >< centro >"); Client.println ("< forma acción =" "); Client.println ("" método = "GET" > decirle a su equipo qué hacer! < br >< br >< tipo de entrada = nombre "radio" = valor de "q" = "on" > encender el LED. < br >< tipo de entrada = nombre "radio" = valor de "q" = "off" > Gire el LED apagado < br >< br >< tipo de entrada = 'Enviar' valor = "hacerlo!" >< / forma >< p > "); i = digitalRead(LED); url.toLowerCase(); Si (url == String("/?q=on")) {< /p >< p > lcd.clear(); lcd.println("Lat:"); LCD.println(Latitude); lcd.setCursor(0,1); LCD.println("Lon:"); LCD.println(longitude); Serial.println ("http://www.latlong.net/c/?lat="); Serial.println(Latitude); Serial.println ("& largo ="); Serial.println(longitude); digitalWrite(BuzzerPin,HIGH); Delay(2000); digitalWrite(BuzzerPin,LOW); LCD.Clear(); < /p >< p > digitalWrite (LED, alta); Client.println ("LED encendido < br >"); } else if (url == String("/?q=off")) {digitalWrite (LED, baja); client.println ("LED apagado < br >"); < /p >< p > digitalWrite(BuzzerPin,LOW); lcd.clear();} else {client.println ("no hacer nada < br >"); < /p >< p > digitalWrite(BuzzerPin,LOW); lcd.clear();} client.println ("< /p >< / centro >< p > \n < /p >< p >"); Client.println(); rotura; {}} Si (c == '\n') {/ / vas a empezar un nuevo currentLineIsBlank de línea = true;} else if (c! = '\r') {/ / he conseguido un carácter en la actual línea currentLineIsBlank = false;}} } / / dar el tiempo de navegador web para recibir los datos delay(50); < /p >< p > / / cerrar la conexión: Serial.println ("estrecha conexión"); Client.STOP(); Serial.println ("cliente desconectado"); } < /p >< p > buttonState = digitalRead(ButtonPin); < /p >< p > if(buttonState == HIGH) {lcd.clear(); lcd.println("Lat:"); LCD.println(Latitude); lcd.setCursor(0,1); LCD.println("Lon:"); LCD.println(longitude); Serial.println ("LINK: http://www.latlong.net/c/?lat="); Serial.println(Latitude); Serial.println ("& largo ="); Serial.println(longitude); digitalWrite(BuzzerPin,HIGH); Delay(2000); digitalWrite(BuzzerPin,LOW); LCD.Clear(); < /p >< p >} < /p >< p > else {digitalWrite(BuzzerPin,LOW); lcd.clear();} < /p >< p >} < /p >< p > void printWifiStatus() {/ / el SSID de la red está conectado a la impresión: Serial.print ("SSID:"); Serial.println(LWiFi.SSID()); < /p >< p > / / dirección IP de tu WiFi protector la impresión: dirección IP ip = LWiFi.localIP(); Serial.Print ("dirección IP:"); Serial.println(IP); < /p >< p > Serial.print ("la máscara de subred:"); Serial.println(LWiFi.subnetMask()); < /p >< p > Serial.print ("gateway IP:"); Serial.println(LWiFi.gatewayIP()); < /p >< p > / / impresión de la fuerza de la señal recibida: rssi largo = LWiFi.RSSI(); Serial.Print ("intensidad (RSSI) de la señal:"); Serial.Print(RSSI); Serial.println ("dBm"); } < /p >< br >