Përmbajtje:

SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverit: 3 Hapa (me Fotografi)
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverit: 3 Hapa (me Fotografi)

Video: SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverit: 3 Hapa (me Fotografi)

Video: SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverit: 3 Hapa (me Fotografi)
Video: CS50 Live, Эпизод 001 2024, Korrik
Anonim
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve
SilverLight: Monitorues i Mjedisit i bazuar në Arduino për Dhomat e Serverëve

Pasi më është dhënë detyra të kërkoj një sondë mjedisore për monitorimin e temperaturës në dhomën e serverëve të kompanisë sime. Ideja ime e parë ishte: pse të mos përdorni vetëm një Raspberry PI dhe një sensor DHT, ai mund të konfigurohet në më pak se një orë duke përfshirë instalimin e OS. Për këtë mora përgjigjen e ftohtë nga njerëzit e mëdhenj me sy të lidhur me sytë se ne nuk do ta bëjmë këtë sepse do të kushtonte më shumë në orët e punës për ta vendosur atë sesa për të blerë një pajisje. Të pranosh njerëz me mendje të ngushtë si kjo për një pjesë të jetës sime ishte një gjë dhe unë porosita disa mbeturina EATON të klasës së ndërmarrjes jashtë Ebay dhe e quaj atë, por vendosa në atë moment që për dhomën time të serverit tim do të ndërtoj një Arduino plotësisht me burim të hapur pajisje e bazuar e cila do të jetë shumë më e mirë se ajo që sapo porosita.

Ky projekt quhet me kodin SilverLight, mos më pyesni nga i marr këto emra:) Unë thjesht shikova kutinë me shkëlqim gjysmë akrilik dhe vendosa me këtë emër, nuk ka të bëjë fare me produktin e mikroformës për çfarë zbulova pas Me

Hapi 1: Dizajni i harduerit

Dizajni i harduerit
Dizajni i harduerit
Dizajni i harduerit
Dizajni i harduerit
Dizajni i harduerit
Dizajni i harduerit

Vështrim i përgjithshëm i harduerit komercial.

Ok kështu që as nuk filloj me idenë e mrekullueshme të të cilit ishte të vendosja një monitor të mjedisit brenda një ngritjeje, por padyshim që ka një treg për të, kështu që le të shohim se çfarë mund të bëjnë këto:

Pajisja e monitorimit të mjedisit Pajtueshmëria

Rrjeti 10/100Mb-MS, PXGUPS, PXGPDP dhe PXGMS.

ConnectUPS-X 10/100Mb, ConnectUPS-BD dhe ConnectUPS-E me FW V3.01 dhe më të lartë. DIMENSIONET (LXWXH)

2.26 x 1.48 x 1.15 (inç) 57.6 x 37.6 x 29.3 (mm) PESHA

1,19 oz (34 g)

Ky është informacion shumë i dobishëm, apo jo? Mos u shqetësoni, sepse ata nuk mund të bëjnë shumë. Për të filluar edhe UPS-i juaj do të duhet të ketë një kartë shtesë të shtrenjtë për këtë që e lidh këtë me sensorin e mjedisit që blini veçmas, zakonisht me kabllo standarde CAT5 (as mos u përpiqni të futni asgjë në atë port sepse nuk ka asgjë standarde në lidhje me të). Ata pohojnë se pajisjes i duhen 10 minuta për t'u "ngrohur" që në realitet ishte orë dhe sapo u bë voila u shfaq në ndërfaqen e tyre java që përditësohet ngadalë dhe ne kemi temperaturë dhe lagështi. Vendosja e kushteve të bazuara në alarmet ishte e lehtë nga kjo pikë, por kujt i intereson le të ndërtojë diçka më të mirë.

Ky projekt është një bashkim i shumë projekteve të mia: stacioni i motit Natalia, Hija e feniksit. Kutia është në gjendje të monitorojë kufizimet e mëposhtme mjedisore:

  • Indeksi i temperaturës/lagështisë/nxehtësisë
  • Përqendrimet e LPG -së, tymit, alkoolit, propanit, hidrogjenit, metanit dhe monoksidit të karbonit në ajër (MQ2)
  • Ndjeshmëria diellore (a ndizet drita në dhomën e serverit?)
  • Sensori i lëvizjes PIR (madje mund t'i ndizni/fikni dritat automatikisht tani e tutje falë sensorit të lëvizjes kur dikush hyn në dhomë)

Të gjitha këto të dhëna shfaqen bukur në një ekran LCD ndërsa transmetohen edhe në një kompjuter (Orange PI Zero) për përpunim të mëtejshëm dhe paralajmërime. Megjithëse do të ishte e mundur të lidhni drejtpërdrejt sensorë dixhitalë si DHT dhe pin dixhital të MQ2 në OrangePI, unë gjithmonë preferoj të përdor mikro të dedikuar për këto detyra dhe kur duhet të përditësoni LCD -në gjithashtu dhe të bëni nivele të tjera të ulëta gjëra Arduino është thjesht e pakonkurrueshme dhe mund të funksionojë me besueshmëri pa ndërprerje për shumë vite (në fakt asnjë Arduino i vetëm që funksionon 24/7 nuk më ka dështuar akoma). OrangePI me të metat e tij (le ta pranojmë se është një kompjuter 10 $) si i papërdorshëm për ngarkesën e madhe të punës, asnjë mbështetje bsd, wifi i integruar është i fryrë, etj.

Ky është një projekt shumë i thjeshtë nga ana harduerike, i cili kërkon përbërësit e mëposhtëm:

  • Arduino PRO Micro
  • Ekran LCD 2x16 karakter RGB
  • Moduli i energjisë i ndërprerës AC-DC 220V në 5V HLK-5M05 (këto janë shumë të mira për projektet Arduino/ESP), ky është versioni 5V/5W!
  • Rezistenca 2x300ohm
  • 2xleds (e kuqe/jeshile)
  • Sensori i lëvizjes PIR
  • Sensori MQ2
  • DHT22
  • LDR
  • Rezistencë 2X10Kohm
  • Zile
  • Portokalli PI Zero
  • mini USB kabllo të dhënash

Unë as nuk u mërzita duke bërë një PCB për këtë bukë të zakonshme të përdorur thjesht sepse përbërësit mund të lidhen thjesht me Arduino (shihni fotot e bashkangjitura):

-DHT22 do të kërkojë një tërheqje 10K në VCC (dixhitale)

-LDR do të kërkojë një tërheqje 10K në GND (analoge)

-MQ2 mund të lidhet drejtpërdrejt me çdo pin analog (analog) <preferoni të përdorni analog sepse pse jo kur kemi një MCU me kunja analoge ku mund të marrim vlerën e saktë në vend që të rregullojmë një tenxhere në pjesën e pasme të pajisjes për të marrë LART HIGH ose LOW jashtë saj, për shkak të ngjitjes në modelin tim që është i paarritshëm gjithsesi. Kontrolloni:

-PIR mund të lidhet drejtpërdrejt me çdo pin (dixhital)

-LCD: mund të drejtohet me 4 kunja, mund të lidhet me çdo kunj (dixhital) do të ketë nevojë për +2 RS/E (dixhitale)

-Buzzer: mund të lidhet drejtpërdrejt me çdo kunj Arduino (dixhital)

Pinout që kam përdorur mund të shihet në kod. Lidhja e gjithçkaje së bashku pasi kjo është mjaft e drejtë përpara, ju gjithashtu mund t'i bëni ato një nga një, sigurohuni që 1 sensor të funksionojë në mënyrë të përsosur dhe pastaj të vazhdoni te tjetri, gjithçka që mund të gaboni është lidhja e telave me vende të gabuara (p.sh. ndërrimi i vcc /gnd për një sensor, deri më tani kjo kurrë nuk vrau asnjë nga pajisjet e mia). Ajo që do të vija re këtu se kishte shumë VCC dhe GND të grumbulluara për mua, nuk mund t'i shtyja ato përmes një shiriti terminal, kështu që i bashkova të gjitha.

Gjithashtu për DHT -të mos harroni nga projektet e mia të tjera: nëse vendosni bibliotekën DHT në kodin tuaj dhe sensori DHT nuk është i lidhur ose DHT i gabuar (p.sh. 11 i përcaktuar në kodin që përdorni 22) që mund të çojë në program të rri përgjithmonë në fillim.

Rreth sensorëve të zbulimit të lëvizjes PIR, siç mund ta shihni në foton time ka mijëra falsifikime të tyre të rreme, në fakt unë do ta kisha të vështirë të blija një të vërtetë nga Ebay. Falsifikimet funksionojnë po aq mirë, madje edhe në planin afatgjatë, por ato e kanë të pasqyruar qarkun e tyre që bën që kunjat + dhe - të përmbysen, gjithashtu këto janë të lehta për tu njohur nga: që vijnë me pcb blu jo jeshilen e zakonshme, mungojnë etiketat për poçarët. Isha me fat që gjeta një origjinal në kutinë time, përndryshe ndryshimi i pozicionit do të mbulonte 2 led -et për mua. Unë kam gjetur se të dy tenxhere të fiksuar në mes të rrugës punon për mua. Kjo do t'ju japë një distancë mjaft të gjatë për të ndjerë edhe kur ka lëvizje, këmba dixhitale do të mbahet në pozicionin LART për rreth një minutë, kështu që nuk keni pse të plotësoni kodin për këtë. Në falsifikimet është e lehtë të përcaktohet se cila anë është - dhe + thjesht shikoni këmbët përkatëse për kapakët elektrolitikë të lidhur me kunjat.

Për prerjen e kutisë kam përdorur kokë diamanti dremel (e cila ishte e tepërt, por punoi shkëlqyeshëm) dhe makinë shpimi të rregullt. Këto kuti bashkimi janë të lehta për tu punuar dhe megjithëse nuk më pëlqen ngjitja nuk kam pasur vida dhe bulona në dorë kur e ndërtova këtë kështu mori pazarin për ngjitjen e gjërave së bashku (të cilat gjithashtu mund të ringrohen lehtë dhe të ndahen më vonë duke përdorur e njëjta armë ngjitëse pa fije në të).

Hapi 2: Dizajni i Softuerit

Projektimi i Softuerit
Projektimi i Softuerit
Projektimi i Softuerit
Projektimi i Softuerit

Kodi Arduino është gjithashtu i thjeshtë, në thelb tërheq të gjitha leximet e sensorit në fillim të çdo laku. Ndiz LED -të nëse ka lëvizje ose tym dhe gjithashtu luan një zë alarmi në zile nëse ka tym (ky është kodi i vetëm bllokues kështu që e bëra të shkurtër), pastaj shfaq të dhënat në LCD dhe më në fund i dërgon ato në kompjuter me një periudhë pritjeje prej 10 sekondash, për të mos përmbytur portin.

Ky projekt përdor një komunikim të njëanshëm nga Arduino-> OrangePI, nuk zbatohen komanda të çfarëdo lloji. Edhe pse kjo do të ishte krejtësisht e mundur për ta bërë këtë siç e bëra në një nga projektet e mia të tjera ku kompjuteri mund të dërgojë LCD_PRINT1 ose LCD_PRINT2 për të mbishkruar një rresht të ekranit LCD me mesazhin e tij (p.sh.: adresa IP, koha në punë, data e sistemit, përdorimi i CPU), zona e ekranit është aq e vogël për të shfaqur të dhëna nga 3 sensorë, saqë as nuk u shqetësova. Vlerat SOL dhe SMK mund të shkojnë të dyja deri në 4 shifra 0000-1023 duke marrë tashmë 8 karaktere të vlefshme në ekran.

Me LCD ju mund të vini re një truk të vogël në kodin se pas çdo vlere të matur aplikohet një printim i hapësirave të bardha (""), atëherë unë e lëviz kursorin në pozicione fikse për të vendosur ikonat dhe të dhënat e reja. Këto janë atje sepse LCD nuk është aq e zgjuar për të kuptuar numrat, thjesht tërheq atë që merr dhe për shembull nëse keni një vlerë diellore prej 525 e cila papritmas u ul në 3 atëherë do të shfaq 325 duke lënë mbeturinat e vjetra në ekran atje

Një kod kontrolli C që funksionon në OrangePI dhe regjistron të dhënat mjedisore dhe dërgon sinjalizime me email kur është e nevojshme.

OrangePI po drejton Armbian (i cili në kohën e shkrimit bazuar në Debian Stretch). Unë do ta përfshij këtë në pjesën e softuerit në lidhje me atë që ishte një problem që zgjidhet. Këtu keni kullimin mesatar të energjisë së pajisjes:

0,17 A - Vetëm Arduino + sensorë

0.5-0.62 A - Nisja e OrangePI

0.31 A - PI portokalli në punë

0.29 A - Ori PI i fikur (nuk mund ta mbyllë vërtet, nuk ka ACPI ose diçka të tillë)

0.60 A - Test stresi Përdorimi 100% i CPU në 4 bërthama

Unë e kisha këtë OrangePI në një kuti që një kohë të gjatë. Me kernelin e vjetër pajisja thau aq shumë rrymë (siç tha njehsori arriti kulmin rreth 0.63 A) atë që ai PSU ndoshta nuk mund ta siguronte që thjesht të mos fillonte, procesi i nisjes ishte i mbërthyer dhe mora dritat e 2 -të të ethernetit që ndizeshin vazhdimisht dhe duke mos bërë asgjë.

Tani kjo është disi e bezdisshme pasi HLK-5M05 pretendon se mund të bëjë 5W në 5V duke e bërë atë të jetë në gjendje të sigurojë 1 Amp por me këto pajisje që dalin nga Kina thjesht nuk e dini, kulmi 0.63 A ishte shumë më i ulët se maksimumi i vlerësuar vlera. Kështu që unë po ekzekutoja teste të thjeshta të rindezjes, nga 10 rindezje OrangePI do të nisej vetëm dy herë me sukses, gjë që pothuajse më bëri ta heq atë nga projekti pasi nuk më pëlqen sjellja e paqëndrueshme e gabuar në qarqe. Kështu që fillova të kërkoj në google ndoshta ka një mënyrë për të ulur konsumin e energjisë në kohën e nisjes nga programi kompjuterik (pasi ishte vetëm një çështje atëherë) dhe gjeta një artikull që fliste për rregullimin e skenarit. Bin por ishte për PC Orange PI dhe skedarët mungonin nga ruajtja, kështu që çfarëdo si mjeti i fundit kam bërë "apt upgrade" magjik për të përmirësuar firmware -in, kernel -in dhe gjithçka tjetër, me shpresën se do të thahet më pak dhe pajisja mund të fillojë dhe:

Linux silverlight 4.14.18-sunxi #24 SMP E Premte 9 Shkurt 16:24:32 CET 2018 armv7l GNU/Linux

Linux silverlight 4.19.62-sunxi #5.92 SMP E Mart 31 Korrik 22:07:23 CEST 2019 armv7l GNU/Linux

Funksionoi! Hedhja e harduerit në një problem softuerik është zakonisht zhvilluesit dembelë të java që të shkojnë, por në këtë rast ne kemi zgjidhur një problem harduerik me softuer çfarë suksesi i madh. Unë kam bërë edhe 20 teste të tjera të rindezjes që pajisja ka nisur në çdo rast të vetëm. Unë ende do të vëreja se rritja e energjisë nga ndezja e Opi (lidhja/shkëputja) është aq e madhe saqë do të rivendosë Arduino në çdo kohë të caktuar (një rindezje e thjeshtë thjesht do të ndezë LCD -në, por nuk do të shkaktojë probleme të tjera), por kjo çështje mbetet fshehur pasi 2 do të nisen së bashku.

Kam shikuar gjithashtu modulet e kernelit:

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

Çfarë na duhet vërtet nga këto? Ok pwr dhe termike mund të jenë të dobishme, por të shëndosha, porta serike, wifi (hw thyer tashmë) ne nuk kemi nevojë që të gjitha këto të mund të futen në listën e zezë. Unë gjithashtu do të krijoj një kernel të personalizuar me vetëm modulet e nevojshme më vonë.

Ajo që na nevojitet dhe nuk është e ngarkuar si parazgjedhje është CDC ACM për të komunikuar me Arduino, aktivizojeni atë me:

jehonë "cdc-acm" >> /etc /module

Pas kësaj ju tashmë mund të provoni lidhjen me:

ekran /dev /ttyACM0 9600

Duhet të shihni që të dhënat e statusit dërgohen çdo 10 sekonda.

Alarmet dhe monitorimi

Sa i përket sinjalizimeve, unë thjesht vendos në thirrjet e sistemit () në kodin e kontrollit C i cili merr të dhënat nga serialet, kështu që nuk kërkohen mjete të jashtme. Disa shembuj paralajmërimesh:

- Temperatura shkon mbi 30 gradë Celsius

- Lagështia shkon mbi 70 % (jo e shëndetshme për serverët)

- Lëvizja e zbuluar në dhomë (kjo mund të jetë e bezdisshme nëse vazhdoni të shkoni në dhomën tuaj të serverit)

- Tymi ose gazi i zbuluar (sinjalizimet mbi 100 mund të merren seriozisht, kam luajtur me këtë sensor dhe ndizet për shumë gjëra, për shembull krijimi i tymit pranë sensorit me hekur bashkues rezultoi pak më shumë se 50 ndërsa tymosja e cigareve në vijim o u rrit deri në 500, madje zbuloi gaz nga deodoranti i zakonshëm nga larg)

Për ruajtjen e të dhënave historike, unë nuk u mërzita duke zhvilluar një mjet, sepse pse të rizbulojmë timonin kur kemi marrë korniza të shkëlqyera monitorimi atje. Unë do të tregoj një shembull se si ta integroj këtë në të preferuarën time personale, Zabbix:

apt-get install zabbix-agent

Shtoni në fund të: /etc/zabbix/zabbix_agentd.conf

Parametri i përdoruesit = silverlight.hum, koka -1 /dev/shm/silverlight-zbx.log | awk -F "," '{printo $ 1}'

Parametri i përdoruesit = silverlight.tmp, koka -1 /dev/shm/silverlight-zbx.log | awk -F "," '{print $ 2}' UserParameter = silverlight.sol, koka -1 /dev/shm/silverlight-zbx.log | awk -F "," '{printo $ 4}' UserParameter = silverlight.mot, koka -1 /dev/shm/silverlight-zbx.log | awk -F "," "{printo $ 5} 'UserParameter = silverlight.smk, kreu -1 /dev/shm/silverlight-zbx.log | awk -F "," '{printo $ 6}'

Drejtimi i zabbix_agentd -p duhet të kthejë tani vlerat e duhura:

drita argjendi.hum [t | 41]

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

Indeksi i nxehtësisë, unë e mbledh atë, por nuk shoh ndonjë përdorim praktik të tij, kështu që thjesht është regjistruar. Në kodin e kontrollit C kam zbatuar 2 funksione regjistrimi, i pari do të regjistrojë të gjitha të dhënat në formatin miqësor për përdoruesit:

[SILVERLIGHT] Të dhënat e marra në 2019-09-10 23:36:08 => Lagështia: 44, Temp: 22, Përshëndetje: 25, Diellor: 0, Lëvizja: 0, Tymi: 21

[SILVERLIGHT] Të dhënat e marra në 2019-09-10 23:36:18 => Lagështia: 44, Temp: 22, Përshëndetje: 25, Diellor: 0, Lëvizja: 0, Tymi: 21 [SILVERLIGHT] Të dhënat e marra në 2019-09 -10 23:36:29 => Lagështia: 44, Temp: 22, Përshëndetje: 25, Diellore: 0, Lëvizja: 0, Tymi: 22 [SILVERLIGHT] Të dhënat e marra në 2019-09-10 23:36:39 => Lagështia: 44, Temp: 22, Përshëndetje: 25, Diellore: 0, Lëvizja: 0, Tymi: 21

E dyta:

void logger2 (char *text) {

DOSJA *f = hap ("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) {printf ("Gabim në hapjen e skedarit të regjistrit të kujtesës! / n"); kthim; } fprintf (f, "%s", tekst); mbyll (f); kthim; }

Kjo do të vendosë një regjistër 1 astar në memorie (do të eleminojë operacionet e panevojshme rw në kartën sdcard) i cili do të rishkruhet gjithmonë herën tjetër. Ky regjistër do të përmbajë vetëm 6 kolonat e të dhënave dhe asnjë vulë kohore, është lehtësisht i lexueshëm për Zabbix.

Si një bonus përfundimtar: si të programoni Arduino direkt nga OrangePI në mënyrë që të mos keni nevojë të ecni deri në pajisje çdo herë dhe të lidhni laptopin tuaj.

Ka 2 mënyra:

-Mënyra e lehtë: Instaloni Arduino IDE të plotë dhe bibliotekat përdorin disa desktop të largët si X11 me përcjellje, Xrdp, Xvnc, Nxserver etj

-Mënyra e vështirë: Instaloni Arduino IDE dhe përdorni vijën e komandës

Ne do të bëjmë mënyrën më të vështirë këtë herë pasi nuk më pëlqen të instaloj X11 në serverë. Për këtë ju duhen 6 përbërës:

1, Arduino IDE për ARM 32 bit ->

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

3, Arduino Makefile Project -> git clone

4, biblioteka DHT

5, Përkufizimet e bordit Sparkfun

6, SilverLight.ino, kodi kryesor

Për ta bërë më të lehtë unë kam bashkuar skedarët e nevojshëm për 4 pikat e fundit (sketchbook.tgz) kështu që do t'ju duhen vetëm 2 të parat

Së pari është më mirë të krijoni një përdorues të rregullt që ka qasje rw në portën USB:

argjend shtues

usermod -a -G argjend dialout

SCP sketchbook.tgz në pajisjen në drejtorinë shtëpiake të përdoruesit të sapokrijuar dhe nxirreni aty:

cd /home /argjend

tar xvzf sketchbook.tgz

Për të kuptuar pak se çfarë po ndodh nën kapuç kur përdorni IDE grafik:

Rrjedha e punës e ndërtimit të një skice Arduino kur përdorni Arduino IDE përshkruhet në faqen e internetit Arduino https://www.arduino.cc/en/Hacking/BuildProcess dhe më në detaje këtu: https://www.arduino.cc/ sq/Hacking/BuildProcess

Në përgjithësi, procesi standard i ndërtimit të Arduino është:

Kombinoni skedarët.ino në skedarin kryesor të skicës. Transformimi i skedarit kryesor të skicës: shtoni deklaratën #include; krijoni deklarata funksionale (prototipe) të të gjitha funksioneve në skedarin kryesor të skicës; shtoni përmbajtjen e skedarit main.cxx të objektivit në skedarin kryesor të skicës. Përpiloni kodin për skedarët e objekteve. Lidhni skedarët e objekteve për të prodhuar një skedar. Hex gati për ta ngarkuar atë në Arduino.

Ekzistojnë disa dallime të vogla midis procesit standard të ndërtimit Arduino dhe procesit të ndërtimit duke përdorur Arduino-Makefile:

Mbështetet vetëm një skedar.ino. Deklaratat e funksionit nuk krijohen automatikisht në skedarin.ino. Përdoruesi duhet të kujdeset për krijimin e deklaratave të sakta të funksionit.

Thelbi i procesit të ndërtimit është Makefile. Mos u shqetësoni, gjithçka është përgatitur për ju, është pak më e komplikuar kur përpiloni në këtë mënyrë për tabela jo standarde si seria SparkFun.

BOARD_TAG = promicro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT =/dev/ttyACM0 USER_LIB_PATH =/home/silver/sketchbook/biblioteka ARDUINO_DIR = /opt/arduino-1.8.9 përfshijnë /home/silver/milorino

Dhe gjithçka që ju nevojitet për të shtypur është një: bëni ngarkim (i cili do të ndërtojë skedarët hex. Së pari pastaj përdor avrdude për t'i ngarkuar ato), do të përfundojë me diçka si:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: Hyrja në drejtorinë '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1]: Largimi nga drejtoria ' /home/silver/sketchbook 'make do_upload make [1]: Hyrja në drejtori'/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/libër skicash. hex: i Lidhja me programuesin:. Programues i gjetur: Id = "CATERIN"; lloji = Versioni i Softuerit S = 1.0; Asnjë Version Hardware nuk është dhënë. Programuesi mbështet rritjen shtesë automatike. Programuesi mbështet qasjen në kujtesë të ruajtur me madhësi buffer = 128 bajt. Programuesi mbështet pajisjet e mëposhtme: Kodi i pajisjes: 0x44 avrdude: Pajisja AVR e inicializuar dhe e gatshme për të pranuar udhëzimet avrdude: Nënshkrimi i pajisjes = 0x1e9587 (me siguri m32u4) (11580 bytes): avrdude: 11580 bytes flash shkruar avrdude: safemode: Siguresat OK (E: CB, H: D8, L: FF) avrdude bërë. Faleminderit.

Epo, faleminderit avrdude, dhe tani Arduino ynë është rivendosur dhe programuar me kodin e ri, atë që thjesht mund të redaktoni me vi ose redaktorin tuaj të preferuar në vend, nuk ka nevojë për ndonjë IDE. Do të kisha parasysh që duhet të mbyllni programin e kontrollit C, ekranin ose ndonjë gjë tjetër që hyn në arduino gjatë ngarkimit, përndryshe porta do të kthehet si /dev /ttyACM1 pas rivendosjes.

Hapi 3: Mbyllja dhe Lista Todo

Mbyllja dhe Lista Todo
Mbyllja dhe Lista Todo
Mbyllja dhe Lista Todo
Mbyllja dhe Lista Todo
Mbyllja dhe Lista Todo
Mbyllja dhe Lista Todo

Megjithëse e krijova këtë kuti të sensorit mjedisor për dhomat e serverëve, mund ta përdorni për laboratorë kimikë/elektronikë, magazina, dhoma të rregullta dhe çdo gjë tjetër. Dhe po meqenëse po përdor TCP/IP është një pajisje IoT, G unë duhet ta kisha vënë atë edhe në titull për ta bërë atë më sipërmarrës:)

Ju lehtë mund të modifikoni si harduerin ashtu edhe softuerin për të qenë në gjendje të ndizni dritat në dhomë automatikisht. Hidhini një sy projektit tim tjetër: Hija e feniksit si funksionon kjo për kontrollin e dritës, ju keni të gjithë pajisjen në dispozicion për të bërë të njëjtën gjë (ai përdor kohëmatës të mbajtjes për të mbajtur dritat ndezur për aq kohë sa ka pasur lëvizje të zbuluar brenda një periudha kohore, nëse ka lëvizje përsëri një kohëmatës do të përplaset).

Me OrangePI që funksionon me një pirg të plotë Armbian mundësitë janë të pakufishme, ju mund të krijoni një ndërfaqe lokale në internet të shkruar nga e para në php për të shfaqur të dhënat historike në grafikë. A nuk është tashmë më mirë që ju të keni një pajisje plotësisht me Burim të Hapur që monitoron dhomën tuaj të serverit me çfarë mund të jeni krenarë të ndërtoni, nëse mendoni kështu, ndërtojeni vetë!

Recommended: