Cuprins:

SilverLight: Monitor de mediu bazat pe Arduino pentru camere server: 3 pași (cu imagini)
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server: 3 pași (cu imagini)

Video: SilverLight: Monitor de mediu bazat pe Arduino pentru camere server: 3 pași (cu imagini)

Video: SilverLight: Monitor de mediu bazat pe Arduino pentru camere server: 3 pași (cu imagini)
Video: Daily use silver Anklets designs with price // latest Silver Payal Collection 2023 2024, Iulie
Anonim
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server
SilverLight: Monitor de mediu bazat pe Arduino pentru camere server

Odată ce mi s-a dat sarcina de a căuta o sondă de mediu pentru monitorizarea temperaturii în camera serverului companiei mele. Prima mea idee a fost: de ce să nu folosesc doar un Raspberry PI și un senzor DHT, acesta poate fi configurat în mai puțin de o oră, inclusiv instalarea sistemului de operare. Pentru aceasta, am primit răspunsul rece de la oamenii cu șefi legați la ochi, că nu vom face acest lucru, deoarece ar costa mai mult în orele de lucru pentru a-l configura decât să cumpăr un dispozitiv. A trebuit să accept oameni cu o minte îngustă ca asta pentru o parte din viața mea a fost un lucru și am comandat niște jetoane EATON de calitate pentru întreprinderi de pe Ebay și le sun, dar am decis în acel moment că, pentru propria mea cameră de server, voi construi un Arduino complet Open Source dispozitiv bazat pe care va fi mult mai bun decât ceea ce tocmai am comandat.

Acest proiect poartă numele de cod SilverLight, nu mă întrebați de unde am aceste nume:) Tocmai m-am uitat la cutia lucioasă pe jumătate din acril și am decis cu acest nume, nu are nimic de-a face cu produsul microhoof despre ce am aflat după.

Pasul 1: Proiectare hardware

Proiectare hardware
Proiectare hardware
Proiectare hardware
Proiectare hardware
Proiectare hardware
Proiectare hardware

Prezentare generală a hardware-ului comercial.

Ok, așa că nici măcar nu încep cu a cărei idee grozavă a fost să pun un monitor de mediu în interiorul unui UPS, dar evident că există o piață pentru acesta, așa că hai să vedem ce pot face acestea:

COMPATIBILITATE dispozitiv de monitorizare a mediului

Rețeaua de 10 / 100Mb, MS, PXGUPS, PXGPDP și PXGMS.

ConnectUPS-X de 10 / 100Mb, ConnectUPS-BD și ConnectUPS-E cu FW V3.01 și mai mare. DIMENSIUNI (LXWXH)

2,26 x 1,48 x 1,15 (țoli) 57,6 x 37,6 x 29,3 (mm) GREUTATE

1,19 oz (34 g)

Sunt informații foarte utile, nu-i așa? Nu vă faceți griji pentru că nu pot face mare lucru. Pentru a începe chiar și UPS-ul dvs. va trebui să aibă un alt card suplimentar scump care conectează acest lucru cu senzorul de mediu pe care îl cumpărați separat, de obicei cu cablu CAT5 standard (nici măcar nu încercați să conectați nimic la acel port deoarece nu există nimic standard despre). Ei susțin că dispozitivul are nevoie de 10 minute pentru a se „încălzi”, ceea ce în realitate a durat câteva ore și, odată ce a funcționat, a apărut în interfața java care se actualizează încet și avem temperatură și umiditate. Configurarea condițiilor bazate pe alerte a fost ușoară din acest punct, dar cui îi pasă să construim ceva mai bun.

Acest proiect este o combinație de mai multe dintre proiectele mele: stația meteo Natalia, Shadow of Phoenix. Caseta poate monitoriza următoarele constrângeri de mediu:

  • Indicele de temperatură / umiditate / căldură
  • Concentrații de GPL, fum, alcool, propan, hidrogen, metan și monoxid de carbon în aer (MQ2)
  • Sensibilitate solară (lumina este aprinsă în camera serverului?)
  • Senzor de mișcare PIR (puteți chiar să aprindeți / opriți automat luminile de acum înainte datorită senzorului de mișcare când cineva intră în cameră)

Toate aceste date sunt afișate frumos pe un ecran LCD, în timp ce sunt transmise și către un computer (Orange PI Zero) pentru procesare și alerte ulterioare. Deși ar fi posibil să conectați direct senzori digitali precum DHT și pinul digital al MQ2 la OrangePI, prefer întotdeauna să folosesc micros dedicate pentru aceste sarcini și când trebuie să actualizați și LCD-ul și să faceți alt nivel scăzut Chestii, Arduino este imbatabil și poate rula în mod fiabil non-stop timp de mulți ani (de fapt, nici măcar un singur Arduino care rulează 24/7 nu mi-a eșuat încă). OrangePI cu deficiențele sale (să recunoaștem că este un computer de 10 $), ca inutilizabil pentru sarcini grele, fără suport BSD, wifi integrat este umflat, etc. poate gestiona cu ușurință sarcini de lucru mici, cum ar fi preluarea citirilor senzorilor prin serial (USB) și prelucrarea lor.

Acesta este un proiect hardware foarte simplu, care necesită următoarele componente:

  • Arduino PRO Micro
  • Ecran LCD 2x16 caractere RGB
  • Modul de alimentare al comutatorului izolator AC-DC 220V la 5V HLK-5M05 (acestea sunt foarte bune pentru proiectele Arduino / ESP), aceasta este versiunea 5V / 5W!
  • Rezistoare 2x300ohm
  • 2xleds (roșu / verde)
  • Senzor de mișcare PIR
  • Senzor MQ2
  • DHT22
  • LDR
  • Rezistor 2X10Kohm
  • Buzzer
  • Orange PI Zero
  • cablu de date mini USB

Nici măcar nu m-am deranjat să creez un PCB pentru acest panou obișnuit, deoarece componentele pot fi conectate pur și simplu la Arduino (vezi imaginile atașate):

-DHT22 va necesita o extragere de 10K la VCC (digital)

-LDR va necesita o deplasare de 10K către GND (analog)

-MQ2 poate fi conectat direct la orice pin analogic (analogic) <preferăm să folosim analog pentru că de ce nu atunci când avem un MCU cu pini analogici, unde putem obține valoarea exactă în loc să ajustăm o oală pe spatele dispozitivului pentru a obține HIGH sau LOW din ea, datorită lipirii din designul meu care oricum este inaccesibilă. Verificați:

-PIR poate fi conectat direct la orice pin (digital)

-LCD: poate fi condus cu 4 pini, poate fi conectat la orice pin (digital) va avea nevoie de +2 RS / E (digital)

-Buzzer: poate fi conectat direct la orice pin Arduino (digital)

Pinout-ul pe care l-am folosit poate fi văzut în cod. Conectarea tuturor împreună după aceasta este destul de simplă, le puteți face, de asemenea, unul câte unul, asigurați-vă că un senzor funcționează perfect, apoi treceți la următorul, tot ceea ce puteți greși este conectarea greșită a firelor la locuri greșite (de exemplu, schimbarea vcc / gnd pentru un senzor, până acum acest lucru nu a ucis niciunul dintre dispozitivele mele). Ceea ce aș nota aici că erau prea multe VCC și GND-uri stivuite pentru mine, nu le-am putut strânge printr-o bandă terminală, așa că le-am lipit pe toate.

De asemenea, despre DHT-uri nu uitați de celelalte proiecte ale mele: dacă puneți biblioteca DHT în cod și senzorul DHT nu este conectat sau DHT greșit este conectat (de exemplu, 11 definit în cod pe care îl utilizați 22) care poate duce la program să atârne veșnic la început.

Despre senzorii de detectare a mișcării PIR, după cum puteți vedea pe poza mea, există o mulțime de contrafaceri false, chiar aș fi greu să cumpăr unul autentic de la Ebay. Falsurile funcționează la fel de bine, chiar și pe termen lung, dar au circuitul oglindit, ceea ce face ca pinii + și - să fie inversați, de asemenea, aceștia sunt ușor de recunoscut: vin cu PCB albastru, nu verde obișnuit, lipsesc etichetele pentru potmeters. Am avut norocul să găsesc un autentic în cutia mea, altfel schimbarea poziției ar acoperi cele 2 leduri pentru mine. Am constatat că ambele vase au pornit până la jumătatea drumului pentru mine. Acest lucru vă va oferi un interval suficient de lung pentru a detecta, de asemenea, atunci când există mișcare, piciorul digital va fi ținut în poziția HIGH pentru aproximativ un minut, deci nu trebuie să vă reveniți în cod pentru acest lucru. Pe falsuri este ușor să determinați ce parte este - și + uitați-vă doar la picioarele corespunzătoare pentru capacele electrolitice conectate la știfturi.

Pentru tăierea cutiei, am folosit un cap de dremel cu diamant (care a fost un exces, dar a funcționat excelent) și o mașină de găurit obișnuită. Aceste cutii de joncțiune sunt ușor de lucrat și, deși nu-mi place lipirea, nu aveam șuruburi și șuruburi la îndemână atunci când construiam acest lucru, așa că am luat chilipirul lipirii lucrurilor împreună (care poate fi, de asemenea, ușor reîncălzit și demontat ulterior folosind aceeași gluegun fără filament în el).

Pasul 2: Proiectare software

Proiectare software
Proiectare software
Proiectare software
Proiectare software

Codul Arduino este și el simplu, practic trage toate citirile senzorilor la începutul fiecărei bucle. Aprinde LED-urile dacă există mișcare sau fum și, de asemenea, redă un sunet de alarmă pe buzzer dacă există fum (acesta este singurul cod de blocare, așa că l-am scurtat), apoi afișează datele pe LCD și, în cele din urmă, le trimite pe computer cu o perioadă de așteptare de 10 secunde, pentru a nu inunda portul.

Acest proiect utilizează o comunicare unidirecțională de la Arduino-> OrangePI, nu există niciun fel de comenzi implementate. Deși acest lucru ar fi perfect posibil, așa cum am făcut-o într-unul din celelalte proiecte ale mele, în care computerul poate trimite LCD_PRINT1 sau LCD_PRINT2 pentru a suprascrie o linie a ecranului LCD cu propriul mesaj (de exemplu: adresa IP, uptime, data sistemului, utilizarea CPU), zona ecranului este atât de mică pentru afișarea datelor de la 3 senzori încât nici măcar nu m-am deranjat. Valorile SOL și SMK pot merge până la 4 cifre 0000-1023 ocupând deja 8 caractere valoroase pe ecran.

Cu ecranul LCD puteți observa un mic truc în cod că după fiecare valoare măsurată se aplică o imprimare a spațiilor albe (""), apoi mut cursorul în poziții fixe pentru a plasa noile pictograme și date. Acestea sunt acolo, deoarece LCD-ul nu este atât de inteligent pentru a înțelege numerele, ci doar atrage ceea ce obține și, de exemplu, dacă ați avut o valoare solară de 525 care a scăzut brusc la 3, atunci va afișa 325 lăsând vechea nedorită pe ecran Acolo.

Un cod de control C care rulează pe OrangePI și care înregistrează datele de mediu și trimite alerte prin e-mail atunci când este necesar.

OrangePI rulează Armbian (care la momentul scrierii se bazează pe Debian Stretch). Voi include acest lucru în partea software cu privire la faptul că a fost o problemă de mare rezolvare. Iată consumul mediu de energie al dispozitivului:

0,17 A - numai Arduino + senzori

0,5-0,62 A - Pornire OrangePI

0,31 A - Portocaliu PI în mers în gol

0,29 A - Orange PI oprit (nu-l poate închide, nu are ACPI sau ceva de genul acesta)

0,60 A - Test de stres 100% utilizare CPU pe 4 nuclee

Am avut acest OrangePI într-o cutie de mult timp. Cu vechiul nucleu, dispozitivul a golit atât de mult curent (așa cum spunea contorul, a atins un vârf de aproximativ 0,63 A), ceea ce el nu a putut furniza, probabil, că pur și simplu nu a pornit, procesul de încărcare a fost blocat și am primit cele 2 leduri ethernet aprinse constant și fără a face nimic.

Acum, acest lucru este un pic enervant, deoarece HLK-5M05 susține că poate face 5W pe 5V, ceea ce îl face capabil să furnizeze 1 amp, dar cu aceste dispozitive care ies din China, nu se știe niciodată, vârful de 0,63 A a fost mult mai mic decât valoarea maximă nominală valoare. Așa că am executat teste simple de repornire, de la 10 reporniri OrangePI ar porni doar de două ori cu succes, ceea ce aproape m-a făcut să-l arunc din proiect, deoarece nu-mi place comportamentul incoerent al buggy-ului în circuite. Așa că am început să merg la Google, poate există o modalitate de a reduce consumul de energie la pornire de la software (deoarece era doar o problemă atunci) și am găsit un articol care vorbea despre modificarea script-ului.bin, dar era pentru PC-ul Orange PI și pentru fișierele lipseau din stocare, așa că, în ultimă instanță, am făcut „upgrade-ul apt” magic pentru a actualiza firmware-ul, nucleul și orice altceva, sperând că se va scurge mai puțin și dispozitivul poate porni și:

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

Linux silverlight 4.19.62-sunxi # 5.92 SMP Miercuri 31 iulie 22:07:23 CEST 2019 armv7l GNU / Linux

A mers! Aruncarea hardware-ului către o problemă de software este, de obicei, dezvoltatorii Java leneși să meargă, dar în acest caz am rezolvat o problemă hardware cu software-ul, ce succes mare. Am făcut ca încă 20 de teste de repornire dispozitivul a pornit fiecare caz. Aș mai observ că creșterea de putere de la pornirea Opi (conectarea / deconectarea) este atât de mare încât va reseta Arduino în orice moment (o simplă repornire va clipi LCD-ul, dar nu va cauza alte probleme), dar această problemă rămâne ascunse deoarece cele 2 vor fi pornite împreună.

De asemenea, m-am uitat la modulele kernel:

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

De ce avem nevoie cu adevărat de la acestea? Ok, pwr și termic ar putea fi utile, dar sunetul, portul serial, wifi (hw deja rupt) nu avem nevoie de toate acestea pot fi incluse pe lista neagră. De asemenea, voi crea un kernel personalizat cu doar modulele necesare mai târziu.

Ceea ce avem nevoie și nu este încărcat în mod implicit este CDC ACM pentru a comunica cu Arduino, activați-l cu:

ecou "cdc-acm" >> / etc / modules

După aceasta, puteți testa deja conexiunea cu:

ecran / dev / ttyACM0 9600

Ar trebui să vedeți datele de stare trimise la fiecare 10 secunde.

Alerte și monitorizare

În ceea ce privește alertele, tocmai am introdus apeluri system () în codul de control C, care primește datele de la serial, astfel încât nu sunt necesare instrumente externe. Câteva exemple de alerte:

- Temperatura depășește 30 C

- Umiditatea depășește 70% (nu este sănătoasă pentru servere)

- Mișcare detectată în cameră (acest lucru poate fi enervant dacă continuați în camera serverului)

- Fumul sau gazul detectat (alertele de peste 100 pot fi luate în serios, m-am jucat cu acest senzor și se aprinde pentru o mulțime de lucruri, de exemplu, crearea fumului lângă senzor cu fier de lipit a rezultat puțin peste 50 în timp ce fumatul țigară în continuare o a crescut până la 500, a detectat chiar și gaz de la un deodorant obișnuit de departe)

Pentru păstrarea datelor istorice, nu m-am deranjat să dezvolt un instrument, de ce să reinventăm roata atunci când avem cadre de monitorizare excelente acolo. Voi arăta un exemplu despre cum să integrez acest lucru în preferatul meu personal, Zabbix:

apt-get install zabbix-agent

Adăugați la sfârșitul: /etc/zabbix/zabbix_agentd.conf

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

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

Rularea zabbix_agentd -p ar trebui să returneze acum valorile adecvate:

silverlight.hum [t | 41]

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

Indicele de căldură, îl colectez, dar nu văd nicio utilizare practică a acestuia, așa că este doar înregistrat. În codul de control C am implementat 2 funcții de înregistrare, prima va înregistra toate datele într-un format ușor de utilizat:

[SILVERLIGHT] Date primite la 10.09.2019 23:36:08 => Umiditate: 44, Temp: 22, Bună: 25, Solar: 0, Mișcare: 0, Fum: 21

[SILVERLIGHT] Date primite la 10.09.2019 23:36:18 => Umiditate: 44, Temp: 22, Bună: 25, Solar: 0, Mișcare: 0, Fum: 21 [SILVERLIGHT] Date primite la 2019-09 -10 23:36:29 => Umiditate: 44, Temp: 22, Bună: 25, Solar: 0, Mișcare: 0, Fum: 22 [SILVERLIGHT] Date primite la 10.09.2019 23:36:39 => Umiditate: 44, Temp: 22, Bună: 25, Solar: 0, Mișcare: 0, Fum: 21

Al doilea:

void logger2 (char * text) {

FILE * f = fopen ("/ dev / shm / silverlight-zbx.log", "w"); if (f == NULL) {printf ("Eroare la deschiderea fișierului jurnal de memorie! / n"); întoarcere; } fprintf (f, "% s", text); fclose (f); întoarcere; }

Acest lucru va pune un jurnal de 1 liner în memorie (va elimina operațiile rw inutile de pe sdcard) care vor fi întotdeauna suprascrise data viitoare. Acest jurnal va conține doar cele 6 coloane de date și nu are marcaj de timp, este ușor de citit pentru Zabbix.

Ca un bonus final: cum să programați Arduino direct de la OrangePI, astfel încât să nu trebuie să vă apropiați de dispozitiv de fiecare dată și să vă conectați laptopul.

Există 2 moduri:

-Mod ușor: Instalați IDE Arduino complet și bibliotecile folosesc unele desktop-uri la distanță, cum ar fi X11 cu redirecționare, Xrdp, Xvnc, Nxserver etc.

-Mod greu: Instalați IDE-ul Arduino și utilizați linia de comandă

De data aceasta o vom face cu greu, deoarece nu-mi place să instalez X11 pe servere. Pentru aceasta veți avea nevoie de 6 componente:

1, Arduino IDE pentru ARM pe 32 de biți ->

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

3, proiect Arduino Makefile -> git clone

4, bibliotecă DHT

5, definițiile plăcii Sparkfun

6, SilverLight.ino, cod principal

Pentru a fi mai ușor, am grupat fișierele necesare pentru ultimele 4 puncte (sketchbook.tgz), astfel încât veți avea nevoie doar de primele 2

Mai întâi este cel mai bine să creați un utilizator obișnuit care are acces rw la portul USB:

adduser argint

usermod -a -G dialout argintiu

SCP sketchbook.tgz pe dispozitivul din directorul principal al utilizatorului nou creat și extrageți-l chiar acolo:

cd / acasă / argintiu

tar xvzf sketchbook.tgz

Pentru a înțelege puțin ce se întâmplă sub capotă atunci când utilizați IDE grafic:

Fluxul de lucru de construire a construirii unei schițe Arduino atunci când se utilizează Arduino IDE este descris pe site-ul web Arduino https://www.arduino.cc/en/Hacking/BuildProcess și mai detaliat aici: https://www.arduino.cc/ ro / Hacking / BuildProcess

În general, procesul de construire standard Arduino este:

Combinați fișierele.ino în fișierul schiță principal. Transformarea fișierului schiță principal: adăugați declarația #include; creați declarații de funcții (prototipuri) ale tuturor funcțiilor din fișierul schiță principal; atașați conținutul fișierului main.cxx al țintei la fișierul schiță principal. Compilați codul în fișiere obiect. Conectați fișierele obiect la un fișier.hex pregătit pentru încărcarea acestuia pe Arduino.

