Мазмуну:
- 1 -кадам: Районду өткөрүңүз
- 2 -кадам: Желе колдонмолорун даярдоо
- 3 -кадам: NodeMCU тактасын программалоо
- 4 -кадам: Түзмөгүңүздөн ырахат алыңыз
Video: NodeMCU (Arduino), Google Firebase жана Laravel колдонулган реалдуу убакыт окуялары жөнүндө билдирмелер: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Сиздин веб -сайтыңызда кандайдыр бир аракет болгондо, бирок электрондук почта туура келбегенде кабарланууну каалаган белеңиз? Соода кылган сайын үн же коңгуроону уккуңуз келеби? Же үйдөгү өзгөчө кырдаалдан улам дароо көңүл бурушуңуз керекпи?
Бул түзмөк сизге каалаган нерсеңиз жөнүндө реалдуу убакытта эскерте алат.
1 -кадам: Районду өткөрүңүз
Мен курган түзмөк NodeMCU таксасынан турат, мага веб -сайтта жасалган сатуулар жөнүндө эскертүүчү. Микроконтроллер Arduino программасы менен программаланган жана иштөөчү бөлүгү каалаган веб, iOS же Android тиркемеси болушу мүмкүн. Мен эки жөнөкөй веб тиркемени түздүм, бири Ларавелде, экинчиси жөнөкөй HTML жана JavaScript үчүн.
NodeMCU тактасы казыктарда 12мА токтун айланасында коопсуз иштей алгандыктан, ызылдак NPN транзистору аркылуу туташат. Мен 2N2222ди колдондум, анткени менде алардын көбү жатат, бирок мен башка NPN транзисторлору менен принцип бирдей болоруна ишенем.
Тизмеге зым салуу үчүн, транзистордун коллекторун тактадагы Вин пинине туташтырыңыз. Будильник 5Вде иштейт жана биз аппаратты USBден кубаттай тургандыктан, бул пин бизге борттогу 3.3V жөндөгүчүнүн алдында чыңалууну берет.
Андан кийин транзистордун эмитентиндеги сигналдын оң жагын жана ызылчактын терс пинин борттогу жерге туташтыргычтардын бирине туташтырыңыз. Мен 2 -пин колдондум, бирок сиз аны 9, 25 же 29 -казыктарга туташтырсаңыз болот.
Транзистордун негизи Arduino программалык камсыздоосунда GPIO 4 менен байланышкан D2 пинге туташкан. Бул орнотуу менен, транзистор натыйжалуу ар бир окуя боюнча коңгуроону күйгүзүүчү катары иштейт. Зумердин ордуна, сиз релени туташтырсаңыз болот, эгерде кандайдыр бир сигнал берүүчү түзүлүштү жасап жатсаңыз, лампочкалар, машиналар же сирена сыяктуу каалаган электр шаймандарын айдай аласыз.
2 -кадам: Желе колдонмолорун даярдоо
Түзмөктүн иштөөчү жана реалдуу убакыт бөлүгүндө Google Firebase Realtime Database колдонобуз. Бул Google тарабынан жасалган кереметтүү NoSQL булут маалымат базасы, ал колдонулуп жаткан платформалардын ортосунда реалдуу убакытта маалыматтарды синхрондоштурууну камсыз кылат.
Адегенде өзүңүз тандаган ат менен долбоор түзүңүз. Түзүлгөндөн кийин, "эсептөө" деп аталган бир түйүндү түзүңүз жана аны 0 болсо мааниси менен баштаңыз. Бул биздин келечекте ээрчигибиз келген саныбыз болот.
Laravel тиркемеси Kreait компаниясынын "firebase-php" пакетин колдонот жана ал төмөндө шилтемеленген. Топтомду "композитор kreait/firebase-php талап кылат" иштетүү менен орнотуңуз. Орнотуу аяктагандан кийин, биз иш -аракет боло турган контроллерди түзүшүбүз керек. Мен методду "жаңыртуу" деп атадым жана аны POST акциясында маршруттарга туташтырдым.
Firebase нускасын алуу үчүн сизге Firebase консолунан жүктөө керек болгон json файлы керек. Бул файлды Laravel долбооруңуздун тамырына коюп, firebase.json деп атаңыз. Firebase нускасын алууда, withCredentials ыкмасын колдонуу менен бул файлдын жолун беришибиз керек.
Firebase инстанциясын алгандан кийин, биз маалымат базасына жана биз мурда түзгөн түйүнгө шилтеме алышыбыз керек. Ар бир иш -аракетте, биз түйүндүн учурдагы маанисин алабыз, аны бир көбөйтүп, эгерде маалымат базасына кайтсак сактап калабыз. Бул биз кабарлоого тийиш болгон окуяларыбызды көзөмөлдөп турат.
Ошол эле HTML жана JavaScript менен, Firebase китепканасын колдонуу менен жетишүүгө болот. Муну менен биз адегенде конфигурация массивин Firebase консолунан тиешелүү жөндөөлөр менен камсыздап, колдонмону баштообуз керек. Башталгандан кийин, биз окуялардын санын сактай турган түйүнгө шилтеме алабыз жана кандайдыр бир маанидеги өзгөрүүлөрдү алуу үчүн угуучуну тиркейбиз.
Кошумча катары, форманы Ларавел мисалында тапшыруунун ордуна, бизде азыр JavaScript функциясы бар, ал баскычты чыкылдатып, эсепти жаңыртып, жаңыртылган маанини маалымат базасына кайра жазат.
3 -кадам: NodeMCU тактасын программалоо
NodeMCUну программалоо үчүн мен Arduino программасын колдондум жана ага тактаны орноткондон кийин, программаны жүктөө үчүн туура версияны жана портту тандап алдым. Mine 1.0 версиясы, андыктан улантуудан мурун тактаңыз менен эки жолу текшериңиз.
Arduino кодунун биринчи бөлүгү, түзмөгүңүздө тууралашыңыз керек болгон бардык керектүү аныктамаларды орнотот. Биринчи мындай жөндөө WiFi жана анын сырсөзүнүн ssid, анда биз firebase url жана firebase db сырын орнотушубуз керек. Тилекке каршы, бул маалымат базасына туташуунун сунушталган жолу эмес, бирок азырынча китепкана аны колдоонун жалгыз жолу. Бул сырды Firebase консолундагы Долбоордун Орнотууларынан, кызмат эсептери менюсунан таба аласыз.
Кийинки аныктама - бул биз жаңыртууларды жана түзмөктүн идентификаторун текшере турган жол. Түзмөктүн идентификатору талап кылынат, андыктан бизде бир эле окуялар жөнүндө кабарлоо үчүн бир нече түзмөк бар болсо, кайсы иш -чара бизге кабар бергенин билишибиз керек жана ал жөнүндө жазуу керек. Акыркысы, биз коңгуроону туташтырган пинти орнотушубуз керек жана бул биздин учурда D2.
Орнотуу функциясы киргизилген pin жана D2 казыктарын чыгымдар катары аныктайт, эмне болуп жатканын билүү үчүн сериялык байланышты баштайт жана көрсөтүлгөн WiFi тармагына туташат. Байланыш орнотулгандан кийин, ал Firebase менен байланышты баштайт жана биз кабарлаган акыркы маанини алат. Андан кийин көрсөтүлгөн жолдогу өзгөрүүлөрдү уга баштайт.
Негизги циклде, түзмөктүн активдүү экенин айтуу үчүн, орнотулган LEDди 500 миллисекундка чейин өчүрүп -күйгүзүү функциясын чакыруу бар. Качан өзгөрүү аныкталганда жана биз жеткиликтүү функция менен окуй турган жеткиликтүү маалыматтар болгондо, түйүндүн жаңы мааниси окулуп жатат, айырма эсептелинет, анткени бул аралыкта бир нече окуялар болгон жана ар бир жолу бип чыгарылган. айырмасы жөнүндө.
Мисалы, акыркы билдирилген маани менен жаңы баллдын ортосундагы айырма 4 болсо, 4 жаңы сатып алуулар болгонун билдирүү үчүн 4 сигнал берилет. Белги функциясы белгилүү бир жыштыкта белгилүү бир жыштыкта ойноо үчүн камтылган тон функциясын колдонот.
Бип сигналдары чыгарылгандан кийин, көрсөтүлгөн аппараттын жаңы мааниси жаңыртылып, агым кайра башталат. Учурда arduino firebase китепканасында ачык маселе бар, биз кол менен баалуулукту сактагандан кийин агым автоматтык түрдө улана бербейт, ошондуктан аны кайра баштоо керек.
4 -кадам: Түзмөгүңүздөн ырахат алыңыз
Мен колдонгон коддун баары менин GitHub эсебимде жеткиликтүү, долбоордун схемасына шилтеме менен бирге.
Булак коду
Схемалык
Код ар кандай сценарийлерде жана окуяларда иштөө үчүн оңой эле кабыл алынышы мүмкүн жана аны менен ойноо сизге абдан кызыктуу болот деп ишенем.
Мен үчүн бул абдан кызыктуу курулуш болду жана мен ал жөнүндө көп нерсени үйрөндүм жана мен чындап бактылуумун. Мен бул сиздин долбооруңузга жардам берет деп үмүттөнөм, бирок эгер сиз анын кайсы бир бөлүгүнө тыгылып калсаңыз же кошумча түшүндүрмө керек болсо, анда комментарийлерде мага билдириңиз, мен сизге жардам берүү үчүн болгон күчүмдү жумшайм.
Эгер сизге долбоор жакса, анда менин YouTube каналыма жазылыңыз:
Кодду татып көрүңүз
Сунушталууда:
Реалдуу убакыт режиминде кудук суунун температурасы, өткөрүмдүүлүк жана суунун деңгээли: 6 кадам (сүрөттөр менен)
Реалдуу убакытта кудуктун суусунун температурасы, өткөрүмдүүлүгү жана суунун деңгээлин өлчөөчү: Бул көрсөтмөлөр температураны, электр өткөрүмдүүлүгүн (EC) жана казылган кудуктарда суунун деңгээлин көзөмөлдөө үчүн арзан, реалдуу убакытта суу өлчөгүчтү кантип курууну сүрөттөйт. Эсептегич казылган кудуктун ичине илинип, суунун температурасын өлчөө үчүн, EC жана
SCARA роботу: Foward жана Inverse кинематикасы жөнүндө үйрөнүү !!! (Plot Twist ARDUINOдо иштетүү аркылуу реалдуу убакыт интерфейсин кантип жасоону үйрөнүңүз !!!!): 5 кадам (сүрөттөр менен)
SCARA роботу: Foward жана Inverse кинематикасы жөнүндө үйрөнүү !!! (Plot Twist ARDUINOдо иштетүү аркылуу реалдуу убакыт интерфейсин кантип жасоону үйрөнүңүз !!!!): SCARA роботу - индустрия дүйнөсүндө абдан популярдуу машина. Аты тандалма шайкеш курама робот колун же тандалма шайкеш муунактуу роботту билдирет. Бул, негизинен, эркиндиктин үч даражасы, биринчи эки дисплей болуп саналат
DS1307 жана DS3231 реалдуу убакыт сааттарынын модулдарын Arduino менен колдонуу: 3 кадам
DS1307 жана DS3231 реалдуу убакыт сааттарынын модулдарын Arduino менен колдонуу: Биз ар кандай булактардан Arduino менен DS1307 жана DS3231 реалдуу убакыт режиминдеги модулдарды кантип колдонуу боюнча суроо-талаптарды ала беребиз-демек, бул аларды колдонуу боюнча эки бөлүктөн турган биринчи окуу куралы. Бул Arduino үйрөткүчү үчүн бизде реалдуу убакытта эки модуль бар
Arduino IDEди колдонуу менен M5stick C менен саат жасоо - M5stack M5stick-C менен RTC реалдуу убакыт сааты: 4 кадам
Arduino IDEди колдонуу менен M5stick C менен саат жасоо | R5 Real Time Clock With M5stack M5stick-C: Салам балдар бул көрсөтмөлөрдө биз m5stackтин m5stick-M5stack тактасы менен саат жасоону үйрөнөбүз, Arduino IDE.So m5stick күндү, убакытты көрсөтөт. дисплейде айдын жумасы
NODEMCU Lua ESP8266 реалдуу убакыт сааты менен (RTC) & EEPROM: 7 кадам
NODEMCU Lua ESP8266 реалдуу убакыт сааты менен (RTC) & EEPROM: маалымат журналын сактоону кааласаңыз, туура убакытты алуу маанилүү. Убакытты интернеттеги булактардан алуунун ар кандай жолдору бар. Сиз эмне үчүн ESP8266ди колдонуп, убактыңызды бөлбөйсүз деп сурашыңыз мүмкүн? Мүмкүн, анын өзүнүн ички RTCи бар (Реалдуу убакыт