Obsah:

SilverLight: Environmentálny monitor založený na Arduine pre serverové miestnosti: 3 kroky (s obrázkami)
SilverLight: Environmentálny monitor založený na Arduine pre serverové miestnosti: 3 kroky (s obrázkami)
Anonim
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti
SilverLight: Monitor prostredia Arduino pre serverové miestnosti

Raz som dostal za úlohu hľadať sondu životného prostredia na monitorovanie teploty v serverovni mojej spoločnosti. Moja prvá myšlienka bola: prečo nepoužiť Raspberry PI a snímač DHT, je možné ho nainštalovať za menej ako hodinu vrátane inštalácie operačného systému. Za to som dostal chladnú odpoveď od panovačných ľudí so zaviazanými očami, že to neurobíme, pretože jeho nastavenie by stálo viac v pracovnom čase ako nákup zariadenia. To, že som musel časť svojho života akceptovať takto úzkoprsých ľudí, bola jedna vec a objednal som si nejaký nevyžiadanú poštu EATON z Ebay a nazval som to, ale v tej chvíli som sa rozhodol, že pre svoju vlastnú serverovňu vybudujem kompletne open source Arduino. zariadenie, ktoré bude oveľa lepšie ako to, čo som si práve objednal.

Tento projekt nesie kódový názov SilverLight, nepýtajte sa ma, odkiaľ tieto názvy beriem:) Len som sa pozrel na lesklú polovičnú akrylovú škatuľu a rozhodol som sa s týmto názvom, nemá to nič spoločné s výrobkom microhoof, o ktorom som sa dozvedel po.

Krok 1: Návrh hardvéru

Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn

Prehľad komerčného hardvéru.

Ok, takže ani nezačínam, ktorého skvelým nápadom bolo vložiť monitor životného prostredia do ups, ale evidentne pre to existuje trh, takže sa pozrime, čo tieto nástroje dokážu:

Zariadenie na monitorovanie životného prostredia KOMPATIBILITA

10/100 Mb sieť-MS, PXGUPS, PXGPDP a PXGMS.

10/100Mb ConnectUPS-X, ConnectUPS-BD a ConnectUPS-E s FW V3.01 a vyšším. ROZMERY (D x Š x V)

VÁHA 2,26 x 1,48 x 1,15 (palca) 57,6 x 37,6 x 29,3 (mm)

1,19 oz (34 g)

To je veľmi užitočná informácia, nie? Nebojte sa, pretože toho veľa nedokážu. Na to, aby mohol váš UPS dokonca začať, bude na to potrebovať ďalšiu drahú prídavnú kartu, ktorá ho prepojí s environmentálnym senzorom, ktorý si kúpite samostatne, zvyčajne so štandardným káblom CAT5 (ani sa nepokúšajte zapojiť čokoľvek do tohto portu, pretože neexistuje nič štandardné) o tom). Tvrdí, že zariadenie potrebuje 10 minút na „zahriatie“, že v skutočnosti to boli hodiny a akonáhle sa to stalo, ukázalo sa to v ich pomaly sa aktualizujúcom rozhraní Java a máme teplotu a vlhkosť. Od tohto bodu bolo jednoduché nastaviť podmienky založené na upozorneniach, ale koho to zaujíma, postavme niečo lepšie.

Tento projekt je spojením viacerých mojich projektov: meteorologická stanica Natalia, Shadow of phoenix. Box je schopný monitorovať nasledujúce environmentálne obmedzenia:

  • Index teploty/vlhkosti/tepla
  • Koncentrácie LPG, dymu, alkoholu, propánu, vodíka, metánu a oxidu uhoľnatého vo vzduchu (MQ2)
  • Citlivosť na slnečné žiarenie (svieti svetlo v serverovni?)
  • Pohybový PIR senzor (dokonca môžete odteraz automaticky zapínať/vypínať svetlá vďaka pohybovému senzoru, keď niekto vstúpi do miestnosti)

Všetky tieto údaje sa pekne zobrazujú na obrazovke LCD a zároveň sa prenášajú do počítača (Orange PI Zero) na ďalšie spracovanie a upozornenia. Aj keď by bolo možné pripojiť digitálne snímače, ako napríklad DHT a digitálny kolík MQ2, priamo k OrangePI, vždy dávam prednosť použitiu vyhradených mikrospínačov na tieto úlohy a vtedy, keď potrebujete aktualizovať aj displej LCD a vykonať inú nízku úroveň. veci, Arduino je jednoducho bezkonkurenčné a môže spoľahlivo fungovať nepretržite mnoho rokov (v skutočnosti na mňa zatiaľ nesklamalo ani jedno Arduino, ktoré beží 24/7). OrangePI so svojimi nedostatkami (priznajme si, že je to počítač za 10 dolárov), ako nepoužiteľný pre veľké pracovné zaťaženie, bez podpory bsd, integrovaná sieť Wi -Fi je nadúvaná atď., Bez problémov zvládne malé pracovné zaťaženie, ako je odčítanie údajov zo senzorov cez sériový port (USB) a ich spracovanie.

Jedná sa o veľmi jednoduchý hardvér projektu, ktorý vyžaduje nasledujúce komponenty:

  • Arduino PRO Micro
  • LCD obrazovka 2x16 znakov RGB
  • Výkonový modul oddeľovacieho spínača AC-DC 220V až 5V HLK-5M05 (tieto sú veľmi dobré pre projekty Arduino/ESP), toto je verzia 5V/5W!
  • Rezistory 2x300 ohmov
  • 2 -krát (červená/zelená)
  • Snímač pohybu PIR
  • Senzor MQ2
  • DHT22
  • LDR
  • Rezistor 2 x 10 kohmov
  • Bzučiak
  • Oranžová PI nula
  • mini USB dátový kábel

Ani som sa neobťažoval vyrábať dosku plošných spojov pre tento práve používaný bežný doska, pretože komponenty je možné jednoducho pripojiť k Arduinu (pozri obrázky v prílohe):

-DHT22 bude vyžadovať 10K sťahovanie do VCC (digitálne)

-LDR bude vyžadovať 10K rozbalenie na GND (analógový)

-MQ2 je možné priamo pripojiť k akémukoľvek analógovému kolíku (analógovému) <preferujte použitie analógového, pretože prečo nie, keď máme MCU s analógovými kolíkmi, kde môžeme získať presnú hodnotu namiesto toho, aby sme upravili nejaký hrniec na zadnej strane zariadenia, aby sme získali HIGH alebo NÍZKO z toho kvôli lepeniu v mojom návrhu, ktoré je aj tak nedostupné. Skontrolujte:

-PIR je možné priamo pripojiť k akémukoľvek pinu (digitálnemu)

-LCD: môže byť poháňaný 4 pinmi, môže byť pripojený k akémukoľvek pinu (digitálny) bude potrebovať +2 RS/E (digitálny)

-Buzzer: môže byť priamo pripojený k akýmkoľvek pinom Arduino (digitálnym)

Pinout, ktorý som použil, je viditeľný v kóde. Pripojenie všetkého dohromady potom prebieha celkom jednoducho. Môžete ich tiež vykonať jeden po druhom, uistiť sa, že 1 snímač funguje perfektne, a potom pristúpiť k ďalšiemu. Všetko, čo sa môžete pokaziť, je omylom, keď prepojíte vodiče s nesprávnymi miestami (napr. Vcc /gnd pre senzor, zatiaľ to nikdy nezabilo žiadne moje zariadenie). Čo by som tu poznamenal, že na mňa bolo nahromadených príliš veľa VCC a GND, nemohol som ich pretlačiť cez svorkovnicu, takže som ich všetky spájkoval.

Nezabudnite tiež na DHT z mojich ďalších projektov: ak do kódu vložíte knižnicu DHT a snímač DHT nie je pripojený alebo je nesprávne pripojený DHT (napr. 11 definovaných v kóde, ktorý používate 22), môže to viesť k programu večne visieť na začiatku.

Pokiaľ ide o senzory detekcie pohybu PIR, ako vidíte na mojom obrázku, existuje veľa týchto falošných falzifikátov, v skutočnosti by som dokonca ťažko kúpil pravý z Ebay. Falzifikáty fungujú rovnako dobre, dokonca aj z dlhodobého hľadiska, ale majú zrkadlený obvod, čo spôsobuje obrátenie pinov + a -, ktoré je tiež ľahké rozpoznať: z modrého PCB nie z bežnej zelenej, chýbajú štítky pre potmetre. Mal som šťastie, že som vo svojom boxe našiel originál, inak by zmena polohy pre mňa pokryla 2 LED diódy. Zistil som, že oba hrnce zalomené do polovice mi fungujú. To vám poskytne dostatočne dlhý rozsah na snímanie aj vtedy, keď je pohyb, digitálna noha bude držaná vo vyššej polohe asi minútu, takže sa v kóde nemusíte dopĺňať. Na falzifikátoch je ľahké určiť, na ktorej strane je - a + stačí sa pozrieť na zodpovedajúce nohy elektrolytických krytov spojených s kolíkmi.

Na rezanie krabice som použil diamantovú dremel hlavu (ktorá bola prehnaná, ale fungovala skvele) a bežnú vŕtačku. S týmito spojovacími krabicami sa ľahko pracuje a napriek tomu, že nemám rád lepenie, pri stavbe som nemal po ruke skrutky a skrutky, a tak som začal výhodnú cenu pri lepení vecí k sebe (ktoré je tiež možné ľahko znova zahriať a rozobrať neskôr pomocou rovnaká lepiaca pištoľ bez fillamentu).

Krok 2: Návrh softvéru

Softvérový dizajn
Softvérový dizajn
Softvérový dizajn
Softvérový dizajn

Kód Arduino je tiež jednoduchý, v zásade ťahá všetky údaje zo senzorov na začiatku každej slučky. Rozsvieti diódy LED, ak je pohyb alebo dym, a tiež spustí výstražný zvuk na bzučiaku, ak je dym (toto je jediný blokovací kód, preto som ho skrátil), potom zobrazí údaje na LCD displeji a nakoniec ich odošle cez počítač. s 10 sekundovou prestávkou, aby sa nezaplavil prístav.

Tento projekt používa jednosmernú komunikáciu z Arduino-> OrangePI, zatiaľ nie sú implementované žiadne príkazy. Aj keď by to bolo celkom možné, ako som to urobil v jednom z mojich ďalších projektov, kde počítač môže odoslať LCD_PRINT1 alebo LCD_PRINT2 na prepísanie jedného riadka obrazovky LCD vlastnou správou (napr.: adresa IP, doba prevádzky, systémový dátum, využitie CPU), plocha obrazovky je taká malá na zobrazenie údajov z 3 senzorov, že som sa ani neobťažoval. Hodnoty SOL a SMK môžu mať až 4 číslice 0000-1023, pričom na obrazovke zaberajú už 8 cenných znakov.

Na LCD si môžete všimnúť malý trik v kóde, že po každej nameranej hodnote sa použije tlač bielych medzier (""), potom presuniem kurzor na pevné pozície, aby som umiestnil nové ikony a údaje. Sú tu preto, že LCD displej nie je taký chytrý na to, aby porozumel číslam, iba kreslí, čo získa, a napríklad ak ste mali slnečnú hodnotu 525, ktorá sa zrazu znížila na 3, potom zobrazí 325 a na obrazovke zostane starý odpad. tam.

Riadiaci kód C spustený na serveri OrangePI a zaznamenávajúci údaje o životnom prostredí a zasielanie e -mailových upozornení v prípade potreby.

Na OrangePI je spustený Armbian (ktorý bol v čase písania založený na Debian Stretch). Zahrnem to do softvérovej časti, pretože to bol hw problém, ktorý vyriešil. Tu sú priemerné príkony zariadenia:

0,17 A - iba Arduino + senzory

0,5-0,62 A - bootovanie OrangePI

0,31 A - Oranžový PI pri voľnobehu

0,29 A - oranžový PI je vypnutý (nedá sa skutočne vypnúť, nemá ACPI ani nič podobné)

0,60 A - záťažový test 100% využitie CPU na 4 jadrách

