Мазмуну:

Hue Magic: 4 кадам (Сүрөттөр менен)
Hue Magic: 4 кадам (Сүрөттөр менен)

Video: Hue Magic: 4 кадам (Сүрөттөр менен)

Video: Hue Magic: 4 кадам (Сүрөттөр менен)
Video: Мына сага фигура. Айгерим Расул кызы🍑🍑🍑🔥🔥🔥🍆🍆🍆 #bulbul #кыргызчаырлар #бишкек #кыргызстан #хит 2024, Ноябрь
Anonim
Image
Image

Кош келиңиз сыйкырчылар!

Бир нече ай мурун мен 3 жаштагы уулум үчүн таякчасы бар кичинекей сыйкырдуу кутучаны жараттым. Ал таяк менен кутуга тийгенде, кутудан өзгөрүп турган түстүү жарык чыга баштайт. Өзүнө өзгөчө жаккан түстү көргөндө, таякчаны стол чырагына (ичинде Philips Hue лампочкасы бар) каратып, дуба кылып, кутунун түсү сыйкырдуу түрдө чыракка секирет! Кутудагы лампа менен жарык күтүлбөгөн жерден бир түстө болот …

Бир нече секунддан кийин түс өчөт жана стол чырагы сыйкырга чейин абалына кайтат. Жаңы закон чыгарылганга чейин…

1 -кадам: Бул долбоорду түзүү үчүн сизге эмне керек

Бул долбоорду түзүү үчүн сизге эмне керек
Бул долбоорду түзүү үчүн сизге эмне керек
Бул долбоорду түзүү үчүн сизге эмне керек
Бул долбоорду түзүү үчүн сизге эмне керек
Бул долбоорду түзүү үчүн сизге эмне керек
Бул долбоорду түзүү үчүн сизге эмне керек

Бул долбоорду түзүү үчүн сизге төмөнкү материалдар керек болот:

    • 1 (же андан көп) Philips Hue түстүү лампасы жана Hue Bridge
    • 1 Wemos D1 mini же окшош esp8266 негизделген микроконтроллер
    • 1 (Arduino) сенсордук сенсор (мис. TTP223R)
    • 1 (Arduino) убактылуу баскычы
    • 1 10uF конденсатор
    • 1 RGB LED (жалпы анод түрү)
    • 5 каршылык (10, 22 жана 47 Ом, 2x 10K Ом)
    • 2 кичине прототиптелген ПХБ (2х3 дюйм же болжол менен 5х7 см чоң болушу керек)
    • кээ бир (секирүүчү) зымдар
    • ширетүүчү темир
    • сыйкырдуу таякча (оюнчуктар дүкөнүндө даяр катары сатып алса болот, же өзүңүз жасай аласыз)
    • картон же жыгачтан жасалган кичинекей кутуча (учурдагы куту болушу мүмкүн, бирок, албетте, башынан баштап кутуну да курууга болот)
    • кээ бир тасма
    • кээ бир желим жана/же гайкалар жана болттор кутуга PCB орнотуу үчүн.
    • кошумча: кутуга кагазды ороо

Эскертүү: Бул схемадан өтүүдө райондук схемаларды окуудагы бир аз тажрыйба жардам берет. Менин диаграммам өтө татаал эмес: эгер сиз конденсаторду резистордон айырмалай алсаңыз, анда жакшы болуп кетишиңиз мүмкүн.

Arduino IDE менен Arduino программалоо боюнча кээ бир тажрыйбалар дагы пайдалуу. Негизги тажрыйба жетиштүү болушу керек, анткени мен сизге көчүрүү/чаптоо үчүн толук кодду берем. Өзүңүздүн атайын орнотууңузда иштеши үчүн (мисалы, тармагыңыздын жөндөөлөрү жана Hue конфигурацияңыздын айрым деталдары) бир нече нерсеге ылайыкташтырышыңыз керек болот. Эгер бул бир аз коркутуп жатса, кабатыр болбоңуз, мен сизге керектүү бардык маалыматты алууга жардам берем.

2 -кадам: кутуча жана таяк

Box and Wand
Box and Wand
Box and Wand
Box and Wand

Биринчи кадамдар, адатта, эң оор, бирок бул үйрөтүүчү эмес! Оңой баштоо үчүн, сиз жөн эле оюнчуктар дүкөнүнөн сыйкырдуу таякча сатып алсаңыз болот жана куту үчүн сиз мурда эле жаткан кичинекей кутуну кайра колдонсоңуз болот. Жөн гана кутуча металлдан жасалган эмес экенине ынаныңыз, анткени бул Wi-Fi сигналдарын бөгөйт жана бизге сыйкыр үчүн керек;-).

Учурдагы кутучага кайра максат койгондо, кутунун үстүнө эки тешик жасоо керек: RGB жетеги үчүн 1 кичинекей тешик (өлчөмү 5мм = 0,2 ") жана чоңураак тешик (болжол менен 12- Сенсордук сенсор үчүн 14 мм же 0,5 ").

Тешиктердин так жайгашуусу маанилүү эмес, аларды эстетикалык сезимине жараша жайгаштырыңыз, бирок бир нече нерсени эске алыңыз:

  • Тешиктердин астына орнотула турган компоненттердин (RGB жетеги жана сенсордук сенсор) экөө тең монтаждоо жана зым үчүн жетиштүү орун ээлешине жол берүү үчүн эки тешиктин ортосунда бир аз аралыкты карманыңыз.
  • Эң чоң тешик сенсордук сенсор үчүн. Бул сенсор таяк менен тийип (жана ал тургай бир аз басылган) тешиктин астына орнотулат. Андыктан сатып алган таякчаңыз өтө калың эмес экенине ынангыла!

Кааласаңыз, боёгуңузду же орогуч кагазыңызды жана капкагын пластик менен колдонуп, кутуңузду бир аз сулуураак кылып, тамак -аштын төгүлүшүнөн жана кир колдордон коргой аласыз.

Эгерде бул биринчи кадам сиздин каалооңузга ылайык келбесе, анда бир куту менен таякча түзүңүз. Ал жерде кооз таякча түзүүгө жардам бере турган бир нече инструкциялар бар

Кандай гана жолду тандабаңыз, азыр кутунун ичин изилдөө убактысы келди.

3 -кадам: Ичиндеги жабдык

Ичиндеги жабдыктар
Ичиндеги жабдыктар
Ичиндеги жабдыктар
Ичиндеги жабдыктар
Ичиндеги жабдыктар
Ичиндеги жабдыктар

Электрондук компоненттерди жогорудагы схемага ылайык туташтыруу үчүн ширеткичти колдонуңуз. Өзгөчө көңүл бура турган бир -эки нерсе бар:

  • Wemos D1 Mini менен RGB LEDдин ортосундагы зымдар жетишерлик узун болушу керек, андыктан RGB ледди сиз кутунун капкагына тешикке орнотсо болот.
  • Ошол эле учурда капкактын башка тешиги аркылуу жеткиликтүү болушу керек болгон моменталдык которгучка жана тийүү сенсоруна тиркелген зымдар да эсептелет.
  • Учурдагы которгучтун баскычы сенсордун астына (сезимтал эмес жагына) жабыштырылган болушу керек, ошондо сен баскычты сенсордун үстүнө жабыштырылган абалдагы которгучка кайра коюуга болот (сүрөттү кара). Сенсор сенсор манжанын жардамы менен баскычтарды басууну аныктоо үчүн убактылуу которгучтун үстүнө орнотулган, бул учурда баскычты басуу этибарга алынбайт. Качан гана баскычты сыйкырдуу таякча басканда (ал өткөргүч болбошу керек, ошондуктан пластмассадан жана жыгачтан жакшы), сыйкырдуу цикл башталат.
  • Сенсордук сенсор менен учурдагы баскычты капкактын тешигинен өтө терең эмес жерге орнотуңуз, анткени сыйкырды кыймылга келтирүү үчүн ага сыйкырдуу таякча жетиши керек.
  • Конденсаторду туташтырууда анын полярдуулугун сактоону унутпаңыз. Эгерде сиз оң жана терс коргошундарды артка кайтарсаңыз, конденсатор кандайдыр бир сыйкырдуу түтүн чыгарат жана сиздин схемаңызды түбөлүк уйкуга коёт.
  • Батарея кармагычын жана ПКБ (лар) ды клей, скотч менен жабыңыз. Бул тыкан болушу керек эмес, анткени ал көрүнбөйт. Бул жөн эле далил болушу керек.

Программалык камсыздоого өтүңүз!

4 -кадам: Программалык камсыздоо

Сизде акыркы (бекер) Arduino программалык редактору бар экенине ишениңиз, аны https://www.arduino.cc/en/Main/Software сайтынан жүктөп алсаңыз болот. Wemos D1 mini жана башка ESP8266 негизделген такталарга колдоо кошуу үчүн, төмөнкү кадамдарды жасаңыз:

  • Орнотуудан кийин Arduino программасын иштетип, Preferences терезесин ачыңыз.
  • Http://arduino.esp8266.com/stable/package_esp8266com_index.json дегенди "Кошумча башкармалыктын менеджери URL'дери" талаасына киргизиңиз. Сиз аларды үтүр менен бөлүп, бир нече URL кошо аласыз.
  • Куралдар> Такта менюсунан Такта менеджерин ачыңыз жана esp8266 платформасын орнотуңуз (жана орноткондон кийин Аспаптар> Такта менюсунан ESP8266 тактаңызды тандап алууну унутпаңыз. "LOLIN (WEMOS) D1 R2 & mini" Wemos D1 mini v2 жана v3 үчүн эң жакшы иштейт. такталар.

Эгерде сизге көбүрөөк жардам керек болсо Arduino орнотуу жана драйверлерди орнотуу

Arduino редакторунда жаңы файлды ачыңыз (Файл> Жаңы) жана төмөнкү кодду жаңы ачылган терезеге көчүрүп/чаптаңыз. Жаңы терезеде мурунтан эле бар болгон саптарды кайра жазыңыз (жараксыз орнотуу жана боштук цикл).

Эми сиз дээрлик даярсыз, бирок сиз өзүңүздүн кодуңуздун бир нече бөлүгүн ыңгайлаштырышыңыз керек.

Биринчи нерсе - 34 -саптагы IP дарегин (Arduino редакторунда коддордун саптары номерленген) Hue көпүрөсүнүн IP дарегине өзгөртүү. Эгерде сиз Hue Bridge IP дарегиңизди билбесеңиз, https://discovery.meethue.com/ дарегине баш багыңыз жана туура IP дареги браузериңизде дароо пайда болот. IP дареги чекиттүү номер, анын алдында "internalipaddress" турат.

Hue чырактары менен байланышуу үчүн, Wemos D1 mini үчүн Hue API колдонуучусун түзүшүңүз керек болот, андыктан Wemos Hue API аркылуу Hue жарыгына байланыша алат. Бул үчүн, https://developers.meethue.com/develop/get-started-2/ дарегиндеги көрсөтмөлөрдү аткарыңыз жана Arduino код терезесине түзүлгөн (абдан узун) колдонуучу атын көчүрүп/чаптаңыз. Жөн гана ар бир "YUE HUE API КОЛДОНУУЧУНУ" API түзүлгөн колдонуучу аты менен алмаштырыңыз.

Андан кийин түсүн өзгөртүү үчүн туура Hue жарыгын тандоо керек. Hue APIде ар бир жарыктын номери бар, андыктан сиз бул долбоор үчүн колдонууну каалаган жарыкка дал келген санды табышыңыз керек. Кайсы бир жарык бар экенин билүүнүн эң оңой жолдорунун бири - Android же iOS үчүн Hue Viewer тиркемесин жүктөө. "Жарык номериңиз" текстин Arduino код терезесиндеги бардык жерде туура сан менен алмаштырыңыз.

Акыркы нерсе - Wi -Fi тармагыңызга туташуу үчүн Wemosту орнотуу. Бул кодду Wemosко жүктөө жана ноутбугуңузда башка wifi тармагына которуу жолу менен жасалат: "AutoConnectAP". Сиздин браузер анда Wemos контролери сиздин wifi тармагыңызга (жана Hue көпүрөсүнө) туташуу үчүн колдоно турган Wi -Fi тармагыңыздын SSID (атын) жана сырсөзүн кошо турган баракты көрсөтөт.

Эскертүү: Эгерде кодду Wemos D1 miniге USB аркылуу жүктөө иштебесе, анда Wemosдогу USB чип үчүн драйверди жүктөп алышыңыз керек болот. Платформаңыз үчүн драйверди (Windows, Mac) https://sparks.gogo.co.nz/ch340.html жүктөп алсаңыз болот

Эми сиз өзүңүздүн жаратууңузду сынап көрүүгө даярсыз!

// ESP8266 Hue Magic Wand // Ричард ван Кампен - 2018 // Бул код Wemos D1 мини -де сыналган, бирок, балким, башка ESP8266 негизделген өнүктүрүү такталарында да иштейт // Wemos D1 mini жана башка ESP8266 такталарын колдоо үчүн Arduino редакторуна төмөнкү кадамдарды жасаңыз: // - Arduino программасын иштетип, Preferences терезесин ачыңыз. // - https://arduino.esp8266.com/stable/package_esp8266com_index.json дарегин Кошумча башкармалыктын менеджери URL дарегине киргизиңиз. Сиз аларды үтүр менен бөлүп, бир нече URL кошо аласыз. // - Tools> Board менюсунан Такта менеджерин ачыңыз жана esp8266 платформасын орнотуңуз (жана орноткондон кийин Tools> Board менюсунан ESP8266 тактаңызды тандап алууну унутпаңыз). // колдонулган китепканалар: #include "ESP8266WiFi.h" // ESP8266 Core WiFi Library #include "DNSServer.h" // WIFI орнотуулары (SSID, сырсөз) жок болсо, WiFiManager конфигурация порталына бардык сурамдарды кайра багыттоо үчүн колдонулган жергиликтүү DNS Server. азырынча орнотула элек. #include "ESP8266WebServer.h" // WiFiManager конфигурация порталын тейлөө үчүн колдонулган жергиликтүү WebServer #include "WiFiManager.h" // WiFi Configuration Magic китепканасы, эгер али орнотула элек болсо, https://github.com/tzapu/WiFiManager дарегине кайрылыңыз #китепкана-менеджер аркылуу орнотуу #"RestClient.h" кошуу // https://github.com/fabianofranca/ESP8266RestClient, Philips Hue API колдонуу үчүн керектүү (караңыз https://developers.meethue.com/develop/ hue-api/). #include "ArduinoJson.h" // https://github.com/bblanchon/ArduinoJson, Hue API жоопторун анализдөө үчүн керек, 5.x версиясын Arduinoдогу китепкана менеджери аркылуу орнотуңуз ("Эскиз" менюсу> Китепкананы кошуу> Башкаруу) Китепканалар> ArduinoJson издеп, версиясын акыркы 5.xке өзгөртүү). 6 -версия (учурда бета) ката кетирет. // өзгөрмөлөр жана init: String жооп; const int redPin = 13; // Wemos боюнча бул d7 const int greenPin = 12; // Wemos боюнча бул d6 const int bluePin = 14; // Wemos боюнча бул d5 const int touchSensor = 5; // Wemos боюнча is d1 const int activationPin = 4; // Wemos боюнча бул d2 bool активациясы = HIGH; bool touch = LOW; const char* aan_restore; int bri_restore; кош x_restore; кош y_restore; кош x_magic; кош y_magic; bool first = true; кол коюлбаган узак startMillis; кол коюлбаган узак currentMillis; кол коюлбаган узак мөөнөт Милли; RestClient кардары = RestClient ("192.168.178.23"); // "сиздин Hue Bridge IP дарегиңиз" // Эгерде сиз Hue Bridge IP дарегиңизди билбесеңиз, https://discovery.meethue.com дарегине баш багыңыз, ал дароо браузериңизде көрүнөт. IP дареги - бул "internalipaddress" жараксыздыгын орнотуу () {analogWriteRange (255) менен белгиленген чекиттүү сан; Serial.begin (9600); // LEDди өчүрүү менен баштаңыз. pinMode (activationPin, INPUT_PULLUP); pinMode (touchSensor, INPUT); startMillis = millis (); checkWand (); } void loop () {// бул жерде эч нерсе жок, бош калтырыңыз…} void checkWand () {int rgbColour [3]; // Джеймс Хартондун RGB түс коду, https://gist.github.com/jamesotron/766994 // Кызылдан баштаңыз. rgbColour [0] = 255; rgbColour [1] = 0; rgbColour [2] = 0; activation = digitalRead (activationPin); // LOW таяк колдонулуп жатканын билдирет. touch = digitalRead (touchSensor); // HIGH таякчанын ордуна манжа колдонулганын билдирет, андай болбошу керек. while (активация == LOW && touch == LOW) {// Түстөрдү көбөйтүү жана азайтуу үчүн тандаңыз. үчүн (int decColour = 0; decColour <3; decColour += 1) {int incColour = decColour == 2? 0: decColour + 1; // = үчтүк оператор, билдирет: int incColour; if (decColour == 2) {incColour = 0;} else {incColour = decColour +1;} // эки түстү айкалыштырат. for (int i = 0; i <255; i += 1) {rgbColour [decColour] -= 1; rgbColour [incColour] += 1; // биздин RGB лидерибизде катодтун ордуна жалпы анод бар (ошондуктан жерге +3,3V туташуу керек), RGB үчүн тескери маанилер керек: int red = 255 - rgbColour [0]; int green = 255 - rgbColour [1]; int blue = 255 - rgbColour [2]; analogWrite (redPin, кызыл); analogWrite (greenPin, жашыл); analogWrite (bluePin, blue); кечигүү (8); жандандыруу = digitalRead (activationPin); if (activation == HIGH) {// HIGH таяк көтөрүлгөнүн билдирет. goto stopColorCycling; }}}} stopColorCycling: currentMillis = millis (); durationMillis = (currentMillis - startMillis); if (durationMillis> 1000) {RGBtoxy (rgbColour [0], rgbColour [1], rgbColour [2]); } else {// Wemos уктоо режимине которулат: ESP.deepSleep (0); }} жараксыз RGBtoxy (ички кызыл, жашыл, көк көк) {// кара https://developers.meethue.com/documentation/color-conversions-rgb-xy double R = карта (кызыл, 0, 255, 0, 1000); R /= 1000; кош G = карта (жашыл, 0, 255, 0, 1000); G /= 1000; кош B = карта (көк, 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); кош X = R * 0.649926f + G * 0.103455f + B * 0.197109f; кош Y = R * 0.234327f + G * 0.743075f + B * 0.022598f; кош Z = R * 0.0000000f + G * 0.053077f + B * 1.035763f; кош x = X / (X + Y + Z); кош y = Y / (X + Y + Z); // конверсия толугу менен бүтө элек, бирок, балким, биз каалаган нерсеге жетет, андыктан аны ушул жерге калтырып, XY баалуулуктарын чыракка жөнөтүңүз: sendtoHue (x, y); } void sendtoHue (double a, double b) {// таяк сыйкырынан чыныгы түс өзгөрүшү if (first) {// биринчи өтүү: учурдагы чырактын абалын алуу getCurrentValues (); } // анда сыйкырдуу таякча түстөрүн жиберет: // сыйкырды күт: узак күтүү; x_magic = a; y_magic = b; // чырак сыйкырдуу таякчада күйөт: жооп = ""; int temp = random (2, 9); const char* state = "true"; for (int i = 1; i <= temp; i ++) {// көпүрөгө жөнөтүү үчүн char массивин түзүңүз: String temp_body1 = "{" on / ":" + String (state) + ", \" bri / ": 220, / "xy \": [" + Стринг (x_magic) +", " + Стринг (y_magic) +"], / "өткөөл мезгил \": 1} "; int str_len1 = temp_body1.length () + 1; char post_body1 [str_len1]; temp_body1.toCharArray (post_body1, str_len1); // азыр бизде post_body1 чар массиви катары; // эс алуу чалуусун жасаңыз: int statusCodePut1 = client.put ("/api/YOUR HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body1, жана жооп); күтүү = туш келди (100, 600); кечиктирүү (күтүү); if (state == "true") {state = "false"; } else {state = "true"; }} // жарыкты азайтуу…: жооп = ""; темп = туш келди (4, 17); // көпүрөгө жөнөтүү үчүн char массивин түзүңүз: String temp_body2 = "{" on / ": true, \" bri / ": 154, \" өткөөл убакыт / ":" + Стринг (темп) + "}"; int str_len2 = temp_body2.length () + 1; char post_body2 [str_len2]; temp_body2.toCharArray (post_body2, str_len2); // азыр бизде post_body2 чар массиви катары; // тыныгуу чалуу: int statusCodePut2 = client.put ("/api/YOUR HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body2, жана жооп); күтүү = туш келди (1000, 2500); кечиктирүү (күтүү); //.. жана дагы жарык кылыңыз: жооп = ""; темп = туш келди (4, 17); // көпүрөгө жөнөтүү үчүн char массивин түзүңүз: String temp_body3 = "{" bri_inc / ": 100, \" өткөөл убакыт / ":}"; int str_len3 = temp_body3.length () + 1; char post_body3 [str_len3]; temp_body3.toCharArray (post_body3, str_len3); // азыр бизде post_body3 чар массиви катары; // тыныгуу чалуу: int statusCodePut3 = client.put ("/api/YOUR HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body3, жана жооп); күтүү = туш келди (2500, 5000); // күтүү 2-5 секунд кечиктирүү (күтүү); // жана эски мааниге кайтып келүү: жооп = ""; // көпүрөгө жөнөтүү үчүн char массивин түзүңүз: String temp_body4 = "{" on / ":" + String (aan_restore) + ", \" bri / ":" + String (bri_restore) + ", \" xy / ": [" + Стринг (x_restore) +", " + Стринг (y_restore) +"], / "өткөөл мезгил \": " + Стринг (20) +"} "; int str_len4 = temp_body4.length () + 1; char post_body4 [str_len4]; temp_body4.toCharArray (post_body4, str_len4); // азыр бизде post_body4 чар массиви катары; // эс алуу чалуусун кылыңыз: int statusCodePut4 = client.put ("/api/YOUR HUE API USERNAME/lights/YOUR LIGHT NUMBER/state", post_body4, жана жооп); ESP.deepSleep (0); // кайра уктайм …. } unsigned int getCurrentValues () {connectWifi (); // адегенде Wifi жообуна туташуу = ""; // тыныгуу чалуу: int statusCodeGet = client.get ("/api/YOUR HUE API USERNAME/lights/YOUR LIGHT NUMBER", & answer); Serial.print ("GETтен кийин серверден статус коду:"); Serial.println (statusCodeGet); Serial.print ("Серверден жооп органы:"); Serial.println (жооп); StaticJsonBuffer jsonBuffer; // Json жоопторун талдоо // Объект дарагынын тамыры. // // Бул JsonObjectка шилтеме, чыныгы байттар объект дарагынын башка бардык түйүндөрү менен // jsonBuffer ичинде. // JsonBuffer алкагынан чыкканда эс бошойт. JsonObject & root = jsonBuffer.parseObject (жооп); JsonObject & state = root ["state"]; // Талдоо ийгиликтүү болгонун текшериңиз. if (! root.success ()) {Serial.println ("parseObject () ишке ашпай калды")); } // Маанилерди алуу. aan_restore = абалы ["күйүк"]; Serial.println (aan_restore); bri_restore = абал ["bri"]; x_restore = абал ["xy"] [0]; y_restore = абал ["xy"] [1]; first = false;} void connectWifi () {// Жергиликтүү интиализация. Анын бизнеси бүткөндөн кийин, аны WiFiManager wifiManager тегерегинде сактоонун кажети жок; // орнотууларды баштапкы абалга келтирүү - тестирлөө үчүн: //wifiManager.resetSettings (); // мурунку WiFiга туташканда чакырылган кайра чалуу ишке ашпай калат жана Access Point режимине кирет wifiManager.setAPCallback (configModeCallback); // ssid жана pass алып, туташууга аракет кылат // эгер ал туташпаса, анда көрсөтүлгөн аталыш менен кирүү чекитин баштайт // бул жерде "AutoConnectAP" // жана эгерде конфигурацияны күткөн бөгөт коюу циклине өтсө, (! wifiManager.autoConnect ()) {Serial.println ("туташпай калды жана тайм -аут"); // баштапкы абалга келтирип, кайра аракет кылыңыз, же аны терең уйкуга коёсуз ESP.reset (); кечигүү (1000); } // эгер сиз бул жерге жетсеңиз, WiFi Serial.println ("туташты… ээ:)") менен туташтыңыз; Serial.print ("Туташты:"); Serial.println (WiFi. SSID ()); Serial.print ("IP дареги:"); Serial.println (WiFi.localIP ()); // Сиздин ESPке (Wemos) дайындалган IP дареги // алынган сигналдын күчүн басып чыгаруу: long rssi = WiFi. RSSI (); Serial.print ("сигналдын күчү (RSSI):"); Serial.println (rssi); } жараксыз configModeCallback (WiFiManager * myWiFiManager) {Serial.println ("Киргизилген конфигурация режими"); Serial.println (WiFi.softAPIP ()); // эгер сиз автоматтык түрдө түзүлгөн SSID колдонсоңуз, аны басып чыгарыңыз Serial.println (myWiFiManager-> getConfigPortalSSID ()); }

Сунушталууда: