Სარჩევი:
ვიდეო: TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა დაუკავშიროთ PlayBulb Color bluetooth LED ნათურა Python- ს, Raspberry Pi 3 და Bluetooth ბიბლიოთეკას და გააფართოვოთ კონტროლი REST API- ის საშუალებით IoT სცენარისთვის და როგორც bouns, პროექტი ასევე გვიჩვენებს, თუ როგორ უნდა გააგრძელოთ REST API გააკონტროლოს თქვენი PlayBulb IM ტექსტური კლიენტის საშუალებით, მაგ დეპეშა, როგორიცაა თქვენს ავტომატურ სახლთან საუბარი ტექსტის საშუალებით.
ეს პროექტი ემყარება 3 მოდულს:
- pyBulbDriver: დაუკავშირდით PlayBulb– ს BLE gatttool– ის და პითონის საშუალებით.
- pyBulbServer: pyBulbDriver– ის გამოყენებით სათამაშო ნათურის კონტროლის გამოსავლენად REST API– ის საშუალებით.
- pyBulbMessenger: ტელეგრამის ბოტთან დაკავშირება ნებისმიერ სმარტ ტელეფონზე დაყენებული ტელეგრამის კლიენტის მეშვეობით ბრძანებების გაგზავნისა და მიღების მიზნით და REST API– ს გამოყენებით PlayBulb– სთვის ბრძანებების გასაცემად.
თქვენ შეგიძლიათ პროექტის კლონირება git საცავის საშუალებით:
პროექტის მიზანი:
იმისათვის, რომ შეიქმნას საბაზისო ინსტრუმენტი თქვენს ნათურასთან სხვადასხვა მეთოდებით, როგორიცაა ტექსტური შეტყობინება, მომავალი სცენარი შეიძლება მოიცავდეს მეტყველების ბრძანებებს, ნათურაზე ჟესტიკულაციას და ა.
სხვა რესურსები, რომლებიც გამოიყენება ამ ინსტრუქციის შესაქმნელად:
- PlayBulb ფერი Bluetooth პროტოკოლი:
- პითონის დაკავშირება Playbulb– ით Bluetooth– ის საშუალებით:
- ტელეგრამის ბოტის დაყენება:
Წვლილი
pyBulbDriver გაფართოვდა, რომ იყოს უფრო მოქნილი და პარამეტრირებული მომავალი გაფართოების სიმარტივისთვის, აყალიბებს სცენარს, რომელიც საშუალებას მოგცემთ გაუმკლავდეთ თქვენი ნათურის ტექსტს. მარტივი ინტერფეისი შემოწმების და fiddling გარშემო.
შეზღუდვა
დრაივერი დაწერილია PlayBulb Color– ისთვის, PlayBulb– ის სხვა ტიპებისთვის მაგ. ორიგინალი ან სანთელი, pyBulbDriver– ში bluetooth კოდი უნდა შეიცვალოს ზემოაღნიშნული პროტოკოლის შესაბამისად.
თქვენ უნდა დარეგისტრირდეთ ტელეგრამის ანგარიში და მიიღოთ api გასაღები, რომელსაც დაამატებთ pyBulbMessenger.py– ში, მიჰყევით ტელეგრამის ბოტის შექმნას თქვენს რესურსებში.
ნაბიჯი 1: პროექტის დაყენება
1. მიიღეთ თქვენი API გასაღები Telegram– დან
> მიჰყევით მიმდინარე ინსტრუქციას თქვენი API გასაღების მისაღებად
> დაამატეთ თქვენი api გასაღები ცვლადი api– ს pyBulbMessenger.py– ში
2. დააყენეთ თქვენი PlayBulb სახელი pyBulbDriver– ში
> იმისათვის, რომ gatttool- მა იპოვოს ჩაწერის მოწყობილობა, დააყენეთ თქვენი მოწყობილობის სახელის სკანირება pyBulbDriver.scanForBulb ("PLAYBULB COLOR") გამოყენებით. მაგალითი შეგიძლიათ ნახოთ pyBulbServer.py– ში თქვენი REST სერვერის დასაყენებლად
3. პროექტის დასაწყებად
> თქვენ ჯერ უნდა დაიწყოთ pyBulbServer.py, შემდეგ მოყვება pyBulbMessenger.py ტექსტური შეტყობინებისთვის. თქვენ შეგიძლიათ შეამოწმოთ pyBulbServer ბრძანებები CURL გამოყენებით.
4. საჭირო მასალა:
> ჟოლო Pi 3 და PlayBulb ფერი ან PlayBulb სანთელი
> Telegram– ის ინსტალაცია Android ან iOS– ისთვის
5. Rasberry Pi 3 LE Bluetooth– ის დაყენება:
www.elinux.org/RPi_Bluetooth_LE
ნაბიჯი 2: კოდის გავლა
pyBulbDriver.py
pyBulbDriver შეიცავს დრაივერის კლასებს PlayBulb– თან BLE– ით დასაკავშირებლად
pyBulbDriver შეიძლება გამოყენებულ იქნას ასევე ნებისმიერი სხვა ზოგადი პროექტისათვის, რადგან ის შეიცავს მხოლოდ კოდს სკანირებისა და playBulb კავშირების დასაყენებლად.
მომხმარებლის პროგრამის ინტერფეისის ძირითადი API:
- scanForBulb (devicename: String)> PlayBulb ან PlayBulbs- ის სკანირება მათი მოწყობილობის სახელის საშუალებით
- setBulbColor (s: int, r: int, g: int, b: int)> სიკაშკაშის და RGB ფერის (0 -დან 255 -მდე) მნიშვნელობების განსაზღვრა
-
setBulbEffect (s: int, r: int, g: int, b: int, რეჟიმი: int, onbeat: int, offbeat: int)> setBulbColor– ის მსგავსი, მაგრამ მოიცავს ეფექტისა და სიჩქარის ტიპს მეტი რომ იცოდეთ, შეამოწმეთ ფერის პროტოკოლის ეფექტების განყოფილება
ამ კლასში თქვენ ასევე იპოვით სხვა დამხმარე მეთოდებს, რომლებიც განკუთვნილია მონაცემთა მთლიანობის შესამოწმებლად და არა მომხმარებლის ინტერფეისისთვის
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (ნომერი)
- checkModeAndSpeed (რეჟიმი, ოპტიმისტური, ოპტიმალური
- ამოწმებს RGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer ასახავს მომხმარებლის პროგრამის ინტერფეისს RESTful ჰიპერბმულებში PUT და JSON გამოყენებით pyBulbDriver– ში მონაცემების გასაგზავნად და მისაღებად. ასევე BLE კავშირის სკანირება და ინიციალიზაცია ხდება სერვერის გააქტიურებისას.
pyBulbResource (რესურსი) აგზავნის ზარებს REST სერვერზე ფერისა და ეფექტის გამოყენებით ნათურის ბრძანების დასადგენად.
მაგალითი ეფექტის მართვისთვის:
127.0.0.1/bulb/effect
JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}
pyBulbMessenger.py
საბოლოოდ pyBulbMessenger არის პასუხისმგებელი Telegram- ის ბოტის დაკავშირებაზე, რომელიც დაკავშირებულია თქვენი ტელეგრამის სმარტ ტელეფონის კლიენტთან. დამატებითი ინფორმაციისთვის, თუ როგორ უნდა მოხდეს კონფიგურაცია და დაკავშირება ტელეგრამის ბოტთან, შეამოწმეთ
cmdHandler (ბოტი, განახლება) არის ადგილი, სადაც ტექსტური ბრძანებები განისაზღვრება და უკავშირდება PlayBulb- ს RESTful API- ს საშუალებით.
ამჟამად პროექტს აქვს მხოლოდ ტექსტი, მეორე მიზანია ასევე ჩაწეროს ხმოვანი შეტყობინებები, რომლებიც გაიგზავნება მეტყველების ამოცნობისათვის სხვა ბრძანებების გასააქტიურებლად (ჯერ არ არის განხორციელებული).
ნაბიჯი 3: დასკვნა
არქიტექტურის ამჟამინდელი დიზაინი უფრო მეტად გამარტივებას ეხებოდა, ვიდრე მასშტაბურობას. ჯერ კიდევ აკლია ჯგუფური კავშირი, ასევე მეტი განაცხადი ბოლქვზე ტექსტური შეტყობინების გაგზავნის შესახებ, როგორც პირდაპირი ბრძანებისათვის, ისე სათამაშო ურთიერთქმედებისათვის, ჯერ კიდევ კვლევის პროცესშია.
Git repo– ს ხელმოწერით ან შემდეგ, უფრო მეტი დეტალი იქნება ამ განახლებებზე. ასეთი პროექტის მიზეზი იყო PlayBulb– ის ინტერფეისის შექმნა და RESTful ინტერფეისის შექმნა IoT– ში (ნივთების ინტერნეტი) განვითარების სიმარტივისთვის, მაგრამ ასევე საშუალებას გაძლევთ გამოიყენოთ სხვადასხვა მოდალობები IM კლიენტის ტელეგრამის საშუალებით, როგორიცაა სურათები, ხმა და ტექსტი ტექნიკასთან ურთიერთქმედებისათვის კვლევის თვალსაზრისით.
გირჩევთ:
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: 8 ნაბიჯი (სურათებით)
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: ჩვენ ვიცით, რომ ნათურების უმეტესობა ჩართულია/გამორთულია ფიზიკური გადამრთველის საშუალებით. ამ პროექტის მიზანი იყო შემექმნა უნიკალური გზა, რომ ნათურა ადვილად ჩართული/გამორთულიყო კლასიკური გადართვის გარეშე. მე დავინტერესდი ლამპის იდეით, რომელმაც შეცვალა ფორმა ამ პროცესის დროს
მინიმალისტური ველოსიპედის მაჩვენებელი, შეხებით ჩართულია!: 10 ნაბიჯი (სურათებით)
მინიმალისტური ველოსიპედის მაჩვენებელი, შეხებით ჩართულია !: გამარჯობა! ეს არის ჩემი პირველი ინსტრუქცია. მე ყოველთვის მინდოდა ყველაფერი ნულიდან გამეკეთებინა მხოლოდ იმისთვის, რომ მენახა როგორ მუშაობს და ვის არ მოსწონს წვრილმანი (გააკეთე ეს საკუთარი ხელით), როდესაც შეგიძლია შეცვალო რაღაც შენი საჭიროებების შესაბამისად? ისევე საინტერესო, როგორც წვრილმანი
OpenLogger: მაღალი გარჩევადობა, Wi-Fi ჩართულია, ღია წყარო, პორტატული მონაცემების ჩამწერი: 7 ნაბიჯი
OpenLogger: მაღალი რეზოლუციის, Wi-Fi ჩართულია, ღია წყარო, პორტატული მონაცემების ჩამწერი: OpenLogger არის პორტატული, ღია კოდის, დაბალი ღირებულების, მაღალი გარჩევადობის მონაცემების ჩამწერი, რომელიც შექმნილია მაღალი ხარისხის გაზომვებისათვის, ძვირადღირებული პროგრამული უზრუნველყოფის ან პროგრამული უზრუნველყოფის წერის გარეშე. ნულიდან. თუ თქვენ ხართ ინჟინერი, მეცნიერი ან ენთუზიასტი, რომელიც არ
Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი
Bluetooth ჩართულია ანალოგური VU მეტრი: ეს იყო ჩემი პროექტი ერთ – ერთი საუნივერსიტეტო კლასისთვის სახელწოდებით SMP. როდესაც ჩვენ ვიყენებდით STM32F103RB განვითარების დაფას, მე დავამყარე ჩემი პროექტი ამაზე, დაწყებული მარტივი VU მეტრიდან. შემდეგ დავამატე რამდენიმე დამატებითი ფუნქცია, როგორიცაა Bluetooth მხარდაჭერა მაუწყებლობისთვის
Alexa ჩართულია დისტანციური მართვა (WEMO D1 Mini– ს გამოყენებით): 3 ნაბიჯი
Alexa ჩართულია დისტანციური მართვა (WEMO D1 Mini– ს გამოყენებით): ეს არის წინა პოსტის განახლებული ვერსია: https: //www.instructables.com/id/Voice-Activated-R.. წინა ვერსიაში მე გამოვიყენე Geetech ხმის მოდული ავტოფარეხის კარის გამღების ტიპის დისტანციური მართვისთვის. ამ სასწავლო ინსტრუქციაში მე შევცვალე ხმა