Სარჩევი:

TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი
TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი

ვიდეო: TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი

ვიდეო: TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი
ვიდეო: Голубая стрела (1958) фильм 2024, ნოემბერი
Anonim
TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით
TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით

ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა დაუკავშიროთ PlayBulb Color bluetooth LED ნათურა Python- ს, Raspberry Pi 3 და Bluetooth ბიბლიოთეკას და გააფართოვოთ კონტროლი REST API- ის საშუალებით IoT სცენარისთვის და როგორც bouns, პროექტი ასევე გვიჩვენებს, თუ როგორ უნდა გააგრძელოთ REST API გააკონტროლოს თქვენი PlayBulb IM ტექსტური კლიენტის საშუალებით, მაგ დეპეშა, როგორიცაა თქვენს ავტომატურ სახლთან საუბარი ტექსტის საშუალებით.

ეს პროექტი ემყარება 3 მოდულს:

  1. pyBulbDriver: დაუკავშირდით PlayBulb– ს BLE gatttool– ის და პითონის საშუალებით.
  2. pyBulbServer: pyBulbDriver– ის გამოყენებით სათამაშო ნათურის კონტროლის გამოსავლენად REST API– ის საშუალებით.
  3. 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 კლიენტის ტელეგრამის საშუალებით, როგორიცაა სურათები, ხმა და ტექსტი ტექნიკასთან ურთიერთქმედებისათვის კვლევის თვალსაზრისით.

გირჩევთ: