ዝርዝር ሁኔታ:

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 ደረጃዎች
ቪዲዮ: Keeping the Heart | John Flavel | Christian Audiobook 2024, ሀምሌ
Anonim
TextPlayBulb: REST የነቃ PlayBulb Raspberry Pi 3 ፣ BLE እና Telegram ን በመጠቀም
TextPlayBulb: REST የነቃ PlayBulb Raspberry Pi 3 ፣ BLE እና Telegram ን በመጠቀም

ይህ አስተማሪ Python ን ፣ Raspberry Pi 3 ን እና የብሉቱዝ ቤተ -መጽሐፍትን በመጠቀም ከ PlayBulb Color ብሉቱዝ LED መብራት ጋር እንዴት እንደሚገናኝ እና ለ IoT ሁኔታ በ REST ኤፒአይ በኩል መቆጣጠሪያዎችን ለማራዘም እና እንደ ቡንች ፣ ፕሮጀክቱ እንዲሁ እንዴት ማራዘም እንደሚቻል ያሳያል። የእርስዎን የ PlayBulb ን በ IM የጽሑፍ ደንበኛ ላይ ለመቆጣጠር REST API ለምሳሌ በቴሌግራም ፣ ለምሳሌ በራስ -ሰር ቤትዎን በጽሑፍ በኩል ማውራት።

ይህ ፕሮጀክት በ 3 ሞጁሎች ላይ የተገነባ ነው-

  1. pyBulbDriver: በ BLE gatttool እና Python በኩል ከ PlayBulb ጋር ይገናኙ።
  2. pyBulbServer: pyBulbDriver ን በመጠቀም የአጫዋች አምፖሉን መቆጣጠሪያ በ REST ኤፒአይ በኩል ለማጋለጥ።
  3. pyBulbMessenger: በማንኛውም ዘመናዊ ስልክ ላይ በተጫነ በቴሌግራም ደንበኛ በኩል ትዕዛዞችን ለመላክ እና ለመቀበል ከቴሌግራም ቦት ጋር መገናኘት እና ለ PlayBulb ትዕዛዞችን ለመስጠት REST ኤፒአዩን በመጠቀም።

በጂት ማከማቻ በኩል ፕሮጀክቱን ማደብዘዝ ይችላሉ-

የፕሮጀክቱ ግብ;

ለአሁን እንደ የጽሑፍ መልእክት በመሳሰሉ የተለያዩ ስልቶች አማካኝነት ከእርስዎ አምፖል ጋር ለመገናኘት የመሠረት መሣሪያ ለመፍጠር ፣ የወደፊቱ ሁኔታዎች የንግግር ትዕዛዞችን ፣ ወደ መብራቱ ምልክት ማድረጊያ… ወዘተ ሊያካትቱ ይችላሉ።

ይህንን አስተማሪ ለመፍጠር ሌሎች ሀብቶች-

  • የ PlayBulb ቀለም የብሉቱዝ ፕሮቶኮል
  • በብሉቱዝ በኩል Python ን ወደ Playbulb ማገናኘት
  • የቴሌግራም ቦትን በማዋቀር ላይ

አስተዋፅኦ

pyBulbDriver ለመብራትዎ የጽሑፍ መልእክት ለማስተላለፍ የሚያስችል ሁኔታን በመገንባት ለወደፊቱ ማራዘሚያ ምቾት የበለጠ ተጣጣፊ እና ግቤታዊ እንዲሆን ተዘርግቷል። ዙሪያውን ለመፈተሽ እና ለማሽከርከር ቀላል በይነገጽ።

ወሰን

ሾፌሩ የተፃፈው ለ PlayBulb Color ፣ ለሌሎች የ PlayBulb አይ. በ PyBulbDriver ውስጥ ያለው የብሉቱዝ ኮድ ቀደም ሲል በተጠቀሰው ፕሮቶኮል መሠረት መለወጥ አለበት።

በቴሌግራም መለያ መመዝገብ ፣ እና በ pyBulbMessenger.py ውስጥ የሚያክሉትን የኤፒአይ ቁልፍ ማግኘት አለብዎት ፣ በኦ ቴ ሀብቶች ውስጥ የቴሌግራምን ቦት ማዋቀሩን ይከተሉ።

ደረጃ 1 - ፕሮጀክቱን ማዘጋጀት

1. የኤፒአይ ቁልፍዎን ከቴሌግራም ማግኘት

> የኤፒአይ ቁልፍዎን ለማግኘት የአሁኑን መመሪያ ይከተሉ

> በ pyBulbMessenger.py ውስጥ ወደ ተለዋዋጭ api የእርስዎን api ቁልፍ ያክሉ

2. የ PlayBulb ስምዎን በ pyBulbDriver ውስጥ ማቀናበር

> የ gatttool የጽሑፍ መሣሪያውን ለማግኘት ፣ pyBulbDriver.scanForBulb (“PLAYBULB COLOR”) ን በመጠቀም እንዲቃኝ የመሣሪያዎን ስም ያዘጋጁ። REST አገልጋይዎን ለማቀናበር ምሳሌ በ pyBulbServer.py ውስጥ ሊገኝ ይችላል

3. ፕሮጀክቱን ለመጀመር

> መጀመሪያ pyBulbServer.py ን ፣ ከዚያ ለጽሑፍ መልእክት pyBulbMessenger.py ን መጀመር ያስፈልግዎታል። CURL ን በመጠቀም የ pyBulbServer ትዕዛዞችን መሞከር ይችላሉ።

4. የሚያስፈልገው ቁሳቁስ

> Raspberry Pi 3 እና PlayBulb Color ወይም PlayBulb Candle

> ቴሌግራምን ለ Android ወይም ለ iOS መጫን

5. የ Rasberry Pi 3 LE ብሉቱዝ ጭነት

www.elinux.org/RPi_Bluetooth_LE

ደረጃ 2 - በኮዱ በኩል መራመድ

pyBulbDriver.py

pyBulbDriver በ BLE በኩል ከ PlayBulb ጋር ለመገናኘት የአሽከርካሪ ክፍሎችን ይ containsል

pyBulbDriver የመጫወቻ ቡል ግንኙነቶችን ለመቃኘት እና ለማቀናበር ኮዱን ብቻ ስለያዘ ለማንኛውም ለሌላ አጠቃላይ ፕሮጄክቶችም ሊያገለግል ይችላል።

ለተጠቃሚ ትግበራ በይነገጽ ዋና ኤ.ፒ.አይ.

  • scanForBulb (devicename: String)> በመሣሪያቸው ስም በኩል PlayBulb ን ወይም PlayBulbs ን ለመቃኘት
  • setBulbColor (ዎች: int, r: int, g: int, b: int)> የብሩህነት እና የ RGB ቀለም (ከ 0 እስከ 255) እሴቶችን ለመግለጽ
  • setBulbEffect (ዎች: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> ከ setBulbColor ጋር ተመሳሳይ ፣ ግን የውጤት እና የፍጥነት ዓይነትን ያካትታል። የበለጠ ለማወቅ የቀለም ፕሮቶኮል ውጤቶች ክፍልን ይመልከቱ

በዚህ ክፍል ውስጥ ለተጠቃሚ በይነገጽ ሳይሆን ለመረጃ ታማኝነት ማረጋገጫ የታሰቡ ሌሎች ረዳት ዘዴዎችን ያገኛሉ

  • convertRGBToHexaCmd (ዎች ፣ r ፣ g ፣ ለ)
  • convertIntToHex (ቁጥር)
  • checkModeAndSpeed (ሞድ ፣ ቅናሽ ፣ ምት ላይ)
  • ቼኮች RGBInBounds (ዎች ፣ r ፣ g ፣ ለ)

pyBulbServer.py

pyBulbServer ወደ pyBulbDriver ውሂብ ለመላክ እና ለመቀበል PUT እና JSON ን በመጠቀም ወደ RESTful hyperlinks የተጠቃሚ ትግበራ በይነገጽ ያጋልጣል። እንዲሁም የ BLE ግንኙነት ቅኝት እና ጅምር የሚከናወነው አገልጋዩ ሲነቃ ነው።

pyBulbResource (Resource) የአምፖል ትዕዛዙን ለመግለጽ ቀለሙን እና ውጤቱን በመጠቀም ጥሪዎቹን ወደ 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 ከቴሌግራም ስማርት ስልክ ደንበኛዎ ጋር የተገናኘውን የቴሌግራም ቦትን የማገናኘት ኃላፊነት አለበት። ከቴሌግራም ቦት ቼክ እንዴት እንደሚዋቀሩ እና እንደሚገናኙ ለተጨማሪ ዝርዝሮች

cmdHandler (ቦት ፣ ዝመና) የጽሑፍ ትዕዛዞቹ በ RESTful API በኩል ከ PlayBulb ጋር የተገናኙበት እና የተገናኙበት ነው።

በአሁኑ ጊዜ ፕሮጀክቱ ጽሑፍ ብቻ አለው ፣ ሌላ ግብ ደግሞ ሌሎች ትዕዛዞችን ለማግበር ወደ ንግግር ማወቂያ የሚላኩ የተቀዱ የድምፅ መልዕክቶችን መላክ ነው (ገና አልተተገበረም)።

ደረጃ 3 መደምደሚያ

የአሁኑ የሕንፃ ንድፍ ከማቅለል ይልቅ ስለ ማቅለል የበለጠ ነበር። አሁንም የጎደለ የቡድን ግንኙነት ፣ አምፖሉን በቀጥታ ትዕዛዝ ወይም በጨዋታ መስተጋብር መላክን በተመለከተ ተጨማሪ ትግበራዎች አሁንም በጥናት ላይ ናቸው።

ለ git repo በመመዝገብ ወይም በመከተል በእነዚህ ዝርዝሮች ላይ ተጨማሪ ዝርዝሮች ይመጣሉ። ለእንደዚህ ዓይነቱ ፕሮጀክት ምክንያቱ የመጫወቻ ቡሉን በይነገጽ ማገናዘብ እና በአይኦቲ (የነገሮች ሁኔታ በይነመረብ) ውስጥ ለእድገት ምቾት RESTful በይነገጽ መፍጠር ግን እንደ IM ፣ ደንበኛ ቴሌግራም እንደ ስዕሎች ፣ ድምጽ እና ከምርምር እይታ ከመሳሪያዎች ጋር ለመገናኘት ጽሑፍ።

የሚመከር: