Camiseta de emoción con un Linkit (2 / 6 paso)

Paso 2: código

Este código está diseñado para iluminar ciertos colores del RGB LED. Que esté configurado de tal manera que usted puede activar el color que se corresponde con los colores de las emociones en Inside Out.

< p > //#include < b64.h >< br > #include < httpclient.h > #include < ltask.h > #include < lwifi.h > #include < lwificlient.h > #include < ldatetime.h > #define WIFI_AP "" #define WIFI_PASSWORD "" #define WIFI_AUTH LWIFI_WPA / / elegir entre LWIFI_OPEN, LWIFI_WPA o LWIFI_WEP. #define por 50 per1 #define #define 3 DEVICEID "" / entrada tu deviceId #define DEVICEKEY "" / entrada su deviceKey #define SITE_URL "api.mediatek.com" < /ldatetime.h >< /lwificlient.h >< /lwifi.h >< /ltask.h >< /httpclient.h >< /b64.h >< /p >< p > LWiFiClient c; unsigned int rtc; unsigned int lrtc; unsigned int rtc1; unsigned int lrtc1; carbón puerto [4] = {0}; char connection_info [21] = {0}; char ip [21] = {0}; int portnum; int val = 0; String tcpdata = String(DEVICEID) + "," + String(DEVICEKEY) + ", 0"; String upload_led; String tcpcmd_ledJoy_on = "LED_ControlJoy, 1"; String tcpcmd_ledJoy_off = "LED_ControlJoy 0"; < /p >< p > String tcpcmd_ledAnger_on = "LED_ControlAnger, 1"; String tcpcmd_ledAnger_off = "LED_ControlAnger 0"; < /p >< p > String tcpcmd_ledDisgust_on = "LED_ControlDisgust, 1"; String tcpcmd_ledDisgust_off = "LED_ControlDisgust 0"; < /p >< p > String tcpcmd_ledFear_on = "LED_ControlFear, 1"; String tcpcmd_ledFear_off = "LED_ControlFear 0"; < /p >< p > String tcpcmd_ledSad_on = "LED_ControlSad, 1"; String tcpcmd_ledSad_off = "LED_ControlSad 0"; < /p >< p > LWiFiClient c2; HttpClient http(c2); < /p >< p > void setup() {LTask.begin(); LWiFi.begin(); Serial.Begin(115200); / * tiempo (! Delay(1000) serial); / * Comentario esta línea cuando Serial no está presente, es decir. ejecutar esta demo sin conectar a la PC * / < /p >< p > Serial.println ("conexión con la AP"); mientras que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {delay(1000);} Serial.println ("llamar a conexión"); < /p >< p > mientras (! c2.connect (SITE_URL, 80)) {Serial.println ("volver a conectar al sitio web"); delay(1000);} delay(100); < /p >< p > pinMode (13, salida); pinMode (12, salida); pinMode (11, salida); pinMode (10, salida); pinMode (9, salida); pinMode (8, salida); pinMode (7, salida); pinMode (6, salida); pinMode (5, salida); pinMode (4, salida); pinMode (3, salida); pinMode (2, salida); getconnectInfo(); connectTCP(); } < /p >< p > void getconnectInfo() {//calling API RESTful para obtener c2.print de conexión de socket TCP ("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 ("conexión: cerrar"); C2.println(); Delay(500); < /p >< p > int errorcount = 0; mientras (! c2.available()) {Serial.println ("esperando respuesta HTTP:"); Serial.println(errorcount); errorcount += 1; Si (errorcount > 10) {c2.stop(); return;} delay(100); } int err = http.skipResponseHeaders(); < /p >< p > int bodyLen = http.contentLength(); Serial.Print ("contenido de longitud es:"); Serial.println(bodyLen); Serial.println(); char c; int ipcount = 0; int cuenta = 0; separador de int = 0; mientras (c2) {int v = c2.read(); if (v! = -1) {c = v; Serial.Print(c); connection_info [ipcount] = c; separador de if(c==',') = ipcount; ipcount ++; } else {Serial.println ("no más contenido, desconectar"); c2.stop(); < /p >< p >}} Serial.print ("la información de conexión:"); Serial.println(connection_info); int i; para (i = 0; i < separador; i ++) = "" {= "" ip [i] = "connection_info [i];"} = "" int = "" j = "0"; separador ++; = "" para (i = "separador; i < 21" & & = "" j < 5; i ++) = "" Puerto [j] = "connection_info [i];" j ++; = "" serial.println ("=" "tcp =" "toma =" "conexión =" "instrucciones:"); = "" serial.print ("ip: =" ""); = "" serial.println(ip); = "" serial.print ("Puerto: =" "serial.println(port); =" "portnum =" atoi"(puerto); =" "serial.println(portnum); < =" "p =" ">< / separador; i ++) >< /p >< p >} //getconnectInfo < /p >< p > void uploadstatus() {//calling API RESTful para cargar datapoint a MCS en estado informe LED Serial.println ("conexión llamada"); LWiFiClient c2; < /p >< p > mientras (! c2.connect (SITE_URL, 80)) {Serial.println ("volver a conectar al sitio web"); delay(1000);} delay(100); if(digitalRead(13)==1) upload_led = "LED_Display,, 1"; Else 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 ("tipo de contenido: texto/csv"); C2.println ("conexión: cerrar"); C2.println(); C2.println(upload_led); Delay(500); < /p >< p > int errorcount = 0; mientras)
! c2.available()) {Serial.print ("esperando respuesta HTTP:"); Serial.println(errorcount); errorcount += 1; Si (errorcount > 10) {c2.stop(); return;} delay(100); } int err = http.skipResponseHeaders(); < /p >< p > int bodyLen = http.contentLength(); Serial.Print ("contenido de longitud es:"); Serial.println(bodyLen); Serial.println(); mientras (c2) {int v = c2.read(); if (v! = -1) {Serial.print(char(v));} else {Serial.println ("no más contenido, desconectar"); c2.stop(); < /p >< p >}}} < /p >< p > void connectTCP() {//establish conexión TCP con el servidor TCP con c.stop() IP y el puerto designado; Serial.println ("conexión a TCP"); Serial.println(IP); Serial.println(portnum); mientras que (0 == c.connect (ip, portnum)) {Serial.println ("volver a conectar a TCP"); delay(1000);} Serial.println ("envío TCP conectar"); c.println(tcpdata); c.println(); Serial.println ("esperando respuesta TCP:");} connectTCP < /p >< p > void heartBeat() {Serial.println ("envío TCP del latido del corazón"); c.println(tcpdata); c.println();} //heartBeat < /p >< p > void loop() //Red led {//Check comando de socket TCP de MCS Server String tcpcmd = ""; mientras que (c.available()) {int v = c.read(); if (v! = -1) {Serial.print((char)v); tcpcmd += (char) v; si (tcpcmd.substring(40).equals(tcpcmd_ledAnger_on)) {digitalWrite (4, alto); digitalWrite (3 ALTO); digitalWrite (2, alto); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledAnger_off)) {digitalWrite (4, bajo); digitalWrite (3, bajo); digitalWrite (2, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledJoy_on)) {digitalWrite (4, alto); digitalWrite (3, alto); digitalWrite (2, alto); digitalWrite (10, alta); digitalWrite (9, alto); digitalWrite (8, alto); digitalWrite (7, alta); digitalWrite (6, alto); digitalWrite (5, alto); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledJoy_off)) {digitalWrite (4, bajo); digitalWrite (3, bajo); digitalWrite (2, bajo); digitalWrite (10, bajo); digitalWrite (9, bajo); digitalWrite (8, bajo); digitalWrite (7, bajo); digitalWrite (6, bajo); digitalWrite (5, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledDisgust_on)) {digitalWrite (10, HIGH); digitalWrite (9, HIGH); digitalWrite (8, alto); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledDisgust_off)) {digitalWrite (10, bajo); digitalWrite (9, bajo); digitalWrite (8, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledFear_on)) {digitalWrite (4, HIGH); digitalWrite (3, alto); digitalWrite (2, alto); digitalWrite (7, alto); digitalWrite (6, alto); digitalWrite (5, alto); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledFear_off)) {digitalWrite (4, bajo); digitalWrite (3, bajo); digitalWrite (2, bajo); digitalWrite (7, bajo); digitalWrite (6, bajo); digitalWrite (5, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; } < /p >< p > if(tcpcmd.substring(40).equals(tcpcmd_ledSad_on)) else {digitalWrite (7, alto); digitalWrite (6, alto); digitalWrite (5, alto); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_ledSad_off)) {digitalWrite (7, bajo); digitalWrite (6, bajo); digitalWrite (5, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; }}} < /P >< p > LDateTime.getRtc (& rtc); Si ((rtc-lrtc) > = por) {heartBeat(); lrtc = rtc;} //Check Informe datapoint estado intervalo LDateTime.getRtc (& rtc1); Si ((rtc1-lrtc1) > = per1) {uploadstatus(); lrtc1 = rtc1;}} < /p >

Artículos Relacionados

LPG / sistema de detección de biogás con MediaTek LinKIt uno

LPG / sistema de detección de biogás con MediaTek LinKIt uno

La plataforma de desarrollo un LinKIt ha sido diseñada y lanzado por los laboratorios de MediaTek con un diseño compacto, que permite la creación de accesorios personales y dispositivos de IoT, con conectividad Rica. HQ de Instructables han sembrado
Teñido de nieve! Teñir camiseta, fibra o hilado con nieve

Teñido de nieve! Teñir camiseta, fibra o hilado con nieve

cómo teñir una camiseta, fibra o hilado con nieve Un Tutorial Fiberartsy.comQuerer tratar de nieve teñido por un tiempo, pero totalmente olvidé hasta que un amigo algo había publicado en Facebook. Bien, puesto que todavía tenemos un merecido de nieve
Para empezar con un LinkIt - motores de corriente continua

Para empezar con un LinkIt - motores de corriente continua

En los dos últimos instructables mostró cómo comenzar con el LinkIt uno que incluyó controladores servos y LEDs. También se muestra cómo actualizar el firmware a bordo del LinkIt, así que te recomiendo ir por que primero.En este instructable voy a mo
Entretela TSOP1740 con Mediatek LinkIt uno

Entretela TSOP1740 con Mediatek LinkIt uno

En Instructables te serán capaces de interfaz TSOP 1740 con Mediatek LinkIt un tablero.TSOP 1740 es un fotosensor que detecta la frecuencia de 38Khz que se emite por controles remotos de TV, equipo de música, etc..Paso 1: requisitosUn tablero de Medi
Termometro digital con LM35 con Mediatek LinkIt uno

Termometro digital con LM35 con Mediatek LinkIt uno

En este Instructable, usted será capaz de medir la temperatura corporal e indican si una persona tiene fiebre o no. Esto se hace por interfaz LM35 con Mediatek LinkIt uno.LM35 es un sensor de temperatura terminal 3.Paso 1: componentesSensor de temper
Control de ArmLinkLibrary-master brazo Robot con brazo Link Software

Control de ArmLinkLibrary-master brazo Robot con brazo Link Software

¿Quieres ser cool como Simone Giertz pero ArmLinkSerial n ' t sabe dónde empezar?El brazo InterbotiX enlace de Software proporciona una interfaz simple para GlobalArm.h -compatible con brazos de Robot. Con este software se puede controlar el brazo de
Comprobar si funciona el Serial Monitor con Mediatek LinkIt uno

Comprobar si funciona el Serial Monitor con Mediatek LinkIt uno

Cuando empecé a trabajar con la Junta un LinkIt, era incapaz de leer nada en el monitor serial, pero pude subir código. Había reducido eventualmente a una cuestión de software, pero aquí es lo que encontré útil.Paso 1: Instalar correctamente Hay much
Construir un Sensor de proximidad con el Linkit uno

Construir un Sensor de proximidad con el Linkit uno

Sensores de proximidad son frescos a trabajar con especial cuando están diseñando robots, sea módulo de distancia por ultrasonidos o un sensor de proximidad infrarrojo. En este voy a mostrar cómo diseñar su propio sensor de proximidad de IR con un mo
Automatizado de puerta giratoria con Mediatek Linkit uno

Automatizado de puerta giratoria con Mediatek Linkit uno

Te has preguntado U puede hacer que una puerta giratoria automática con la un junta famoso Mediatek Linkit!!!!!! En este Instructable, voy a mostrarles un prototipo de la puerta sólo con la magia de Servo motores, Sensor del IR y las tablas... Permit
Interfaz BMP180 Sensor Barométrico con Mediatek Linkit

Interfaz BMP180 Sensor Barométrico con Mediatek Linkit

en este Instructable, usted será capaz de a interfaz BMP 180 con Board.BMP180 un Linkit es un Digital Sensor barométrico de presión a través del cual usted será capaz de medir la presión, altitud y temperatura.Paso 1: requisitosUn tablero de MediaTek
Un sistema hidropónico Simple con MediaTek LinkIt™ una

Un sistema hidropónico Simple con MediaTek LinkIt™ una

Hoy queremos describir un proyecto basado en la nueva Junta de Mediatek Linkit uno. Con esta tabla queremos realizar un sistema hidropónico simple que es capaz de:1) que la solución nutritiva de la hidroponía:Esto se hará mediante el uso de válvulas
Acelerómetro ADXL 335 con Mediatek LinkIt uno tablero de interconexión

Acelerómetro ADXL 335 con Mediatek LinkIt uno tablero de interconexión

Utilizando MediaTek LinkIt uno Podrás interfaz ADXL 335.El ADXL335 es pequeña, delgada, de bajo consumo, acelerómetro de 3 ejes completacon la señal había condicionada salidas de voltaje.Paso 1: componentesADXL 335: El Sensor del acelerómetroUn table
Dar su camiseta un escote redondo con cinta

Dar su camiseta un escote redondo con cinta

Por desgracia, yo soy de esas personas que no pueden soportar a cualquier tipo de opresión en el cuello. Generalmente Compro escote camisetas de las señoras, pero a veces encuentro una camisa con un diseño divertido que sólo está disponible en el est
Comprobación de su ubicación actual con MediaTek LinkIT uno

Comprobación de su ubicación actual con MediaTek LinkIT uno

Es fácil encontrar las coordenadas de su ubicación actual con el MediaTek LinkIT uno.Se necesita:Un equipo que ejecuta el SDK de MediaTekMediaTek LinkIt uno con GPS antena conectadaPaso 1: Cargar el códigoPuede encontrar el código en los ejemplos del