MQTT ашиглан галт тэрэгний WiFi хяналтын загвар: 9 алхам
MQTT ашиглан галт тэрэгний WiFi хяналтын загвар: 9 алхам
Anonim
MQTT ашиглан галт тэрэгний WiFi хяналтын загвар
MQTT ашиглан галт тэрэгний WiFi хяналтын загвар

Хуучин TT масштабтай галт тэрэгний загварын системтэй байсан тул би локодыг тус тусад нь удирдах талаар санаа олж авсан.

Үүнийг санаж, би нэг алхам урагшилж, зөвхөн галт тэрэг удирдах төдийгүй бүхэл бүтэн схемийн талаар нэмэлт мэдээлэл авах, өөр зүйлийг (чийдэн, төмөр замын унтраалга …) хянахад юу хэрэгтэй байгааг олж мэдэв.

WiFi хяналттай загварын галт тэрэгний систем иймэрхүү байдлаар төрсөн.

Алхам 1: Үйл ажиллагааны урьдчилсан төлөв

Үйл ажиллагааны урьдчилсан таамаглал
Үйл ажиллагааны урьдчилсан таамаглал

Гол зарчим бол элемент бүрийг дангаар нь эсвэл нэг хянагч эсвэл олон хяналтын эх үүсвэрээс хянах явдал юм. Үүнд угаасаа нийтлэг физик давхарга хэрэгтэй болно - хамгийн тодорхой нь WiFi - ба нийтлэг харилцааны протокол болох MQTT.

Гол элемент нь MQTT брокер юм. Холбогдсон төхөөрөмж бүр (галт тэрэг, мэдрэгч, гаралт …) зөвхөн Брокероор дамжуулан харилцах боломжтой бөгөөд зөвхөн Брокероос мэдээлэл хүлээн авах боломжтой.

Төхөөрөмжүүдийн зүрх нь ESP8266 дээр суурилсан WiFi хянагч бөгөөд MQTT брокер нь Raspberry pi дээр ажилладаг.

Эхлээд Wifi хамрах хүрээг WiFi чиглүүлэгчээр хангадаг бөгөөд бүх зүйлийг утасгүй сүлжээгээр холбодог.

4 төрлийн төхөөрөмж байдаг:

- Галт тэрэгний хянагч: 2 дижитал оролт, 1 дижитал гаралт, 2 ХОУХ -ны гаралттай (2 бие даасан DC моторыг хянах зориулалттай), - Мэдрэгчийн хянагч: 7 дижитал оролттой (оролтын унтраалга, оптосенсор …), - Гаралтын хянагч: 8 дижитал гаралттай (төмөр замын унтраалгын хувьд …), - WiFi алсын удирдлага: 1 нэмэлт кодлогч оролттой, 1 дижитал оролттой (галт тэргийг алсаас удирдах).

Систем нь Node-Red-ээс (таблет, компьютер эсвэл ухаалаг гар утаснаас) ажиллах боломжтой.

Алхам 2: MQTT өгөгдөл солилцох ба тохиргоо

MQTT өгөгдөл солилцох ба тохиргоо
MQTT өгөгдөл солилцох ба тохиргоо

MQTT протокол дээр үндэслэн эхлээд төхөөрөмж бүр тухайн сэдвийг захиалж, өөр сэдвээр нийтлэх боломжтой. Энэ бол галт тэрэгний хяналтын сүлжээний харилцааны үндэс юм.

Энэхүү харилцааны үлгэрүүд нь JSON форматтай мессежээр дамжуулж, богино бөгөөд хүн уншихад хялбар болно.

Илүү их өнцгөөс харвал: Сүлжээ нь өөрийн SSID (сүлжээний нэр), нууц үг бүхий WiFi чиглүүлэгчтэй. WiFi сүлжээнд нэвтрэхийн тулд төхөөрөмж бүр эдгээр 2 -ийг мэддэг байх ёстой. MQTT брокер нь энэ сүлжээний нэг хэсэг тул MQTT протоколыг ашиглахын тулд төхөөрөмж бүр брокерын IP хаягийг мэддэг байх ёстой. Эцэст нь хэлэхэд төхөөрөмж бүр захиалах, мессеж нийтлэх өөрийн гэсэн сэдэвтэй байдаг.

Практик дээр өгөгдсөн алсын удирдлага нь тухайн галт тэрэг захиалсан мессежүүдийг нийтлэхдээ ижил сэдвийг ашигладаг.

Алхам 3: Галт тэрэгний хянагч

Галт тэрэгний хянагч
Галт тэрэгний хянагч

Тоглоомын галт тэргийг удирдахын тулд бидэнд үндсэндээ 3 зүйл хэрэгтэй: цахилгаан хангамж, WiFi идэвхжүүлсэн хянагч, мотор драйверын электроник.

Цахилгаан хангамж нь бодит хэрэглээний төлөвлөгөөнөөс хамаарна: LEGO -ийн хувьд энэ бол Power Functions батерейны хайрцаг, "oldschool" TT эсвэл H0 масштабтай галт тэрэгний хувьд энэ нь 12V цахилгаан хангамж юм.

WiFi идэвхжүүлсэн хянагч нь Wemos D1 mini (ESP8266 дээр суурилсан) хянагч юм.

Мотор жолоочийн электроник нь TB6612 дээр суурилсан модуль юм.

Галт тэрэгний хянагч нь тус тусдаа удирдлагатай ХОУХ -ны 2 гаралттай. Цочмог байдлаар нэгийг моторын хяналтанд, нөгөөг нь гэрлэн дохио өгөхөд ашигладаг. Зэгсэн контакт дээр суурилсан мэдрэх зориулалттай 2 оролт, нэг дижитал гаралттай.

Хянагч нь JSON мессежийг WiFi болон MQTT протоколоор хүлээн авдаг.

SPD1 нь моторыг хянадаг, жишээлбэл: {"SPD1": -204} мессежийг моторыг 80% -ийн хүчээр урагшлуулахад ашигладаг (хамгийн дээд хурдны утга -255).

SPD2 нь "чиглэлд мэдрэмтгий" LED гэрлийн эрч хүчийг хянадаг: {"SPD2": -255} мессеж нь (арагшаа) LED -ийг бүх хүчээрээ гэрэлтүүлдэг.

OUT1 нь дижитал гаралтын төлөвийг хянадаг: {"OUT1": 1} гаралтыг асаадаг.

Хэрэв оролтын төлөв өөрчлөгдвөл хянагч үүний дагуу мессеж илгээнэ: {"IN1": 1}

Хэрэв хянагч хүчин төгөлдөр мессеж хүлээн авбал түүнийг гүйцэтгэж, брокерт санал хүсэлтээ өгнө. Санал хүсэлт бол үнэндээ гүйцэтгэсэн тушаал юм. Жишээлбэл: хэрэв брокер {"SPD1": 280} илгээсэн бол мотор бүрэн хүчин чадлаараа ажиллаж байгаа боловч хариу мессеж нь: "" SPD1 ": 255} болно.

Алхам 4: LEGO галт тэрэгний хяналт

LEGO галт тэрэгний хяналт
LEGO галт тэрэгний хяналт

LEGO галт тэрэгний хувьд схемүүд арай өөр байна.

Эрчим хүч нь батерейны хайрцгаас шууд ирдэг.

ESP8266 дээр суурилсан Lolin хавтанг 3.5В хүчдэлээр хангахын тулд мини алхам доош хөрвүүлэгч хэрэгтэй болно.

Холболтыг LEGO 8886 утсаар хийж, хоёр хуваасан.

Алхам 5: Алсын удирдлага

Удирдлага
Удирдлага

Хянагч зөвхөн галт тэрэг рүү зурвас нийтэлдэг (BCD шилжүүлэгчээр тодорхойлогддог).

Кодлогчыг эргүүлснээр алсын удирдлага нь {"SPD1": "+"} эсвэл {"SPD1": "-"} мессежийг илгээдэг.

Галт тэрэг энэхүү "өсөн нэмэгдэж буй төрөл" мессежийг хүлээн авмагц ХОУХ -ны гаралтын утгыг 51 эсвэл -51 болгон өөрчилдөг.

Ингэснээр алсын удирдлага нь галт тэрэгний хурдыг 5 алхамаар (чиглэл бүрээр) өөрчлөх боломжтой.

Нэмэлт кодлогч дарахад {"SPD1": 0} илгээгдэх болно.

Алхам 6: Мэдрэгчийн хянагч

Мэдрэгчийн хянагч
Мэдрэгчийн хянагч

Мэдрэгчийн хянагч нь оролтын төлөв байдлыг хэмждэг бөгөөд хэрэв тэдгээрийн аль нэг нь өөрчлөгдвөл энэ утгыг нийтлэнэ.

Жишээ нь: {"IN1": 0, "IN6": 1} энэ жишээнд 2 оролт нэгэн зэрэг төлөвийг өөрчилсөн.

Алхам 7: Гаралтын хянагч

Гаралтын хянагч
Гаралтын хянагч

Гаралтын хянагч нь ULN2803 дээр суурилсан модульд холбогдсон 8 дижитал гаралттай.

Энэ нь захиалсан сэдвээрээ дамжуулан мессеж хүлээн авдаг.

Жишээлбэл, {"OUT4": 1, "OUT7": 1} гэсэн мессеж нь 4. ба 7. дижитал гаралтыг асаах болно.

Алхам 8: Raspberry Pi ба WiFi чиглүүлэгч

Би хуучин TP-Link WiFI чиглүүлэгчтэй байсан тул үүнийг хандалтын цэг болгон ашигласан.

MQTT брокер бол шумуул суулгасан Raspberry Pi юм.

Би стандарт Raspbian OS -ийг MQTT ашиглан ашигладаг:

sudo apt-get шумуул шумуул-үйлчлүүлэгчид питон-шумуул

TP-Link чиглүүлэгч нь бөөрөлзгөнө хаягийн захиалгатай байхаар тохируулагдсан байх ёстой тул дахин эхлүүлэх бүрийн дараа Pi ижил IP хаягтай бөгөөд төхөөрөмж бүр түүнтэй холбогдох боломжтой болно.

Тэгээд л боллоо!

Алхам 9: Дууссан хянагчид

Дууссан хянагчид
Дууссан хянагчид
Дууссан хянагчид
Дууссан хянагчид

Энд бэлэн болсон хянагчууд байна.

TT масштабтай локо нь жижиг хэмжээтэй тул галт тэрэгэнд багтахаар жижиг хэмжээтэй байхын тулд Лолин хавтанг нарийсгах (тайрах) шаардлагатай байв.

Эмхэтгэсэн хоёртын файлуудыг татаж авах боломжтой. Аюулгүй байдлын үүднээс хогийн савны өргөтгөлийг txt болгож сольсон.

Зөвлөмж болгож буй: