Chemise d’émotion en utilisant un Linkit One (2 / 6 étapes)

Étape 2: Code

Ce code est conçu pour éclairer certaines couleurs de la LED RGB. Il est configuré de telle sorte que vous pouvez activer la couleur qui correspond aux couleurs des émotions chez l’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 / / le choix entre LWIFI_OPEN, LWIFI_WPA ou LWIFI_WEP. #define par 50 #define PAR1 3 #define DEVICEID "" / / entrée votre deviceId #define DEVICEKEY "" / / entrée votre deviceKey #define pConfig_site_url "api.mediatek.com" < /ldatetime.h >< /lwificlient.h >< /lwifi.h >< /ltask.h >< /httpclient.h >< /b64.h >< / p >< p > c LWiFiClient ; unsigned int CCF ; unsigned int CRTL ; unsigned int rtc1 ; unsigned int lrtc1 ; char de port [4] = {0} ; char connection_info [21] = {0} ; char d’ip [21] = {0} ; portnum int ; 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) ; / * while (! Delay(1000) série) ; / * Commentaire sur cette ligne lors de la série n’est pas présent, c’est à dire. exécuter cette démo sans se connecter au PC * / < /p >< p > Serial.println ("connexion à AP ») ; tandis que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {delay(1000);} Serial.println ("appel de connexion"); < /p >< p > tandis que (! c2.connect (pConfig_site_url, 80)) {Serial.println ("re-connexion au site Web"); delay(1000);} delay(100) ; < /p >< p > pinMode (13, sortie) ; pinMode (sortie 12,) ; pinMode (sortie 11) ; pinMode (sortie 10,) ; pinMode (sortie 9) ; pinMode (sortie 8) ; pinMode (7, sortie) ; pinMode (6, sortie) ; pinMode (5, sortie) ; pinMode (sortie 4) ; pinMode (3, sortie) ; pinMode (sortie 2) ; getconnectInfo() ; connectTCP() ; } < /p >< p > void getconnectInfo() {//calling RESTful API pour obtenir c2.print de connexion socket TCP (« GET /mcs/v2/devices / "); c2.print(DEVICEID) ; c2.println ("/connections.csv HTTP/1.1"); c2.print (" hôte: ") ; C2.println(SITE_URL) ; C2.Print ("deviceKey:") ; C2.println(DEVICEKEY) ; C2.println ("Connection : close") ; C2.println() ; Delay(500) ; < /p >< p > int errorcount = 0 ; tandis que (! c2.available()) {Serial.println ("en attente de réponse 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 ("contenu longueur est:") ; Serial.println(bodyLen) ; Serial.println() ; char c ; int ipcount = 0 ; int count = 0 ; séparateur d’int = 0 ; tout en (c2) {int v = c2.read() ; if (v! = -1) {c = v ; Serial.Print(c) ; connection_info [ipcount] = c ; séparateur de if(c==',') = ipcount ; ipcount ++ ; } else {Serial.println ("pas plus de contenu, déconnecter"); c2.stop() ; < /p >< p >}} Serial.print ("les infos de connexion:") ; Serial.println(connection_info) ; int i ; pour (j’ai = 0; j’ai < séparateur; i ++) = "" {= "" ip [i] = "connection_info [i];"} = "" int = "" j = "0"; séparateur ++; = "" pour (j’ai = "séparateur; i < 21" & & = "" j < 5; i ++) = "" port [j] = "connection_info [i];" j ++; = "" serial.println ("la =" "tcp =" "socket =" "connexion =" "instructions:"); = "" serial.print ("ip: =" ""); = "" serial.println(ip); = "" serial.print ("port: =" "serial.println(port); =" "portnum =" atoi"(port); =" "serial.println(portnum) ; < =" "p =" ">< / séparateur; i ++) >< / p >< p >} //getconnectInfo < /p >< p > void uploadstatus() {//calling API RESTful Télécharger datapoint dans les pays membres au statut de rapport LED Serial.println ("connexion appelante") ; LWiFiClient c2 ; < /p >< p > tandis que (! c2.connect (pConfig_site_url, 80)) {Serial.println ("re-connexion au site 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 ("hôte:") ; 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 ("Connection : close") ; C2.println() ; C2.println(upload_led) ; Delay(500) ; < /p >< p > int errorcount = 0 ; tandis que)
! c2.available()) {Serial.print ("en attente de réponse 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 ("contenu longueur est:") ; Serial.println(bodyLen) ; Serial.println() ; tout en (c2) {int v = c2.read() ; if (v! = -1) {Serial.print(char(v));} else {Serial.println ("pas plus de contenu, déconnecter"); c2.stop() ; < /p >< p >}}} < /p >< p > void connectTCP() {//establish connexion TCP avec le serveur TCP avec désigné IP et le Port des c.stop() ; Serial.println (« Connecting to TCP ») ; Serial.println(IP) ; Serial.println(portnum) ; tandis que (0 == c.connect (ip, portnum)) {Serial.println ("re-connexion TCP"); delay(1000);} Serial.println ("envoyer TCP connect") ; c.println(tcpdata) ; c.println() ; Serial.println ("en attente de réponse TCP:");} connectTCP < /p >< p > void heartBeat() {Serial.println ("envoi TCP heartBeat"); c.println(tcpdata) ; c.println();} //heartBeat < /p >< p > void loop() //Red conduit {//Check pour commande de socket TCP de MCS Server String tcpcmd = ""; tout en (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, HIGH); digitalWrite (3 ÉLEVÉ) ; digitalWrite (2, haut) ; Serial.Print ("Switch LED sur") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledAnger_off)) {digitalWrite (4, faible); digitalWrite (3, faible); digitalWrite (2, basse) ; Serial.Print ("éteindre LED") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledJoy_on)) {digitalWrite (4, élevée) digitalWrite (3, élevée) digitalWrite (2, haut); digitalWrite (10, HIGH); digitalWrite (9, HIGH); digitalWrite (8, HIGH); digitalWrite (7, HIGH); digitalWrite (6, HIGH); digitalWrite (5, HIGH) ; Serial.Print ("Switch LED sur") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledJoy_off)) {digitalWrite (4, faible) digitalWrite (3, faible); digitalWrite (2, basse); digitalWrite (10, basse); digitalWrite (9, faible); digitalWrite (8, basse); digitalWrite (7, basse); digitalWrite (6, faible); digitalWrite (5, faible) ; Serial.Print ("éteindre LED") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledDisgust_on)) {digitalWrite (10, HIGH); digitalWrite (9, HIGH); digitalWrite (8, hauts) ; Serial.Print ("Switch LED sur") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledDisgust_off)) {digitalWrite (10, LOW); digitalWrite (9, faible); digitalWrite (8, faible) ; Serial.Print ("éteindre LED") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledFear_on)) {digitalWrite (4, HIGH) digitalWrite (3, élevée) digitalWrite (2, HIGH); digitalWrite (7, HIGH); digitalWrite (6, HIGH); digitalWrite (5, HIGH) ; Serial.Print ("Switch LED sur") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledFear_off)) {digitalWrite (4, faible) digitalWrite (3, faible); digitalWrite (2, basse); digitalWrite (7, faible); digitalWrite (6, LOW); digitalWrite (5, faible) ; Serial.Print ("éteindre LED") ; tcpcmd = "" ; } < /p >< p > if(tcpcmd.substring(40).equals(tcpcmd_ledSad_on)) else {digitalWrite (7, HIGH); digitalWrite (6, HIGH); digitalWrite (5, HIGH) ; Serial.Print ("Switch LED sur") ; tcpcmd = "" ; } else if(tcpcmd.substring(40).equals(tcpcmd_ledSad_off)) {digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, faible) ; Serial.Print ("éteindre LED") ; tcpcmd = "" ; }}} < /P >< p > LDateTime.getRtc (& rtc) ; Si ((rtc-lrtc) > = par) {heartBeat() ; CRTL = CCF;} //Check for rapport datapoint statut intervalle LDateTime.getRtc (& rtc1) ; Si ((rtc1-lrtc1) > = PAR1) {uploadstatus() ; lrtc1 = rtc1;}} < /p >

Articles Liés

Servo commande utilisant le LinkIt One

Servo commande utilisant le LinkIt One

Avec le Conseil un LinkIt, beaucoup de projets sans fil connectés sont placés droit à votre portée, n'attendent que vous pour se plonger dans leur. Avec l'ajout de servos, des projets tels que serrures contrôlé par le son, les indicateurs et les robo
Capteur de salles utilisant le Linkit One

Capteur de salles utilisant le Linkit One

Dans ce instructable je vais vous montrer comment travailler avec un capteur de salles utilisant le One Linkit. Les salles est un capteur qui détecte les champs magnétiques.Étape 1: Liste des piècesLinkit OneCapteur de halls de Seeed StudioCable micr
Brouilleur IR utilisant le LinkIt One

Brouilleur IR utilisant le LinkIt One

Dans ce instructable je vais pour vous montrer comment construire un signal IR Jammer, qui est un amusant week-end projet et est optimal à la blague d'un ami ou votre famille. Comment fonctionne le circuit est il capte le code infrarouge de votre tél
Fish Food Feeder en utilisant le Linkit One

Fish Food Feeder en utilisant le Linkit One

Dans les deux dernières instructables j'ai utilisé la LinkIt une planche, que le jury un LinkIt est idéal pour les projets de l'ITO et dans ce instructable je vais vous montrer comment construire une mangeoire de nourriture poissons à l'aide de l'une
Arroseuse de sécurité incendie de secours utilisant LM35 et LinkIt One

Arroseuse de sécurité incendie de secours utilisant LM35 et LinkIt One

Que ferez-vous lorsque votre maison, bureau etc., prend feu accidentellement!!Voici une solution pour aider à contrôler la flamme ! Donc, aujourd'hui nous allons au Conseil de mise en oeuvre d'urgence incendie sécurité arrosage utilisant LM35 et LInk
Linkit ONE Motion détection sapin sondeur

Linkit ONE Motion détection sapin sondeur

Ce projet va s'asseoir sous votre sapin de Noël et détecter tout mouvement. Si le mouvement est détecté, il paiera d'un « Ho Ho Ho » Santa voix ou son Instrumental « Jingle Bells ». (Peut être sélectionné dans le Code.)Ce projet est un Compact + c'es
LinkIt ONE - communication avec python

LinkIt ONE - communication avec python

Salut camarades responsables !Nouveau Conseil d'administration de MediaTek, LinkIt ONE offre un grand potentiel - GPS, WiFi, Bluetooth, GSM, extensibilité avec gpio, processeur puissant et bien plus encore. Mais parfois, vous devez toujours le confor
Veilleuse automatique Linkit One

Veilleuse automatique Linkit One

Hey tout le monde ! Dans ce instructable, je vais vous montrer comment faire une veilleuse automatique qui s'allume lorsque tu feras sortir du lit. Ce projet utilise un détecteur de mouvement PIR qui détecte la lumière infrarouge, qui à son tour, peu
Allée Intruder Alert avec LinkIt One

Allée Intruder Alert avec LinkIt One

Je veux jamais savoir quand une personne est conduite dans votre entrée ? Eh bien, j'ai toujours. Surtout quand quelqu'un vient de ramasser un de mes enfants pour les emmener à l'école, ou la danse ou un autre événement. Et puisque c'est une perte de
Objet numérique compteur à l’aide de LDR interfaçage avec Mediatek LinkIt One

Objet numérique compteur à l’aide de LDR interfaçage avec Mediatek LinkIt One

Dans ce Instructable, vous serez en mesure à Mediatek Linkit une carte d'Interface à l'aide de LDR et compteur d'objet numérique qui peut comte objets jusqu'à 9999.Étape 1: exigences Usage général PCB bord4 CD 4026 Johnson décennie Counter.4 communes
Capteur de température de Linkit One

Capteur de température de Linkit One

Dans ce instructable je vais comment vous comment mesurer la température à l'aide d'un un Linkit et un capteur de température Lm35. Ce projet peut être une partie d'un moniteur sans fil de temps, si vous n'avez pas vu mon instructables précédent s'il
Construire un capteur de proximité avec le Linkit One

Construire un capteur de proximité avec le Linkit One

Capteurs de proximité sont cool de travailler avec especial lorsque vous concevez des robots, que ce soit le module de distance à ultrasons ou un capteur de proximité IR. Dans ce je vais montrer comment concevoir votre propre capteur de proximité IR
Commande d’appareils de haute tension avec LinkIt One

Commande d’appareils de haute tension avec LinkIt One

Dans les projets de quelques dernières j'ai utilisé le jury un LinkIt et le jury un LinkIt est idéal pour les applications de l'ITO. Mais le LinkIt One n'est pas capable de gérer la haute tension et des dispositifs actuels, comme par exemple votre sy
LinkIt One - Oscilloscope

LinkIt One - Oscilloscope

Alors qu'il travaillait avec l'électronique, l'un des outils plus importants est l' Oscilloscope et il un des outils plus plus coûteux aussi.Donc dans ce instructable je vais vous montrer comment construire un oscilloscope l'One LinkIt. Bien que ce s