Turinys:

„Hue Magic“: 4 žingsniai (su nuotraukomis)
„Hue Magic“: 4 žingsniai (su nuotraukomis)

Video: „Hue Magic“: 4 žingsniai (su nuotraukomis)

Video: „Hue Magic“: 4 žingsniai (su nuotraukomis)
Video: Kai katė tai daro namuose, laukite nemalonumų. Katės gudrybės ir magija, galinti pagerinti jūsų 2024, Birželis
Anonim
Image
Image

Sveiki burtininkai!

Prieš porą mėnesių savo 3 metų sūnui sukūriau mažą stebuklingą dėžutę su lazdele. Kai jis paliečia dėžutę lazdele, iš dėžutės pradės sklisti besikeičianti spalvota šviesa. Pamatęs spalvą, kuri jam ypač patinka, jis gali nukreipti lazdelę į stalinę lempą (su „Philips Hue“lempute viduje), užburti ir spalva iš dėžutės stebuklingai pereis prie lempos! Lemputė ir šviesa iš dėžutės staiga įgauna tą pačią spalvą …

Po kelių sekundžių spalva išnyksta ir stalinė lempa grįžta į savo būseną prieš burtą. Kol nebus užrašytas naujas burtas…

1 žingsnis: ko jums reikia norint sukurti šį projektą

Ko jums reikia norint sukurti šį projektą
Ko jums reikia norint sukurti šį projektą
Ko jums reikia norint sukurti šį projektą
Ko jums reikia norint sukurti šį projektą
Ko jums reikia norint sukurti šį projektą
Ko jums reikia norint sukurti šį projektą

Norėdami sukurti šį projektą, jums reikės šių medžiagų:

    • 1 (ar daugiau) „Philips Hue“spalvos lemputė ir „Hue Bridge“
    • 1 „Wemos D1 mini“ar panašus esp8266 mikrovaldiklis
    • 1 („Arduino“) jutiklinis jutiklis (pvz., TTP223R)
    • 1 („Arduino“) momentinis mygtukas
    • 1 10uF kondensatorius
    • 1 RGB LED (įprastas anodo tipas)
    • 5 rezistoriai (10, 22 ir 47 omai, 2x 10 K omų)
    • 2 mažos prototipų spausdinimo plokštės (2x3 colio arba maždaug 5x7 cm turėtų būti pakankamai didelės)
    • kai kurie (trumpikliai) laidai
    • lituoklis
    • stebuklinga lazdelė (galima nusipirkti paruoštą žaislų parduotuvėje arba pasigaminti patiems)
    • maža dėžutė, pagaminta iš kartono ar medžio (gali būti esama dėžutė, bet, žinoma, galite pastatyti dėžę nuo nulio)
    • kažkokia juosta
    • šiek tiek klijų ir (arba) veržlių ir varžtų, skirtų PCB montuoti dėžutėje.
    • neprivaloma: vyniojamasis popierius dėžutei

PASTABA: Maža patirtis skaitant grandinių schemas praverčia atliekant šią instrukciją. Mano diagrama nėra pernelyg sudėtinga: jei galite atskirti kondensatorių nuo rezistoriaus, greičiausiai viskas bus gerai.

Taip pat naudinga tam tikra „Arduino“programavimo patirtis naudojant „Arduino IDE“. Turėtų pakakti pagrindinės patirties, nes pateiksiu visą kodą, kurį galėsite nukopijuoti/įklijuoti. Vis dėlto turėsite pritaikyti keletą dalykų, kad tai veiktų jūsų konkrečioje sąrankoje (pvz., Tinklo nustatymai ir tam tikra informacija iš „Hue“konfigūracijos). Jei tai skamba šiek tiek bauginančiai, nesijaudinkite, aš padėsiu jums gauti visą reikalingą informaciją.

2 žingsnis: dėžutė ir lazdelė

Dėžutė ir lazdelė
Dėžutė ir lazdelė
Dėžutė ir lazdelė
Dėžutė ir lazdelė

Pirmieji žingsniai paprastai yra patys sunkiausi, bet ne tokie pamokomi! Kad būtų lengviau pradėti, galite tiesiog nusipirkti stebuklingą lazdelę iš žaislų parduotuvės, o dėžutėje galite tiesiog pakartotinai panaudoti esamą mažą dėžutę, kurią jau guli. Tiesiog įsitikinkite, kad dėžutė nėra pagaminta iš metalo, nes tai užblokuos „Wi-Fi“signalus, o mums jų reikia stebuklui;-).

Kai iš naujo pritaikote esamą dėžę, vienintelis dalykas, kurį turite padaryti, yra padaryti dvi skyles dėžutės viršuje: 1 mažą skylę (5 mm = 0,2 colio) RGB lemputei ir didesnę skylę (apie 12 14 mm arba apie 0,5 colio) jutikliniam jutikliui.

Tiksli skylių vieta nėra svarbi, tiesiog padėkite jas pagal savo estetikos jausmą, tačiau nepamirškite kelių dalykų:

  • Laikykite tam tikrą atstumą tarp abiejų skylių, kad įsitikintumėte, jog komponentai, kurie bus sumontuoti po skylėmis (RGB šviesos diodas ir jutiklinis jutiklis), gali užimti pakankamai vietos montavimui ir laidų prijungimui.
  • Didžiausia skylė skirta jutikliniam jutikliui. Šis jutiklis bus sumontuotas tiesiai po skylute taip, kad jį būtų galima paliesti (ir net šiek tiek paspausti) lazdele. Taigi įsitikinkite, kad įsigyta lazdelė nėra per stora!

Pasirinktinai galite naudoti (purškiamą) dažų arba vyniojimo popierių ir uždengti plastiką, kad dėžutė būtų šiek tiek gražesnė ir apsaugota nuo maisto išsiliejimo ir nešvarių rankų.

Jei šis pirmas žingsnis jums šiek tiek per daug ambicingas, eikite į priekį ir sukurkite dėžutę ir lazdelę visiškai nuo nulio! Yra keletas instrukcijų, kurios padės sukurti gražią lazdelę

Kad ir kokį kelią pasirinktumėte, atėjo laikas ištirti dėžutės vidų.

3 žingsnis: aparatinė įranga viduje

Aparatūra viduje
Aparatūra viduje
Aparatūra viduje
Aparatūra viduje
Aparatūra viduje
Aparatūra viduje

Naudokite lituoklį, kad prijungtumėte elektroninius komponentus pagal aukščiau pateiktą schemą. Yra keletas dalykų, į kuriuos reikia atkreipti ypatingą dėmesį:

  • Laidai tarp „Wemos D1 Mini“ir RGB šviesos diodų turi būti pakankamai ilgi, kad RGB šviesos diodas galėtų būti montuojamas į skylę, kurią padarėte dėžutės dangtelyje.
  • Laidai, pritvirtinti prie momentinio jungiklio ir jutiklinio jutiklio, yra tokie patys, kaip ir tie, kuriuos reikia pasiekti per kitą dangčio angą.
  • Akimirkinio jungiklio mygtukas turi būti priklijuotas prie jutiklinio jutiklio apačios (ne jautrios pusės) taip, kad galėtumėte vėl uždėti mygtuką ant momentinio jungiklio, kai jutiklinis jutiklis yra priklijuotas viršuje (žr. Paveikslėlį). Jutiklinis jutiklis yra sumontuotas momentinio jungiklio viršuje, kad būtų galima aptikti pirštų paspaudimus, tokiu atveju mygtukų paspaudimas bus ignoruojamas. Tik tada, kai paspaudžiamas stebuklingos lazdelės mygtukas (kuris turėtų būti nelaidus, todėl tinka plastikas ir mediena), prasidės stebuklingas ciklas.
  • Sumontuokite momentinį mygtuką su jutikliniu jutikliu viršuje ne per giliai po dangtelio anga, nes jis turi būti pasiekiamas burtų lazdele, kad magija pradėtų judėti.
  • Lituodami būtinai laikykitės kondensatoriaus poliškumo. Jei pakeisite teigiamus ir neigiamus laidus, kondensatorius greičiausiai skleis magiškus dūmus ir užmigs jūsų grandinę amžinai.
  • Klijuokite, priklijuokite ir arba prisukite akumuliatoriaus laikiklį ir PCB (-us). Jis neturi būti tvarkingas, nes nebus matomas. Tai turėtų būti tik lašo įrodymas.

Pirmyn prie programinės įrangos!

4 žingsnis: programinė įranga

Įsitikinkite, kad turite naujausią (nemokamą) „Arduino“programinės įrangos redaktorių, kurį galima atsisiųsti adresu https://www.arduino.cc/en/Main/Software. Norėdami pridėti „Wemos D1 mini“ir kitų ESP8266 plokščių palaikymą, atlikite šiuos veiksmus:

  • Įdiegę paleiskite „Arduino“programinę įrangą ir atidarykite langą „Nuostatos“.
  • Į lauką „Papildomi valdytojo URL“įveskite https://arduino.esp8266.com/stable/package_esp8266com_index.json. Galite pridėti kelis URL, atskirdami juos kableliais.
  • Atidarykite „Boards Manager“iš „Tools“> „Board“meniu ir įdiekite platformą „esp8266“(ir nepamirškite po įdiegimo pasirinkti savo ESP8266 plokštės iš „Tools“> „Board“meniu. „LOLIN (WEMOS) D1 R2 & mini“geriausiai tinka „Wemos D1 mini v2“ir „v3“lentos.

Jei jums reikia daugiau pagalbos diegiant „Arduino“ir nustatant tvarkykles, galite pažvelgti į

„Arduino“redaktoriuje atidarykite naują failą (Failas> Naujas) ir ką tik atidarytame lange nukopijuokite/įklijuokite žemiau esantį kodą. Tiesiog perrašykite eilutes, kurios jau yra naujame lange (void setup ir void loop).

Dabar esate beveik pasiruošę, tačiau turėsite pritaikyti keletą kodo dalių savo konkrečiai sąrankai.

Pirmiausia reikia pakeisti ip adresą 34 eilutėje („Arduino“redaktoriuje kodo eilutės sunumeruotos) į „Hue“tilto ip adresą. Jei nežinote savo „Hue Bridge“IP adreso, apsilankykite https://discovery.meethue.com/ ir tinkamas IP adresas iškart pasirodys jūsų naršyklėje. IP adresas yra punktyrinis skaičius, prieš kurį yra „internalipaddress“.

Jei norite bendrauti su „Hue“lemputėmis, turėsite sukurti „Hue“API vartotoją „Wemos D1 mini“, kad „Wemos“galėtų bendrauti su „Hue light“per „Hue“API. Norėdami tai padaryti, vykdykite instrukcijas adresu https://developers.meethue.com/develop/get-started-2/ ir nukopijuokite/įklijuokite sukurtą (gana ilgą) vartotojo vardą „Arduino“kodo lange. Tiesiog pakeiskite kiekvieną „YOU HUE API USERNAME“sugeneruotu API naudotojo vardu.

Tada, norėdami pakeisti spalvą, turite pasirinkti tinkamą atspalvio šviesą. „Hue“API kiekviena lemputė turi numerį, todėl turite sužinoti skaičių, kuris atitinka šviesą, kurią norite naudoti šiam projektui. Vienas iš paprasčiausių būdų sužinoti, kokį skaičių turi tam tikra lemputė, yra atsisiųsti „Hue Viewer“programą, skirtą „Android“arba „iOS“. Visur „Arduino“kodo lange pakeiskite tekstą „JŪSŲ ŠVIESOS SKAIČIUS“teisingu skaičiumi.

Paskutinis dalykas, kurį reikia padaryti, yra nustatyti „Wemos“prisijungti prie jūsų „Wi -Fi“tinklo. Tai daroma įkeliant kodą į „Wemos“ir nešiojamajame kompiuteryje perjungiant į kitą „Wi -Fi“tinklą: į „AutoConnectAP“. Tada jūsų naršyklė parodys puslapį, kuriame galėsite pridėti savo „Wi -Fi“tinklo SSID (vardą) ir slaptažodį, kuriuos „Wemos“valdiklis naudos prisijungdamas prie jūsų „Wi -Fi“tinklo (ir prie „Hue“tilto).

NB: Jei kodo įkėlimas į „Wemos D1 mini“per USB neveikia, gali tekti atsisiųsti „Wemos“USB lusto tvarkyklę. Platformos („Windows“, „Mac“) tvarkyklę galite atsisiųsti adresu

Dabar esate pasiruošę išbandyti savo kūrybą!

// ESP8266 „Hue Magic Wand“// Richard van Kampen - 2018 // Šis kodas yra išbandytas „Wemos D1 mini“, bet tikriausiai veiks ir kitose ESP8266 pagrindu sukurtose kūrimo plokštėse // Norėdami pridėti „Wemos D1 mini“ir kitų ESP8266 plokščių palaikymą į „Arduino“redaktorių, atlikite šiuos veiksmus: // - paleiskite „Arduino“ir atidarykite nuostatų langą. // - Į lauką Papildomi valdytojo URL įveskite https://arduino.esp8266.com/stable/package_esp8266com_index.json. Galite pridėti kelis URL, atskirdami juos kableliais. // - Atidarykite „Boards Manager“iš „Tools“> „Board“meniu ir įdiekite „esp8266“platformą (ir nepamirškite įdiegę ESP8266 plokštės pasirinkti iš Tools> Board). // naudojamos bibliotekos: #include "ESP8266WiFi.h" // ESP8266 Core WiFi Library #include "DNSServer.h" // Vietinis DNS serveris, naudojamas nukreipti visas užklausas į "WiFiManager" konfigūracijos portalą, jei nėra WIFI nustatymų (SSID, slaptažodis) dar nenustatyta. #include "ESP8266WebServer.h" // Vietinis žiniatinklio serveris, naudojamas aptarnauti „WiFiManager“konfigūracijos portalą #include "WiFiManager.h" // „WiFi Configuration Magic“biblioteka, jei dar neįdiegta, žr. https://github.com/tzapu/WiFiManager #install-through-library-manager #include "RestClient.h" // https://github.com/fabianofranca/ESP8266RestClient, reikalingas norint naudoti „Philips Hue“API (žr. https://developers.meethue.com/develop/ hue-api/). #include "ArduinoJson.h" // https://github.com/bblanchon/ArduinoJson, reikalingas „Hue“API atsakui išanalizuoti, įdiekite 5.x versiją per bibliotekos tvarkyklę „Arduino“(meniu „Eskizas“> Įtraukti biblioteką> Tvarkyti Bibliotekos> ieškokite „ArduinoJson“ir pakeiskite versiją į naujausią 5.x). 6 versija (šiuo metu beta versija) pateikia klaidą. // kintamieji ir init: String atsakymas; const int redPin = 13; // „Wemos“tai yra d7 const int greenPin = 12; // „Wemos“tai yra d6 const int bluePin = 14; // „Wemos“tai yra d5 const int touchSensor = 5; // „Wemos this“yra d1 const int aktyvinimasPin = 4; // „Wemos“tai yra d2 bool aktyvinimas = HIGH; bool touch = LOW; const char* aan_restore; int bri_restore; dvigubas x_restore; dvigubas y_restore; dvigubas x_magic; dvigubas y_magic; bool first = tiesa; nepasirašytas ilgas startMillis; nepasirašyta ilga srovėMillis; nepasirašyta ilga trukmėMillis; „RestClient“klientas = „RestClient“(„192.168.178.23“); // "jūsų" Hue Bridge "IP adresas" // Jei nežinote savo "Hue Bridge" IP adreso, apsilankykite https://discovery.meethue.com ir jis iškart pasirodys jūsų naršyklėje. IP adresas yra taškuotas skaičius, prieš kurį yra „internalipaddress“void setup () {analogWriteRange (255); Serial.begin (9600); // Pradėkite nuo šviesos diodo išjungimo. pinMode (suaktyvinimoPin, INPUT_PULLUP); pinMode (jutiklinis jutiklis, įvestis); startMillis = milis (); checkWand (); } void loop () {// čia nėra ką veikti, palikite tuščią…} void checkWand () {int rgbColour [3]; // Jameso Hartono RGB spalvų kodas, https://gist.github.com/jamesotron/766994 // Pradėkite nuo raudonos spalvos. rgbSpalva [0] = 255; rgbSpalva [1] = 0; rgbSpalva [2] = 0; aktyvinimas = digitalRead (aktivavimo pin); // LOW reiškia, kad naudojama lazdelė. touch = digitalRead (touchSensor); // HIGH reiškia pirštą, o ne lazdelę, o taip neturėtų būti. while (aktyvinimas == LOW && touch == LOW) {// Pasirinkite spalvas, kurias norite didinti ir mažinti. for (int decColour = 0; decColour <3; decColour += 1) {int incColour = decColour == 2? 0: decColour + 1; // = trinaris operatorius, reiškia: int incColour; if (decColour == 2) {incColour = 0;} else {incColour = decColour +1;} // dviejų spalvų kryžminimas. už (int i = 0; i <255; i += 1) {rgbColour [decColour] -= 1; rgbColour [incColour] += 1; // kadangi mūsų RGB šviesos diodas turi bendrą anodą, o ne katodą (todėl turime jungtis prie +3,3 V vietoj žemės), mums reikia atvirkštinių RGB reikšmių: int red = 255 - rgbColour [0]; int žalia = 255 - rgbColour [1]; int mėlyna = 255 - rgbColour [2]; analogWrite (redPin, raudona); analogWrite (žaliasPin, žalia); analogWrite („bluePin“, mėlyna); vėlavimas (8); suaktyvinimas = digitalRead (aktivavimo pin); jei (aktyvinimas == AUKŠTAS) {// AUKŠTAS reiškia, kad lazdelė pakelta. goto stopColorCycling; }}}} stopColorCycling: currentMillis = millis (); durationMillis = (currentMillis - startMillis); if (durationMillis> 1000) {RGBtoxy (rgbColour [0], rgbColour [1], rgbColour [2]); } else {// įjunkite „Wemos“į miego režimą: ESP.deepSleep (0); }} void RGBtoxy (int raudona, int žalia, int mėlyna) {// žr. https://developers.meethue.com/documentation/color-conversions-rgb-xy double R = žemėlapis (raudona, 0, 255, 0, 1000); R /= 1000; dvigubas G = žemėlapis (žalia, 0, 255, 0, 1000); G /= 1000; dvigubas B = žemėlapis (mėlynas, 0, 255, 0, 1000); B /= 1000; R = (R> 0,04045f)? Pow ((R + 0,055f) / (1,0f + 0,055f), 2,4f): (R / 12,92f); G = (G> 0,04045f)? Pow ((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); dvigubas X = R * 0,649926f + G * 0,103455f + B * 0,197109f; dvigubas Y = R * 0,234327f + G * 0,743075f + B * 0,022598f; dvigubas Z = R * 0,0000000f + G * 0,053077f + B * 1,035763f; dvigubas x = X / (X + Y + Z); dvigubas y = Y / (X + Y + Z); // konvertavimas ne iki galo užbaigtas, bet tikriausiai pakankamai geras tam, ką norime pasiekti, todėl palikite tai ir nusiųskite XY reikšmes į lempą: sendtoHue (x, y); } void sendtoHue (dvigubas a, dvigubas b) {// faktinis spalvos pasikeitimas iš lazdelės magijos, jei (pirmas) {// pirmasis leidimas: gauti dabartinę lemputės būseną getCurrentValues (); } // tada siųsk stebuklingos lazdelės spalvas: // lauk rašybos: ilgai lauk; x_magic = a; y_magic = b; // lemputė įjungta stebuklingos lazdelės spalva: response = ""; int temp = atsitiktinis (2, 9); const char* state = "tiesa"; for (int i = 1; i <= temp; i ++) {// sukurkite char masyvą, kurį norite siųsti į tiltą: String temp_body1 = "{" on / ":" + String (state) + ", \" bri / ": 220, / "xy \": [" + eilutė (x_magic) +", " + eilutė (y_magic) +"], / "pereinamojo laiko \": 1} "; int str_len1 = temp_body1.length () + 1; char post_body1 [str_len1]; temp_body1.toCharArray (post_body1, str_len1); // dabar mes turime post_body1 kaip char masyvą; // atlikti poilsio skambutį: int statusCodePut1 = client.put ("/api/YOU HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body1, & response); laukti = atsitiktinis (100, 600); atidėti (laukti); if (state == "true") {state = "false"; } else {state = "true"; }} // sumažinti ryškumą…: response = ""; temp = atsitiktinis (4, 17); // sukurkite char masyvą, kurį norite siųsti į tiltą: String temp_body2 = "{" on / ": true, \" bri / ": 154, \" transittime / ":" + String (temp) + "}"; int str_len2 = temp_body2.length () + 1; char post_body2 [str_len2]; temp_body2.toCharArray (post_body2, str_len2); // dabar mes turime post_body2 kaip char masyvą; // atlikti poilsio skambutį: int statusCodePut2 = client.put ("/api/YOU HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body2, & response); laukti = atsitiktinis (1000, 2500); atidėti (laukti); //..ir vėl pasidaryk šviesesnis: response = ""; temp = atsitiktinis (4, 17); // sukurkite char masyvą, kurį norite siųsti į tiltą: String temp_body3 = "{" bri_inc / ": 100, \" pereinamojo laiko / ":}"; int str_len3 = temp_body3.length () + 1; char post_body3 [str_len3]; temp_body3.toCharArray (post_body3, str_len3); // dabar mes turime post_body3 kaip char masyvą; // atlikti poilsio skambutį: int statusCodePut3 = client.put ("/api/YOU HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body3, & response); laukti = atsitiktinis (2500, 5000); // palaukite 2–5 sekundžių vėlavimą (palaukite); // ir grįžkite prie senos vertės: response = ""; // sukurti char masyvą, kurį norite siųsti į tiltą: String temp_body4 = "{" on / ":" + String (aan_restore) + ", \" bri / ":" + String (bri_restore) + ", \" xy / ": [" + Eilutė (x_restore) +", " + Styga (y_restore) +"], / "pereinamojo laiko \": " + Eilutė (20) +"} "; int str_len4 = temp_body4.length () + 1; char post_body4 [str_len4]; temp_body4.toCharArray (post_body4, str_len4); // dabar mes turime post_body4 kaip char masyvą; // atlikti poilsio skambutį: int statusCodePut4 = client.put ("/api/YOU HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body4, & response); ESP.deepSleep (0); // vėl einu miegoti … } unsigned int getCurrentValues () {connectWifi (); // pirmiausia prisijunkite prie „Wifi“atsakymo = ""; // atlikti poilsio skambutį: int statusCodeGet = client.get ("/api/YOU HUE API USERNAME/lights/YOUR LIGHT NUMBER", & response); Serial.print ("Būsenos kodas iš serverio po GET:"); Serial.println (statusCodeGet); Serial.print ("Atsakymo tekstas iš serverio:"); Serial.println (atsakymas); StaticJsonBuffer jsonBuffer; // Json atsako analizavimas // Objekto medžio šaknis. // // Tai nuoroda į JsonObject, tikrieji baitai yra // jsonBuffer viduje su visais kitais objekto medžio mazgais. // Atmintis atlaisvinama, kai „jsonBuffer“išeina iš taikymo srities. JsonObject & root = jsonBuffer.parseObject (atsakymas); JsonObject & state = root ["state"]; // Išbandykite, ar sėkmingas analizavimas. if (! root.success ()) {Serial.println ("parseObject () nepavyko"); } // Gauti reikšmes. aan_restore = būsena ["įjungta"]; Serial.println (aan_restore); bri_restore = būsena ["bri"]; x_restore = būsena ["xy"] [0]; y_restore = būsena ["xy"] [1]; first = false;} void connectWifi () {// Vietinis inicializavimas. Baigus verslą, nereikia jo laikyti aplink „WiFiManager wifiManager“; // iš naujo nustatyti nustatymus - bandymui: //wifiManager.resetSettings (); // nustatyti atgalinį skambutį, kuris iškviečiamas prisijungus prie ankstesnio „WiFi“, nepavyksta ir įeina į prieigos taško režimą wifiManager.setAPCallback (configModeCallback); // paima ssid ir pass ir bando prisijungti // jei neprisijungia, paleidžia prieigos tašką nurodytu pavadinimu // čia "AutoConnectAP" // ir eina į blokavimo ciklą, laukiantį konfigūracijos, jei (! wifiManager.autoConnect ()) {Serial.println ("nepavyko prisijungti ir pataikyti į skirtąjį laiką"); // atstatyti ir bandyti dar kartą, o gal užmigdyti ESP.reset (); vėlavimas (1000); } // jei pateksite čia, prisijungsite prie „WiFi Serial.println“(„prijungtas … taip:)“); Serial.print ("Prisijungta prie:"); Serial.println (WiFi. SSID ()); Serial.print („IP adresas:“); Serial.println (WiFi.localIP ()); // Jūsų ESP priskirtas IP adresas („Wemos“) // atspausdinkite gauto signalo stiprumą: ilgas rssi = WiFi. RSSI (); Serial.print ("signalo stiprumas (RSSI):"); Serial.println (rssi); } void configModeCallback (WiFiManager * myWiFiManager) {Serial.println ("Įvestas konfigūracijos režimas"); Serial.println (WiFi.softAPIP ()); // jei naudojote automatiškai sukurtą SSID, atspausdinkite jį Serial.println (myWiFiManager-> getConfigPortalSSID ()); }

Rekomenduojamas: