ዝርዝር ሁኔታ:

የማስታወቂያ ማገጃ ኒዮፒክስሎች 11 ደረጃዎች
የማስታወቂያ ማገጃ ኒዮፒክስሎች 11 ደረጃዎች

ቪዲዮ: የማስታወቂያ ማገጃ ኒዮፒክስሎች 11 ደረጃዎች

ቪዲዮ: የማስታወቂያ ማገጃ ኒዮፒክስሎች 11 ደረጃዎች
ቪዲዮ: ስልካችን ላይ ምንም አይነት ማስታወቂያ እንዳይመጣ ለማድረግ 2024, ሀምሌ
Anonim
ማስታወቂያ-ማገድ Neopixels
ማስታወቂያ-ማገድ Neopixels

ከእኔ Raspberry Pi ዜሮ ጋር ለተገናኘው የኒዮፒክስሎች አንድ ቀላል ድር ጣቢያ እንደ ሩቅ ለማድረግ እና ፒ-ሆልን በመጠቀም በእኔ አውታረ መረብ ላይ ማስታወቂያዎችን ለማገድ መጠቀሙን ለመቀጠል ፈልጌ ነበር። በመጀመሪያ እኔ በክፍሌ ውስጥ አንዳንድ ሌዲዎችን ማከል ፈልጌ ነበር ፣ ግን ሁሉንም ነገር ማገናኘት እኔ እነሱን በምቾት የምቆጣጠርበት ምንም መንገድ እንደሌለኝ ተገነዘብኩ። ስለዚህ ቀደም ሲል የፒ-ቀዳዳ መጫኛውን የ Apache አገልጋዩን በመጠቀም በአንዳንድ መሠረታዊ የቁጥጥር አማራጮች ቀለል ያለ ድር ጣቢያ ለመፍጠር ወሰንኩ። እኔ የደህንነት-ስጋት የሆነውን የ www- ውሂብ ስር ፈቃዶችን ሰጥቻለሁ ፣ ስለሆነም ምናልባት የድር አዋቂው ለውጭው ዓለም እንዳይገኝ ማድረግ አለብዎት። ይህ በዋናነት ለራሴ ሰነድ ተጀምሯል እና በሆነ መንገድ የመጀመሪያ አስተማሪዬ ሆነ።) ስለዚህ አንድ ነገር ግልፅ ካልሆነ ወይም አንድ ነገር ሙሉ በሙሉ ካመለጠኝ በትክክል ማድነቅ እፈልጋለሁ።

ደረጃ 1 - ያገለገሉ ቁሳቁሶች

  • Raspberry Pi (በ Pi 2 ላይ ጀመርኩ እና ከዚያ ወደ WH ተለወጠ ፣ የ gpio ፒኖች ትንሽ የተለየ ሊሆኑ ይችላሉ ፣ ግን አለበለዚያ እያንዳንዱ ሞዴል ጥሩ ነው)

    • በ wifi ውስጥ ሳይገነባ RPi ካለዎት የ wifi አስማሚ እንዲሁ ጠቃሚ ነው።
    • እንደ አማራጭ እንጆሪ ፓይ
  • 2 ወንድ-ሴት ዝላይ ሽቦዎች (ለምሳሌ)
  • Neopixels ws2811 (እነዚህን ተጠቅሜአለሁ)
  • 1 10W የኃይል አቅርቦት ለ RPi (የድሮ የስልክ ባትሪ መሙያ ይሠራል)
  • 1 ~ 50 ዋ የኃይል አቅርቦቶች ለኒዮፒክስሎች (እኔ እንደዚህ አይነት ተጠቅሜያለሁ ፣ ግን ምናልባት ትንሽ ሊሆን ይችላል ፣ ግን ብዙ ሊድ ከፈለጉ ፣ ለማስፋት የተወሰነ ክፍል አለዎት።)
  • የሴት መሰኪያ መሰኪያ መሰኪያ (እንደዚህ ያለ)

ደረጃ 2 - ስርዓተ ክወናውን ያዘጋጁ

ስርዓተ ክወናውን ያዘጋጁ
ስርዓተ ክወናውን ያዘጋጁ

የቅርብ ጊዜውን ስሪት Rasbian ን ከ raspberrypi.org ያውርዱ ትክክለኛው ስሪት ለዚህ ፕሮጀክት ጥሩ ነው ፣ የራስበሪ ፒን ለሌላ ነገር ለመጠቀም ካሰቡ እንዲሁም ሙሉውን ስሪት ከጊ ጋር ለመጫን ያስቡ ይሆናል። ከዚያም ምስሉን ከኤትቸር ጋር አቃጠልኩት። ከዚያ በኋላ ከ wifi አውታረ መረብዬ ጋር መገናኘቱን ለማረጋገጥ በ sd ካርድ የማስነሻ ማውጫ ውስጥ wpa_supplicant.conf ን አክዬአለሁ። የፋይሉ ይዘት እንደዚህ መሆን አለበት

~~~

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1

አውታረ መረብ = {

ssid = "SSID"

psk = "የይለፍ ቃል"

key_mgmt = WPA-PSK}

~~~

Ssh ን ለማንቃት በዚያ ማውጫ ውስጥ ssh (ያለ ምንም ቅጥያ) የተባለ ፋይል ፈጠርኩ። ይህ በእርስዎ ላን ውስጥ ከሌላ ኮምፒዩተር እያንዳንዱን ማዋቀር መቻልዎን ያረጋግጣል።

ደረጃ 3 - ኒዮፒክስሎችን በማገናኘት ላይ

ኒዮፒክስሎችን በማገናኘት ላይ
ኒዮፒክስሎችን በማገናኘት ላይ
ኒዮፒክስሎችን በማገናኘት ላይ
ኒዮፒክስሎችን በማገናኘት ላይ

በመጀመሪያ የኃይል አቅርቦቱን በሴት መሰኪያ አያያዥ ውስጥ ሰካሁ እና RPi ን በአንድ ጉዳይ ላይ አደረግሁ። የመሬቱን ገመድ ከሊዶች (ሰማያዊ ገመድ) እና በጃክ ማያያዣው አሉታዊ ጎን ከዝላይ ሽቦ ሽቦ ሰንጥቄያለሁ። በጂፒዮ ራስጌ ላይ ከመሬት ፒን ጋር ያገናኘሁት ሌላኛው የጁምፔር ሽቦ ፣ ፒን 6 ን እጠቀም ነበር ፣ ግን እርስዎ ሊጠቀሙባቸው የሚችሉት ትክክለኛ ፒኖች እርስዎ በሚጠቀሙበት ትክክለኛ ሞዴል RPi ላይ ይወሰናል።

በሁለተኛ ደረጃ በጃክ አያያዥው አዎንታዊ ጫፍ ላይ 5 ቮ ገመዱን ከሊዶች (ከቀይ ገመድ) አገናኘሁት። በእኔ መሪ ላይ ተጨማሪ የመሬት ገመድ እና የውሂብ ገመድ (ነጩ ገመድ) ላይ የጃምፐር ሽቦ አያያዥ ነበር። እኔ ተጨማሪውን የመሬት ገመድ ችላ አልኩ ፣ ለኔ ማዋቀር አላስፈላጊ ነበር። በውሂብ ገመድ ላይ ወንድን ከሴት ዝላይ ሽቦ ከጂፒዮ ፒን 12 ጋር አገናኘሁት ፣ እንደገና ሊጠቀሙበት የሚገባው ትክክለኛ ፒን በእርስዎ አርፒፒ ላይ የተመሠረተ ነው። ከዚያ ለ RPi እና ለፒክሰሎች የኃይል አቅርቦቴን ሰካሁ። ሁሉም ነገር በትክክል ከተሰራ ሌዲዎቹ ለአጭር ጊዜ አብረዋል።

ደረጃ 4: RPi ን ይጀምሩ

RPi ን ያስጀምሩ
RPi ን ያስጀምሩ

አንድ ደቂቃ ወይም ከዚያ በላይ እንዲነሳ ለ RPi ከሰጠ በኋላ የአይፒ አድራሻውን ከ Raspberry በንማፕ ተመለከትኩ። ግን ማንኛውም የአውታረ መረብ ስካነር ፣ የእርስዎ ራውተር የመረጃ ፓነል ወይም በአብዛኛዎቹ ጉዳዮች በቀላሉ “raspberrypi.local” ያደርገዋል። በዚያ መረጃ ከ RPi ጋር በ ssh በኩል ተገናኝቻለሁ። ነባሪው ተጠቃሚ ከይለፍ ቃል እንጆሪ ጋር ፒ ነው። ስለዚህ ከመጀመሪያው መግቢያ በኋላ በቀጥታ ‹passwd` ን በመጠቀም የቀየርኩት የመጀመሪያው ነገር ነው። ከአከባቢዎ አውታረ መረብ ውጭ ሆነው የእርስዎን ፒኤስ በ ssh በኩል መድረስ ከፈለጉ ፣ ወደ ውድቀት 2ban እና ቁልፍ ማረጋገጫ መመልከት አለብዎት። እኔ በግሌ ለዚያ የአጠቃቀም ጉዳይ የለኝም ፣ ስለዚህ በይለፍ ቃል ብቻ እተወዋለሁ።

በሁለተኛ ደረጃ ሶፍትዌሩን ‹sudo apt update && sudo apt upgrade -Y` ን በመጠቀም አዘምነዋለሁ። እንዲሁም ቤተ-መጽሐፍቱን ለማሰባሰብ አንዳንድ ተጨማሪ ሶፍትዌሮች ያስፈልጉኝ ነበር። ከዚያ በጂትቡብ “git clone https:// github.com/jgarff/rpi_ws281x.git` ላይ ግሩም ቤተ -መጽሐፍትን ከጄረሚ ጋርፍ ቀድጄአለሁ። ከዚያ በኋላ ቤተ -መጽሐፍት ተዘግቶ ወደ rpi_ws281x ማውጫ ሄድኩ ፣ ስካኖችን ተጠቀምኩ እና ከዚያም ቤተ -መጽሐፍቱን በ ‹sudo Python Python/setup.py install`› ጫንኩ። በፓይዘን/ምሳሌዎች ውስጥ በ ‹sudo Python Python/ምሳሌዎች/strandtest.py`› ሊጀምሩ ከሚችሉ በጣም ጥሩ እነማዎች ጋር ጥሩ ማሳያ “strandtest.py” ነው።

ደረጃ 5: Pi-Hole

ፒ-ሆል
ፒ-ሆል

የአውታረ መረብ ሰፊ ማገጃን ለመፍጠር ፣ ፒ-ሆል ፍጹም ነው። እሱ በ “sudo curl -sSL https://install.pi-hole.net | ባሽ። ጥሩው ነገር የድር አገልጋይንም ማዋቀሩ ነው።

ጫ instalውን ካሄዱ በኋላ ወደ ራውተርዎ የአስተዳዳሪ ጣቢያ በመግባት ለ RPi የማይንቀሳቀስ አይፒ አድራሻ እንዲሰጡ እና እንደ DHCP አገልጋይ አድርገው እንዲያዘጋጁት ይፈልጋሉ። የእርስዎ ፒአይ-ቀዳዳ አሁን መሥራት ካለበት ዝቅተኛ የኪራይ ጊዜ ካዘጋጁ።

ደረጃ 6: መብራቶችን ይቆጣጠሩ

መብራቶችን ይቆጣጠሩ
መብራቶችን ይቆጣጠሩ
መብራቶችን ይቆጣጠሩ
መብራቶችን ይቆጣጠሩ
መብራቶችን ይቆጣጠሩ
መብራቶችን ይቆጣጠሩ

ኒዮፒክሴሎችን ለመቆጣጠር ቀላሉ መንገድ በአነስተኛ የፓይዘን ፕሮግራሞች ነው። ነገር ግን መብራቶቹን ለማብራት በሚፈልጉበት ጊዜ ሁሉ ኤስ.ኤስ.ኤች መጠቀም በተለይ በሞባይል መሣሪያ ላይ የማይመች ነው። ስለዚህ ትንሽ ድር ጣቢያ እንደ የርቀት መቆጣጠሪያ ለመጠቀም ወሰንኩ። ያለ የይለፍ ቃል ማረጋገጫ የ www-data root ፈቃድ ስለሰጠሁ ይህ የደህንነት አደጋ ነው። ምናልባት ይህንን ጣቢያ ከእርስዎ ላን ውጭ እንዲገኝ ማድረግ የለብዎትም።

በፒአይ -ቀዳዳ ዳሽቦርድ እና በብርሃን የርቀት መቆጣጠሪያው መካከል ለመምረጥ ቀላል ለማድረግ ፣ ለተጠቃሚው pi በ ‹sudo chown -R pi/var/www.html`› መዳረሻ/var/www/html እንዲጽፍ ሰጠሁት እና index.php ፋይል በ/var/www/html/ውስጥ። አንድ ቀላል ነገር እንደ:

~~~

ማውጫ ፒ ቀዳዳ ቀላል የርቀት መቆጣጠሪያ

~~~

ጥሩ ነው ከዚያ ሁሉም ከኒዮፒክስሎች አንድ ላይ እንዲኖራቸው መብራቶች የሚባል አዲስ አቃፊ ፈጠርኩ። እዚህ ከሊበራሪው በ strandtest.py ላይ የተመሠረተ colour.py ን ፈጠርኩ።

~~~

ከኒዮፒክስል ማስመጣት * # አንዳንድ ቤተ -መጽሐፍትን ያስመጡ

ማስመጣት sys

def led (ስትሪፕ ፣ ቀለም ፣ ጅምር ፣ መጨረሻ) - # ሌዲዎችን ለመጥራት ተግባር ይፍጠሩ

እኔ በክልል ውስጥ (መጀመሪያ ፣ መጨረሻ)

strip.setPixelColor (እኔ ፣ ቀለም)

strip.show ()

ብሩህነት = int (sys.argv [4]) # በትእዛዝ መስመሩ ላይ ያለው አራተኛው መለኪያ ብሩህነት ይሆናል። (1-255)

COUNT = 50 # የሊድስ ፒን መጠን = 12 # በ RPi ላይ ጥቅም ላይ የዋለው ፒን

FREQ_HZ = 800000 # በሄርዝ (አብዛኛውን ጊዜ 800khz) ውስጥ የ LED ምልክት ድግግሞሽ

ዲኤምኤ = 5 # የዲኤምኤ ሰርጥ ምልክት ለማመንጨት ለመጠቀም (5 ሞክር)

ተገላቢጦሽ = ሐሰት # ምልክቱን ለመቀልበስ (የ NPN ትራንዚስተር ደረጃን ሲጠቀሙ)

ስትሪፕ = Adafruit_NeoPixel (COUNT ፣ PIN ፣ FREQ_HZ ፣ DMA ፣ INVERT ፣ BRIGHTNESS)

strip.begin ()

R = int (sys.argv [1]) # የቀይ መጠን የመጀመሪያው መለኪያ ነው

G = int (sys.argv [2]) # የአረንጓዴው መጠን ሁለተኛው መለኪያ ነው

B = int (sys.argv [3]) # ሰማያዊ መጠን ሦስተኛው መለኪያ ነው

ሞክር

leds (ስትሪፕ ፣ ቀለም (አር ፣ ጂ ፣ ቢ) ፣ 0 ፣ 49) #ፈቃዶቹን በተመረጠው ቀለም እና ብሩህነት ይጀምራል።

ከቁልፍ ሰሌዳ ማቋረጫ በስተቀር

ቀለም (ስትሪፕ ፣ ቀለም (0 ፣ 0 ፣ 0) ፣ 0 ፣ 49)

~~~

ይህንን በተርሚናል ላይ ከሱዶ ጋር ካሄዱ መብራቶቹ በተጠቀሰው ቀለም መቀጠል አለባቸው። ለ www-data sudo ፈቃድ ለመስጠት “www-data ALL = (ALL) NOPASSWD: ALL)” ን በቀጥታ ወደ ተጠቃሚው ስር ወደ sudoers ፋይል (/etc/sudoers) አክዬአለሁ።

ደረጃ 7: በአሳሽ አማካኝነት መብራቶቹን ያብሩ

ከዚያም ሌላ /index.php ን ፈጠርኩ ፣ በዚህ ጊዜ /መብራቶች ውስጥ። ~~~

< ?php $R = 100; $G = 100; $B = 100; $BRIGHTNESS = 100; exec("sudo python colour.py $R $G $B $BRIGHTNESS"); ?>

~~~

እኔ አሁን raspberrypi.local/lights/index.php ን ስጎበኝ ሌዲዎቹ ነጭ ይሆናሉ። ምንም እንኳን ይህ ጥሩ ጅምር ቢሆንም ፣ በርቀት መቆጣጠሪያ ላይ ቢያንስ ጥቂት አዝራሮችን እንዲኖረኝ እወዳለሁ።

ደረጃ 8: ከአሳሹ ላይ መብራቶችን ይቆጣጠሩ

የኤችቲኤምኤል ቅጽን በመጠቀም ከበስተጀርባዎች ጋር በይነገጽ ፈጠርኩ። እኔ የማያስፈልጉ ነገሮችን ማድረግ አልወድም ፣ ስለዚህ በራሴ ፣ በእግሬ እና በዋናው php ኮድ አብነቶች የሚባል አቃፊ ፈጠርኩ። የእኔ (ለአሁን) የመጨረሻ /መብራቶች /index.php ይህንን ይመስላል

~~~

~~~

አዝራሮቹ እንዲሰሩ አብነት BasicControl.php አደረግሁ። በዚህ ውስጥ አንድ አዝራር ሲጫን ሊተገበር የሚገባውን ኮድ ገልጫለሁ። ምክንያቱም እኔ ያንን ያካተትኩትን በጣም ጠንካራ እነማዎችን ስለወደድኩ። ፈታኝነቱ እስከመጨረሻው ይቀጥላል ፣ ስለሆነም በፈለግኩ ጊዜ ሂደቱን ለማቆም ሌላ ቁልፍ ሠራሁ።

~~~ <? php

$ I = 100;

$ R = 0;

$ G = 0;

$ B = 0;

ከሆነ (isset ($ _ POST ['strandtest_start'])) {exec ("sudo python strandtest.py")); }

ሌላ ከሆነ (isset ($ _ POST ['strandtest_stop'])) {exec ("sudo pkill -9 -f strandtest.py"); }

ሌላ ከሆነ (isset ($ _ POST ['red']))) {$ R = 255; $ G = 0; $ B = 0; አስፈፃሚ ("sudo python colour.py $ R $ G $ B $ I"); }

ሌላ ከሆነ (isset ($ _ POST ['አረንጓዴ']))) {$ R = 0; $ G = 255; $ B = 0; አስፈፃሚ ("sudo python colour.py $ R $ G $ B $ I"); }

ሌላ ከሆነ (isset ($ _ POST ['blue']))) {$ R = 0; $ G = 0; $ B = 255; አስፈፃሚ ("sudo python colour.py $ R $ G $ B $ I"); }

ሌላ ከሆነ (isset ($ _ POST ['white']))) {$ R = 255; $ G = 255; $ B = 255; አስፈፃሚ ("sudo python colour.py $ R $ G $ B $ I"); }

ሌላ ከሆነ (isset ($ _ POST ['off']))) {shell_exec ('sudo python off.py'); }

ሌላ ከሆነ (isset ($ _ POST ['ዳግም ማስነሳት']))) {shell_exec ('sudo ዳግም አስነሳ አሁን')); }?>

~~~

ደረጃ 9: ለርዕሰ እና ለግርጌ አብነት ይፍጠሩ

አሁን ሁሉም ነገር ይሠራል ፣ ግን እሱን ማየት በጣም ደስ አይልም። ራስጌውን እና ግርጌን ካስመዘገቡ በኋላ ሁሉም የጣቢያው አካላት ይገኛሉ ፣ ቅጥ ያጡ አይደሉም።

Header.php ፦

~~~

መብራቶች

መብራቶች

መሰረታዊ መቆጣጠሪያዎች

የላቁ መቆጣጠሪያዎች

~~~

እና footer.php:

~~~

~~~

ደረጃ 10 - ሁሉም የተሻለ ሆኖ እንዲታይ ለማድረግ አንዳንድ Css

ሁሉም የተሻለ ሆኖ እንዲታይ ለማድረግ አንዳንድ Css
ሁሉም የተሻለ ሆኖ እንዲታይ ለማድረግ አንዳንድ Css

እርስዎ እንዳስተዋሉት ፣ እኔ አቀማመጥን ለመቆጣጠር የ css ፋይል እጠቀማለሁ። የእኔ የርቀት መቆጣጠሪያ በአነስተኛ ማያ ገጾች ላይ ጥቅም ላይ የሚውል መሆኑን ለማረጋገጥ እንዲሁም አንዳንድ የሲኤስኤስ ተጣጣፊ ሳጥኖችን ከአውቶፕራፕ ጋር እጠቀም ነበር።

~~~

/ * የቅጥ ሉህ ለብርሃን መቆጣጠሪያ በይነገጽ *

* በእያንዳንዱ ገጽ ላይ ይተገበራል */

አካል (ዳራ-ቀለም: f9fcfa; ቅርጸ-ቁምፊ ቤተሰብ-Arial; ኅዳግ: 0; }

h1 (ቀለም: ነጭ; ጽሑፍ-አሰላለፍ: መሃል; }

p {font-family: verdana; የቅርጸ-ቁምፊ መጠን-20 ፒክስል; }

h2 {}

/ * አርዕስት */

. ራስጌ {ቁመት 10%; ማሳያ: ተጣጣፊ; ትክክለኛነት-ይዘት-ተጣጣፊ-ጅምር; አሰላለፍ-ንጥሎች: ማዕከል; ኅዳግ: 0 ፒክስል; መንሸራተት-ግራ-5%; ዳራ:#3F51B5; አሰላለፍ-ንጥሎች: ማዕከል; }

. HeaderLinks {ቀለም: ነጭ; }

.navbar {ማሳያ ፦ ተጣጣፊ; ተጣጣፊ 30%; ትክክለኛነት-ይዘት-ቦታ-ዙሪያ; የጀርባ ቀለም- #3F51B5; ቀለም: ነጭ; }

/ * ግርጌ */

.እግረኛ {የጀርባ ቀለም- #3F51B5; ቁመት - 10%; ጽሑፍ-አሰላለፍ: መሃል; }

/ * Index.php */

. አዝራሮች {ማሳያ: ተጣጣፊ; ተጣጣፊ-አቅጣጫ: ረድፍ; ተጣጣፊ-ጥቅል: መጠቅለያ; ይጸድቃል-ይዘት-ክፍተት-መካከል; ቁመት - 80%; አሰላለፍ-ንጥሎች ተጣጣፊ-ጅምር; }

.buttons_index {padding: 0%; የድንበር-ስፋት: ቀጭን; የድንበር ዘይቤ-ጠንካራ; የድንበር-ቀለም: ጥቁር; የጀርባ ቀለም- #3949ab; ቀለም: ነጭ; ቅርጸ-ቁምፊ-ቤተሰብ-ሳንስ-ሴሪፍ; ስፋት 24%; ቁመት - 20%; }

.buttons_index: ማንዣበብ {padding: 0%; የድንበር-ስፋት: ቀጭን; የድንበር ዘይቤ-ጠንካራ; የድንበር-ቀለም: ጥቁር; የጀርባ ቀለም- #536DFE; ቀለም: ነጭ; ቅርጸ-ቁምፊ-ቤተሰብ-ሳንስ-ሴሪፍ; ስፋት 24%; ቁመት - 20%; }

~~~

ደረጃ 11: አመሰግናለሁ

እና ያ ብቻ ነው። ሁሉም ነገር ለእኔ ይሠራል እና እርስዎ የእኔን አስተማሪ ለመሞከር ከመረጡ ለእርስዎም እንደሚሰራ ተስፋ አደርጋለሁ። አንዳንድ ኮድ ለመቅዳት ከሞከሩ ፣ እዚህ ለመስቀል ጥቂት ቦታዎችን ማከል ነበረብኝ ፣ ስለዚህ ኮዱ እንደገና ጠቃሚ ከመሆኑ በፊት መሰረዝ አለብዎት።

ሁሉንም ነገር በማንበብ እንደወደዱት ተስፋ አደርጋለሁ። ግብረመልስ ካለዎት እሱን መስማት እወዳለሁ!

የሚመከር: