Სარჩევი:
- ნაბიჯი 1: ოპერაციის გეგმები
- ნაბიჯი 2: MQTT მონაცემთა გაცვლა და კონფიგურაცია
- ნაბიჯი 3: მატარებლის კონტროლერი
- ნაბიჯი 4: LEGO მატარებლის კონტროლი
- ნაბიჯი 5: დისტანციური კონტროლერი
- ნაბიჯი 6: სენსორული კონტროლერი
- ნაბიჯი 7: გამომავალი კონტროლერი
- ნაბიჯი 8: Raspberry Pi და WiFi Router
- ნაბიჯი 9: დასრულებული კონტროლერები
ვიდეო: მოდელის მატარებლის WiFi კონტროლი MQTT გამოყენებით: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ძველი 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 პროტოკოლის საფუძველზე, თავდაპირველად ყველა მოწყობილობა იწერს მოცემულ თემას და შეუძლია გამოაქვეყნოს სხვა თემაზე. ეს არის მატარებლის კონტროლის ქსელის კომუნიკაციის საფუძველი.
ეს საკომუნიკაციო ზღაპრები განთავსებულია 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 მატარებლის შემთხვევაში, სქემები ოდნავ განსხვავებულია.
ენერგია პირდაპირ მოდის ბატარეის ყუთიდან.
საჭიროა მინი გადადგმის გადამყვანი, რომელიც უზრუნველყოფს 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– ით.
გირჩევთ:
გატეხილია! Servo Motor როგორც მოდელის მატარებლის მძღოლი!: 17 ნაბიჯი
გატეხილია! Servo Motor როგორც მოდელი მატარებლის მძღოლი!: იწყებთ სამოდელო რკინიგზაში? არ გაქვთ საკმარისი ბიუჯეტი ყველა იმ ძვირადღირებული მატარებლის კონტროლერის შესაძენად? არ ინერვიულო! ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ, თუ როგორ შეგიძლიათ შექმნათ თქვენი საკუთარი დაბალბიუჯეტიანი მატარებლის კონტროლერი სერვო ძრავის გატეხვით. მაშ ასე, მოდით
ავტომატური მოდელის მატარებლის განლაგება (ვერსია 1.0): 12 ნაბიჯი
ავტომატური მოდელის მატარებლის განლაგება (ვერსია 1.0): მატარებლების მოდელები ყოველთვის სახალისოა და გადის. მაგრამ მათი ხელით კონტროლი ზოგჯერ მოსაწყენი ჩანს. ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ, თუ როგორ შეგიძლიათ ავტომატიზიროთ თქვენი რკინიგზის მოდელის განლაგება, ასე რომ თქვენ შეგიძლიათ დაჯდეთ და დაისვენოთ თქვენი ყურებისას
აკონტროლეთ თქვენი მოდელის მატარებლის განლაგება თქვენი კლავიატურით!: 12 ნაბიჯი
აკონტროლეთ მატარებლის მოდელის განლაგება თქვენი კლავიატურით! თქვენ ასევე შეგიძლიათ ნახოთ განახლებული ვერსია აქ. ამ ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა აკონტროლოთ მატარებლის მოდელის განლაგება კლავიატურის საშუალებით
აკონტროლეთ თქვენი მოდელის მატარებლის განლაგება თქვენი მობილური ტელეფონით !: 11 ნაბიჯი (სურათებით)
გააკონტროლეთ თქვენი მოდელის მატარებლის განლაგება თქვენი მობილური ტელეფონით!: მატარებლის მოდელის განლაგება სადენიანი გასროლით და ჩართვის კონტროლერებით შეიძლება კარგი დასაწყისი იყოს დამწყებთათვის, მაგრამ ისინი წარმოადგენენ არა პორტაბელურობის პრობლემას. ასევე, უკაბელო კონტროლერებს, რომლებიც შემოდიან ბაზარზე, შეუძლიათ გააკონტროლონ მხოლოდ ლოკომატი
Arduino 2-in-1 მოდელის მატარებლის კონტროლერი: 4 ნაბიჯი
Arduino 2-in-1 მოდელის მატარებლის კონტროლერი: ორმოცი წლის წინ მე შევიმუშავე op-amp- ზე დაფუძნებული მოდელის მატარებლის ძრავა რამოდენიმე მეგობრისთვის, შემდეგ კი დაახლოებით ოთხი წლის წინ მე ის ხელახლა შევქმენი PIC მიკროკონტროლის გამოყენებით. ეს Arduino პროექტი ხელახლა ქმნის PIC ვერსიას, მაგრამ ასევე ამატებს შესაძლებლობას გამოიყენოთ