Kazalo:

SilverLight: Arduino okoljski monitor za strežniške sobe: 3 koraki (s slikami)
SilverLight: Arduino okoljski monitor za strežniške sobe: 3 koraki (s slikami)

Video: SilverLight: Arduino okoljski monitor za strežniške sobe: 3 koraki (s slikami)

Video: SilverLight: Arduino okoljski monitor za strežniške sobe: 3 koraki (s slikami)
Video: Arduino with Silverlight 2024, Julij
Anonim
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe
SilverLight: Arduino okoljski monitor za strežniške sobe

Ko sem dobil nalogo, da poiščem okoljsko sondo za spremljanje temperature v strežniški sobi svojega podjetja. Moja prva ideja je bila: zakaj ne bi uporabili samo Raspberry PI in DHT senzorja, lahko ga nastavite v manj kot eni uri, vključno z namestitvijo OS. Za to sem dobil hladen odziv šefov z zavezanimi očmi, da tega ne bomo storili, ker bi njegova postavitev stala več v delovnih urah kot nakup naprave. To, da sem del svojega življenja sprejemal tako ozko misleče ljudi, je bila ena stvar in naročil sem nekaj odpadkov podjetja EATON na podjetju Ebay in ga poklical, vendar sem se v tistem trenutku odločil, da bom za svojo strežniško sobo zgradil popolnoma odprtokodni Arduino naprava, ki bo veliko boljša od tiste, ki sem jo pravkar naročil.

Ta projekt ima kodno ime SilverLight, ne sprašujte me, od kod mi ta imena:) Samo pogledal sem sijočo polovico akrilne škatle in se odločil s tem imenom, to nima nič opraviti z izdelkom iz mikropodkov, za kar sem izvedel po.

1. korak: Oblikovanje strojne opreme

Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme

Pregled komercialne strojne opreme.

V redu, tako da sploh ne začnem s tem, čigar odlična ideja je bila, da okoljski monitor postavim v dvig, očitno pa obstaja trg za to, zato poglejmo, kaj lahko naredijo ti:

Naprava za nadzor okolja ZDRUŽLJIVOST

Omrežje 10/100Mb-MS, PXGUPS, PXGPDP in PXGMS.

10/100Mb ConnectUPS-X, ConnectUPS-BD in ConnectUPS-E s FW V3.01 in novejšimi. DIMENZIJE (DXŠXV)

2,26 x 1,48 x 1,15 (palcev) 57,6 x 37,6 x 29,3 (mm) TEŽA

1,19 oz (34 g)

To so zelo koristne informacije, kajne? Brez skrbi, ker ne zmorejo veliko. Za začetek bo vaš UPS moral imeti še eno drago kartico addon, ki to poveže z okoljskim senzorjem, ki ga kupite ločeno, običajno s standardnim kablom CAT5 (niti ne poskušajte ničesar priključiti na ta vrata, ker ni nič standardnega o tem). Trdijo, da naprava potrebuje 10 minut, da se "ogreje", kar je v resnici trajalo nekaj ur, in ko se je zgodilo voila, se je pokazalo v njihovem vmesniku Java, ki se počasi posodablja, in imamo temperaturo in vlažnost. Nastavitev pogojev, ki temeljijo na opozorilih, je bila od tega trenutka enostavna, a koga briga, naredimo nekaj boljšega.

Ta projekt je povezan z več mojimi projekti: vremenska postaja Natalia, Senca feniksa. Škatla lahko spremlja naslednje okoljske omejitve:

  • Indeks temperature/vlažnosti/toplote
  • LPG, dim, alkohol, propan, vodik, metan in ogljikov monoksid v zraku (MQ2)
  • Sončna občutljivost (ali lučka gori v strežniški sobi?)
  • Senzor gibanja PIR (odslej lahko celo samodejno vklopite/izklopite luči, zahvaljujoč senzorju gibanja, ko nekdo vstopi v sobo)

Vsi ti podatki so lepo prikazani na LCD zaslonu, hkrati pa so posredovani v računalnik (Orange PI Zero) za nadaljnjo obdelavo in opozorila. Čeprav bi bilo mogoče digitalne senzorje, kot sta DHT in digitalni zatič MQ2, priključiti neposredno na OrangePI, vedno raje uporabljam namenske mikrofone za ta opravila in ko morate posodobiti tudi LCD ter narediti druge nizke ravni Arduino je preprosto nepremagljiv in lahko zanesljivo deluje neprekinjeno več let (pravzaprav mi še ni uspel niti en Arduino, ki deluje 24 ur na dan). OrangePI s svojimi pomanjkljivostmi (priznajmo si, da je to 10 -odstotni računalnik), kot je neuporaben za veliko delovno obremenitev, brez podpore za bsd, integriran wifi je napihnjen itd., Lahko zlahka prenese majhne obremenitve, kot je odčitavanje odčitkov senzorja prek serijskega (USB) in njihova obdelava.

To je zelo preprosta strojna oprema, ki zahteva naslednje komponente:

  • Arduino PRO Micro
  • LCD zaslon 2x16 znakov RGB
  • Napajalni modul ločilnega stikala AC-DC 220V do 5V HLK-5M05 (to je zelo dobro za projekte Arduino/ESP), to je različica 5V/5W!
  • 2x300 ohmski upori
  • 2x ležalniki (rdeča/zelena)
  • PIR senzor gibanja
  • Senzor MQ2
  • DHT22
  • LDR
  • Upor 2X10Kohm
  • Zvočni signal
  • Oranžna PI Zero
  • mini USB podatkovni kabel

Nisem se niti potrudil za izdelavo tiskanega vezja za to samo uporabljeno navadno ploščo, ker je komponente mogoče preprosto povezati z Arduinom (glej slike v prilogi):

-DHT22 bo zahteval 10K dvig na VCC (digitalno)

-LDR bo zahteval 10K pulldown do GND (analogno)

-MQ2 lahko neposredno povežemo s katerim koli analognim pinom (analognim) NIZKO, zaradi lepljenja v mojem dizajnu, ki je tako ali tako nedostopen. Preverite:

-PIR lahko neposredno priključite na kateri koli pin (digitalni)

-LCD: lahko ga poganjate s 4 zatiči, lahko ga priključite na kateri koli pin (digitalno), bo potrebno +2 RS/E (digitalno)

-Buzzer: lahko ga neposredno povežete s katerim koli zatičem Arduino (digitalnim)

Izpis, ki sem ga uporabil, je razviden iz kode. Če povežete vse skupaj, potem ko je to precej preprosto, lahko to storite tudi enega za drugim, poskrbite, da bo 1 senzor deloval brezhibno, nato pa nadaljujte z naslednjim. Vse, kar lahko naredite narobe, je napačna povezava žic na napačna mesta (npr. Zamenjava vcc /gnd za senzor, doslej to nikoli ni ubilo nobene moje naprave). Tukaj bi opozoril, da je zame bilo naloženih preveč VCC in GND, zato jih nisem mogel stisniti skozi priključni trak, zato sem jih vse spajkal.

Tudi o DHT -jih ne pozabite iz mojih drugih projektov: če v svojo kodo vnesete knjižnico DHT in senzor DHT ni priključen ali je napačno priključen DHT (npr. 11, opredeljenih v kodi, ki jo uporabljate 22), to lahko privede do programa da na začetku za vedno visi.

Glede senzorjev za zaznavanje gibanja PIR, kot lahko vidite na moji sliki, je na stotine ponarejenih ponaredkov, v resnici bi celo težko kupil pravega od Ebaya. Ponaredki delujejo enako dobro, tudi na dolgi rok, vendar imajo zrcaljeno vezje, zaradi česar so zatiči + in - obrnjeni, tudi te je enostavno prepoznati: prihajajo z modrim tiskanim vezjem, ki ni običajno zelena, manjkajo oznake za potmetri. Imel sem srečo, da sem v svoji škatli našel pristnega, sicer bi zame sprememba položaja pokrila 2 LED. Ugotovil sem, da sta mi oba lončka na polovici delala. To vam bo omogočilo dovolj dolg doseg za zaznavanje, tudi ko se giblje, bo digitalna noga približno minuto zadržana v VISOKEM položaju, zato vam za to ni treba nadomestiti kode. Na ponaredkih je enostavno ugotoviti, katera stran je - in + samo poglejte ustrezne noge za elektrolitske pokrove, povezane z zatiči.

Za rezanje škatle sem uporabil diamantno glavo dremel (ki je bila pretirana, a je odlično delovala) in običajen vrtalni stroj. S temi razdelilnimi omaricami je enostavno delati in čeprav ne maram lepljenja, pri gradnji nisem imel pri roki vijakov in vijakov, zato sem se pogajal, da sem stvari zlepil skupaj (ki jih je mogoče enostavno tudi ogreti in razstaviti pozneje z uporabo isti pištolo brez filtra).

2. korak: Oblikovanje programske opreme

Oblikovanje programske opreme
Oblikovanje programske opreme
Oblikovanje programske opreme
Oblikovanje programske opreme

Koda Arduino je tudi preprosta, v bistvu potegne vse odčitke senzorjev na začetku vsake zanke. Prižge LED, če je gibanje ali dim in predvaja tudi zvočni signal, če je dim (to je edina koda za blokiranje, zato sem ga skrajšala), nato prikaže podatke na LCD -ju in jih nazadnje pošlje prek računalnika z zadrževanjem 10 sekund, da ne poplavi pristanišča.

Ta projekt uporablja enosmerno komunikacijo iz Arduino-> OrangePI, ni uvedenih nobenih ukazov. Čeprav bi bilo to povsem mogoče, kot sem to storil v enem od drugih projektov, kjer lahko računalnik pošlje LCD_PRINT1 ali LCD_PRINT2, da prepiše eno vrstico zaslona LCD z lastnim sporočilom (npr.: naslov ip, čas delovanja, sistemski datum, cpu), je območje zaslona tako majhno za prikaz podatkov s 3 senzorji, da se sploh nisem motil. Vrednosti SOL in SMK lahko segajo do štiri števke 0000-1023 in zajemajo že 8 dragocenih znakov na zaslonu.

Z LCD -jem lahko opazite majhen trik v kodi, da se po vsaki izmerjeni vrednosti uporabi tisk presledkov (""), nato premaknem kazalec na fiksne položaje, da postavim nove ikone in podatke. Ti so zato, ker LCD ni tako pameten za razumevanje številk, samo nariše, kaj dobi, in če imate na primer sončno vrednost 525, ki se je nenadoma zmanjšala na 3, bo na zaslonu prikazalo 325, ki bo pustilo staro smeti. tam.

Kontrolna koda C, ki deluje na OrangePI in beleži okoljske podatke ter po potrebi pošilja e -poštna opozorila.

OrangePI izvaja Armbian (ki je v času pisanja temeljil na Debian Stretch). To bom vključil v programski del glede tega, kaj je rešil. Tu je povprečna poraba energije naprave:

0,17 A - samo Arduino + senzorji

0,5-0,62 A - zagon OrangePI

0,31 A - oranžni PI v prostem teku

0,29 A - oranžni PI izklopljen (ne morem ga izklopiti, nima ACPI ali česa podobnega)

0,60 A - stresni test 100% poraba procesorja na 4 jedrih

Ta OrangePI sem imel v škatli že dolgo časa. S starim jedrom je naprava izpraznila toliko toka (kot je rekel merilnik, je dosegel vrh okoli 0,63 A), kar napajalnik verjetno ni mogel zagotoviti, da se preprosto ni zagnal, postopek zagona se je zataknil in prižgala sta se 2 ethernetni lučki nenehno in nič ne delajo.

Zdaj je to nekako nadležno, saj HLK-5M05 trdi, da lahko naredi 5W na 5V, tako da lahko zagotovi 1 Amp, vendar s temi napravami, ki prihajajo iz Kitajske, nikoli ne veste, da je bil 0,63 A vrh precej nižji od nazivne vrednost. Zato sem izvajal preproste preizkuse ponovnega zagona, OrangePI se je od 10 ponovnih zagonov uspešno zagnal le dvakrat, zaradi česar sem ga skoraj izločil iz projekta, ker ne maram hroščev nedoslednega vedenja v vezjih. Zato sem se začel googlati, morda obstaja način za zmanjšanje porabe energije ob zagonu iz programske opreme (ker je bila to takrat le težava) in našel nekaj člankov, ki govorijo o prilagajanju script.bin, vendar je bilo to za Orange PI PC in Datoteke so manjkale v pomnilniku, zato sem v skrajnem primeru naredil čarobno "apt upgrade" za nadgradnjo vdelane programske opreme, jedra in vsega drugega v upanju, da se bo manj izčrpalo in da se bo naprava lahko zagnala in:

Linux silverlight 4.14.18-sunxi #24 SMP pet februar 9 16:24:32 CET 2018 armv7l GNU/Linux

Linux silverlight 4.19.62-sunxi #5.92 SMP Sre 31. julij 22:07:23 CEST 2019 armv7l GNU/Linux

Delovalo je! Odpravljanje težav s programsko opremo je običajno leni razvijalci jave, vendar smo v tem primeru s programsko opremo rešili težavo s strojno opremo, kar je velik uspeh. Opravil sem še 20 ponovnih preizkusov ponovnega zagona, naprava se je zagnala v vsakem primeru. Še vedno bi opozoril, da je porast energije zaradi vklopa Opi (povezovanje/odklop) tako velik, da bo Arduino kadar koli ponastavil (preprost ponovni zagon bo le utripal LCD, vendar ne bo povzročil dodatnih težav), vendar to vprašanje ostaja skrito, ker se bosta 2 zagnala skupaj.

Ogledal sem si tudi module jedra:

usb_f_acm u_serial g_serial libcomposite xradio_wlan mac80211 lima sun8i_codec_analog snd_soc_simple_card gpu_sched sun8i_adda_pr_regmap sun4i_i2s snd_soc_simple_card_utils TTM sun4i_gpadc_iio snd_soc_core cfg80211 snd_pcm_dmaengine industrialio snd_pcm snd_timer snd sun8i_ths soundcore cpufreq_dt uio_pdrv_genirq uio thermal_sys pwrseq_simple

Kaj v resnici potrebujemo od teh? Ok, pwr in thermo sta lahko koristna, vendar zvok, serijska vrata, wifi (že pokvarjen hw) ne potrebujemo vseh teh na črnem seznamu. Kasneje bom ustvaril tudi jedro po meri s samo potrebnimi moduli.

Kar potrebujemo in ni privzeto naloženo, je ACC CDC za komunikacijo z Arduinom, omogočite ga z:

echo "cdc-acm" >> /etc /moduli

Po tem lahko povezavo že preizkusite z:

screen /dev /ttyACM0 9600

Podatki o stanju bi morali biti prikazani vsakih 10 sekund.

Opozorila in spremljanje

Kot opozorila sem v nadzorno kodo C pravkar vnesel sistemske () klice, ki prejemajo podatke iz zaporedja, zato niso potrebna nobena zunanja orodja. Nekaj primerov opozoril:

- Temperatura preseže 30 ° C

- Vlažnost presega 70 % (ni zdrava za strežnike)

- Gibanje zaznano v sobi (to je lahko nadležno, če hodite v strežniško sobo)

- Zaznan je dim ali plin (opozorila, ki presegajo 100, je mogoče jemati resno, poigral sem se s tem senzorjem in se vklopi za veliko stvari, na primer ustvarjanje dima poleg senzorja s spajkalnikom je pri naslednjem kajenju cigarete povzročilo nekaj več kot 50) o povečal se je na 500, celo od daleč je zaznal plin iz običajnega dezodoranta)

Za hranjenje zgodovinskih podatkov se nisem potrudil pri razvoju orodja, kajti zakaj bi znova izumili kolo, ko imamo na voljo odlične okvire za spremljanje. Pokazal bom primer, kako to vključiti v svojo najljubšo, Zabbix:

apt-get install zabbix-agent

Dodajte na konec: /etc/zabbix/zabbix_agentd.conf

UserParameter = silverlight.hum, glava -1 /dev/shm/silverlight-zbx.log | awk -F "," '{print $ 1}'

UserParameter = silverlight.tmp, glava -1 /dev/shm/silverlight-zbx.log | awk -F "," '{print $ 2}' UserParameter = silverlight.sol, glava -1 /dev/shm/silverlight-zbx.log | awk -F "," '{print $ 4}' UserParameter = silverlight.mot, glava -1 /dev/shm/silverlight-zbx.log | awk -F "," '{print $ 5}' UserParameter = silverlight.smk, glava -1 /dev/shm/silverlight-zbx.log | awk -F "," '{natisni $ 6}'

Zagon zabbix_agentd -p bi moral vrniti pravilne vrednosti:

silverlight.hum [t | 41]

silverlight.tmp [t | 23] silverlight.sol [t | 144] silverlight.mot [t | 0] silverlight.smk [t | 19]

Indeks toplote ga zbiram, vendar ga ne vidim v praktični uporabi, zato je le zabeležen. V kontrolni kodi C sem izvedel 2 funkciji beleženja, prva bo beležila vse podatke v uporabniku prijazni obliki:

[SILVERLIGHT] Podatki, prejeti dne 2019-09-10 23:36:08 => Vlažnost: 44, Temp: 22, Najvišja: 25, Sončna: 0, Gibanje: 0, Dim: 21

[SILVERLIGHT] Podatki, prejeti ob 2019-09-10 23:36:18 => Vlažnost: 44, Temp: 22, Najvišja: 25, Solarna: 0, Gibanje: 0, Dim: 21 [SILVERLIGHT] Podatki, prejeti 2019-09 -10 23:36:29 => Vlažnost: 44, Temp: 22, Najvišja: 25, Sončna: 0, Gibanje: 0, Dim: 22 [SREBRNA SVETLOST] Podatki, prejeti ob 2019-09-10 23:36:39 => Vlažnost: 44, Temp: 22, Hi: 25, Sončna: 0, Gibanje: 0, Dim: 21

Drugi:

void logger2 (char *besedilo) {

FILE *f = fopen ("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) {printf ("Napaka pri odpiranju datoteke dnevnika pomnilnika! / n"); vrnitev; } fprintf (f, "%s", besedilo); fclose (f); vrnitev; }

S tem bo v pomnilnik vnesen 1 linijski dnevnik (odpraviti nepotrebne operacije rw na sdcard), ki bo naslednjič vedno prepisan. Ta dnevnik bo vseboval le 6 podatkovnih stolpcev in brez časovnega žiga, za Zabbix je lahko berljiv.

Kot zadnji bonus: kako programirati Arduino neposredno iz OrangePI, tako da vam ni treba vedno hoditi do naprave in priključiti prenosnika.

Obstajata 2 načina:

-Preprost način: Namestite polno Arduino IDE in knjižnice uporabite nekaj oddaljenega namizja, kot je X11 s posredovanjem, Xrdp, Xvnc, Nxserver itd

-Trden način: Namestite Arduino IDE in uporabite ukazno vrstico

Tokrat bomo šli na težji način, saj ne maram nameščanja X11 na strežnike. Za to potrebujete 6 komponent:

1, Arduino IDE za 32 -bitni ARM ->

2, Python serial-> apt-get install python-serial

3, Arduino Makefile projekt -> git clone

4, knjižnica DHT

5, definicije plošče Sparkfun

6, SilverLight.ino, glavna koda

Da bi bilo lažje, sem združil datoteke, potrebne za zadnje 4 točke (sketchbook.tgz), zato boste potrebovali le prvi 2

Najprej je najbolje ustvariti navadnega uporabnika, ki ima dostop do vrat USB USB:

adduser srebro

usermod -a -G dialout srebro

SCP sketchbook.tgz v napravo v domačem imeniku na novo ustvarjenega uporabnika in ga izvlecite tam:

cd /domači /srebrni

tar xvzf sketchbook.tgz

Če želite malo razumeti, kaj se dogaja pod pokrovom, ko uporabljate grafični IDE:

Postopek izdelave Arduinove skice pri uporabi Arduino IDE je opisan na spletnem mestu Arduino https://www.arduino.cc/en/Hacking/BuildProcess in podrobneje tukaj: https://www.arduino.cc/ sl/Hacking/BuildProcess

Na splošno je standardni postopek izdelave Arduino:

Združite datoteke.ino v glavno datoteko skice. Preoblikovanje glavne datoteke skice: dodajte stavek #include; ustvarite deklaracije funkcij (prototipe) vseh funkcij v glavni datoteki skice; vsebino datoteke main.cxx cilja dodajte v glavno datoteko skice. Sestavite kodo za datoteke objektov. Povežite objektne datoteke s.hex datoteko, pripravljeno za nalaganje v Arduino.

Med standardnim postopkom izdelave Arduino in postopkom izdelave z uporabo Arduino-Makefile obstaja nekaj majhnih razlik:

Podprta je samo ena datoteka.ino. Izjave o funkcijah se v datoteki.ino ne ustvarijo samodejno. Uporabnik mora poskrbeti za ustvarjanje pravilnih izjav funkcij.

Srce procesa izdelave je Makefile. Ne skrbite, vse je pripravljeno za vas, pri sestavljanju na ta način za nestandardne plošče, kot je serija SparkFun, je nekoliko bolj zapleteno.

BOARD_TAG = promicro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT =/dev/ttyACM0 USER_LIB_PATH =/home/silver/sketchbook/knjižnice ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silver.rket

Vse kar morate vnesti je: make upload (ki bo najprej zgradil datoteke.hex in nato za nalaganje uporablja avrdude), bo na koncu nekaj takega:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: Vnos imenika '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1]: Zapustitev imenika ' /home/silver/sketchbook 'make do_upload make [1]: Vnos imenika'/home/silver/sketchbook '/opt/arduino-1.8.9/hardware/tools/avr/bin/avrdude -q -V -p atmega32u4 - C /opt/arduino-1.8.9/hardware/tools/avr/etc/avrdude.conf -D -c avr109 -b 57600 -P/dev/ttyACM0 / -U bliskavica: w: build -promicro -16MHzatmega32U4/skica. hex: i Povezovanje s programerjem:. Najden programer: Id = "CATERIN"; type = S Software Version = 1.0; Različica strojne opreme ni podana. Programer podpira samodejno dodajanje. Programer podpira dostop do medpomnjenega pomnilnika z velikostjo medpomnilnika = 128 bajtov. Programer podpira naslednje naprave: Koda naprave: 0x44 avrdude: AVR naprava inicializirana in pripravljena sprejeti navodila avrdude: Podpis naprave = 0x1e9587 (verjetno m32u4) avrdude: branje vhodne datoteke "build-promicro-16MHzatmega32U4/sketchbook.hex" avrdude: zapisovanje bliskavice (11580 bajtov): avrdude: 11580 bajtov bliskavice zapisano avrdude: safemode: Varovalke v redu (E: CB, H: D8, L: FF) avrdude opravljeno. Hvala vam.

No hvala avrdude, zdaj je naš Arduino ponastavljen in programiran z novo kodo, kar lahko samo urejate z vi ali vašim najljubšim urejevalnikom lokalno, brez potrebe po IDE -jih. Ugotovil bi, da morate med nalaganjem zapreti tako nadzorni program C, zaslon ali karkoli drugega, ki dostopajo do arduina, sicer se bodo vrata po ponastavitvi vrnila kot /dev /ttyACM1.

3. korak: Zapiranje in seznam opravil

Zaključek in seznam opravil
Zaključek in seznam opravil
Zaključek in seznam opravil
Zaključek in seznam opravil
Zaključek in seznam opravil
Zaključek in seznam opravil

Čeprav sem ustvaril to škatlo z okoljskimi senzorji za strežniške sobe, jo lahko uporabite za kemijo/elektronske laboratorije, skladišča, običajne prostore in karkoli drugega. In ja, ker uporablja TCP/IP, je naprava IoT, G bi moral to uvrstiti tudi v naslov, da bi bil bolj podjeten:)

Strojno in programsko opremo lahko preprosto spremenite, da lahko samodejno vklopite tudi luči v sobi. Oglejte si moj drugi projekt: Senca feniksa, kako to deluje za nadzor svetlobe, imate pri roki vso strojno opremo za isto stvar (uporablja časovnike za zadrževanje, da luči ostanejo prižgane, dokler je bilo zaznano gibanje v časovno obdobje, če se znova pojavi premik časovnika).

Ker OrangePI izvaja armbian s polnim nizom, so možnosti neomejene, lahko ustvarite lokalni spletni vmesnik, napisan iz nič v php za prikaz zgodovinskih podatkov na grafih. Ali ni že bolje, da imate popolnoma odprtokodno napravo, ki nadzira vašo strežniško sobo, na kar ste lahko ponosni, če tako mislite, da jo zgradite sami!

Priporočena: