Სარჩევი:

მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით: 9 ნაბიჯი
მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით: 9 ნაბიჯი

ვიდეო: მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით: 9 ნაბიჯი

ვიდეო: მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით: 9 ნაბიჯი
ვიდეო: უსადენო ვიდეო თვალთვალის WIFI ნაკრები ხალხის თვალთვალით 2024, ნოემბერი
Anonim
მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით
მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით

ძველი TT მასშტაბის მატარებლის მოდელის სისტემის არსებობისას, მე მქონდა იდეა, თუ როგორ გავაკონტროლო ლოგოები ინდივიდუალურად.

ამის გათვალისწინებით, მე კიდევ ერთი ნაბიჯი გადავდგი და გავარკვიე რა არის საჭირო არა მხოლოდ მატარებლების გასაკონტროლებლად, არამედ დამატებითი ინფორმაციის მისაღებად მთლიანი განლაგების შესახებ და სხვა რამის გასაკონტროლებლად (ნათურები, სარკინიგზო ჩამრთველები …)

ასე იბადება WiFi კონტროლირებადი მოდელის მატარებლის სისტემა.

ნაბიჯი 1: ოპერაციის გეგმები

ოპერაციის პროგნოზები
ოპერაციის პროგნოზები

მთავარი პრინციპია თითოეული ელემენტის ინდივიდუალურად გაკონტროლება, ერთი კონტროლერისგან, ან მრავალჯერადი კონტროლის წყაროდან. ამას არსებითად სჭირდება საერთო ფიზიკური ფენა - აშკარად WiFi - და საერთო საკომუნიკაციო პროტოკოლი, MQTT.

ცენტრალური ელემენტია MQTT ბროკერი. ყველა დაკავშირებული მოწყობილობა (მატარებელი, სენსორი, გამომავალი…) ნებადართულია კომუნიკაცია მხოლოდ ბროკერის საშუალებით და შეუძლია მხოლოდ მონაცემების მიღება ბროკერისგან.

მოწყობილობების გული არის ESP8266 დაფუძნებული WiFi კონტროლერი, ხოლო MQTT ბროკერი მუშაობს Raspberry pi– ზე.

თავდაპირველად Wifi დაფარვას უზრუნველყოფს WiFi როუტერი და ყველაფერი უკაბელო საშუალებით არის დაკავშირებული.

არსებობს 4 ტიპის მოწყობილობა:

- მატარებლის კონტროლერი: აქვს 2 ციფრული შეყვანა, 1 ციფრული გამომავალი, 2 PWM გამოსავალი (2 ინდივიდუალური DC ძრავის გასაკონტროლებლად), - სენსორული კონტროლერი: აქვს 7 ციფრული შეყვანა (შესასვლელი კონცენტრატორებისთვის, ოპტოსენსორები …), - გამომავალი კონტროლერი: აქვს 8 ციფრული გამოსავალი (სარკინიგზო გადამრთველებისთვის …), - WiFi დისტანციური: აქვს 1 დამატებითი კოდირების შეყვანა, 1 ციფრული შეყვანა (მატარებლების დისტანციურად გასაკონტროლებლად).

სისტემას ასევე შეუძლია იმუშაოს Node-Red– დან (ტაბლეტიდან, კომპიუტერიდან ან სმარტფონიდან …).

ნაბიჯი 2: MQTT მონაცემთა გაცვლა და კონფიგურაცია

MQTT მონაცემთა გაცვლა და კონფიგურაცია
MQTT მონაცემთა გაცვლა და კონფიგურაცია

MQTT პროტოკოლის საფუძველზე, თავდაპირველად ყველა მოწყობილობა იწერს მოცემულ თემას და შეუძლია გამოაქვეყნოს სხვა თემაზე. ეს არის მატარებლის კონტროლის ქსელის კომუნიკაციის საფუძველი.

ეს საკომუნიკაციო ზღაპრები განთავსებულია JSON ფორმატირებული შეტყობინებების საშუალებით, იყოს მოკლე და ადამიანისთვის წაკითხული.

უფრო დიდი პერსპექტივიდან: ქსელს აქვს WiFi როუტერი საკუთარი SSID (ქსელის სახელი) და პაროლი. ყველა მოწყობილობამ უნდა იცოდეს ეს 2 WiFi ქსელში შესასვლელად. MQTT ბროკერიც ამ ქსელის ნაწილია, ამიტომ MQTT პროტოკოლის გამოსაყენებლად ყველა მოწყობილობამ უნდა იცოდეს ბროკერის IP მისამართი. და ბოლოს ყველა მოწყობილობას აქვს თავისი თემა შეტყობინებების გამოწერისა და გამოქვეყნებისათვის.

პრაქტიკულად, მოცემული დისტანციური მართვა იყენებს იმავე თემას შეტყობინებების გამოსაქვეყნებლად, რომლებშიც მოცემული მატარებელია ხელმოწერილი.

ნაბიჯი 3: მატარებლის კონტროლერი

მატარებლის კონტროლერი
მატარებლის კონტროლერი

სათამაშო მატარებლის გასაკონტროლებლად, ჩვენ ძირითადად გვჭირდება 3 რამ: ელექტრომომარაგება, WiFi ჩართული კონტროლერი და ძრავის მძღოლის ელექტრონიკა.

ელექტროენერგიის მიწოდება დამოკიდებულია ფაქტობრივი გამოყენების გეგმაზე: LEGO- ს შემთხვევაში, ეს არის Power Functions ბატარეის ყუთი, "oldschool" TT ან H0 მასშტაბის მატარებლის ნაკრების შემთხვევაში, ეს არის ტრასაზე 12V კვების ბლოკი.

WiFi ჩართული კონტროლერი არის Wemos D1 მინი (ESP8266 დაფუძნებული) კონტროლერი.

საავტომობილო დრაივერის ელექტრონიკა არის TB6612 დაფუძნებული მოდული.

მატარებლის კონტროლერს აქვს 2 ინდივიდუალურად კონტროლირებადი PWM გამოსავალი. ერთი მათგანი გამოიყენება საავტომობილო კონტროლისთვის, ხოლო მეორე გამოიყენება მსუბუქი სიგნალისთვის. აქვს 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 მატარებლის შემთხვევაში, სქემები ოდნავ განსხვავებულია.

ენერგია პირდაპირ მოდის ბატარეის ყუთიდან.

საჭიროა მინი გადადგმის გადამყვანი, რომელიც უზრუნველყოფს 3.5 ვოლტს ESP8266 დაფუძნებული ლოლინის დაფისთვის.

კავშირები მზადდება LEGO 8886 გაფართოების მავთულით, გაჭრილი შუაზე.

ნაბიჯი 5: დისტანციური კონტროლერი

დისტანციური კონტროლერი
დისტანციური კონტროლერი

კონტროლერი აქვეყნებს მხოლოდ შეტყობინებებს მატარებელზე (განსაზღვრულია BCD გადამრთველით).

კოდის შემობრუნებით, დისტანციური აპარატი აგზავნის ან {"SPD1": "+"} ან {"SPD1": "-"} შეტყობინებებს.

როდესაც მატარებელი იღებს ამ "დამატებით ტიპის" შეტყობინებას, ის ცვლის მის PWM გამომავალ მნიშვნელობას 51 -ით ან -51 -ით.

ამ გზით პულტს შეუძლია შეცვალოს მატარებლის სიჩქარე 5 ნაბიჯში (თითოეული მიმართულებით).

დამატებითი ინკოდერის დაჭერით გამოგიგზავნით {"SPD1": 0}.

ნაბიჯი 6: სენსორული კონტროლერი

სენსორული კონტროლერი
სენსორული კონტროლერი

ეგრეთ წოდებული სენსორული კონტროლერი ზომავს მისი შეყვანის მდგომარეობას და თუ რომელიმე მათგანი შეიცვლება, აქვეყნებს ამ მნიშვნელობას.

მაგალითად: {"IN1": 0, "IN6": 1} ამ მაგალითში 2 შესასვლელმა ერთდროულად შეცვალა მდგომარეობა.

ნაბიჯი 7: გამომავალი კონტროლერი

გამომავალი კონტროლერი
გამომავალი კონტროლერი

გამომავალ კონტროლერს აქვს 8 ციფრული გამოსავალი, რომლებიც დაკავშირებულია ULN2803 მოდულზე.

ის იღებს შეტყობინებებს მისი გამოწერილი თემის საშუალებით.

მაგალითად, შეტყობინება {"OUT4": 1, "OUT7": 1} ჩართეთ ციფრული 4. და 7. ციფრული გამომავალი.

ნაბიჯი 8: Raspberry Pi და WiFi Router

მე მქონდა გამოყენებული TP-Link WiFI როუტერი, ამიტომ გამოვიყენე როგორც წვდომის წერტილი.

MQTT ბროკერი არის Raspberry Pi, Mosquitto დაყენებული.

მე ვიყენებ სტანდარტულ Raspbian OS– ს MQTT– ით დაყენებული:

sudo apt-get დააინსტალირეთ mosquitto mosquitto- კლიენტები python-mosquitto

TP-Link როუტერი უნდა იყოს კონფიგურირებული, რომ ჰქონდეს ჟოლოს მისამართის დაჯავშნა, ასე რომ ყოველი გადატვირთვის შემდეგ Pi- ს აქვს იგივე IP მისამართი და ყველა მოწყობილობას შეუძლია მასთან დაკავშირება.

და ეს არის ის!

ნაბიჯი 9: დასრულებული კონტროლერები

დასრულებული კონტროლერები
დასრულებული კონტროლერები
დასრულებული კონტროლერები
დასრულებული კონტროლერები

აქ არის დასრულებული კონტროლერები.

TT მასშტაბის ლოკოს აქვს ისეთი მცირე ზომა, რომ ლოლინის დაფა უნდა შევიწროებულიყო (გაჭრილიყო), რათა საკმარისად პატარა ყოფილიყო მატარებელში ჩასასმელად.

შედგენილი ორობითი ფაილების ჩამოტვირთვა შესაძლებელია. უსაფრთხოების მიზნით, ურნის გაფართოება შეიცვალა txt– ით.

გირჩევთ: