Mündəricat:

TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb: 3 Addım
TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb: 3 Addım

Video: TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb: 3 Addım

Video: TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb: 3 Addım
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Noyabr
Anonim
TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb
TextPlayBulb: Raspberry Pi 3, BLE və Telegramdan istifadə edərək REST Enabled PlayBulb

Bu təlimat, Python, Raspberry Pi 3 və Bluetooth kitabxanasından istifadə edərək PlayBulb Color bluetooth LED lampasına necə bağlanılacağını və IoT ssenarisi üçün REST API vasitəsi ilə idarəetmələrin genişləndirilməsini və sıçrayış olaraq, layihənin necə genişləndirilməsini də göstərir. PlayBulb -nizi bir IM mətn müştəri üzərində idarə etmək üçün REST API Avtomatik evinizlə mətn vasitəsilə danışmaq kimi Telegram.

Bu layihə 3 moduldan ibarətdir:

  1. pyBulbDriver: BLE gatttool və python vasitəsilə PlayBulb -a qoşulun.
  2. pyBulbServer: REST API vasitəsilə playbulb nəzarətini ifşa etmək üçün pyBulbDriver -dən istifadə.
  3. pyBulbMessenger: İstənilən ağıllı telefona quraşdırılmış teleqram müştəri vasitəsi ilə əmr göndərmək və almaq üçün teleqram botuna qoşulmaq və PlayBulb -a əmr vermək üçün REST API -dən istifadə etmək.

Git depo vasitəsilə layihəni klonlaya bilərsiniz:

Layihənin məqsədi:

Hələlik mesajlaşma kimi müxtəlif üsullarla lampanızla ünsiyyət qurmaq üçün əsas vasitə yaratmaq üçün gələcək ssenarilər danışma əmrlərini, lampaya işarə etməyi əhatə edə bilər … və s.

Bu təlimatı yaratmaq üçün istifadə olunan digər mənbələr:

  • PlayBulb Rəngli Bluetooth Protokolu:
  • Python-u Bluetooth vasitəsilə Playbulb-a bağlamaq:
  • Telegram botunun qurulması:

Töhfə

pyBulbDriver, lampanın mətnini yazmağa imkan verən bir ssenari quraraq, gələcək uzadılması asanlaşdırmaq üçün daha çevik və parametrli olmaq üçün uzadılmışdır. Ətrafda sınamaq və əymək üçün sadə bir interfeys.

Məhdudiyyət

Sürücü PlayBulb Color, digər PlayBulb növləri üçün yazılmışdır. Orijinal və ya şam, pyBulbDriver bluetooth kodunun yuxarıda göstərilən protokola uyğun olaraq dəyişdirilməsi lazımdır.

Bir teleqram hesabı qeydiyyatdan keçməlisiniz və pyBulbMessenger.py -də əlavə etdiyiniz bir api açarı əldə etməlisiniz, digər mənbələrdə teleqram botunun qurulmasını izləyin.

Addım 1: Layihənin qurulması

1. Telegram -dan API açarınızın alınması

> API açarınızı əldə etmək üçün mövcud təlimatları izləyin

> ApB açarınızı pyBulbMessenger.py -də dəyişən api -yə əlavə edin

2. PlayBulb Adınızı pyBulbDriver -də qurmaq

> Gatttoolun yazma cihazını tapması üçün pyBulbDriver.scanForBulb ("PLAYBULB COLOR") istifadə edərək cihazınızın adını taranmasını təyin edin. Misal REST Server qurmaq üçün pyBulbServer.py -də tapıla bilər

3. Layihəyə başlamaq üçün

> Əvvəlcə pyBulbServer.py -yə başlamalı, sonra pyBulbMessenger.py -ə yazmalısınız. CURL istifadə edərək pyBulbServer əmrlərini sınaya bilərsiniz.

4. Lazım olan material:

> Raspberry Pi 3 və PlayBulb Color və ya PlayBulb Candle

> Android və ya iOS üçün Telegram qurmaq

5. Rasberry Pi 3 LE Bluetooth quraşdırılması:

www.elinux.org/RPi_Bluetooth_LE

Addım 2: Koddan keçin

pyBulbDriver.py

pyBulbDriver, PlayBulb -a BLE vasitəsilə qoşulmaq üçün sürücü siniflərini ehtiva edir

pyBulbDriver, digər ümumi layihələr üçün də istifadə edilə bilər, çünki yalnız playBulb əlaqələrini skan etmək və qurmaq üçün kodu ehtiva edir.

İstifadəçi Tətbiqi interfeysi üçün əsas API -lər:

  • scanForBulb (cihaz adı: String)> Cihaz adı ilə PlayBulb və ya PlayBulbs -ı taramaq üçün
  • setBulbColor (s: int, r: int, g: int, b: int)> Parlaqlıq və RGB rəngini (0 ilə 255) müəyyən etmək üçün
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> setBulbColor -a bənzəyir, lakin təsir növünü və sürətini ehtiva edir. Daha çox bilmək üçün rəng protokolunun Təsirləri bölməsinə baxın

Bu sinifdə istifadəçi interfeysi üçün deyil, məlumat bütövlüyünün yoxlanılması üçün nəzərdə tutulmuş digər köməkçi üsulları da tapa bilərsiniz

  • çevirməkRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (sayı)
  • checkModeAndSpeed (rejim, qeyri -adi, yenilməz)
  • çeklərRGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer, İstifadəçi Tətbiqi interfeysini pyBulbDriver -ə məlumat göndərmək və almaq üçün PUT və JSON istifadə edərək RESTful hiperlinklərə məruz qoyur. Ayrıca server aktivləşdirildikdə BLE bağlantısının taranması və işə salınması aparılır.

pyBulbResource (Resource), ampul əmrini təyin etmək üçün rəng və effektdən istifadə edərək zəngləri REST Serverə ötürür.

Təsiri əmr etmək üçün nümunə:

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

Nəhayət, pyBulbMessenger, teleqram ağıllı telefon müştərinizə bağlı Telegram botu ilə əlaqə qurmaqdan məsuldur. Telegram botunun necə konfiqurasiya ediləcəyi və ona qoşulma haqqında daha ətraflı məlumat üçün https://www.instructables.com/id/Set-up-Telegram-Bo… yoxlayın.

cmdHandler (bot, yeniləmə), mətn əmrlərinin təyin olunduğu və RESTful API vasitəsilə PlayBulb -a qoşulduğu yerdir.

Hal -hazırda layihədə yalnız mətn var, başqa bir məqsəd də digər əmrləri aktivləşdirmək üçün danışma tanıyıcısına göndəriləcək yazılmış səsli mesajları göndərməkdir (Hələ də tətbiq olunmayıb).

Addım 3: Nəticə

Mövcud memarlıq dizaynı ölçeklenebilirlikdən daha çox sadələşdirmə mövzusunda idi. Hələ qrup bağlantısı yoxdur, ya da birbaşa əmr və ya əyləncəli qarşılıqlı əlaqə üçün ampulə mesaj göndərməklə bağlı daha çox proqram hələ də araşdırılır.

Git repoya abunə olaraq və ya izləyərək bu yeniləmələr haqqında daha çox məlumat gələcək. Belə bir layihənin səbəbi, playBulb interfeysi və bir IoT -də (şeylərin interneti ssenarisi) inkişaf asanlığı üçün RESTful bir interfeys yaratmaq idi, həm də şəkillər, səs və tədqiqat baxımından cihazlarla qarşılıqlı əlaqə qurmaq üçün mətn.

Tövsiyə: