Satura rādītājs:
- 1. darbība: izmantotie materiāli
- 2. darbība: sagatavojiet operētājsistēmu
- 3. solis: Neopikseļu pievienošana
- 4. solis: sāciet RPi
- 5. solis: Pi-Hole
- 6. darbība: kontrolējiet gaismas
- 7. solis: ieslēdziet apgaismojumu, izmantojot pārlūkprogrammu
- 8. darbība: kontrolējiet apgaismojumu no pārlūka
- 9. darbība: veidnes izveidošana galvenei un kājenei
- 10. solis: daži Css, lai viss izskatītos mazliet labāk
- 11. solis: Paldies
Video: Reklāmu bloķējoši neopikseļi: 11 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Es gribēju izveidot vienkāršu vietni kā attālinātu neopikseļu joslai, kas savienota ar manu Raspberry Pi nulli, un turpināt to izmantot, lai bloķētu reklāmas tīklā, izmantojot Pi-Hole. Vispirms es vienkārši gribēju savā istabā pievienot dažas gaismas diodes, bet, visu sakārtojot, sapratu, ka man nav iespēju tās ērti kontrolēt. Tāpēc es nolēmu izveidot vienkāršu vietni ar dažām pamata vadības iespējām, izmantojot apache serveri, kuru Pi-hole instalētājs jau ir iestatījis. Es piešķīru www-datu saknes atļaujas, kas ir drošības risks, tāpēc jums vajadzētu padarīt tīmekļa serveri pieejamu ārpasaulei. Tas sākās galvenokārt manas dokumentācijas dēļ un pēc tam kļuva par manu pirmo pamācāmo;) Tāpēc es būtu ļoti pateicīgs, ja jūs varētu norādīt, ja kaut kas ir neskaidrs vai kaut ko esmu pilnīgi palaidis garām.
1. darbība: izmantotie materiāli
-
Raspberry Pi (es sāku ar Pi 2 un pēc tam nomainīju uz WH, gpio tapas var būt nedaudz atšķirīgas, bet citādi katrs modelis ir kārtībā)
- Ja jums ir RPi bez iebūvēta wifi, ir noderīgs arī wifi adapteris.
- Pēc izvēles aveņu pi
- 2 vīriešu un sieviešu džemperu vadi (piemēram)
- Neopikseļi ws2811 (es tos izmantoju)
- 1 10 W barošanas avots RPi (derēs vecs tālruņa lādētājs)
- 1 ~ 50 W barošanas avots neopikseliem (es izmantoju tādu kā šis, bet, iespējams, pietiktu ar mazāku, bet, ja vēlaties vairāk gaismas diodes, jums ir vieta, kur izvērsties.)
- Sievietes ligzdas savienotāja spraudnis (līdzīgs šim)
2. darbība: sagatavojiet operētājsistēmu
Lejupielādējiet jaunāko versiju Rasbian no raspberrypi.org Vienkāršā versija šim projektam ir piemērota, ja plānojat izmantot aveņu pi kādam citam, jūs varētu arī apsvērt pilnas versijas instalēšanu ar gui. Tad es sadedzināju attēlu ar Etcher. Pēc tam, lai pārliecinātos, ka tas izveidos savienojumu ar manu wifi tīklu, es pievienoju wpa_supplicant.conf SD kartes sāknēšanas direktorijā. Faila saturam vajadzētu izskatīties šādi:
~~~
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
tīkls = {
ssid = "SSID"
psk = "PAROLE"
key_mgmt = WPA-PSK}
~~~
Lai iespējotu ssh, tajā pašā direktorijā izveidoju failu ar nosaukumu ssh (bez paplašinājuma). Tas nodrošinās, ka varēsit konfigurēt visu, izmantojot citu LAN datoru.
3. solis: Neopikseļu pievienošana
Vispirms es pievienoju strāvas padevi sieviešu ligzdas savienotājam un ievietoju RPi korpusā. Es pieskrūvēju zemējuma kabeli no gaismas diodēm (zilo kabeli) un džempera stieples vīriešu pusi domkrata savienotāja negatīvajā pusē. Otrs džempera stieples gals, kuru es savienoju ar gpio galvenes zemējuma tapu, es izmantoju 6. tapu, bet precīzās tapas, kuras varat izmantot, būs atkarīgas no jūsu izmantotā precīzā RPi modeļa.
Otrkārt, ligzdas savienotāja pozitīvajā galā es pievienoju 5v kabeli no gaismas diodēm (sarkanais kabelis). Manā vadībā tie bija savienojuma stieples savienotājs uz papildu zemējuma kabeļa un datu kabelis (baltais kabelis). Es vienkārši ignorēju papildu zemējuma kabeli, tas nebija vajadzīgs manai iestatīšanai. Ar datu kabeli es savienoju tēviņu ar sietiņu ar vadu ar gpio tapu 12, atkal precīza tapa, kas jāizmanto, ir atkarīga no jūsu RPi. Tad es pievienoju barošanas avotu RPi un pikseļiem. Gaismas diodes uz īsu brīdi iedegās, ja viss ir pareizi savienots.
4. solis: sāciet RPi
Pēc tam, kad RPi bija iesācis apmēram minūti, lai sāktu darbību, es paskatījos no aveņu IP adresi ar nmap. Bet derēs jebkurš tīkla skeneris, maršrutētāja informācijas panelis vai vairumā gadījumu vienkārši “raspberrypi.local”. Ar šo informāciju es izveidoju savienojumu ar RPi, izmantojot ssh. Noklusējuma lietotājs ir pi ar paroli aveņu. Tā ir pirmā lieta, ko es mainīju, izmantojot `passwd` tieši pēc pirmās pieteikšanās. Ja vēlaties piekļūt savam pi caur ssh no vietējā tīkla, jums vajadzētu izpētīt fail2ban un atslēgu autentifikāciju. Man personīgi tam nav lietošanas gadījuma, tāpēc atstāšu to tikai ar paroli.
Otrkārt, es atjaunināju programmatūru, izmantojot "sudo apt update && sudo apt upgrade -Y". Man bija nepieciešama arī papildu programmatūra, lai apkopotu libery `sudo apt-get install scons swig git python-dev build-essential -Y`. Tad es nokopēju izcilo Džeremija Gārfa krāšņumu vietnē github `git clone https:// github.com/jgarff/rpi_ws281x.git`. Pēc tam bibliotēka tika klonēta, es devos uz direktoriju rpi_ws281x, izmantoju scons un pēc tam instalēju bibliotēku ar "sudo python python/setup.py install". Vietnē python/piemēri ir jauka demonstrācija "strandtest.py" ar patiešām glītām animācijām, kuras varat sākt ar `sudo python python/example/strandtest.py`.
5. solis: Pi-Hole
Lai izveidotu tīkla pievienošanas bloķētāju, Pi-Hole ir ideāls. Tas tiek instalēts tikai ar sudo curl -sSL https://install.pi-hole.net | bash`. Jauka daļa ir tā, ka tiks izveidots arī tīmekļa serveris.
Pēc instalētāja palaišanas vēlaties pieteikties maršrutētāja administratora vietnē un piešķirt RPi statisku IP adresi un iestatīt to kā DHCP serveri. Ja esat iestatījis zemu nomas laiku, jūsu PI caurumam vajadzētu darboties tagad.
6. darbība: kontrolējiet gaismas
Vienkāršākais veids, kā kontrolēt neopikseļus, ir ar mazām python programmām. Taču lietot ssh katru reizi, kad vēlaties ieslēgt apgaismojumu, ir neērti, īpaši mobilajā ierīcē. Tāpēc es nolēmu izmantot nelielu vietni kā tālvadības pulti. ŠIS IR DROŠĪBAS RISKS, jo es devu www-datu saknes atļauju bez paroles pārbaudes. Jums, iespējams, nevajadzētu padarīt šo vietni pieejamu ārpus jūsu LAN.
Lai būtu vieglāk izvēlēties starp PI -cauruma informācijas paneli un gaismas tālvadības pulti, es piešķīru lietotājam pi rakstīšanas piekļuvi/var/www/html ar "sudo chown -R pi/var/www.html", un es izveidoju index.php failu mapē/var/www/html/. Kaut kas vienkāršs, piemēram:
~~~
Index Pi hole Light tālvadības pults
~~~
ir labi. Tad es izveidoju jaunu mapi ar nosaukumu gaismas, lai viss no neopikseliem būtu kopā. Šeit es izveidoju colour.py, pamatojoties uz bibliotēkas strandtest.py.
~~~
no neopikseļu importēšanas * # Importējiet dažas bibliotēkas
importēt sistēmu
def led (sloksne, krāsa, sākums, beigas): # Izveidojiet funkciju LED izsaukšanai
i diapazonā (sākums, beigas):
strip.setPixelColor (i, krāsa)
strip.show ()
BRIGHTNESS = int (sys.argv [4]) # Ceturtais komandrindas parametrs būs spilgtums. (1-255)
COUNT = 50 # LED indikatoru skaits PIN = 12 # RPi izmantotā tapa
FREQ_HZ = 800000 # LED signāla frekvence hercos (parasti 800 khz)
DMA = 5 # DMA kanāls, ko izmantot signāla ģenerēšanai (mēģiniet 5)
INVERT = False # Pareizi, lai apgrieztu signālu (ja tiek izmantots NPN tranzistora līmenis
sloksne = Adafruit_NeoPixel (COUNT, PIN, FREQ_HZ, DMA, INVERT, BRIGHTNESS)
strip.begin ()
R = int (sys.argv [1]) # Sarkanās krāsas daudzums ir pirmais parametrs
G = int (sys.argv [2]) # Zaļās krāsas daudzums ir otrais parametrs
B = int (sys.argv [3]) # Zilās krāsas daudzums ir trešais parametrs
pamēģini:
gaismas diodes (sloksne, krāsa (R, G, B), 0, 49) #Sāks izlaidumus ar izvēlēto krāsu un spilgtumu.
izņemot tastatūruPārtraukums:
krāsa (sloksne, krāsa (0, 0, 0), 0, 49)
~~~
Ja to palaižat ar sudo terminālī, gaismām vajadzētu iedegties norādītajā krāsā. Lai piešķirtu www-data sudo atļauju, es pievienoju "www-data ALL = (ALL) NOPASSWD: ALL)" sudoers failam (/etc/sudoers) tieši zem saknes lietotāja.
7. solis: ieslēdziet apgaismojumu, izmantojot pārlūkprogrammu
Tad es izveidoju citu index.php, šoreiz /gaismas. ~~~
< ?php $R = 100; $G = 100; $B = 100; $BRIGHTNESS = 100; exec("sudo python colour.py $R $G $B $BRIGHTNESS"); ?>
~~~
Kad es tagad apmeklēju vietni raspberrypi.local/lights/index.php, gaismas diodes kļūs baltas. Lai gan šis ir jauks sākums, man patīk, ja tālvadības pultī ir vismaz dažas pogas.
8. darbība: kontrolējiet apgaismojumu no pārlūka
Es izveidoju saskarni ar buttens, izmantojot html formu. Man nepatīk darīt lietas, kas nav vajadzīgas, tāpēc es izveidoju mapi ar nosaukumu veidnes ar savu galveni, kājeni un galveno php kodu. Mans (pagaidām) galīgais /lights/index.php izskatās šādi:
~~~
~~~
Lai pogas darbotos, es izveidoju veidni BasicControl.php. Šeit es norādīju kodu, kas jāizpilda, nospiežot pogu. Tā kā man patika visizplatītākās animācijas, es iekļāvu arī to. Strukturālais tests turpināsies bezgalīgi ilgi, tāpēc es izveidoju vēl vienu pogu, lai apturētu procesu, kad vien vēlos.
~~~ <? php
I $ = 100;
$ R = 0;
$ G = 0;
$ B = 0;
if (isset ($ _ POST ['strandtest_start']))) {exec ("sudo python strandtest.py"); }
else if (isset ($ _ POST ['strandtest_stop']))) {exec ("sudo pkill -9 -f strandtest.py"); }
else if (isset ($ _ POST ['red'])) {$ R = 255; $ G = 0; $ B = 0; exec ("sudo python colour.py $ R $ G $ B $ I"); }
cits if (isset ($ _ POST ['zaļš']))) {$ R = 0; $ G = 255; B B = 0; exec ("sudo python colour.py $ R $ G $ B $ I"); }
cits if (isset ($ _ POST ['zils'])) {$ R = 0; $ G = 0; B $ 255; exec ("sudo python colour.py $ R $ G $ B $ I"); }
else if (isset ($ _ POST ['balts']))) {$ R = 255; $ G = 255; B $ 255; exec ("sudo python colour.py $ R $ G $ B $ I"); }
else if (isset ($ _ POST ['off']))) {shell_exec ('sudo python off.py'); }
else if (isset ($ _ POST ['reboot']))) {shell_exec ('sudo reboot now'); }?>
~~~
9. darbība: veidnes izveidošana galvenei un kājenei
Tagad tas viss darbojas, bet tas nav pārāk patīkami skatīties. Pēc galvenes un kājenes importēšanas visi vietnes elementi ir pieejami, tikai nav veidoti.
Header.php:
~~~
Gaismas
Lampjes
Pamata vadīklas
Uzlabotas vadīklas
~~~
Un kājene.php:
~~~
~~~
10. solis: daži Css, lai viss izskatītos mazliet labāk
Kā jūs, iespējams, pamanījāt, es izmantoju css failu, lai kontrolētu izkārtojumu. Lai pārliecinātos, ka manu tālvadības pulti var izmantot arī mazākos ekrānos, es izmantoju dažas css flexboxes ar automātisko ietīšanu.
~~~
/ * Gaismas vadības saskarnes stila lapa *
* Attiecas uz katru lapu */
pamatteksts {fona krāsa: f9fcfa; fontu saime: Arial; rezerve: 0; }
h1 {krāsa: balta; text-align: center; }
p {font-family: verdana; fonta izmērs: 20 pikseļi; }
h2 {}
/ * Galvene */
. header {augstums: 10%; displejs: elastīgs; attaisnot saturu: flex-start; align-items: centrs; mala: 0 pikseļi; polsterējums pa kreisi: 5%; fons:#3F51B5; align-items: centrs; }
. HeaderLinks {krāsa: balta; }
.navbar {displejs: flex; elastība: 30%; attaisnot saturu: telpa-apkārt; fona krāsa: #3F51B5; krāsa: balta; }
/ * Kājene */
.footer {background-color: #3F51B5; augstums: 10%; text-align: center; }
/ * Index.php */
.pogas {displejs: flex; elastīgs virziens: rinda; flex-wrap: ietīšana; attaisnot saturu: atstarpe starp; augstums: 80%; vienumu izlīdzināšana: flex-start; }
.buttons_index {polsterējums: 0%; robežas platums: plāns; robežas stils: ciets; apmales krāsa: melna; fona krāsa: #3949ab; krāsa: balta; fontu saime: sans-serif; platums: 24%; augstums: 20%; }
.buttons_index: virziet kursoru {padding: 0%; robežas platums: plāns; robežas stils: ciets; apmales krāsa: melna; fona krāsa: #536DFE; krāsa: balta; fontu saime: sans-serif; platums: 24%; augstums: 20%; }
~~~
11. solis: Paldies
Un tas arī viss. Viss darbojas man un es ceru, ka tas derēs arī jums, ja izvēlaties izmēģināt manu pamācību. Ja jūs mēģinājāt nokopēt kādu kodu, man bija jāpievieno dažas atstarpes, lai to augšupielādētu šeit, tāpēc jums tie būs jāizdzēš, pirms kods atkal kļūst noderīgs.
Es ceru, ka jums patika lasīt visu. Ja jums ir atsauksmes, es labprāt to dzirdētu!
Ieteicams:
PiHole reklāmu bloķētājs ar 3,5 collu displeju: 8 soļi (ar attēliem)
PiHole reklāmu bloķētājs ar 3,5 collu displeju: laipni lūdzam manā apmācībā par to, kā izveidot patiešām lielisku reklāmu bloķētāju visam tīklam! Raspberry Pi darbojas programmatūra, kas pazīstama kā Pi-Hole un PADD, lai bloķētu reklāmas un parādītu statistikas datus, piemēram, Pi- Hole IP adrese un reklāmu daudzums
Reklāmu bloķēšana tīklā ar jūsu Raspberry Pi: 4 soļi
Reklāmu bloķēšana tīklā ar savu Raspberry Pi: izbaudiet tīrāku, ātrāku tīmekli un bloķējiet kaitinošas reklāmas visā savā mājas tīklā, izmantojot Pi-hole un Raspberry Pi
Kā iestatīt Pi-Hole uz Raspberry Pi, tīkla plaša reklāmu bloķētāja !!: 25 soļi
Kā uzstādīt Pi-Hole uz Raspberry Pi, tīkla plaša reklāmu bloķētāja !!: Šim projektam jums būs nepieciešams: Raspberry Pi, kas spēj izveidot savienojumu ar internetu Mikro SD karte, kurā darbojas Raspbian LiteA tastatūra (lai iestatītu SSH) Otrais Ierīce (lai piekļūtu tīmekļa portālam) Pamatzināšanas par UNIX, kā arī saskarnes navigācija
Bloķējiet tūkstošiem reklāmu, izmantojot HOSTS: 5 soļi
Bloķējiet tūkstošiem reklāmu, izmantojot HOSTS: Šajā pamācībā es jums parādīšu vienkāršu veidu, kā vienā vienkāršā un vienkāršā veidā bloķēt gandrīz tūkstošiem reklāmu
Kā izveidot tiešsaistes klasificētu reklāmu: 3 soļi (ar attēliem)
Kā izveidot tiešsaistes klasificētu reklāmu: vai jums ir kaut kas tāds, no kura, jūsuprāt, ir jāšķiras? Viens veids, kā reklamēt lietas, kuras vēlaties pārdot, ir ievietot klasificētu reklāmu, un šodien interneta izmantošana ir vienkāršs, efektīvs un gandrīz vienmēr bezmaksas veids, kā to izdarīt. Šajā instrukcijā es sniegšu