Există câteva ușoare diferențe între procesul de construire standard Arduino și procesul de construire utilizând Arduino-Makefile:

Este acceptat un singur fișier.ino. Declarațiile de funcții nu sunt create automat în fișierul.ino. Utilizatorul trebuie să aibă grijă să creeze declarațiile funcționale corecte.

Inima procesului de construcție este Makefile. Nu vă faceți griji, totul este pregătit pentru dvs., este puțin mai complicat atunci când compilați în acest fel pentru plăci non-standard precum seria SparkFun.

BOARD_TAG = promicro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT = / dev / ttyACM0 USER_LIB_PATH = / home / silver / sketchbook / libraries ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silver/sketchbook/Ardu

Și tot ce trebuie să tastați este a: face upload (care va construi mai întâi fișierele.hex, apoi folosește avrdude pentru a le încărca), se va termina cu ceva de genul:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: Introducerea directorului '/ home / silver / sketchbook' / home / silver / sketchbook / Arduino-Makefile / bin / ard-reset-arduino --caterina / dev / ttyACM0 make [1]: Ieșirea din director ' / home / silver / sketchbook 'make do_upload make [1]: Introducerea directorului' / 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 flash: w: build-promicro-16MHzatmega32U4 / sketchbook. hex: i Conectarea la programator:. Programator găsit: Id = "CATERIN"; tip = Versiunea software S = 1.0; Fără versiune hardware dată. Programatorul acceptă creșterea automată a adr. Programatorul acceptă acces la memorie tamponată cu buffersize = 128 bytes. Programatorul acceptă următoarele dispozitive: Cod dispozitiv: 0x44 avrdude: dispozitivul AVR inițializat și gata să accepte instrucțiunile avrdude: Semnătura dispozitivului = 0x1e9587 (probabil m32u4) avrdude: citirea fișierului de intrare "build-promicro-16MHzatmega32U4 / sketchbook.hex" avrdude: scrierea blițului (11580 octeți): avrdude: 11580 octeți de flash scris avrdude: safemode: Siguranțe OK (E: CB, H: D8, L: FF) avrdude terminat. Mulțumesc.

Ei bine, mulțumesc avrdude, iar acum Arduino-ul nostru este resetat și programat cu noul cod, ceea ce puteți edita doar cu vi sau editorul dvs. preferat la nivel local, fără a fi nevoie de IDE. Aș nota că ar trebui să închideți atât programul de control C, ecranul sau orice altceva care accesează arduino în timpul încărcării, altfel portul va reveni ca / dev / ttyACM1 după resetare.

Pasul 3: Închidere și Listă Todo

Închidere și Listă Todo
Închidere și Listă Todo
Închidere și Listă Todo
Închidere și Listă Todo
Închidere și Listă Todo
Închidere și Listă Todo

Deși am creat această cutie de senzori de mediu pentru camere de servere, o puteți folosi pentru laboratoare de chimie / electronice, depozite, camere obișnuite și orice altceva. Și da, deoarece folosește TCP / IP, este un dispozitiv IoT, G ar fi trebuit să pun asta și la titlu pentru a-l face mai întreprinzător:)

Puteți modifica cu ușurință atât hardware-ul, cât și software-ul pentru a putea aprinde automat și luminile din cameră. Uitați-vă la celălalt proiect al meu: Shadow of Phoenix cum funcționează acest lucru pentru controlul luminii, aveți la dispoziție tot hardware-ul pentru a face același lucru (folosește temporizatoare de menținere pentru a menține luminile aprinse atâta timp cât a fost detectată mișcare într-un perioadă de timp, dacă există mișcare din nou, un temporizator va fi blocat).

Cu OrangePI care rulează un Armbian complet, posibilitățile sunt nelimitate, puteți crea o interfață web locală scrisă de la zero în php pentru a afișa datele istorice pe grafice. Nu este deja mai bine că aveți un dispozitiv Open Source complet care vă monitorizează camera serverului cu ce vă puteți mândri că construiți, dacă credeți că construiți-l singur!

Recomandat: