ዝርዝር ሁኔታ:
ቪዲዮ: TextPlayBulb: REST የነቃ PlayBulb Raspberry Pi 3 ፣ BLE እና Telegram ን በመጠቀም 3 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ይህ አስተማሪ Python ን ፣ Raspberry Pi 3 ን እና የብሉቱዝ ቤተ -መጽሐፍትን በመጠቀም ከ PlayBulb Color ብሉቱዝ LED መብራት ጋር እንዴት እንደሚገናኝ እና ለ IoT ሁኔታ በ REST ኤፒአይ በኩል መቆጣጠሪያዎችን ለማራዘም እና እንደ ቡንች ፣ ፕሮጀክቱ እንዲሁ እንዴት ማራዘም እንደሚቻል ያሳያል። የእርስዎን የ PlayBulb ን በ IM የጽሑፍ ደንበኛ ላይ ለመቆጣጠር REST API ለምሳሌ በቴሌግራም ፣ ለምሳሌ በራስ -ሰር ቤትዎን በጽሑፍ በኩል ማውራት።
ይህ ፕሮጀክት በ 3 ሞጁሎች ላይ የተገነባ ነው-
- pyBulbDriver: በ BLE gatttool እና Python በኩል ከ PlayBulb ጋር ይገናኙ።
- pyBulbServer: pyBulbDriver ን በመጠቀም የአጫዋች አምፖሉን መቆጣጠሪያ በ REST ኤፒአይ በኩል ለማጋለጥ።
- 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 ፣ ደንበኛ ቴሌግራም እንደ ስዕሎች ፣ ድምጽ እና ከምርምር እይታ ከመሳሪያዎች ጋር ለመገናኘት ጽሑፍ።
የሚመከር:
WiFi የነቃ ማትሪክስ መብራት 6 ደረጃዎች (ከስዕሎች ጋር)
WiFi የነቃ ማትሪክስ መብራት - እነማዎችን ማሳየት እና በቤቱ ውስጥ ካሉ ሌሎች መብራቶች ጋር ማመሳሰል የሚችል አስደናቂ መብራት እንዲኖር የማይፈልግ ማን ነው? ትክክል ፣ ማንም የለም። ለዚያ ነው ብጁ አርጂቢ መብራት ያደረግሁት። መብራቱ 256 በተናጥል ሊደረስባቸው የሚችሉ ኤልኢዲዎችን ያካተተ ሲሆን ሁሉም የ LED ዎች ሊቆጣጠሩ ይችላሉ
IoT APIS V2 - ገዝ IoT የነቃ አውቶማቲክ የእፅዋት መስኖ ስርዓት - 17 ደረጃዎች (ከስዕሎች ጋር)
IoT APIS V2 - ገዝ IoT የነቃ አውቶማቲክ የእፅዋት መስኖ ስርዓት - ይህ ፕሮጀክት የቀድሞው አስተማሪዬ ዝግመተ ለውጥ ነው - APIS - አውቶማቲክ የእፅዋት መስኖ ስርዓት እኔ APIS ን ለአንድ ዓመት ያህል እየተጠቀምኩ ነው ፣ እና በቀድሞው ንድፍ ላይ ለማሻሻል ፈልጎ ነበር - ተክሉን በርቀት ይቆጣጠሩ። እንደዚህ ነው
ብሉቱዝ የነቃ የአናሎግ VU መለኪያ 6 ደረጃዎች
ብሉቱዝ የነቃ የአናሎግ VU ሜትር - ይህ SMP ለሚባል የዩኒቨርሲቲ ትምህርቴ አንዱ የእኔ ፕሮጀክት ነበር። የ STM32F103RB ልማት ሰሌዳውን ስንጠቀም ፣ ፕሮጀክቴን በዚህ ላይ መሠረት አድርጌዋለሁ ፣ ከቀላል VU ሜትር ጀምሬ። ከዚያ ለማሰራጨት እንደ ብሉቱዝ ድጋፍ ያሉ አንዳንድ ተጨማሪ ባህሪያትን አክዬ ነበር
ኃይል ቆጣቢ እንቅስቃሴ የነቃ የመንገድ መብራቶች 8 ደረጃዎች
ኃይል ቆጣቢ እንቅስቃሴ በእንቅስቃሴ ላይ ያሉ የመንገድ መብራቶች - በዚህ ፕሮጀክት ግባችን ማህበረሰቦችን ኃይል እና የገንዘብ ሀብቶችን የሚያድን አንድ ነገር መፍጠር ነበር። በእንቅስቃሴ የተንቀሳቀሱ የመንገድ መብራቶች ሁለቱንም ነገሮች ያደርጉ ነበር። በመላ ሀገሪቱ ውስጥ በመንገድ መብራቶች ላይ ጎዳናዎችን በማብራት ኃይል እየተባከነ ነው
አሌክሳ የነቃ የርቀት መቆጣጠሪያ (WEMO D1 Mini ን በመጠቀም) - 3 ደረጃዎች
አሌክሳ የነቃ የርቀት መቆጣጠሪያ (WEMO D1 Mini ን በመጠቀም)-ይህ የቀደመው ልጥፍ የዘመነ ስሪት ነው https: //www.instructables.com/id/Voice-Activated-R… መደበኛ ጋራዥ በር የመክፈቻ ዓይነት የርቀት መቆጣጠሪያን ለመቆጣጠር የድምፅ ሞዱል። በዚህ መመሪያ ውስጥ ድምፁን ተክቻለሁ