Sisukord:

SilverLight: Arduino -põhine keskkonnamonitor serveriruumide jaoks: 3 sammu (piltidega)
SilverLight: Arduino -põhine keskkonnamonitor serveriruumide jaoks: 3 sammu (piltidega)

Video: SilverLight: Arduino -põhine keskkonnamonitor serveriruumide jaoks: 3 sammu (piltidega)

Video: SilverLight: Arduino -põhine keskkonnamonitor serveriruumide jaoks: 3 sammu (piltidega)
Video: Arduino with Silverlight 2024, Juuli
Anonim
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele
SilverLight: Arduino -põhine keskkonnamonitor serveriruumidele

Kord anti mulle ülesanne otsida keskkonnasond minu ettevõtte serveriruumi temperatuuri jälgimiseks. Minu esimene idee oli: miks mitte kasutada lihtsalt Vaarika PI -d ja DHT -andurit, seda saab seadistada vähem kui tunni jooksul, sealhulgas operatsioonisüsteemi installimine. Selle eest sain külmalt vastu seotult ülematelt inimestelt, et me ei tee seda, sest selle seadistamine läheks tööajal rohkem maksma kui seadme ostmine. See, et ma võtsin osa oma elust sellise kitsa mõtlemisega inimesi vastu, oli üks asi ja ma tellisin Ebayst ettevõtlusklassi EATONi rämpsposti ja helistan sellele, kuid otsustasin sel hetkel, et ehitan oma serveriruumi jaoks täiesti avatud lähtekoodiga Arduino põhinev seade, mis on palju parem kui see, mille ma just tellisin.

See projekt kannab koodnimega SilverLight, ärge küsige, kust ma need nimed võtan:) Vaatasin just läikivat poolakrüülkarpi ja otsustasin selle nimega, sellel pole midagi pistmist microhoof tootega, millest ma pärast teada sain.

Samm: riistvara disain

Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain

Kaubandusliku riistvara ülevaade.

Ok, nii et ma isegi ei alusta, kelle suurepärane idee oli panna keskkonnamonitor tõusude sisse, kuid ilmselgelt on sellel turg, nii et vaatame, mida need teha saavad:

Keskkonnaseireseade ÜHILDUVUS

10/100 MB võrk-MS, PXGUPS, PXGPDP ja PXGMS.

10/100Mb ConnectUPS-X, ConnectUPS-BD ja ConnectUPS-E koos FW V3.01 ja uuematega. MÕÕDUD (LXWXH)

2,26 x 1,48 x 1,15 (tolli) 57,6 x 37,6 x 29,3 (mm) KAAL

1,19 untsi (34 g)

See on väga kasulik teave, kas pole? Ärge muretsege, sest nad ei saa palju teha. Isegi alustamiseks peab teie UPS-il olema selle jaoks veel üks kallis lisakaart, mis ühendab selle eraldi ostetud keskkonnaanduriga, tavaliselt tavalise CAT5-kaabliga (ärge isegi proovige midagi sellesse porti ühendada, kuna seal pole midagi standardset sellest). Nad väidavad, et seadmel on vaja kümme minutit "soojenemiseks", mis tegelikult oli tunde ja kui see kord läks, ilmnes see nende aeglaselt uuenevas java liideses ning meil on temperatuur ja niiskus. Sellest hetkest alates oli hoiatustel põhinevate tingimuste seadistamine lihtne, kuid keda huvitab, ehitame midagi paremat.

See projekt on ühendatud paljude minu projektidega: Natalia ilmajaam, Fööniksi vari. Kast suudab jälgida järgmisi keskkonnapiiranguid:

  • Temperatuuri/niiskuse/kuumuse indeks
  • LPG, suitsu, alkoholi, propaani, vesiniku, metaani ja vingugaasi sisaldus õhus (MQ2)
  • Päikesetundlikkus (kas serveriruumis süttib tuli?)
  • Liikumise PIR -andur (tänu liikumisandurile saate nüüd isegi tuled automaatselt sisse/välja lülitada, kui keegi tuppa siseneb)

Kõik need andmed kuvatakse kenasti LCD -ekraanil ja edastatakse ka arvutisse (Orange PI Zero) edasiseks töötlemiseks ja hoiatuste saamiseks. Kuigi digitaalseid andureid, nagu DHT ja MQ2 digitaalne tihvt, oleks võimalik ühendada otse OrangePI -ga, eelistan ma alati nende ülesannete jaoks kasutada spetsiaalseid mikrosid ja siis, kui teil on vaja värskendada ka LCD -d ja teha muud madalat taset Arduino on lihtsalt ületamatu ja suudab mitu aastat usaldusväärselt katkestusteta töötada (tegelikult pole ükski 24/7 töötav Arduino mul veel ebaõnnestunud). OrangePI koos selle puudustega (olgem ausad, see on 10 -dollarine arvuti), nagu suure töökoormuse jaoks kasutamiskõlbmatu, bsd -toe puudumine, integreeritud wifi on ülespuhutud jne, saab hõlpsasti hakkama väikese töökoormusega, näiteks anduri näitude võtmine jada (USB) kaudu ja nende töötlemine.

See on väga lihtne riistvaraprojekt, mis nõuab järgmisi komponente:

  • Arduino PRO Micro
  • LCD ekraan 2x16 tähemärki RGB
  • Vahelduvvoolu-alalisvoolu eraldusvõimsuse moodul 220V kuni 5V HLK-5M05 (need on Arduino/ESP projektide jaoks väga head), see on 5V/5W versioon!
  • 2x300ohm takistid
  • 2x kelgud (punane/roheline)
  • PIR liikumisandur
  • MQ2 andur
  • DHT22
  • LDR
  • Takisti 2X10Kohm
  • Sumin
  • Oranž PI Zero
  • mini USB -andmekaabel

Ma ei viitsinud isegi selle jaoks PCB -d teha, lihtsalt kasutasin tavalist leivaplaati, sest komponente saab lihtsalt Arduinoga ühendada (vt lisatud pilte):

-DHT22 nõuab 10K tõmmet VCC -le (digitaalne)

-LDR nõuab 10K allalaadimist GND -le (analoog)

-MQ2 saab otse ühendada mis tahes analoogpistikuga (analoog) <eelista kasutada analoogi, sest miks mitte siis, kui meil on analoogpistikutega MCU, kust saame täpse väärtuse, selle asemel et seadet tagaküljel mõne poti reguleerida, et saada HIGH või LOW out it, kuna minu disaini liimimine on niikuinii kättesaamatu. Vaata:

-PIR -i saab otse ühendada mis tahes tihvtiga (digitaalne)

-LCD: saab juhtida 4 tihvtiga, saab ühendada mis tahes tihvtiga (digitaalne) vajab +2 RS/E (digitaalne)

-Summer: saab otse ühendada mis tahes Arduino tihvtidega (digitaalne)

Minu kasutatav pinout on koodist näha. Kõigi ühendamine pärast seda on üsna lihtne, saate neid teha ka ükshaaval, veenduge, et 1 andur töötab ideaalselt, seejärel jätkake järgmisega, kõik, mida saate valesti teha, on kogemata juhtmete valede kohtade ühendamine (nt vcc vahetamine /gnd anduri jaoks, seni pole see ühtegi minu seadet tapnud). Siinkohal tahaksin märkida, et minu jaoks oli laotud liiga palju VCC -sid ja GND -sid, ma ei suutnud neid klemmliistust välja pigistada, nii et ma jootsin need kõik.

Samuti ärge unustage DHT -sid minu teistest projektidest: kui sisestate DHT -teeki oma koodi ja DHT -andur pole ühendatud või on DHT -ühendus valesti ühendatud (nt 11, mis on määratletud koodis, mida kasutate 22), võib see viia programmi alguses igaveseks rippuma.

PIR -liikumistuvastussensorite kohta, nagu näete minu pildil, on neid palju võltsitud võltsinguid, tegelikult oleks mul isegi raske ehtsat Ebayst osta. Võltsingud töötavad sama hästi isegi pikemas perspektiivis, kuid nende vooluahel on peegeldatud, mis põhjustab + ja - tihvtide ümberpööramise, samuti on neid lihtne ära tunda: sinine trükkplaat ei ole tavaline roheline, sildid puuduvad potimeetrid. Mul vedas, et leidsin oma karbist ehtsa, vastasel juhul kataks positsiooni muutmine minu jaoks 2 LED -i. Olen avastanud, et mõlemad potid pooleks väntasid minu jaoks. See annab teile piisavalt pika ajavahemiku, et tuvastada ka liikumise ajal, hoitakse digitaalset jalga umbes minuti jooksul KÕRGE asendis, nii et te ei pea seda koodi sisestama. Võltsidel on lihtne kindlaks teha, kumb pool on - ja + vaadake lihtsalt tihvtidega ühendatud elektrolüütikorkide vastavaid jalgu.

Karbi lõikamiseks kasutasin teemant dremeli pead (mis oli üleliigne, kuid töötas suurepäraselt) ja tavalist puurmasinat. Nende jaotuskarpidega on lihtne töötada ja kuigi mulle ei meeldi liimimine, ei olnud mul selle ehitamisel käepärast kruvisid ja polte, mistõttu võtsin kokku asjade liimimise (mida saab ka hõlpsalt uuesti soojendada ja lahti võtta, kasutades sama liimipüstol ilma täiteaineteta).

Samm 2: Tarkvara projekteerimine

Tarkvara disain
Tarkvara disain
Tarkvara disain
Tarkvara disain

Arduino kood on samuti lihtne, see tõmbab põhimõtteliselt kõik anduri näidud iga silmuse alguses. Lülitab valgusdioodid sisse, kui on liikumist või suitsu, ning annab suitsu korral ka helisignaalile helisignaali (see on ainus blokeerimiskood, nii et tegin selle lühikeseks), kuvab seejärel andmed LCD -ekraanil ja saadab need lõpuks üle arvuti 10 -sekundilise ooteajaga, mitte sadama üle ujutada.

See projekt kasutab ühesuunalist suhtlust Arduino-> OrangePI-st, ühtegi käsku pole rakendatud. Kuigi seda oleks täiesti võimalik teha, nagu tegin seda ühes oma teises projektis, kus arvuti saab saata LCD_PRINT1 või LCD_PRINT2, et kirjutada LCD -ekraani üks rida oma sõnumiga (nt: IP -aadress, tööaeg, süsteemi kuupäev, CPU kasutamine), ekraani ala on 3 anduri andmete kuvamiseks nii väike, et ma isegi ei viitsinud. Mõlemad SOL ja SMK väärtused võivad ulatuda 4 numbrini 0000-1023, võttes ekraanil juba 8 väärtuslikku tähemärki.

Vedelkristallekraaniga saate märgata koodis väikest trikki, et pärast iga mõõdetud väärtust kantakse tühikute trükk (""), seejärel liigutan kursori uute ikoonide ja andmete paigutamiseks kindlatesse kohtadesse. Need on olemas, sest vedelkristallekraan ei ole numbrite mõistmiseks nii tark, vaid joonistab selle, mida ta saab, ja näiteks kui teie päikeseenergia väärtus oli 525, mis järsku vähenes 3 -ni, kuvatakse ekraanil 325, mis jätab vana rämpsu ekraanile seal.

C -kontrollkood, mis töötab OrangePI -s ja logib keskkonnaandmeid ning saadab vajadusel meiliteateid.

OrangePI -s töötab Armbian (mis kirjutamise ajal põhineb Debian Stretchil). Lisan selle tarkvara osasse, kuna see oli hw probleem, mille see lahendas. Siin on seadme keskmine energiakulu:

0,17 A - ainult Arduino + andurid

0,5-0,62 A - OrangePI käivitamine

0,31 A - oranž PI tühikäigul

0,29 A - oranž PI on välja lülitatud (ei saa seda tegelikult välja lülitada, sellel pole ACPI -d või midagi sellist)

0,60 A - stressitesti 100% protsessori kasutus 4 südamikul

Mul oli see OrangePI karbis juba pikka aega. Vana kerneli korral tühjendas seade nii palju voolu (nagu arvesti ütles, et tipp oli umbes 0,63 A), mida ta toiteallikas tõenäoliselt ei suutnud pakkuda, et see lihtsalt ei käivitunud, alglaadimisprotsess oli ummikus ja sain 2 Etherneti LED -i põlema pidevalt ja mitte midagi tegemata.

Nüüd on see tüütu, kuna HLK-5M05 väidab, et see suudab 5 V toiteallikaga töötada 5 V võimsusel, mis võimaldab tal pakkuda 1 amprit, kuid kuna need seadmed tulevad Hiinast välja, ei tea te kunagi, et 0,63 A tipp oli nimiväärtusest madalam väärtus. Nii et mul olid käsil lihtsad taaskäivitustestid, alates 10 taaskäivitamisest käivitub OrangePI ainult kaks korda edukalt, mis pani mind peaaegu projektist välja viskama, kuna mulle ei meeldi lollakas ebaühtlane käitumine vooluringides. Nii et ma hakkasin guugeldama, võib -olla on võimalik tarkvara abil energiatarbimist alglaadimise ajal vähendada (kuna see oli alles siis probleem) ja leidsin mõne artikli, mis rääkis skripti.bin muutmisest, kuid see oli mõeldud Orange PI -arvutile ja failid puudusid salvestusruumist, nii et olen viimase abinõuna teinud maagilise "apt uuendamise", et uuendada püsivara, tuuma ja kõike muud, lootes, et see tühjeneb vähem ja seade saab käivitada ning:

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

Linux silverlight 4.19.62-sunxi #5.92 SMP Wed juuli 31, 22:07:23 CEST 2019 armv7l GNU/Linux

See töötas! Riistvara viskamine tarkvaraprobleemile on tavaliselt laiskade java arendajate koht, kuid sel juhul oleme lahendanud tarkvaraga seotud riistvaraprobleemi, mis on väga edukas. Olen teinud veel 20 taaskäivituskatset, mida seade käivitas igal üksikul juhul. Tahaksin siiski märkida, et Opi sisselülitamisel (ühendamine/lahtiühendamine) tekkiv voolutugevus on nii suur, et see lähtestab Arduino igal ajal (lihtne taaskäivitamine lihtsalt vilgutab LCD -ekraani, kuid ei tekita täiendavaid probleeme), kuid see probleem jääb peidetud, kuna 2 käivitatakse koos.

Vaatasin ka kerneli mooduleid:

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

Mida me neist tegelikult vajame? Ok, pwr ja termiline võivad olla kasulikud, kuid heli, jadaport, wifi (katkine hw juba), mida me ei vaja, võib kõik need musta nimekirja lisada. Samuti loon hiljem kohandatud kerneli ainult vajalike moodulitega.

Mida me vajame ja see pole vaikimisi laaditud, on CDC ACM Arduinoga suhtlemiseks, lubage see:

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

Pärast seda saate ühendust juba kontrollida:

screen /dev /ttyACM0 9600

Näete olekuandmeid, mida saadetakse iga 10 sekundi järel.

Hoiatused ja jälgimine

Alates hoiatustest sisestasin lihtsalt süsteemi () kõned C -juhtkoodi, mis saab andmed jadast, nii et väliseid tööriistu pole vaja. Mõned näidishoiatused:

- Temperatuur ületab 30 kraadi

- niiskus ületab 70 % (pole serverite jaoks tervislik)

- ruumis tuvastati liikumine (see võib olla tüütu, kui jätkate oma serveriruumi)

- Tuvastati suitsu või gaasi (üle 100 hoiatust võib tõsiselt võtta, olen selle anduriga ringi mänginud ja see lülitub sisse paljude asjade jaoks, näiteks jootekolbiga suitsu tekitamine anduri kõrvale andis veidi rohkem kui 50 järgmist suitsu o see tõusis 500 -ni, tuvastas isegi gaasi tavalisest deodorandist kaugelt)

Ajalooliste andmete säilitamiseks ei viitsinud ma tööriista välja töötada, sest milleks ratast leiutada, kui saime suurepärased jälgimisraamistikud. Näitan näidet, kuidas seda oma isiklikku lemmikusse Zabbixisse integreerida:

apt-get install zabbix-agent

Lisage lõppu: /etc/zabbix/zabbix_agentd.conf

UserParameter = silverlight.hum, pea -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}'

Käivitamine zabbix_agentd -p peaks nüüd tagastama õiged väärtused:

hõbedane.hum [t | 41]

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

Soojusindeks, ma kogun seda, kuid ei näe sellest praktilist kasu, nii et see on lihtsalt logitud. C kontrollkoodis olen rakendanud 2 logimisfunktsiooni, esimene logib kõik andmed kasutajasõbralikus vormingus:

[SILVERLIGHT] Andmed on saadud 2019-09-10 23:36:08 => Niiskus: 44, Temp: 22, Tere: 25, Päike: 0, Liikumine: 0, Suits: 21

[SILVERLIGHT] Andmed on saadud 2019-09-10 23:36:18 => Niiskus: 44, Temp: 22, Tere: 25, Päike: 0, Liikumine: 0, Suits: 21 [SILVERLIGHT] Andmed on saadud 2019-09 -10 23:36:29 => Niiskus: 44, temp: 22, tere: 25, päikeseenergia: 0, liikumine: 0, suits: 22 [SILVERLIGHT] Andmed on saadud 2019-09-10 23:36:39 => Niiskus: 44, temp: 22, tere: 25, päikeseenergia: 0, liikumine: 0, suits: 21

Teine:

tühine logger2 (sümbol *tekst) {

FILE *f = fopen ("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) {printf ("Viga mälu logifaili avamisel! / n"); tagasipöördumine; } fprintf (f, "%s", tekst); fclose (f); tagasipöördumine; }

See paneb mällu 1 vooderdise logi (kõrvaldab sd -kaardil mittevajalikud rw -toimingud), mis kirjutatakse järgmisel korral alati üle. See logi sisaldab ainult 6 andmeveergu ja ilma ajatempli, see on Zabbixi jaoks hõlpsasti loetav.

Viimase boonusena: kuidas programmeerida Arduino otse OrangePI -st, et te ei peaks iga kord seadme juurde kõndima ja sülearvutit ühendama.

On 2 võimalust:

-Lihtne viis: installige täielik Arduino IDE ja teegid kasutavad mõnda kaugtöölauda, näiteks X11 koos edasisuunamisega, Xrdp, Xvnc, Nxserver jne

-Raske viis: installige Arduino IDE ja kasutage käsurida

Seekord teeme rasket teed, sest mulle ei meeldi X11 serveritesse installida. Selleks vajate 6 komponenti:

1, Arduino IDE ARM 32 bitile ->

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

3, Arduino Makefile projekt -> git kloon

4, DHT raamatukogu

5, Sparkfuni tahvli määratlused

6, SilverLight.ino, põhikood

Selle lihtsustamiseks olen komplekteerinud viimase 4 punkti jaoks vajalikud failid (sketchbook.tgz), nii et vajate ainult kahte esimest

Kõigepealt on parem luua tavakasutaja, kellel on rw -juurdepääs USB -pordile:

lisakasutaja hõbe

usermod -a -G dialout hõbedane

SCP sketchbook.tgz vastloodud kasutaja kodukataloogi seadmesse ja ekstraktige see sealt:

cd /kodu /hõbe

tar xvzf sketchbook.tgz

Graafilise IDE kasutamisel kapoti all toimuva natuke mõistmiseks toimige järgmiselt.

Arduino eskiisi koostamise töövoogu Arduino IDE kasutamisel kirjeldatakse Arduino veebisaidil https://www.arduino.cc/en/Hacking/BuildProcess ja üksikasjalikumalt siin: https://www.arduino.cc/ et/Häkkimine/BuildProcess

Üldiselt on tavaline Arduino ehitamise protsess järgmine:

Kombineerige.ino -failid eskiisi põhifaili. Peamise visandifaili teisendamine: lisage lause #include; luua eskiisifaili kõigi funktsioonide funktsioonideklaratsioonid (prototüübid); lisage sihtmärgi faili main.cxx sisu peamisele visandifailile. Koostage kood objektfailide jaoks. Linkige objektifailid, et saada.hex -fail, mis on valmis Arduinole üles laadima.

Arduino standardse koostamisprotsessi ja Arduino-Makefile'i abil koostamise vahel on mõned väikesed erinevused:

Toetatud on ainult üks.ino -fail. Funktsioonideklaratsioone ei looda automaatselt.ino -faili. Kasutaja peab hoolitsema õigete funktsioonide deklaratsioonide loomise eest.

Koostamisprotsessi süda on Makefile. Ärge muretsege, kõik on teie jaoks ette valmistatud, see on natuke keerulisem sel viisil koostamisel mittestandardsete tahvlite jaoks nagu SparkFun seeria.

BOARD_TAG = reklaam

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT =/dev/ttyACM0 USER_LIB_PATH =/kodu/hõbe/sketchbook/raamatukogud ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silrdinoAsk

Ja kõik, mida peate sisestama, on: teha üleslaadimine (mis ehitab kõigepealt üles.hex -failid ja seejärel kasutab nende üleslaadimiseks avrdude), lõpuks saab midagi sellist:

mkdir -p build-promicro-16MHzatmega32U4

tee lähtestamine tee [1]: kataloogi '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1] sisestamine: kataloogist lahkumine /home/silver/sketchbook 'make do_upload make [1]: kataloogi sisenemine'/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 Ühendamine programmeerijaga:. Leitud programmeerija: Id = "CATERIN"; tüüp = S Tarkvara versioon = 1.0; Riistvara versiooni pole antud. Programmeerija toetab lisade automaatset suurendamist. Programmeerija toetab puhverdatud mälu juurdepääsu puhversuurusega = 128 baiti. Programmeerija toetab järgmisi seadmeid: Seadme kood: 0x44 avrdude: AVR-seade on initsialiseeritud ja juhiste vastuvõtmiseks valmis (11580 baiti): avrdude: 11580 baiti välklambiga kirjutatud avrdude: turvarežiim: Kaitsmed OK (E: CB, H: D8, L: FF) avrdude tehtud. Aitäh.

Aitäh, avrdude, ja nüüd on meie Arduino lähtestatud ja programmeeritud uue koodiga, mida saate lihtsalt vi või oma lemmikredaktoriga kohapeal redigeerida, IDE -sid pole vaja. Märgin, et üleslaadimise ajal peaksite sulgema nii C juhtimisprogrammi, ekraani kui ka kõik muu, mis arduinole juurde pääseb, vastasel juhul naaseb port pärast lähtestamist failina /dev /ttyACM1.

3. samm: sulgemine ja ülesannete loend

Sulgemise ja ülesannete loend
Sulgemise ja ülesannete loend
Sulgemise ja ülesannete loend
Sulgemise ja ülesannete loend
Sulgemise ja ülesannete loend
Sulgemise ja ülesannete loend

Kuigi ma lõin selle keskkonnaandurite kasti serveriruumide jaoks, saate seda kasutada keemia/elektroonikalaborite, ladude, tavaliste ruumide ja muu jaoks. Ja jah, kuna see kasutab TCP/IP -d, on see IoT -seade, G oleksin pidanud selle ka pealkirja panema, et muuta see ettevõtlikumaks:)

Saate hõlpsasti muuta nii riistvara kui ka tarkvara, et saaksite toas automaatselt ka tuled sisse lülitada. Heitke pilk mu teisele projektile: Phoenixi vari, kuidas see valguse juhtimiseks töötab, teil on kogu riistvara käepärast, et sama asja teha (see kasutab ooteajad, mis hoiavad tulesid põlemas seni, kuni tuvastati liikumist ajavahemik, kui uuesti liikuma hakatakse, tõuseb taimer üles).

Kuna OrangePI -l on täis virna Armbian, on võimalused piiramatud, saate luua PHP -s nullist kirjutatud kohaliku veebiliidese, et kuvada graafikutel ajaloolisi andmeid. Kas pole juba parem, kui teil on täielikult avatud lähtekoodiga seade, mis jälgib teie serveriruumi, mille ehitamise üle võite uhke olla, kui arvate, et see ise ehitatakse!

Soovitan: