ዝርዝር ሁኔታ:
- ደረጃ 1: Raspberry Pi ላይ ሊኑክስን ይጫኑ
- ደረጃ 2 Python 3 ን ይጫኑ
- ደረጃ 3 የማዋቀር ሞዱል ሞዱል
- ደረጃ 4: SmartThings CLI ን ያዋቅሩ
- step 5: improve response
- step 6: make smartwand execute on raspberry pi bootup
ቪዲዮ: SmartWand: 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-02-02 14:04
ይህ ፕሮጀክት እንደ ግብዓት በካኖው ኮድ ዋንድ ስማርትስትን ለመቆጣጠር የ Python ስክሪፕት ለማግኘት ነው።
ሴት ልጆቼ (8 እና 12) ትልልቅ የሃሪ ፖተር አድናቂዎች ናቸው እና የገናን የካኖ ኮድ ዋንድ አግኝተዋል። የካኖ ኮድ መስጫ መተግበሪያ አሪፍ ነው እና እነሱ እየተዝናኑበት ነው። የኮድ ጽንሰ -ሀሳቦችን ለማስተዋወቅ በጣም ጥሩ መሣሪያ።
እንዲሁም በ SmartThings ፣ በፊሊፕስ ሁዌ ፣ በሎግቴክ ሃርመኒ ማዕከል ፣ ወዘተ በቤት ውስጥ ትንሽ የቤት አውቶማቲክ አለን። እነሱ የገና ዛፍን መብራቶች በበትር ማብራት እስከፈለጉበት ደረጃ ደርሰው እንደ ሉሞስ እና ቃላትን መወርወር ጀመሩ። በእኔ ላይ ኖክስ። እንደ አዝናኝ ፈታኝ ስለተሰማኝ ወሰድኩት።
ወሳኝ አካል (የብሉቱዝ ፓይዘን ቤተመፃህፍት ከዋንድ ብሉቱዝ ጋር ለመገናኘት) በሊኑክስ መድረኮች ላይ ብቻ ስለሚገኝ ከሊኑክስ ስርዓተ ክወና ጋር መሄድ ነበረበት። ለማንኛውም በ Raspberry Pi ላይ ለማሄድ ከመፈለግ አንፃር ለማንኛውም ምቹ።
እዚህ ሁለት ዋና ማጣቀሻዎች አሉ ፣ ያለዚህ ፣ እኔ ይህንን ማድረግ አልቻልኩም።
የጋኖ ጌሞች የካኖን የኮድ ዋንድ ለማንበብ የፓይዘን ስክሪፕት በመፍጠር እና በማጋራት እናመሰግናለን።
github.com/GammaGames/kano-wand-demos/blob…
እና
ለ SmartThings የትእዛዝ መስመር በይነገጽ የፓይዘን ስክሪፕት በመፍጠር እና በማጋራት rllynch እናመሰግናለን።
github.com/rllynch/smartthings_cli
ይህንን እንደተጠበቀ ለማቆየት ፣ በማዋቀሬ ላይ እንዲሠራ የሚያስፈልገኝን ማንኛውንም ማሻሻያዎችን ለመያዝ አብዛኞቹን ደረጃዎች ወደዚህ አስተማሪ እገለብጣለሁ።
የሚያስፈልግዎት እዚህ አለ
- የሃሪ ፖተር ካኖ ኮድ ኮድ (https://www.amazon.com/Kano-Harry-Potter-Coding-Ki…
- በሊኑክስ ላይ የተመሠረተ ስርዓተ ክወና (ከቨርቹቦክስ ጋር አንድ ተነሳሁ ፣ ከዚያ በ Raspberry Pi ላይ ተጭኗል)
- የብሉቱዝ ዩኤስቢ አስማሚ (እኔ የኬንሲንግተን ብሉቱዝ 4.0 የዩኤስቢ አስማሚን እጠቀም ነበር)
- የበይነመረብ ግንኙነት (ለ RPi ፣ ካለፈው ፕሮጀክት የነበረኝ የኤዲማክስ ዩኤስቢ WiFi አስማሚን ተጠቅሜ ነበር)
ደረጃ 1: Raspberry Pi ላይ ሊኑክስን ይጫኑ
በ Raspberry Pi ላይ የሊኑክስ ስርዓተ ክወና ለመጫን ከዚህ በታች ያሉትን አገናኞች ይከተሉ። እኔ Raspbian Stretch ን በዴስክቶፕ እና በሚመከረው ሶፍትዌር ተጠቀምኩ እና ከኤቸር ጋር ብልጭ ብሏል።
www.raspberrypi.org/learning/software-guid…
አንዴ ጭነቱን ካጠናቀቁ እና የሊኑክስ የትእዛዝ መስመር ካለዎት ፣ ሁሉም ነገር ወቅታዊ መሆኑን ለማረጋገጥ የሚከተሉትን ሁለት ትዕዛዞችን ማካሄድ ጥሩ ልምምድ ነው።
sudo apt-get ዝማኔ
sudo apt-get ማሻሻል
የዴስክቶፕ በይነገጽን ለማስጀመር በትእዛዝ መስመር በይነገጽ ላይ የሚከተለውን ይተይቡ።
sudo startx
ቀጣዩ ነገር ለማዋቀር እና ተጨማሪ ሶፍትዌሮችን ለመጫን እንዲችሉ የበይነመረብ ግንኙነት ነው። እንዲሁም SmartThings API ን ለመምታት የበይነመረብ ግንኙነት ያስፈልጋል። ለመገናኘት ይህንን መመሪያ ይከተሉ። ከዴስክቶፕ በቀጥታ ወደ ፊት። እኔ በዙሪያዬ ያኖርኩትን የዩኤስቢ wifi አስማሚን ተጠቀምኩ።
www.raspberrypi.org/learning/software-guid…
በአማራጭ ወደ Raspberry Pi ፣ አሁን ካለው ስርዓተ ክወናዎ ጋር የሊኑክስ OS ን ሁለቴ ለማስነሳት ሌላ ነባር ኮምፒተርን መጠቀም ይችላሉ (ምክንያቱም በሁለቱ መካከል ለመቀያየር ዳግም ማስነሳት አለብዎት) ወይም የሊኑክስ ስርዓተ ክወና ምሳሌን በ VirtualBox። ይህንን ፕሮጀክት መጀመሪያ እንዲሠራ ፣ ይህንን መመሪያ በመጠቀም ዴቢያን ስትሬክን ከ Raspberry Pi ዴስክቶፕ ጋር በምናባዊ ሣጥን ውስጥ ጫንኩ።
thepi.io/how-to-run-raspberry-pi-desktop-o…
(ማስታወሻ - ከላይ በተዘረዘሩት መመሪያዎች መሠረት የእንግዳ አዶዎችን በትክክል እንዲጭኑ ብዙ ጊዜ ነበረኝ። በአስተናጋጅ እና በደንበኛ መካከል ወደ ሥራው የመቁረጥ እና የመለጠፍ ሥራ በጭራሽ አላገኘም ፣ ይህ ጥሩ ነበር ፣ ግን ለመጠቀም ውሳኔው እንዲዘምን ለማድረግ ችያለሁ። የእኔ ሙሉ ተቆጣጣሪ መጠን። ይህ እኔ እዚህ የማልመዘግብባቸው ተከታታይ የጉግል ጥንቸሎች ቀዳዳዎች ነበሩ።)
ደረጃ 2 Python 3 ን ይጫኑ
Python3 ቀድሞውኑ ከ Raspian Stretch ጋር መጫን አለበት።
ደረጃ 3 የማዋቀር ሞዱል ሞዱል
በ GammaGames የተፈጠረውን ይህንን መመሪያ ይከተሉ
ካኖ_ዋንድ ሪፖን ከመዘጋቱ በፊት መጀመሪያ ወደ ሌላ ማውጫ መለወጥ ነበረብኝ ፣ አለበለዚያ የእኔ የፓይዘን ስክሪፕት ሊያገኘው አልቻለም። ምናልባት በሆነ ፋይል ውስጥ አንዳንድ የመንገድ ማጣቀሻዎችን በሆነ ቦታ ላይ ማዘመን ይችል ይሆናል ፣ ግን በዚያ ውስጥ አልገባሁም።
cd /usr/local/lib/python3.5/dist-packages
git clone
sudo pip3 bluepy moosegesture ን ይጫኑ
ተገቢውን ፈቃዶች ለማግኘት ለእነዚህ ሱዶን መጠቀም ነበረበት። እንዲሁም ድንዛዜን ለመጫን በምትኩ የሚከተሉትን ትዕዛዞች መጠቀም ነበረበት ፣ በማንኛውም ምክንያት ፣ ቧንቧ ወደ ሥራ መሄድ አልቻለም። ሌላ የመንገድ ጉዳይ ሊሆን ይችላል ፣ ግን ይህ ለእኔ ሠርቷል ስለዚህ አብሬው ሄድኩ
sudo apt-get install python3-numpy ን ይጫኑ
በመጨረሻ ፣ ከፓይዘን ስክሪፕት ብሉፕን ለማሄድ ተገቢውን ፈቃዶች ለማግኘት ይህንን ትእዛዝ አገኘሁ።
sudo setcap 'cap_net_raw, cap_net_admin+eip' /usr/local/lib/python3.5/dist-packages/bluepy/bluepy-helper
የእኛን ስክሪፕት ከፍ ለማድረግ እና ለማስኬድ የሚያስፈልገው ይህ ብቻ ነው። ቀሪዎቹ የ GammaGames መመሪያ በፒቶን ስክሪፕት ውስጥ በሚያስፈልጉት የደረጃ ቁርጥራጮች በደረጃ ይራመዳል። ስክሪፕቱ እንዴት እንደተዋቀረ እና እያንዳንዱ ነገር ምን እያደረገ እንደሆነ የበለጠ ለመረዳት ታላቅ ውድቀት ነው። ለጋማ ጌሞች ይህንን ሰነድ ስለሰጡት ትልቅ ምስጋና። እንዲሁም የስክሪፕቱን ክፍል መላ ለመፈለግ ጠቃሚ ሊሆን ይችላል። ለምሳሌ ፣ የሚታየው የመጀመሪያው ነገር የመንገዶችን መቃኘት እና የተገኙትን የዋልድዎች ዝርዝር የመመለስ ተግባር ያከናውናል። የብሉቱዝ ቅንብርዎ በሁሉም ሲሊንደሮች ላይ እየነደደ መሆኑን ጥሩ ማረጋገጫ። ይህንን ለማድረግ በሚከተለው ሪፖ ውስጥ ከተገኘው test1_BLE_wand_detect.py ኮዱን መቅዳት ይችላሉ
github.com/maspieljr/SmartWand
ደረጃ 4: SmartThings CLI ን ያዋቅሩ
በ github (https://github.com/rllynch/smartthings_cli) ላይ በ smartthings_cli repo ውስጥ የተካተቱት መመሪያዎች ቅጂ ከዚህ በታች ናቸው።
ሁሉም ነገር እንዲሠራ በማዋቀሪያዬ ላይ ማድረግ ያለብኝን ትናንሽ ማስተካከያዎችን እዚህ አካትቻለሁ። ይህንን ስላቀረቡ እንደገና rllynch እናመሰግናለን።
1) ወደ የእኔ SmartApps ይግቡ እና ስር ይግቡ ፣ በ groovy/app.groovy ውስጥ ካለው ኮድ ጋር አዲስ SmartApp ን ይፍጠሩ።
*ልብ ይበሉ በመጀመሪያው ደረጃ ላይ ለ SmartThings ድርጣቢያ ማጣቀሻ አለ። የእርስዎ ዘመናዊ ነገሮች ሂሳብ ባለበት ቦታ ላይ በትኩረት ይከታተሉ። ሌላ ጣቢያ እንድገባ ስለፈቀደልኝ ይህ ለእኔ ለተወሰነ ጊዜ ተንከባለለኝ ፣ ግን የእኔን ማንኛውንም ነገር ማግኘት አልቻለም። ወደ የእኔ SmartThings መለያ ለመግባት የሚከተለውን አገናኝ መጠቀም ነበረብኝ።
(ያንን ለመደርደር ላሳለፍኳቸው 2 ሰዓታት እንኳን ደህና መጣችሁ:) ይህ በኋላ ላይም እንዲሁ አስፈላጊ ይሆናል።)
2) የመተግበሪያ ቅንብሮችን ጠቅ ያድርጉ እና በ OAuth ስር ፣ በዘመናዊ መተግበሪያ ውስጥ OAuth ን አንቃ የሚለውን ጠቅ ያድርጉ። የ OAuth ደንበኛ መታወቂያ እና የ OAuth ደንበኛ ምስጢር ልብ ይበሉ። የ OAuth ደንበኛ ማሳያውን ወደ SmartThings CLI መቆጣጠሪያ ያዘምኑ። አዘምንን ጠቅ ያድርጉ።
3) ወደ የእኔ SmartApps ይመለሱ እና ከዚያ በ SmartThings CLI መቆጣጠሪያ ላይ ጠቅ ያድርጉ። አትም => ለእኔ ጠቅ ያድርጉ።
4) የ smartthings_cli ማከማቻን ይደብቁ ፣ ከተፈለገ virtualenv ይፍጠሩ (ይህንን አላደረግኩም) ፣ ከዚያ የሚከተሉትን ትዕዛዞች ያሂዱ ፣ CLIENTID ን እና CLIENTSECRET ን በመታወቂያ እና ከደረጃ 2 በሚስጥር ይተኩ።
የ smartthings repo ን ለመዝጋት የሚከተለውን ትዕዛዝ መጠቀም ይችላሉ። የሊኑክስ ትዕዛዝ መጠየቂያ በ Wand ሞዱል ማዋቀር ጊዜ በተፈጠረው የፕሮጀክት ማውጫዎ ውስጥ መሆኑን ያረጋግጡ።
git clone >
then change directory again down to the smartthings_cli directory that was just created.
cd smartthings_cli
python setup.py install
smartthings_cli --clientid clientid --clientsecret clientsecret
5) smartthings_cli will direct you to a url to authorized access. copy the url from the response in the command window and be sure to update it with the proper path as we had to in step 1. go to that url in a browser and specify which devices the cli should be able to access. click authorize when finished. you should be redirected to a page reporting smartthings_cli.py received auth code.
last few things i needed to do in order to get rid of a warning that kept coming up:
sudo apt-get install libssl-dev
pip install service_identity
pip install attrs pip install pyopenssl pip install pyasn1 pip install pyasn1-modules pip install ipaddress
raspberry pi should now be set-up to issue smart thing commands from the command line interface, try it out with these examples:
smartthings_cli query switch all
smartthings_cli query switch "switch name"
smartthings_cli set switch "switch name" on
step 5: improve response
everything is running at this point but there's a bit of a lag once the wand gesture is captured. in attempt to speed up the response, i've embedded the smarthings logic into the smartwand python script rather than calling it from a command line as it does in smartwand.py. this eliminated the need to repeatedly import the modules required for smartthings communication, which is what was slowing everything down. here's what i had to do to get that working:
python3 -m pip install future
python3 -m pip install twisted
made update to the python script. see smartwand2.py stored in the following repo:
github.com/maspieljr/smartwand
step 6: make smartwand execute on raspberry pi bootup
so you only need to plug in the raspberry pi near your smartthings things and not require a monitor, and keyboard, i followed these instructions to get the script to run on boot or any time a command line terminal is launched. the script seems pretty robust but does get hung up from time to time, requiring a reboot. alternatively you could have a keyboard connected and use alt+f4 to kill a running script and ctrl+alt+t to launch a new terminal without needing a monitor to see anything.
method 2: modify the.bashrc file as described in the link below:
www.dexterindustries.com/howto/run-a-progr…
የሚመከር:
በ Flick ውስጥ የጨዋታ ንድፍ በ 5 ደረጃዎች 5 ደረጃዎች
በ 5 ደረጃዎች ውስጥ በ Flick ውስጥ የጨዋታ ንድፍ -ፍሊክስ ጨዋታን በተለይም በእውነቱ እንደ እንቆቅልሽ ፣ የእይታ ልብ ወለድ ወይም የጀብድ ጨዋታ የመሰለ ቀላል መንገድ ነው።
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማስጠንቀቂያ ስርዓት - ደረጃዎች በደረጃ: 4 ደረጃዎች
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማንቂያ ስርዓት | ደረጃዎች በደረጃ-በዚህ ፕሮጀክት ውስጥ አርዱዲኖ UNO እና HC-SR04 Ultrasonic Sensor ን በመጠቀም ቀላል የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ዳሳሽ ወረዳ እቀዳለሁ። ይህ በአርዱዲኖ ላይ የተመሠረተ የመኪና ተገላቢጦሽ የማስጠንቀቂያ ስርዓት ለራስ ገዝ አሰሳ ፣ ሮቦት ሬንጅንግ እና ለሌላ ክልል አር
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 ደረጃዎች 3 ደረጃዎች
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 እርከኖች-በዚህ መመሪያ ውስጥ የሹንያፊትን ቤተመፃሕፍት በመጠቀም ከ Rasyaberry O/S ጋር Raspberry Pi 4 ላይ የፊት ለይቶ ማወቅን እናከናውናለን። ሹነፊታ የፊት መታወቂያ/ማወቂያ ቤተ -መጽሐፍት ነው። ፕሮጀክቱ ፈጣን የመለየት እና የማወቅ ፍጥነትን ለማሳካት ያለመ ነው
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
ቀላል ደረጃዎች (DID Strip Lights በመጠቀም) DIY Vanity Mirror - 4 ደረጃዎች
DIY Vanity Mirror በቀላል ደረጃዎች (የ LED ስትሪፕ መብራቶችን በመጠቀም) - በዚህ ልጥፍ ውስጥ በ LED ሰቆች እገዛ የ DIY Vanity Mirror ን ሠራሁ። በእውነቱ አሪፍ ነው እና እርስዎም እነሱን መሞከር አለብዎት