Tento OrangePI som mal v krabici už dlho. So starým jadrom zariadenie vybíjalo toľko prúdu (ako merač povedal, že vrcholilo okolo 0,63 A) to, čo PSU pravdepodobne nedokázalo zabezpečiť, aby sa jednoducho nenaštartovalo, proces zavádzania bol zaseknutý a rozsvietili sa mi 2 ethernetové diódy neustále a nič nerobiť.

Teraz je to trochu nepríjemné, pretože HLK-5M05 tvrdí, že môže pracovať 5 W na 5 V, takže môže poskytovať 1 Amp, ale pri týchto zariadeniach pochádzajúcich z Číny jednoducho nikdy neviete, že vrchol 0,63 A bol oveľa nižší ako menovitý max. hodnotu. Skúšal som teda jednoduché testy reštartu, z 10 reštartov sa OrangePI spustil iba dvakrát úspešne, čo ma takmer prinútilo vyhodiť ho z projektu, pretože nemám rád buginy nekonzistentné správanie v obvodoch. Začal som googliť, možno existuje spôsob, ako znížiť spotrebu energie pri štarte pomocou softvéru (pretože vtedy to bol iba problém) a našiel som článok, ktorý hovorí o vyladení súboru script.bin, ale bolo to pre počítač Orange PI a V úložisku chýbali súbory, takže ako poslednú možnosť som vykonal magickú „vhodnú aktualizáciu“na aktualizáciu firmvéru, jadra a všetkého ostatného v nádeji, že sa bude menej vypúšťať a zariadenie sa môže zaviesť a:

Linux Silverlight 4.14.18-sunxi #24 SMP Pi 9. februára 16:24:32 SEČ 2018 armv7l GNU/Linux

Linux Silverlight 4.19.62-sunxi #5.92 SMP Streda 31. júla 22:07:23 SELČ 2019 armv7l GNU/Linux

Fungovalo to! Hádzanie hardvéru na softvérový problém je zvyčajne lenivým vývojárom java, ale v tomto prípade sme vyriešili hardvérový problém so softvérom, čo je veľký úspech. Vykonal som asi 20 ďalších testov reštartu, z ktorých sa zariadenie zaviedlo v každom jednotlivom prípade. Stále by som poznamenal, že nárast energie zo zapnutia Opi (pripojenie/odpojenie) je taký veľký, že resetuje Arduino v ľubovoľnom čase (jednoduché reštartovanie iba zabliká LCD, ale nespôsobí žiadne ďalšie problémy), ale tento problém zostáva skryté, pretože 2 budú zavedené spoločne.

Pozrel som sa aj na moduly jadra:

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

Čo od nich vlastne potrebujeme? Ok, pwr a tepelné zariadenie môžu byť užitočné, ale zvuk, sériový port, wifi (už je poškodený) nepotrebujeme všetky tieto zariadenia môžu byť na čiernej listine. Neskôr tiež vytvorím vlastné jadro s iba potrebnými modulmi.

Čo potrebujeme a v predvolenom nastavení nie je načítané, je CDC ACM na komunikáciu s Arduino, povoľte ho pomocou:

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

Potom už môžete otestovať spojenie s:

obrazovka /dev /ttyACM0 9600

Stavové údaje by sa mali odosielať každých 10 sekúnd.

Výstrahy a monitorovanie

Ako upozornenia som práve vložil systémové () volania do riadiaceho kódu C, ktorý prijíma údaje zo sériového čísla, takže nie sú potrebné žiadne externé nástroje. Niekoľko ukážkových upozornení:

- Teplota presahuje 30 ° C

- Vlhkosť presahuje 70 % (nie je vhodné pre servery)

- V miestnosti bol detekovaný pohyb (to môže byť nepríjemné, ak pokračujete vo svojej serverovej miestnosti)

- Zistený dym alebo plyn (výstrahy viac ako 100 možno brať vážne, s týmto senzorom som sa pohrával a zapína sa pre veľa vecí, napríklad pri vytváraní dymu vedľa snímača pomocou spájkovačky došlo k viac ako 50 pri fajčení cigarety. o narástol až na 500, dokonca detekoval plyn z bežného dezodorantu z diaľky)

Na uchovávanie historických údajov som sa neobťažoval vyvíjať nástroj, pretože prečo znova objavovať koleso, keď sme dostali vynikajúce rámce monitorovania. Ukážem príklad, ako to integrovať do svojho osobného obľúbeného Zabbixu:

apt-get install zabbix-agent

Pridajte na koniec: /etc/zabbix/zabbix_agentd.conf

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

UserParameter = silverlight.tmp, hlava -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} '

Spustenie zabbix_agentd -p by teraz malo vrátiť správne hodnoty:

silverlight.hum [t | 41]

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

Tepelný index, zbieram ho, ale nevidím žiadne praktické využitie, takže je len zaznamenaný. V riadiacom kóde C som implementoval 2 funkcie protokolovania, prvá zaznamená všetky údaje v užívateľsky prívetivom formáte:

[SILVERLIGHT] Údaje prijaté o 2019-09-10 23:36:08 => Vlhkosť: 44, teplota: 22, hi: 25, slnečná: 0, pohyb: 0, dym: 21

[SILVERLIGHT] Údaje prijaté o 2019-09-10 23:36:18 => Vlhkosť: 44, teplota: 22, hi: 25, slnečná: 0, pohyb: 0, dym: 21 [SILVERLIGHT] Údaje prijaté o 2019-09 -10 23:36:29 => Vlhkosť: 44, Teplota: 22, Ahoj: 25, Slnečná: 0, Pohyb: 0, Dym: 22 [SILVERLIGHT] Údaje prijaté v 2019-09-10 23:36:39 => Vlhkosť: 44, Teplota: 22, Ahoj: 25, Slnečná: 0, Pohyb: 0, Dym: 21

Druhý:

void logger2 (char *text) {

FILE *f = fopen ("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) {printf ("Chyba pri otváraní súboru denníka pamäte! / n"); návrat; } fprintf (f, "%s", text); fclose (f); návrat; }

Do pamäte sa tak vloží 1 -linkový protokol (eliminuje zbytočné operácie RW na sdcard), ktorý sa nabudúce vždy prepíše. Tento protokol bude obsahovať iba 6 stĺpcov údajov a žiadnu časovú pečiatku, je ľahko čitateľný pre Zabbix.

Ako posledný bonus: ako naprogramovať Arduino priamo z OrangePI, aby ste nemuseli zakaždým chodiť k zariadeniu a pripájať notebook.

Existujú 2 spôsoby:

-Jednoduchý spôsob: Nainštalujte si plné IDE Arduino a knižnice používajú vzdialenú pracovnú plochu, ako je X11, s presmerovaním, Xrdp, Xvnc, Nxserver atď.

-Tvrdý spôsob: Nainštalujte si Arduino IDE a použite príkazový riadok

Tentoraz to urobíme náročným spôsobom, pretože nemám rád inštaláciu X11 na servery. Na to budete potrebovať 6 komponentov:

1, Arduino IDE pre ARM 32 bit ->

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

3, Arduino Makefile project -> git clone

4, knižnica DHT

5, Definície dosky Sparkfun

6, SilverLight.ino, hlavný kód

Aby to bolo jednoduchšie, zoskupil som súbory potrebné pre posledné 4 body (sketchbook.tgz), takže budete potrebovať iba prvé 2

Najprv je najlepšie vytvoriť pravidelného používateľa, ktorý má prístup RW k portu USB:

adduser striebro

usermod -a -G dialout silver

SCP sketchbook.tgz do zariadenia v domovskom adresári novovytvoreného používateľa a extrahujte ho priamo tam:

cd /domov /striebro

tar xvzf sketchbook.tgz

Aby ste trochu pochopili, čo sa deje pod kapotou, keď používate grafické IDE:

Pracovný postup zostavenia náčrtu Arduino pri použití IDE Arduino je popísaný na webovej stránke Arduino https://www.arduino.cc/en/Hacking/BuildProcess a podrobnejšie tu: https://www.arduino.cc/ sk/Hacking/BuildProcess

Štandardný proces vytvárania Arduina je vo všeobecnosti:

Skombinujte súbory.ino do hlavného súboru skici. Transformácia hlavného súboru náčrtu: pridajte príkaz #include; vytvárať deklarácie funkcií (prototypy) všetkých funkcií v hlavnom súbore náčrtu; pripojte obsah súboru main.cxx cieľa k hlavnému súboru náčrtu. Skompilujte kód do objektových súborov. Prepojte súbory objektov a vytvorte súbor.hex pripravený na nahranie do Arduina.

Medzi štandardným procesom vytvárania Arduino a procesom zostavenia pomocou Arduino-Makefile existuje niekoľko drobných rozdielov:

Podporovaný je iba jeden súbor.ino. Deklarácie funkcií nie sú automaticky vytvárané v súbore.ino. Užívateľ sa musí postarať o vytvorenie správnych deklarácií funkcií.

Jadrom procesu zostavenia je Makefile. Nebojte sa, všetko je pre vás pripravené, pri zostavovaní týmto spôsobom pre neštandardné dosky, ako je napríklad SparkFun, je to trochu komplikovanejšie.

BOARD_TAG = promicro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT =/dev/ttyACM0 USER_LIB_PATH =/home/silver/skicár/knižnice ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silver/sketchbook/Ardu

A stačí zadať: make upload (ktorý najskôr vytvorí súbory.hex a potom ich na odoslanie použije avrdude), skončí to takto:

mkdir -p build-promicro-16MHzatmega32U4

vykonať reset make [1]: Vstup do adresára '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1]: Opúšťanie adresára ' /home/silver/sketchbook 'make do_upload make [1]: Vstup do adresára'/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 Pripojenie k programátoru:. Nájdený programátor: Id = "CATERIN"; typ = S Verzia softvéru = 1,0; Nie je uvedená žiadna verzia hardvéru. Programátor podporuje automatické prírastky addr. Programátor podporuje prístup do vyrovnávacej pamäte s veľkosťou vyrovnávacej pamäte = 128 bajtov. Programátor podporuje nasledujúce zariadenia: Kód zariadenia: 0x44 avrdude: Zariadenie AVR bolo inicializované a pripravené prijať pokyny avrdude: Podpis zariadenia = 0x1e9587 (pravdepodobne m32u4) avrdude: čítanie vstupného súboru "build-promicro-16MHzatmega32U4/sketchbook.hex" avrdude: písanie blesku (11580 bajtov): avrdude: 11580 bajtov flash zapísanej avrdude: safemode: Fuses OK (E: CB, H: D8, L: FF) avrdude done. Ďakujem.

Ďakujem, avrdude, a teraz je naše Arduino resetované a naprogramované pomocou nového kódu. To, čo môžete lokálne upraviť pomocou vi alebo vášho obľúbeného editora, nepotrebujete žiadne IDE. Všimol by som si, že počas nahrávania by ste mali zavrieť ovládací program C, obrazovku alebo čokoľvek iné, čo pristupuje k arduinu, inak sa port po resetovaní vráti ako /dev /ttyACM1.

Krok 3: Zatvorenie a zoznam úloh

Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh

Aj keď som vytvoril tento senzor prostredia pre serverové miestnosti, môžete ho použiť pre chémiu/elektronické laboratóriá, sklady, bežné miestnosti a čokoľvek iné. A áno, pretože používa TCP/IP, je to zariadenie IoT, G, mal som to dať aj do názvu, aby to bolo zábavnejšie:)

Môžete ľahko upraviť hardvér aj softvér, aby ste mohli automaticky zapnúť aj svetlá v miestnosti. Pozrite sa na môj ďalší projekt: Shadow of Phoenix, ako to funguje pri ovládaní svetla, máte k dispozícii všetok hardvér na to isté (používa časovače podržania, aby svetlá svietili, pokiaľ bol v rámci časové obdobie, ak je opäť pohyb, spustí sa časovač).

Keď OrangePI prevádzkuje plný zásobník Armbian, možnosti sú neobmedzené, môžete vytvoriť lokálne webové rozhranie napísané od začiatku v php na zobrazenie historických údajov na grafoch. Nie je to už lepšie, keď máte úplne otvorené zariadenie na sledovanie serverovej miestnosti, na čo môžete byť hrdí, ak si to myslíte, postavte si to sami!

Odporúča: