Агуулгын хүснэгт:
- Алхам 1: Цахилгаан хэлхээг холбоно уу
- Алхам 2: Вэб програмыг бэлтгэ
- Алхам 3: NodeMCU самбарыг програмчлах
- Алхам 4: Төхөөрөмжөө сайхан өнгөрүүлээрэй
Видео: NodeMCU (Arduino), Google Firebase, Laravel ашиглан бодит цагийн үйл явдлын мэдэгдэл: 4 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Таны вэбсайтад ямар нэгэн үйлдэл хийсэн боловч танд имэйл тохирохгүй байвал танд мэдэгдэхийг хүсч байсан уу? Та худалдаа хийх болгондоо дуу чимээ, хонх сонсохыг хүсч байна уу? Эсвэл гэртээ яаралтай тусламжийн улмаас яаралтай тусламж шаардлагатай байна уу?
Энэ төхөөрөмж нь танд дуртай зүйлийнхээ талаар бодит цаг хугацаанд мэдэгдэх боломжтой.
Алхам 1: Цахилгаан хэлхээг холбоно уу
Миний бүтээсэн төхөөрөмж нь вэбсайт дээр хийсэн борлуулалтын талаар надад анхааруулах дохио бүхий NodeMCU самбараас бүрдэнэ. Микроконтроллерийг Arduino програм хангамж ашиглан програмчилсан бөгөөд идэвхжүүлэх хэсэг нь дурын вэб, iOS эсвэл Android програм байж болно. Би жишээн дээр хоёр энгийн вэб програмыг бүтээсэн бөгөөд нэг нь Ларавелд, нөгөө нь энгийн HTML болон JavaScript дээр бий болсон.
NodeMCU самбар нь тээглүүр дээрх 12 мА орчим гүйдэл гүйх хүртэл аюулгүй ажиллах боломжтой тул дуугаруулагч нь NPN транзистороор холбогддог. Би 2N2222 -ийг ашигласан, учир нь би тэдний ихэнхийг тойрон хүрээлж байгаа боловч зарчим нь бусад NPN транзистортой ижил байх болно гэдэгт би итгэлтэй байна.
Цахилгаан хэлхээг холбохын тулд транзисторын коллекторыг самбар дээрх Vin зүү рүү холбоно уу. Дуут дохио нь 5В хүчдэл дээр ажилладаг бөгөөд бид төхөөрөмжийг USB -ээр тэжээх тул энэ зүү нь самбар дээрх 3.3V зохицуулагчийн өмнө хүчдэл өгөх болно.
Дараа нь транзисторын ялгаруулагч дээрх дуут дохионы эерэг талыг, дуугарагчийн сөрөг тээглүүрийг самбар дээрх газардуулгатай холбоно уу. Би 2 -р зүүг ашигласан, гэхдээ та үүнийг 9, 25 эсвэл 29 -р зүүгээр холбож болно.
Транзисторын суурь нь Arduino програм хангамжийн GPIO 4 -тэй холбоотой D2 зүүтэй холбогддог. Энэхүү тохиргоог хийснээр транзистор нь үйл явдал бүрт дуут дохиог асаах үүргийг үр дүнтэй гүйцэтгэх болно. Дуут дохионы оронд та реле холбож, гэрлийн чийдэн, машин, дохиолол гэх мэт аливаа цахилгаан хэрэгслийг жолоодох боломжтой бол дохиоллын төхөөрөмж хийж болно.
Алхам 2: Вэб програмыг бэлтгэ
Төхөөрөмжийн идэвхжүүлэгч болон бодит цагийн хувьд бид Google -ийн Firebase бодит цагийн мэдээллийн санг ашиглах болно. Энэ бол Google -ийн бүтээсэн гайхалтай NoSQL үүл мэдээллийн сан бөгөөд ашиглаж буй платформ бүрийн хооронд бодит цагийн синхрончлолыг өгдөг.
Эхлээд өөрийн хүссэн нэрээр төсөл зохио. Үүсгэсний дараа "тоолох" нэртэй ганц зангилаа үүсгээд 0 байвал үүнийг эхлүүлнэ үү. Энэ бол бидний ирээдүйд дагахыг хүсч буй эхлэлийн тоо байх болно.
Laravel програм нь Крейтийн "firebase-php" багцыг ашигладаг бөгөөд үүнийг доор холбосон болно. Багцыг "хөгжмийн зохиолч kreait/firebase-php шаарддаг" програмыг ажиллуулж суулгана уу. Суулгалт дууссаны дараа бид үйл ажиллагаа явагдах хянагчийг бий болгох хэрэгтэй. Би энэ аргыг "шинэчлэх" гэж нэрлэсэн бөгөөд үүнийг POST үйлдэл дээр маршрутад холбосон.
Firebase -ийн жишээг авахын тулд танд Firebase консолоос татаж авах шаардлагатай json файл хэрэгтэй болно. Энэ файлыг Laravel төслийнхөө үндэс дээр байрлуулаад firebase.json гэж нэрлэнэ үү. Firebase -ийн жишээ татаж авахдаа бид withCredentials аргыг ашиглан энэ файлын замыг өгөх ёстой.
Галын баазын жишээ авсны дараа бид өмнө нь үүсгэсэн мэдээллийн сан болон зангилааны лавлагаа авах шаардлагатай болно. Үйлдэл бүр дээр бид зангилааны одоогийн утгыг авч, нэгээр нэмэгдүүлж, өгөгдлийн санд буцаж очих тохиолдолд хадгалах болно. Энэ нь бидний мэдэгдэх ёстой үйл явдлуудыг хянах болно.
Үүнтэй ижил Firebase номын санг ашиглан энгийн HTML болон JavaScript ашиглан хүрч болно. Үүний тусламжтайгаар бид эхлээд тохиргооны массивыг Firebase консолоос тохирох тохиргоогоор хангаж, програмыг эхлүүлэх хэрэгтэй. Эхлүүлсний дараа бид үйл явдлын тоог хадгалдаг зангилааны лавлагаа авч, аливаа өөрчлөлтийн өөрчлөлтийг авахын тулд сонсогчийг хавсаргана.
Нэмж дурдахад, Ларавелийн жишээн дээрх шиг маягтыг оруулахын оронд бид товчлуур дээр дарахад JavaScript функцтэй болж, тооллогыг шинэчилж, шинэчилсэн утгыг мэдээллийн санд буцааж бичдэг.
Алхам 3: NodeMCU самбарыг програмчлах
NodeMCU -ийг програмчлахын тулд би Arduino програмыг ашигласан бөгөөд самбарыг суулгасны дараа програмыг байршуулахын тулд тохирох хувилбар, портыг сонгохоо мартсангүй. Минийх бол 1.0 хувилбар тул үргэлжлүүлэхээсээ өмнө самбараасаа дахин шалгаарай.
Arduino кодын эхний хэсэг нь таны төхөөрөмж дээр тохируулах шаардлагатай бүх тодорхойлолтыг тохируулдаг. Эхний ийм тохиргоо нь WiFi -ийн ssid ба түүний нууц үг юм, дараа нь бид firebase url болон firebase db -ийн нууцыг тохируулах хэрэгтэй. Харамсалтай нь энэ бол мэдээллийн санд холбогдохыг зөвлөдөггүй арга боловч одоогоор номын сан үүнийг дэмжих цорын ганц арга зам юм. Та энэ нууцыг Firebase консол дахь Төслийн тохиргоо, үйлчилгээний дансны цэснээс олж болно.
Дараагийн тодорхойлолт бол шинэчлэлтүүд болон төхөөрөмжийн id -ийг шалгаж буй зам юм. Төхөөрөмжийн ID шаардлагатай тул хэрэв бид ижил үйл явдлын талаар мэдээлэх олон төхөөрөмжтэй бол тухайн үйл явдлын талаар аль төхөөрөмж бидэнд мэдэгдсэнийг мэдэж, энэ тухай тэмдэглэл хөтлөх ёстой. Сүүлийнх нь бид дуугаралтыг холбосон зүүгээ тохируулах ёстой бөгөөд энэ нь бидний хувьд D2 юм.
Тохиргооны функц нь суурилуулсан LED зүү ба D2 зүүг гаралт гэж тодорхойлж, юу болж байгааг мэдэхийн тулд цуваа холболтыг эхлүүлж, заасан WiFi сүлжээнд холбогддог. Холболт хийсний дараа Firebase -тай холбоо тогтоож, бидний мэдээлсэн хамгийн сүүлийн утгыг авна. Дараа нь заасан зам дээрх өөрчлөлтийг сонсож эхэлдэг.
Үндсэн гогцоонд төхөөрөмж идэвхтэй байгааг мэдэгдэхийн тулд бүтээгдсэн LED -ийг 500 миллисекундээр анивчих анивчих функц руу залгах дуудлага байдаг. Өөрчлөлтийг илрүүлж, боломжтой функцээр унших боломжтой өгөгдөл байгаа үед зангилааны шинэ утгыг уншиж байна, энэ хооронд олон үйл явдал тохиолдсон байж болзошгүй тул зөрүүг тооцоолж, дохио өгөх болно. ялгааг.
Жишээлбэл, хамгийн сүүлд мэдээлсэн утга болон шинэ утгын хоорондох зөрүү 4 бол 4 шинэ худалдан авалт хийгдсэн гэдгийг танд мэдэгдэхийн тулд 4 дохио өгөх болно. Дуут дохионы функц нь дуут дохиог ашиглан тодорхой давтамжийг тогтоосон хугацаанд тоглуулахын тулд дууны функцийг ашигладаг.
Дуут дохио өгсний дараа заасан төхөөрөмжийн шинэ утгыг шинэчилж, дамжуулалтыг дахин эхлүүлнэ. Одоогоор arduino firebase номын санд нээлттэй асуудал байгаа бөгөөд бид гараар утгыг хадгалсны дараа урсгал автоматаар үргэлжлэхгүй байгаа тул бид үүнийг дахин эхлүүлэх шаардлагатай байна.
Алхам 4: Төхөөрөмжөө сайхан өнгөрүүлээрэй
Миний ашигласан кодыг бүхэлд нь төслийн схемийн линкийн хамт доорх GitHub данс дээрээс авах боломжтой.
Эх код
Схем
Энэ кодыг олон янзын хувилбар, үйл явдалд ашиглахад хялбараар баталж болох бөгөөд та түүнтэй тоглоход маш их хөгжилтэй байх болно гэдэгт итгэлтэй байна.
Миний хувьд энэ бол үнэхээр хөгжилтэй барилга байсан бөгөөд би энэ талаар маш их зүйлийг сурч чадсан бөгөөд үүнийхээ төлөө би үнэхээр баяртай байна. Энэ нь танай төсөлд тусалж чадна гэж найдаж байна, гэхдээ хэрэв та түүний аль нэг хэсэгт гацсан эсвэл нэмэлт тодруулга авах шаардлагатай бол тайлбар дээр надад мэдэгдээрэй, би танд туслахын тулд чадах бүхнээ хийх болно.
Хэрэв танд төсөл таалагдсан бол миний YouTube сувгийг бүртгүүлнэ үү.
Кодыг амтлаарай
Зөвлөмж болгож буй:
Бодит цагийн цагийн модулийг (DS3231) хэрхэн ашиглах вэ: 5 алхам
Бодит цагийн цагны модулийг (DS3231) хэрхэн ашиглах вэ: DS3231 бол өртөг багатай, туйлын нарийвчлалтай I2C бодит цаг (RTC) бөгөөд температурыг нөхсөн болор осциллятор (TCXO), болортой. Төхөөрөмж нь батерейны оролттой бөгөөд үндсэн хүчдэлийн үед цагийг зөв хэмждэг
RPi-Zero IoT үйл явдлын үзүүлэлт / өнгөт гэрэл: 6 алхам (зурагтай)
RPi-Zero IoT Event Indicator / Color Lamp: Нэмэлт микро хянагч байхгүй, & HAT нэмэлт модуль шаардлагагүй, RPi-Zero бүгдийг хийдэг. RPi-Zero W ашиглах нь дээр. Жишээ ашиглах: Вэб үйлчилгээний төлөвийн үзүүлэлт (жишээ нь DowJonesIndex хянах), Улс төр эсвэл спортын арга хэмжээний төлөв байдлын үзүүлэлт, сэтгэлийн гэрэл
Хурим / Үйл явдлын Photobooth: 6 алхам (зурагтай)
Хурим / Үйл явдлын Photobooth: Сайн байцгаана уу, би өнгөрсөн жил гэрлэсэн, D-ийн өдрийн бэлтгэлийг хайж байхдаа бид олон хуримын хурал зохион байгуулсан. Чуулган болгон дээр Photobooth түрээслэгч байдаг. Хурим хийх сайхан санаа байсан, зочин бүр
Google Firebase ашиглан хийх бодит цагийн жагсаалт: 12 алхам
Google Firebase ашиглан хийх бодит цагийн жагсаалт: Сайн байна уу! Бид бүгд хийх ёстой ажлын жагсаалтаа өдөр бүр онлайн эсвэл офлайн хэлбэрээр ашигладаг. Офлайн жагсаалт алдагдах хандлагатай байдаг бөгөөд виртуал жагсаалтыг буруу байрлуулах, санамсаргүйгээр устгах эсвэл бүр мартах боломжтой байдаг. Тиймээс бид үүнийг Google Firebase дээр хийхээр шийдсэн
Үйл явдлын проектор гар чийдэн: 5 алхам (зурагтай)
Үйл явдлын проектор гар чийдэн: Хүн бүхэн амралтанд дуртай! Гэхдээ заримдаа танай гэрт баярын зураг хангалттай байдаггүй байж магадгүй. Гэхдээ энэ бол амархан засч залруулах асуудал юм. Энэхүү баярын уур амьсгалыг нэмэгдүүлэх машиныг гэрэлтүүлснээр та ямар нэгэн үдэшлэг, баяр ёслол, баяр ёслолын баярын дүр төрхийг нэмж болно