Përmbajtje:

Hue Magic: 4 hapa (me fotografi)
Hue Magic: 4 hapa (me fotografi)

Video: Hue Magic: 4 hapa (me fotografi)

Video: Hue Magic: 4 hapa (me fotografi)
Video: EPIC Spider-Man Photography! 🕸🕷 #shorts #photography #spiderman 2024, Qershor
Anonim
Image
Image

Mirë se vini magjistarë!

Nja dy muaj më parë krijova një kuti të vogël magjike me shkop për djalin tim 3 vjeç. Kur prek kutinë me shkopin, një dritë me ngjyrë që ndryshon do të fillojë të lëshojë nga kutia. Kur sheh një ngjyrë që i pëlqen veçanërisht, ai mund të drejtojë shkopin drejt llambës së tryezës (me një llambë Philips Hue brenda), të bëjë një magji dhe ngjyra nga kutia do të hidhet me magji në llambë! Llamba dhe drita nga kutia papritmas kanë të njëjtën ngjyrë…

Pas disa sekondash, ngjyra zbehet dhe llamba e tryezës kthehet në gjendjen e saj para magjisë. Derisa të hidhet një magji e re…

Hapi 1: Çfarë ju nevojitet për të krijuar këtë projekt

Çfarë ju nevojitet për të krijuar këtë projekt
Çfarë ju nevojitet për të krijuar këtë projekt
Çfarë ju nevojitet për të krijuar këtë projekt
Çfarë ju nevojitet për të krijuar këtë projekt
Çfarë ju nevojitet për të krijuar këtë projekt
Çfarë ju nevojitet për të krijuar këtë projekt

Për të krijuar këtë projekt, do t'ju duhet materialet e mëposhtme:

    • 1 (ose më shumë) llambë me ngjyra Philips Hue dhe një urë Hue
    • 1 mikrokontrollues Wemos D1 mini ose i ngjashëm me bazë esp8266
    • 1 sensor prekjeje (Arduino) (p.sh. TTP223R)
    • 1 (Arduino) buton i çastit
    • 1 kondensator 10uF
    • 1 led RGB (lloji i zakonshëm i anodës)
    • 5 rezistente (10, 22 dhe 47 Ohm, 2x 10K Ohm)
    • 2 PCB të vogla prototipuese (2x3 inç ose rreth 5x7 cm duhet të jenë mjaft të mëdha)
    • disa tela (bluzë)
    • një hekur bashkues
    • një shkop magjik (mund të blihet si i gatshëm në një dyqan lodrash, ose mund ta bëni vetë)
    • një kuti e vogël e bërë prej kartoni ose druri (mund të jetë një kuti ekzistuese, por gjithashtu mund të ndërtoni një kuti nga e para natyrisht)
    • ndonjë kasetë
    • disa zam dhe/ose arra dhe bulona për të montuar PCB -të në kuti.
    • opsionale: letër ambalazhi për kutinë

NB: Një përvojë e vogël në leximin e diagrameve qarkore është e dobishme kur kaloni këtë udhëzues. Diagrami im nuk është tepër kompleks: nëse mund të dalloni një kondensator nga një rezistencë, me siguri do të jeni mirë.

Disa përvoja me programimin Arduino duke përdorur Arduino IDE është gjithashtu e dobishme. Përvoja më themelore duhet të jetë e mjaftueshme, pasi unë do të siguroj kodin e plotë për ju që të kopjoni/ngjisni. Sidoqoftë, do t'ju duhet të përshtatni disa gjëra, për ta bërë atë të funksionojë në konfigurimin tuaj të veçantë (p.sh. cilësimet e rrjetit tuaj dhe disa detaje nga konfigurimi juaj Hue). Nëse kjo tingëllon pak frikësuese, mos u shqetësoni, unë do t'ju ndihmoj të merrni të gjithë informacionin që ju nevojitet.

Hapi 2: Kutia dhe shkopi

Kutia & Shkopi
Kutia & Shkopi
Kutia & Shkopi
Kutia & Shkopi

Hapat e parë janë zakonisht më të vështirat, por jo në këtë udhëzues! Për një fillim të lehtë, thjesht mund të blini një shkop magjik nga një dyqan lodrash dhe për kutinë thjesht mund të ripërdorni një kuti të vogël ekzistuese që tashmë e keni shtrirë. Vetëm sigurohuni që kutia nuk është prej metali, pasi kjo do të bllokojë sinjalet wifi dhe ne kemi nevojë për ato për magji;-).

Kur ri-synoni një kuti ekzistuese, e vetmja gjë që duhet të bëni është të bëni dy vrima në krye të kutisë: 1 vrimë e vogël (madhësia 5mm = 0.2 ") për led RGB dhe një vrimë më e madhe (rreth 12- 14 mm ose rreth 0.5 ") për sensorin e prekjes.

Vendosja e saktë e vrimave nuk është kritike, thjesht vendosini ato sipas ndjenjës tuaj të estetikës, por mbani në mend disa gjëra:

  • Mbani një distancë midis të dy vrimave për t'u siguruar që përbërësit që do të montohen nën vrima (led RGB dhe sensori i prekjes) lejohen që të dy të zënë hapësirë të mjaftueshme për montim dhe instalime elektrike.
  • Vrima më e madhe është për sensorin e prekjes. Ky sensor do të montohet vetëm nën vrimë, në mënyrë të tillë që të mund të preket (dhe madje pak të shtypet) nga shkopi. Prandaj sigurohuni që shkopi që blini të mos jetë shumë i trashë!

Opsionale ju mund të përdorni bojë ose letër ambalazhi dhe plastikë për ta bërë kutinë tuaj pak më të bukur dhe për ta mbrojtur atë nga derdhjet e ushqimit dhe duart e pista.

Nëse ky hap i parë është pak shumë ambicioz sipas dëshirës tuaj, ju lutemi shkoni përpara dhe krijoni një kuti dhe shkopi tërësisht nga e para! Ka disa udhëzime atje që do t'ju ndihmojnë të krijoni një shkop të bukur

Çfarëdo rruge që zgjidhni, tani është koha për të eksploruar pjesën e brendshme të kutisë.

Hapi 3: Hardueri brenda

Hardware Brenda
Hardware Brenda
Hardware Brenda
Hardware Brenda
Hardware Brenda
Hardware Brenda

Përdorni një hekur bashkues për të lidhur përbërësit elektronikë sipas diagramit të qarkut të mësipërm. Ka disa gjëra që duhet kushtuar vëmendje e veçantë:

  • Telat midis Wemos D1 Mini dhe led RGB duhet të jenë mjaft të gjata në mënyrë që led RGB të mund të montohet në vrimën që keni bërë në kapakun e kutisë.
  • Të njëjtat llogari për telat e bashkangjitur në çelësin momental dhe sensorin e prekjes pasi këto duhet të jenë të arritshme përmes vrimës tjetër në kapak.
  • Butoni i ndërprerësit të çastit duhet të ngjitet në pjesën e poshtme (ana jo e ndjeshme) e sensorit të prekjes, në mënyrë të tillë që të mund ta vendosni përsëri butonin në çelësin momental me sensorin e prekjes të ngjitur në krye (shiko foton). Sensori i prekjes është montuar në krye të çelësit momental për të zbuluar shtypjet e butonave të bëra me gisht, në këtë rast shtypja e butonit do të injorohet. Vetëm kur butoni shtypet nga shkopi magjik (i cili duhet të jetë jo përçues, kështu që plastika dhe druri janë në rregull), cikli magjik do të fillojë.
  • Montoni butonin e momentit me sensorin e prekjes në majë jo shumë thellë nën vrimën në kapak, sepse duhet të arrihet nga shkopi magjik për të vënë magjinë në lëvizje.
  • Sigurohuni që të vëzhgoni polaritetin e kondensatorit kur e bashkoni atë. Nëse i ktheni drejtimet pozitive dhe negative, kondensatori ka të ngjarë të lëshojë një tym magjik dhe do ta vendosë qarkun tuaj në një gjumë të përjetshëm.
  • Ngjiteni, ngjiteni dhe ose vidhosni mbajtësen e baterisë dhe PCB -të në vend. Nuk ka pse të jetë i pastër, pasi nuk do të jetë në shikim. Thjesht duhet të jetë dëshmi e rënies.

Për softuerin!

Hapi 4: Softueri

Sigurohuni që keni redaktorin më të fundit (falas) të softuerit Arduino, i cili mund të shkarkohet në https://www.arduino.cc/en/Main/Software. Për të shtuar mbështetje për Wemos D1 mini dhe bordet e tjera të bazuara në ESP8266, ndërmerrni hapat e mëposhtëm:

  • Pas instalimit, filloni programin Arduino dhe hapni dritaren Preferences.
  • Futni https://arduino.esp8266.com/stable/package_esp8266com_index.json në fushën "URL -të shtesë të Menaxherit të Bordit". Mund të shtoni URL të shumta, duke i ndarë ato me presje.
  • Hapni Menaxherin e Bordeve nga Tools> Menuja e bordit dhe instaloni platformën esp8266 (dhe mos harroni të zgjidhni bordin tuaj ESP8266 nga Tools> Menuja e bordit pas instalimit. "LOLIN (WEMOS) D1 R2 & mini" funksionon më së miri për Wemos D1 mini v2 dhe v3 bordet.

Nëse keni nevojë për më shumë ndihmë për instalimin e Arduino dhe vendosjen e drejtuesve, mund të hidhni një sy në

Në redaktorin Arduino, hapni një skedar të ri (Skedar> I ri) dhe kopjoni/ngjisni kodin më poshtë në dritaren që sapo u hap. Thjesht rishkruaj linjat që janë tashmë të pranishme në dritaren e re (void setup dhe void loop).

Tani jeni pothuajse gati, por do t'ju duhet të përshtatni disa pjesë të kodit për konfigurimin tuaj të veçantë.

Gjëja e parë që duhet të bëni është të ndryshoni adresën IP në rreshtin 34 (në redaktorin Arduino rreshtat e kodit janë të numëruar) në adresën IP të urës suaj Hue. Nëse nuk e dini adresën tuaj IP të Hue Bridge, vizitoni https://discovery.meethue.com/ dhe adresa IP e duhur do të shfaqet menjëherë në shfletuesin tuaj. Adresa IP është numri me pika i cili paraprihet nga "interioripaddress".

Për të komunikuar me dritat Hue, do të duhet të krijoni një përdorues Hue API për Wemos D1 mini, në mënyrë që Wemos të komunikojë me dritën Hue përmes API Hue. Për ta bërë këtë, ndiqni udhëzimet në https://developers.meethue.com/develop/get-started-2/ dhe kopjoni/ngjisni emrin e përdoruesit të krijuar (mjaft të gjatë) në dritaren e kodit Arduino. Thjesht zëvendësoni çdo "PERRDORUES TUAJ HUE API" me emrin e përdoruesit të krijuar API.

Pastaj ju duhet të zgjidhni dritën e duhur Hue për të ndryshuar ngjyrën. Në API Hue çdo dritë ka një numër, kështu që ju duhet të gjeni numrin që korrespondon me dritën që dëshironi të përdorni për këtë projekt. Një nga mënyrat më të lehta për të gjetur se cilin numër ka një dritë e veçantë, është të shkarkoni aplikacionin Hue Viewer për Android ose iOS. Zëvendësoni tekstin "Numri juaj i dritës" me numrin e duhur kudo në dritaren e kodit Arduino.

Gjëja e fundit që duhet të bëni është të konfiguroni Wemos për t'u lidhur me rrjetin tuaj wifi. Kjo bëhet duke ngarkuar kodin në Wemos dhe në laptopin tuaj kaloni në një rrjet tjetër wifi: në "AutoConnectAP". Shfletuesi juaj do të shfaqë një faqe ku mund të shtoni SSID (emrin) dhe fjalëkalimin e rrjetit tuaj wifi që kontrolluesi Wemos do të përdorë për t'u lidhur me rrjetin tuaj wifi (dhe urën Hue).

NB: Nëse ngarkimi i kodit në Wemos D1 mini përmes USB nuk funksionon, mund t'ju duhet të shkarkoni një shofer për çipin USB në Wemos. Një drejtues për platformën tuaj (Windows, Mac) mund të shkarkohet në

Tani jeni gati të provoni krijimin tuaj!

// ESP8266 Hue Magic Wand // Richard van Kampen - 2018 // Ky kod është testuar në një mini Wemos D1, por ndoshta do të punojë edhe në bordet e tjera të zhvillimit të bazuara në ESP8266 // Për të shtuar mbështetje për Wemos D1 mini dhe bordet e tjera ESP8266 te redaktuesi Arduino, ndërmerrni hapat e mëposhtëm: // - Filloni Arduino dhe hapni dritaren Preferences. // - Futni https://arduino.esp8266.com/stable/package_esp8266com_index.json në fushën e URL -ve shtesë të Menaxherit të Bordit. Mund të shtoni URL të shumta, duke i ndarë ato me presje. // - Hapni Menaxherin e Bordeve nga Tools> Menuja e bordit dhe instaloni platformën esp8266 (dhe mos harroni të zgjidhni bordin tuaj ESP8266 nga Tools> Menuja e bordit pas instalimit). // bibliotekat e përdorura: #include "ESP8266WiFi.h" // ESP8266 Biblioteka Core WiFi #përfshi "DNSServer.h" // Serveri DNS lokal i përdorur për përcjelljen e të gjitha kërkesave në portalin e konfigurimit WiFiManager nëse nuk ka cilësime WIFI (SSID, fjalëkalim) nuk është vendosur akoma. #përfshi "ESP8266WebServer.h" // WebServeri lokal i përdorur për t'i shërbyer portalit të konfigurimit WiFiManager #include "WiFiManager.h" // Biblioteka Magjike e Konfigurimit WiFi, nëse nuk është instaluar ende ju lutemi referojuni https://github.com/tzapu/WiFiManager #install-through-library-manager #include "RestClient.h" // https://github.com/fabianofranca/ESP8266RestClient, e nevojshme për përdorimin e Philips Hue API (shih https://developers.meethue.com/develop/ hue-api/). #include "ArduinoJson.h" // https://github.com/bblanchon/ArduinoJson, e nevojshme për të analizuar përgjigjen Hue API, ju lutemi instaloni versionin 5.x përmes menaxherit të bibliotekës në Arduino (Menu "Skicë"> Përfshini Bibliotekën> Menaxho Bibliotekat> kërkoni ArduinoJson dhe ndryshoni versionin në 5.x më të fundit). Versioni 6 (aktualisht në beta) hedh një gabim. // variablat dhe init: Përgjigja në varg; const int redPin = 13; // në Wemos kjo është d7 const int greenPin = 12; // në Wemos kjo është d6 const int bluePin = 14; // në Wemos kjo është d5 const int touchSensor = 5; // në Wemos kjo është d1 const int aktivizimiPin = 4; // në Wemos ky është aktivizimi d2 bool = HIGH; bool touch = LOW; const char* aan_restore; int bri_restore; dyfish x_restore; dyfish y_restore; x_magjike e dyfishtë; y_magjike e dyfishtë; bool i parë = i vërtetë; fillimi i gjatë i panënshkruarMillis; rrymë e gjatë e panënshkruarMillis; kohëzgjatje e panënshkruar Millis; Klienti RestClient = RestClient ("192.168.178.23"); // "adresa juaj IP e Hue Bridge" // Nëse nuk e dini adresën tuaj IP të Hue Bridge, vizitoni https://discovery.meethue.com dhe do të shfaqet menjëherë në shfletuesin tuaj. Adresa IP është numri me pika që paraprihet nga "interioripaddress" void setup () {analogWriteRange (255); Serial.filloj (9600); // Filloni me LED të fikur. pinMode (aktivizimiPin, INPUT_PULLUP); pinMode (sensori prekës, HYRJA); startMillis = millis (); checkWand (); } void loop () {// asgjë për të bërë këtu, lëreni bosh…} void checkWand () {int rgbColour [3]; // Kodi i ngjyrave RGB nga James Harton, https://gist.github.com/jamesotron/766994 // Filloni me të kuqe. rgbNgjyra [0] = 255; rgbColour [1] = 0; rgbNgjyra [2] = 0; aktivizimi = digitalRead (activationPin); // LOW do të thotë se po përdoret shkopi. touch = digitalRead (touchSensor); // HIGH do të thotë që gishti përdoret në vend të shkopit, gjë që nuk duhet të jetë rasti. ndërsa (aktivizimi == LOW && prek == LOW) {// Zgjidhni ngjyrat për t'u rritur dhe zvogëluar. për (int decColour = 0; decColour <3; decColour += 1) {int incColour = decColour == 2? 0: zbardhja + 1; // = operator ternar, do të thotë: int incColour; if (decColour == 2) {incColour = 0;} else {incColour = decColour +1;} // zbeh kryq të dy ngjyrat. për (int i = 0; i <255; i += 1) {rgbColour [decColour] -= 1; rgbColour [incColour] += 1; // pasi RGB -ja jonë ka një anodë të zakonshme në vend të katodës (kështu që ne duhet të lidhemi me +3.3V në vend të tokës), na duhen vlera të anasjellta për RGB: int red = 255 - rgbColour [0]; int jeshile = 255 - rgbNgjyra [1]; int blu = 255 - rgbNgjyra [2]; analogWrite (redPin, e kuqe); analogWrite (greenPin, jeshile); analogWrite (bluPin, blu); vonesa (8); aktivizimi = digitalRead (aktivizimiPin); nëse (aktivizimi == LART) {// LART HIGH do të thotë që shkopi është ngritur. goto stopColorCycling; }}}} stopColorCycling: currentMillis = millis (); durationMillis = (currentMillis - startMillis); if (durationMillis> 1000) {RGBtoxy (rgbColour [0], rgbColour [1], rgbColour [2]); } else {// vendos Wemos në modalitetin e gjumit: ESP.deepSleep (0); }} void RGBtoxy (int e kuqe, int jeshile, int blu) {// shih https://developers.meethue.com/documentation/color-conversions-rgb-xy double R = map (red, 0, 255, 0, 1000); R /= 1000; dyshe G = hartë (jeshile, 0, 255, 0, 1000); G /= 1000; dyshe B = hartë (blu, 0, 255, 0, 1000); B /= 1000; R = (R> 0.04045f)? fuqi ((R + 0.055f) / (1.0f + 0.055f), 2.4f): (R / 12.92f); G = (G> 0.04045f)? fuqi ((G + 0.055f) / (1.0f + 0.055f), 2.4f): (G / 12.92f); B = (B> 0.04045f)? pow ((B + 0.055f) / (1.0f + 0.055f), 2.4f): (B / 12.92f); dyshe X = R * 0.649926f + G * 0.103455f + B * 0.197109f; dyshe Y = R * 0.234327f + G * 0.743075f + B * 0.022598f; dyshe Z = R * 0.0000000f + G * 0.053077f + B * 1.035763f; dyfish x = X / (X + Y + Z); dyfish y = Y / (X + Y + Z); // konvertimi nuk është përfunduar plotësisht, por ndoshta mjaft i mirë për atë që duam të arrijmë, kështu që lini atë në këtë dhe dërgoni vlerat XY në llambë: sendtoHue (x, y); } void sendtoHue (double a, double b) {// ndryshimi i ngjyrës aktuale nga magjia e shkopit nëse (e para) {// kalimi i parë: merrni gjendjen aktuale të llambës getCurrentValues (); } // pastaj dërgoni ngjyrat e shkopit magjik: // prisni magjinë: prisni gjatë; x_magjike = a; y_magjike = b; // llamba e ndezur në ngjyrën e shkopit magjik: përgjigje = ""; int temp = rastësore (2, 9); const char* gjendja = "e vërtetë"; për (int i = 1; i <= temp; i ++) {// krijoni një grup char për ta dërguar në urë: String temp_body1 = "{" on / ":" + String (state) + ", \" bri / ": 220, / "xy \": [" + Vargu (x_magic) +", " + Vargu (y_magic) +"], / "koha e kalimit \": 1} "; int str_len1 = temp_body1.length () + 1; char post_body1 [str_len1]; temp_body1.toCharArray (post_body1, str_len1); // tani ne kemi post_body1 si një grup char; // bëni thirrje pushimi: int statusCodePut1 = client.put ("/api/PERRDORuesi I API TUAJ TUAJ/ndriçon/NUMRI I TUAJ TIGH LEHTA/gjendja", post_body1, & përgjigje); prit = e rastësishme (100, 600); vonesë (pritje); nëse (gjendja == "e vërtetë") {gjendja = "e rreme"; } else {gjendja = "e vërtetë"; }} // zvogëloni shkëlqimin …: përgjigje = ""; temp = rastësor (4, 17); // krijoni një grup char për ta dërguar në urë: String temp_body2 = "{" on / ": true, \" bri / ": 154, \" timetime / ":" + String (temp) + "}"; int str_len2 = temp_body2.length () + 1; char post_body2 [str_len2]; temp_body2.toCharArray (post_body2, str_len2); // tani kemi post_body2 si char array; // bëj thirrje pushimi: int statusCodePut2 = client.put ("/api/PERRDORuesi I API TUAJ TUE HUE/dritat/NUMRI I DITS TUAJ/gjendja", post_body2, & përgjigje); prit = rastësor (1000, 2500); vonesë (pritje); //..dhe bëjeni përsëri më të ndritshme: përgjigje = ""; temp = rastësor (4, 17); // krijoni një grup char për ta dërguar në urë: String temp_body3 = "{" bri_inc / ": 100, \" koha e kalimit / ":}"; int str_len3 = temp_body3.length () + 1; char post_body3 [str_len3]; temp_body3.toCharArray (post_body3, str_len3); // tani kemi post_body3 si char array; // bëni thirrje pushimi: int statusCodePut3 = client.put ("/api/PERRDORuesi I API TUAJ TUE HUE/dritat/NUMRI I TUAJ TIGH LEHTA/gjendja", post_body3, & përgjigje); prit = e rastësishme (2500, 5000); // prisni 2-5 sekonda vonesë (prisni); // dhe zbehet përsëri në vlerën e vjetër: përgjigje = ""; // krijoni një grup char për ta dërguar në urë: String temp_body4 = "{" on / ":" + String (aan_restore) + ", \" bri / ":" + String (bri_restore) + ", \" xy / ": [" + String (x_restore) +", " + String (y_restore) +"], / "koha e kalimit \": " + Vargu (20) +"} "; int str_len4 = temp_body4.length () + 1; char post_body4 [str_len4]; temp_body4.toCharArray (post_body4, str_len4); // tani kemi post_body4 si char array; // bëni thirrje pushimi: int statusCodePut4 = client.put ("/api/PERRDORuesi I API TUAJ TUE HUE/dritat/NUMRI I TUAJ TIGH LEHTA/gjendja", post_body4, & përgjigje); ESP.deepSleep (0); // do të fle përsëri…. } unsigned int getCurrentValues () {connectWifi (); // së pari lidheni me përgjigjen Wifi = ""; // bëni thirrje pushimi: int statusCodeGet = client.get ("/api/PERRDORIMI I API TUAJ TUE HUE/dritat/NUMRI I TUAJ TIGH Dritës", & përgjigje); Serial.print ("Kodi i statusit nga serveri pas GET:"); Serial.println (statusCodeGet); Serial.print ("Trupi i përgjigjes nga serveri:"); Serial.println (përgjigje); StaticJsonBuffer jsonBuffer; // Analizimi i përgjigjes Json // Rrënja e pemës së objektit. // // It'sshtë një referencë për JsonObject, bajtët aktualë janë brenda // jsonBuffer me të gjitha nyjet e tjera të pemës së objektit. // Kujtesa lirohet kur jsonBuffer del jashtë fushëveprimit. JsonObject & root = jsonBuffer.parseObject (përgjigje); JsonObject & state = rrënja ["gjendja"]; // Testoni nëse analizimi ka sukses. nëse (! root.success ()) {Serial.println ("parseObject () dështoi"); } // Marr vlerat. aan_restore = gjendja ["on"]; Serial.println (aan_restore); bri_restore = gjendja ["bri"]; x_restore = gjendja ["xy"] [0]; y_restore = gjendja ["xy"] [1]; parë = false;} void connectWifi () {// Intializimi lokal. Pasi të jetë bërë biznesi i tij, nuk ka nevojë ta mbani atë rreth WiFiManager wifiManager; // rivendosni cilësimet - për testimin: //wifiManager.resetSettings (); // vendos përgjigjen e thirrjes që thirret kur lidhet me WiFi -në e mëparshme dështon dhe hyn në modalitetin e Pikës së Qasjes wifiManager.setAPCallback (configModeCallback); // merr ssid dhe kalon dhe përpiqet të lidhet // nëse nuk lidhet fillon një pikë aksesi me emrin e specifikuar // këtu "AutoConnectAP" // dhe kalon në një lak bllokues duke pritur konfigurimin nëse (! wifiManager.autoConnect ()) {Serial.println ("dështoi të lidhet dhe goditi timeout"); // rivendosni dhe provoni përsëri, ose ndoshta vendoseni në gjumë të thellë ESP.reset (); vonesa (1000); } // nëse arrini këtu ju jeni lidhur me WiFi Serial.println ("lidhur … po:)"); Serial.print ("Lidhur me:"); Serial.println (WiFi. SSID ()); Serial.print ("Adresa IP:"); Serial.println (WiFi.localIP ()); // Adresa IP e caktuar për ESP -në tuaj (Wemos) // printoni fuqinë e sinjalit të marrë: gjatë rssi = WiFi. RSSI (); Serial.print ("fuqia e sinjalit (RSSI):"); Serial.println (rssi); } void configModeCallback (WiFiManager * myWiFiManager) {Serial.println ("U fut në modalitetin e konfigurimit"); Serial.println (WiFi.softAPIP ()); // nëse keni përdorur SSID të gjeneruar automatikisht, printojeni Serial.println (myWiFiManager-> getConfigPortalSSID ()); }

Recommended: