ዝርዝር ሁኔታ:

ዲስኮ-ፒ 8 ደረጃዎች (ከስዕሎች ጋር)
ዲስኮ-ፒ 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ዲስኮ-ፒ 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ዲስኮ-ፒ 8 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: አስደናቂ አፕሊኬሽን || የአንድን ሰው ስልክ ቁጥር በማስገባት ብቻ ስለ እሱ/ሷ መረጃ የሚሰጥ አፕ። 2024, ሀምሌ
Anonim
ዲስኮ-ፒ
ዲስኮ-ፒ

ይህ አስተማሪ ከድር አሳሽ በተጫወተው ሙዚቃ ላይ በመመርኮዝ ባለቀለም የ LED ንጣፎችን ለመቆጣጠር Raspberry Pi ን እንዴት መጠቀም እንደሚቻል ያሳያል።

በኤችቲቲፒኤስ ላይ Node.js ን በመጠቀም መሰረታዊ ድር ጣቢያ እንዴት እንደሚፈጥር እና socket.io ን በ WSS (Secure Websocket) ላይ እንደሚጠቀም ያሳያል።

ድር ጣቢያው በጣም መሠረታዊ አቀማመጥ ያለው አንድ ገጽ አለው። ድረ -ገጹ በአገልጋዩ ላይ በይፋ/ኦዲዮ አቃፊ ውስጥ ከሚገኙት የሙዚቃ ፋይሎች ጋር ተቆልቋይ ዝርዝርን ያወጣል። በዝርዝሩ ውስጥ አንድ አማራጭ መምረጥ የኤችቲኤምኤል 5 ኦዲዮ ኤለመንትን በመጠቀም በድረ -ገጹ ውስጥ የሙዚቃ ፋይሉን ይጫወታል። የሙዚቃ ፋይሉን በሚጫወቱበት ጊዜ ፣ ድረ -ገጹ ሙዚቃውን ለመተንተን የኦዲዮኮንቴክስ በይነገጽን ይጠቀማል ፣ ከዚያ ደህንነቱ በተጠበቀ የድር ኔትወርክ ግንኙነት ላይ ወደ አገልጋዩ ይላካል።

በ Raspberry Pi ላይ የሚሰራው አገልጋይ በዌብሶኬት በኩል በተላከው መረጃ ላይ በመመስረት የ WS2811 LED ስትሪፕ ላይ የኤልዲዎቹን ቀለሞች ለመለወጥ የኖድ RPI WS281x ቤተኛ ቤተመፃሕፍት (የጄረሚ ጋርፍ የ WS281X ቤተ -መጽሐፍት መጠቅለል) ይጠቀማል።

የምሳሌው ኮድ እዚህ ሊገኝ ይችላል- disco-pi

ደረጃ 1 - መሣሪያዎች

  1. Raspberry Pi - እኔ ያኖርኩትን Raspberry Pi 2B እጠቀም ነበር ፣ ግን ለ CAD 100 አካባቢ Raspberry Pi 3 Starter Kit ማግኘት ይችላሉ።
  2. WS2811 LED Strip - ከ ALITOVE 16.4ft 150 ፒክስሎች WS2811 ጋር እጫወት ነበር። ይህ ለ CAD 45-50 ከመቆጣጠሪያ እና ከኃይል አቅርቦት ጋር ይመጣል
  3. በርሜል ጃክ አገናኝ - ከአከባቢዬ የኤሌክትሮኒክስ ሱቅ አንድ ገዛሁ ፣ እንደዚህ ያለ ነገር። ከኃይል አቅርቦትዎ ጋር የሚስማማ መሆኑን ያረጋግጡ
  4. የጁምፐር አያያctorsች / ሽቦ - አንዳንድ ሴት ከወንድ አያያዥ ኬብሎች እና አንዳንድ 22 ጋይግ ጠንካራ ጠመዝማዛ ሽቦዎች ተኝተው ነበር

ደረጃ 2 - Raspberry Pi ን ማቀናበር

የአሰራር ሂደት

እኔ በመደበኛነት የቅርብ ጊዜውን የ Raspbian ግንባታ እጠቀማለሁ። ምስሉን ያውርዱ እና ወደ ኤስዲ ካርድ ይፃፉ። የዊንዶውስ ኮምፒተርን የሚጠቀሙ ከሆነ ምስሉን ወደ ኤስዲ ካርድ ለመፃፍ Win32 Disk Imager ን መጠቀም ይችላሉ።

መስቀለኛ መንገድ

የቅርብ ጊዜውን የ Node.js ስሪት ይጫኑ። በሚጽፉበት ጊዜ እኔ 8.9.1 እጠቀማለሁ

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install nodejs ን ይጫኑ

Git ን ይጫኑ

sudo apt-get install git

ደረጃ 3: የምሳሌ ኮድ ማዘጋጀት

የምሳሌውን ኮድ ያጥፉ

1. ለመጫን መሰረታዊ አቃፊ ያዘጋጁ

ሲዲ /መርጦ

sudo mkdir com.jonhaydock sudo chown pi: pi com.jonhaydockcd com.jonhaydock

2. ምሳሌውን የጊት ማከማቻን ያጥፉ

git clone https://github.com/haydockjp/disco-pi.git"

ወይም

git clone [email protected]: haydockjp/disco-pi.git

3. ጥገኛዎችን ይጫኑ

ሲዲ ዲስኮ-ፒ

npm ጫን

ይህ ከ2-3 ደቂቃዎች ሊወስድ ይችላል

ደረጃ 4: በራስ የተፈረመ የኤስኤስኤል ሰርቲፊኬት ይፍጠሩ

1. የግል ቁልፍ ፋይል ይፍጠሩ

cd /opt/com.jonhaydock/disco-pi/certs

openssl genrsa -out disco-pi-key.pem 2048

2. CSR (የምስክር ወረቀት መፈረም ጥያቄ) ይፍጠሩ

openssl req -new -key disco-pi-key.pem -out disco-pi-csr.pem

በዚህ ጊዜ የምስክር ወረቀቱ ጥያቄ ለተወሰነ መረጃ ይጠየቃሉ። ይህ በራስ የተፈረመ የምስክር ወረቀት እንደመሆኑ መጠን ዝርዝሮቹን በትክክል እንዴት እንደሚሞሉ የእርስዎ ነው። አንድ ምሳሌ እዚህ አለ

የአገር ስም (2 ፊደል ኮድ) [AU]: CA

የስቴት ወይም የክልል ስም (ሙሉ ስም) [አንዳንድ-ግዛት]-የብሪቲሽ ኮሎምቢያ የአከባቢ ስም (ለምሳሌ ፣ ከተማ) -የቫንኩቨር ድርጅት ስም (ለምሳሌ ፣ ኩባንያ) [Internet Widgits Pty Ltd.) : የጋራ ስም (ለምሳሌ የአገልጋይ FQDN ወይም የእርስዎ ስም) : disco-pi የኢሜይል አድራሻ : [email protected] ፈታኝ የይለፍ ቃል : አማራጭ የኩባንያ ስም

በዚህ ምሳሌ ውስጥ ተግዳሮቱን የይለፍ ቃል ባዶ ለመተው መመለሻን ብቻ ይጫኑ

3. የምስክር ወረቀቱን ይፍጠሩ

openssl x509 -req -days 1095 -in disco-pi-csr.pem -signkey disco-pi-key.pem -out disco-pi-cert.pem

4. ለተጨማሪ ደህንነት እኛ ደግሞ የዲፊ ሄልማን መለኪያዎች ፋይል እንፈጥራለን

openssl dhparam -out dh_2048.pem 2048

ይህ ከ15-20 ደቂቃዎች ሊወስድ ይችላል

ደረጃ 5 - ሃርድዌርን ማገናኘት

ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ
ሃርድዌርን በማገናኘት ላይ

የ LED ንጣፍን ኃይል መስጠት

የ LED ስትሪፕ በ 12 ቮልት የተጎላበተ ነው። Raspberry Pi 3.3v ወይም 5v ን ብቻ በማምረት ብቻ ነው እና ብዙ ኤልኢዲዎችን ለማሽከርከር ከሚያስፈልጉት አምፖች አቅራቢያ በማንኛውም ቦታ የማምረት ችሎታ የለውም።

የ 12 ቮልት የኃይል አቅርቦቱን ከ Raspberry Pi ጋር አለማገናኘት አስፈላጊ ነው።

የእኔ ስትሪፕ በሁለቱም በኩል ከጭረት ጋር የተገናኙ ተጨማሪ የኃይል ሽቦዎች ነበሩት። ከማንኛውም ሌላ መሣሪያዎ ጋር እንዳይገናኙ እነዚህን እንዲጣበቁ እመክራለሁ።

በራስዎ አደጋ ቀጣዮቹን እርምጃዎች ያካሂዱ። ለተሳሳተ ነገር ሁሉ እኔ ሀላፊነት አልወስድም።

LED ስትሪፕ

የእኔ የ LED ስትሪፕ ሶስት ሽቦዎች አሉት

ቀይ - +12 ቮልት

ጥቁር - መሬት

ግሪን - ውሂብ

ማሳሰቢያ - ዲን እና ዶት አለ - የውሂብ እና የውሂብ መውጫ። ዲን ከሚለው የ LED ንጣፍ መጨረሻ ጋር እየሰሩ መሆኑን ያረጋግጡ።

በርሜል ጃክ ከኃይል አቅርቦት ጋር አለመገናኘቱን ማረጋገጥ

1. ቀይ ሽቦውን ከኤዲዲ ገመድ ወደ በርሜል ጃክ + ጎን ያገናኙ።

እኔ ነጭ የ 22 መለኪያ መንጠቆ ሽቦን እጠቀም ነበር።

በበርሜል መሰኪያ ውስጥ ሽቦውን ወደ + ማስገቢያ ውስጥ ያስገቡት እና በቦታው ይከርክሙት።

ሌላውን የሽቦውን ጫፍ በ LED ላይ ባለው ሶኬት ውስጥ ይግፉት። ከቀይ ሽቦ ጋር መገናኘቱን ያረጋግጡ።

2. ጥቁር ሽቦውን ከኤዲዲ ገመድ ወደ - በርሜል ጃክ ጎን ያገናኙ።

እኔ ጥቁር የ 22 መለኪያ መንጠቆ ሽቦን እጠቀም ነበር።

ሽቦውን ወደ ውስጥ ያስገቡ - በርሜል መሰኪያ ውስጥ ማስገቢያ። በዚህ ነጥብ ላይ የአንዱን አያያዥ ኬብሎች (በፎቶው ውስጥ ያለው ቡናማ ሽቦ) የወንድውን ጫፍ በተመሳሳይ ቀዳዳ ውስጥ ያስገቡ እና ሁለቱንም በቦታው ያሽሟቸው።

ሌላውን የጥቁር ሽቦ ጫፍ በ LED ላይ ባለው ሶኬት ውስጥ ይግፉት።

ከጥቁር ሽቦ ጋር መገናኘቱን ያረጋግጡ።

3. አረንጓዴውን ሽቦ ከ LED ስትሪፕ ያገናኙ

ከአንዱ ሴት ወደ ወንድ አያያዥ ኬብሎች ይውሰዱ። በፎቶዎቼ ውስጥ ይህ አረንጓዴ ሽቦ ነው።

የወንድውን ጫፍ ከአረንጓዴ ሽቦ ጋር በ LED ሶኬት ውስጥ ያስገቡ።

ይህ የውሂብ ገመድ ነው።

Raspberry Pi

1. አረንጓዴውን አያያዥ ገመድ ወስደው ከ Raspberry Pi GPIO ጋር ያገናኙት።

ከ PCM_CLK (ፒን 12 / GPIO 18) ጋር ማገናኘት ያስፈልግዎታል

2. ጥቁር አያያዥ ገመዱን ወስደው ከ Raspberry Pi GPIO ጋር ያገናኙት።

ከአንደኛው ግቢ ጋር ማገናኘት ያስፈልግዎታል። ፒን 14 እንዲጠቀሙ ሀሳብ አቀርባለሁ ፣ ግን ፒን 6 ፣ 9 ፣ 20 ፣ 25 ፣ 30 ፣ 34 ወይም 39 ን መጠቀምም ይችላሉ።

ማሳሰቢያ -ለዚህ የ LED የኃይል ምንጭ እንዲሠራ እና Raspberry Pi የጋራ መሬት ሊኖራቸው ይገባል። እንዲሁም 12 ቮልት + (ቀይ ሽቦ) ከ Raspberry Pi ጋር ማገናኘት እንደሌለብዎት ልብ ይበሉ።

የ LED ኃይል

የእርስዎን 12 ቮልት የኃይል አቅርቦት ከበርሜል መሰኪያ ጋር ማገናኘት መቻል የለብዎትም

በእርስዎ LED ስትሪፕ ላይ ያሉት ሁሉም ኤልኢዲዎች አሁን ነጭ መሆን አለባቸው

ደረጃ 6: የአገልጋይ ጎን ኮድ

የአገልጋዩን ጎን ኮድ በማሄድ ላይ

cd /opt/com.jonhaydock/disco-pi

sudo npm ጀምር

ይህ የድር አገልጋዩን ይጀምራል እና የኤችቲቲፒኤስ እና የ WSS ጥያቄዎችን ማዳመጥ ይጀምራል።

ነባሪው ወደብ 443 ነው ፣ ግን ኮዱን ከመጀመርዎ በፊት የአከባቢን ተለዋዋጭ በማዘጋጀት ይህንን መሻር ይችላሉ። ለምሳሌ

ወደ ውጪ ላክ DISCO_PI_PORT = 1443

የእኔ የ LED ስትሪፕ 150 LED ዎች አሉት። እነዚህ በሶስት ቡድን ቁጥጥር ይደረግባቸዋል። ይህ ማለት እያንዳንዱን ኤልኢዲዬን በግለሰብ ደረጃ መቆጣጠር አልችልም ፣ እና 50 ን ለመቆጣጠር በበቂ መረጃ በኩል መላክ አለብኝ።

የእርስዎ ኤልዲ (LED) ብዙ ወይም ያነሰ ካለው ፣ እርስዎ እስከሚጀምሩ ድረስ በመለኪያ ውስጥ በማለፍ የሚቆጣጠሯቸውን የኤልዲዎች ብዛት መሻር ይችላሉ። ለምሳሌ ፣ 10 LEDs ን ብቻ መቆጣጠር ከቻሉ

sudo npm ጅምር 10

ዋናው የአገልጋይ ኮድ በ app.js ፋይል ውስጥ ሊገኝ ይችላል። ይህ ፋይል የኤችቲቲፒኤስ የድር አገልጋዩን ይጀምራል እና በተመሳሳይ ወደብ ላይ የዌብሶኬት ጥያቄዎችን ለማዳመጥ በ socket.io ላይ ያክላል።

ድር ጣቢያውን ለመድረስ በዋናው ኮምፒተርዎ ላይ የድር አሳሽ መክፈት አለብዎት (ይህንን በ Chrome ውስጥ ብቻ ሞክሬዋለሁ) እና የ Raspberry Pi ን የአይፒ አድራሻ ይጠቀሙ ፣ ለምሳሌ።

10.0.1.2/

ከ Raspberry Pi የትእዛዝ መስመር የአይፒ አድራሻዎን ማወቅ ይችላሉ።

ifconfig

የድር አገልጋዩ ማንኛውንም ይዘት በይፋዊ አቃፊው ስር ያገለግላል። የ index.html ገጽን ለማሳየት ነባሪ ነው።

እሱ አንድ የኤፒአይ መጨረሻ ነጥብ አለው - /api /ኦዲዮ። ይህ የመጨረሻ ነጥብ በሕዝባዊ/ኦዲዮ አቃፊ ስር ማንኛውንም ፋይሎችን ይፈልጋል እና ዝርዝሩን ይመልሳል። ለምሳሌ

["GYAKO.mp3", "ሃቫና (ብቃቱ ያንግ ቱግ).mp3" ፣ "ንግስት_ቦኸሚያን_ ራፕሶዲ.mp3" ፣ "ሁሉንም በነፃ አስቀምጡት። mp3" ፣ "ይህ የመጣሽው (feat. Rihanna).mp3"]

ሙዚቃን እንደ አማራጭ ለማከል ፣ ፋይሎችን ወደዚህ አቃፊ ይቅዱ። እኔ በግሌ Filezilla ን ከ ssh በላይ እጠቀማለሁ። ፋይሎችን ማከል የሚፈልጉበት አቃፊ /opt/com.jonhaydock/disco-pi/public/audio ነው

ደረጃ 7 የድር ጣቢያ ኮድ

የድር ጣቢያ ኮድ
የድር ጣቢያ ኮድ

ድር ጣቢያውን ሲመቱ እንደዚህ ያለ ነገር ማየት አለብዎት።

የደህንነት ማስጠንቀቂያ ካዩ ይህ የሆነው እኛ የተፈረመበት የ SSL የምስክር ወረቀት ስለምንጠቀም ነው። ችላ ሊሉት ወይም እንደ ልዩ ሁኔታ ሊያክሉት ይችላሉ።

የፋይል ስም በመምረጥ ላይ ፣ ለኤችቲኤምኤል 5 ኦዲዮ አካል ምንጭ። ወደዚያ ፋይል ይቀመጣል። አንዴ ከተዘጋጀ በኋላ ሙዚቃው መጫወት ይጀምራል። ዘፈኑ እንደጨረሰ ሙዚቃው ይቆማል።

ምንም አማራጭን ከመረጡ ሙዚቃው መጫወት ያቆማል።

የሙዚቃ ፋይሉን በሚጫወቱበት ጊዜ ፣ ድረ -ገጹ ሙዚቃውን ለመተንተን የኦዲዮኮንቴክስ በይነገጽን ይጠቀማል ፣ ከዚያ ደህንነቱ በተጠበቀ የድር ኔትወርክ ግንኙነት ላይ ወደ አገልጋዩ ይላካል።

መልዕክቱ “ws2811” ን ለማዳመጥ በአገልጋዩ ላይ ያለው socket.io የተዋቀረበት ዓይነት ነው። እሱ በ 0 እና በ 255 መካከል ያሉ የ 50 ንጥረ ነገሮችን ድርድር ይ containsል።

"ws2811", {"0": 251, "1": 252, "2": 241, "3": 217, "4": 193, 5 ": 164," 6 ": 148," 7 ": 139 ፣ "8": 110 ፣ "9": 96 ፣ "10": 81 ፣ "11" 67 ፣ "12" 72 ፣ "13" 66 ፣ "14" 60 ፣ "15": 60, "16": 63, "17": 54, "18": 37, "19": 30, "20": 31, "21": 26, "22": 13, "23": 3, " 24 ": 10," 25 ": 7," 26 ": 6," 27 ": 0," 28 ": 0," 29 ": 0," 30 ": 1," 31 ": 8," 32 ": 12 ፣ "33": 3 ፣ "34": 2 ፣ "35": 2 ፣ "36": 0 ፣ "37": 0 ፣ "38": 0 ፣ "39": 0 ፣ "40": 0, "41": 0, "42": 0, "43": 0, "44": 0, "45": 0, "46": 0, "47": 0, "48": 0, " 49 ": 0}

በዌብሶኬት በኩል በተላከው መረጃ ላይ በመመስረት የ WS2811 LED ስትሪፕ ላይ የኤልዲዎቹን ቀለሞች ለመለወጥ አገልጋዩ የኖድ RPI WS281x ቤተኛ ቤተመፃሕፍት (የጄረሚ ጋርፍ የ WS281X ቤተ -መጽሐፍት መጠቅለል) ይጠቀማል።

ደረጃ 8: በመጨረሻ

Image
Image

በድር ገጽ ላይ በተደረገው ፈጣን የፎሪየር ትራንስፎርሜሽን ትንተና ላይ በመመስረት በስትሪፉ ላይ ያሉትን ኤልዲዎች ከሙዚቃው ጋር ቀለም ሲቀይሩ ማየት አለብዎት።

በዚህ እንደሚደሰቱ ተስፋ አደርጋለሁ። በእሱ ምን እንደሚያደርጉ ያሳውቁኝ!

ማሳሰቢያ - ማንኛውም ችግሮች ካሉዎት

ይህ ቤተመጽሐፍት እና በመርከቡ ላይ ያለው Raspberry Pi ኦዲዮ ሁለቱም PWM ን ስለሚጠቀሙ አብረው ሊጠቀሙባቸው አይችሉም።

ፋይል /etc/modprobe.d/snd-blacklist.conf ን በመፍጠር የ Broadcom ኦዲዮ የከርነል ሞጁሉን በጥቁር መዝገብ ውስጥ ማስገባት ሊኖርብዎት ይችላል።

ጥቁር ዝርዝር snd_bcm2835

ከጥቁር መዝገብ ዝርዝር በኋላ የኦዲዮ መሣሪያው አሁንም እየጫነ ከሆነ በ /etc /modules ፋይል ውስጥ አስተያየት መስጠትም ሊኖርብዎ ይችላል። ጭንቅላት በሌላቸው ስርዓቶች ላይ በኤችዲኤምአይ በኩል ድምጽን ማስገደድ ሊያስፈልግዎት ይችላል

Config.txt ን ያርትዑ እና ያክሉ

hdmi_force_hotplug = 1

hdmi_force_edid_audio = 1

ይህ ለውጥ ተግባራዊ እንዲሆን ዳግም ማስነሳት ያስፈልጋል

የሚመከር: