Orodha ya maudhui:

SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva: Hatua 3 (na Picha)
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva: Hatua 3 (na Picha)

Video: SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva: Hatua 3 (na Picha)

Video: SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva: Hatua 3 (na Picha)
Video: Section 8 2024, Julai
Anonim
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva
SilverLight: Ufuatiliaji wa Mazingira wa Arduino kwa Vyumba vya Seva

Mara moja nilipewa jukumu la kutafuta uchunguzi wa mazingira wa kufuatilia hali ya joto kwenye chumba cha seva cha kampuni yangu. Wazo langu la kwanza lilikuwa: kwanini usitumie Raspberry PI na sensor ya DHT, inaweza kusanidi chini ya saa moja pamoja na usanidi wa OS. Kwa hili nilipata majibu baridi kutoka kwa watu wakubwa waliofichwa macho kwamba hatutafanya hivyo kwa sababu ingegharimu zaidi katika masaa ya kazi kuiweka kuliko kununua kifaa. Kulazimika kukubali watu wenye nia finyu kama hii kwa sehemu ya maisha yangu ilikuwa jambo moja na niliamuru kiwango cha biashara cha EATON kutoka Ebay na kuipigia simu lakini niliamua wakati huo kuwa kwa chumba changu cha seva nitaunda Chanzo wazi kabisa cha Arduino kifaa ambacho kitakuwa bora zaidi kuliko kile nilichoamuru tu.

Mradi huu unaitwa SilverLight, usiniulize ninapata wapi majina haya:) Niliangalia sanduku la nusu la akriliki na nikaamua na jina hili, haihusiani na bidhaa ndogo ndogo ambayo nimegundua baadaye.

Hatua ya 1: Ubuni wa vifaa

Ubunifu wa Vifaa
Ubunifu wa Vifaa
Ubunifu wa Vifaa
Ubunifu wa Vifaa
Ubunifu wa Vifaa
Ubunifu wa Vifaa

Muhtasari wa vifaa vya biashara.

Sawa hata sijaanza na ambaye wazo lake kubwa lilikuwa kuweka ufuatiliaji wa mazingira ndani ya juu lakini ni wazi kuna soko lake kwa hivyo wacha tuone ni nini hawa wanaweza kufanya:

Kifaa cha ufuatiliaji wa mazingira UFAHAMU

Mtandao wa 10 / 100Mb-MS, PXGUPS, PXGPDP, na PXGMS.

10 / 100Mb ConnectUPS-X, ConnectUPS-BD na ConnectUPS-E na FW V3.01 na zaidi. DIMENSIONS (LXWXH)

2.26 x 1.48 x 1.15 (inchi) 57.6 x 37.6 x 29.3 (mm) UZITO

1.19 oz (34 g)

Hiyo ni habari muhimu sana sio? Hakuna wasiwasi kwa sababu hawawezi kufanya mengi. Ili kuanza UPS yako itahitaji kuwa na kadi-nyongeza ya gharama kubwa kwa hii ambayo inaunganisha hii na sensa ya mazingira unayonunua kando, kawaida na kebo ya kawaida ya CAT5 (usijaribu hata kuziba chochote kwenye bandari hiyo kwa sababu hakuna kiwango cha kawaida. kuhusu hilo). Wanadai kifaa kinahitaji dakika 10 ili "kupasha moto" ambayo kwa kweli ilikuwa masaa na mara tu ilipofanya voila ilionekana katika kusasisha polepole interface ya java na tuna joto na unyevu. Kuanzisha hali ya tahadhari ilikuwa rahisi kutoka wakati huu lakini ni nani anayejali hebu tujenge kitu bora.

Mradi huu ni kiunganishi cha miradi yangu mingi: Kituo cha hali ya hewa cha Natalia, Kivuli cha phoenix. Sanduku linaweza kufuatilia vizuizi vifuatavyo vya mazingira:

  • Kiwango cha joto / unyevu / joto
  • LPG, Moshi, Pombe, Propani, Hidrojeni, viwango vya Monoxide ya kaboni hewani (MQ2)
  • Usikivu wa jua (je! Taa imewashwa kwenye chumba cha seva?)
  • Sensor ya PIR ya mwendo (unaweza hata kuwasha / kuzima taa kiatomati kuanzia sasa shukrani kwa sensorer ya mwendo wakati mtu anaingia kwenye chumba)

Takwimu hizi zote zinaonyeshwa vizuri kwenye skrini ya LCD wakati pia zimepelekwa kwa kompyuta (Orange PI Zero) kwa usindikaji zaidi na arifa. Ingawa ingewezekana kunasa sensorer za dijiti kama vile DHT na pini ya dijiti ya MQ2 kwa OrangePI moja kwa moja, mimi hupendelea kutumia micros za kujitolea kwa kazi hizi na wakati unahitaji kusasisha LCD pia na kufanya kiwango kingine cha chini. vitu ambavyo Arduino haiwezi kushindwa na inaweza kukimbia bila kusimama kwa miaka mingi (kwa kweli hakuna Arduino moja ambayo inaendesha 24/7 imeshindwa kwangu bado). OrangePI na mapungufu yake (hebu tukubaliane ni kompyuta ya $ 10) kama isiyoweza kutumiwa kwa mzigo mzito, hakuna msaada wa bsd, wifi iliyojumuishwa imefutwa nk inaweza kushughulikia kwa urahisi mzigo mdogo wa kazi kama kuchukua usomaji wa sensorer kupitia serial (USB) na kuisindika.

Huu ni mradi wa vifaa rahisi wa busara ambao unahitaji vifaa vifuatavyo:

  • Arduino PRO ndogo
  • Skrini ya LCD tabia 2x16 RGB
  • AC-DC inayotenganisha moduli ya nguvu ya kubadili 220V hadi 5V HLK-5M05 (hizi ni nzuri sana kwa miradi ya Arduino / ESP), hii ndio toleo la 5V / 5W!
  • Wapinzani wa 2x300ohm
  • 2xleds (nyekundu / kijani)
  • Sensor ya mwendo wa PIR
  • Sensor ya MQ2
  • DHT22
  • LDR
  • Kinga ya 2X10Kohm
  • Buzzer
  • Orange PI Zero
  • kebo ndogo ya data ya USB

Sikujisumbua hata kutengeneza PCB kwa hii tu mkate wa kawaida uliotumiwa kwa sababu vifaa vinaweza kushikamana na Arduino (tazama picha zilizoambatanishwa):

-DHT22 itahitaji msukumo wa 10K kwa VCC (dijiti)

-LDR itahitaji msukumo wa 10K kwenda GND (analog)

-MQ2 inaweza kushikamana moja kwa moja na pini yoyote ya analog (analog) <pendelea kutumia analog kwa nini sio wakati tunayo MCU na pini za analog ambapo tunaweza kupata thamani halisi badala ya kurekebisha sufuria nyuma ya kifaa kupata HIGH au LOW nje yake, kwa sababu ya gluing katika muundo wangu ambayo haipatikani hata hivyo. Angalia:

-PIR inaweza kushikamana moja kwa moja na pini yoyote (dijiti)

-LCD: inaweza kuendeshwa na pini 4, inaweza kushikamana na pini yoyote (dijiti) itahitaji +2 RS / E (dijiti)

-Buzzer: inaweza kushikamana moja kwa moja na pini yoyote ya Arduino (dijiti)

Pinout niliyotumia inaweza kuonekana kwenye nambari. Kuunganisha kila kitu pamoja baada ya hii ni sawa mbele, unaweza pia kuzifanya moja kwa moja, hakikisha sensorer 1 inafanya kazi kikamilifu kisha endelea kwa inayofuata, kila unachoweza kupata makosa ni kwa kuunganisha waya kwenye maeneo yasiyofaa (kwa mfano, kubadilisha vcc / gnd kwa sensa, hadi sasa hii haijawahi kuua yoyote ya vifaa vyangu). Kile ambacho ningeona hapa kuwa kulikuwa na VCC nyingi na GNDs zilizowekwa kwa ajili yangu, sikuweza kuzipunguza kupitia kipande cha terminal kwa hivyo niliwauza wote.

Pia juu ya DHTs usisahau kutoka kwa miradi yangu mingine: ikiwa utaweka maktaba ya DHT katika nambari yako na sensorer ya DHT haijaunganishwa au makosa DHT imeunganishwa (km 11 ilivyoainishwa kwa nambari unayotumia 22) ambayo inaweza kusababisha programu kunyongwa milele mwanzoni.

Kuhusu sensorer za kugundua mwendo wa PIR, kama unaweza kuona kwenye picha yangu kuna tani bandia bandia za hizi, kwa kweli ningepata hata ugumu kununua ya kweli kutoka Ebay. Bandia hufanya kazi vile vile, hata kwa mwendo mrefu lakini zina picha zao za mzunguko ambazo husababisha + na - pini kugeuzwa, pia hizi ni rahisi kutambua kutoka: kuja na pcb ya bluu sio kijani kawaida, kukosa lebo za wafinyanzi. Nilikuwa na bahati kupata ukweli kwenye sanduku langu vinginevyo kubadilisha msimamo kungefunika viongozo 2 kwangu. Nimegundua kwamba sufuria zote mbili zimeshuka katikati ya kazi kwangu. Hii itakupa masafa marefu ya kutosha kuhisi pia wakati kuna mwendo mguu wa dijiti utawekwa katika nafasi ya juu kwa karibu dakika, kwa hivyo sio lazima ujenge nambari ya hii. Kwenye bandia ni rahisi kuamua ni upande upi - na + angalia tu miguu inayolingana ya kofia za elektroliti zilizounganishwa na pini.

Kwa kukata sanduku nilitumia kichwa cha dremel ya almasi (ambayo ilikuwa ni ya kuzidisha lakini ilifanya kazi nzuri) na mashine ya kuchimba visima ya kawaida. Masanduku haya ya makutano ni rahisi kufanya kazi nayo na ingawa sipendi gluing sikuwa na screws na bolts wakati wa kujenga hii kwa hivyo ilichukua biashara ya kuunganisha vitu pamoja (ambayo inaweza pia kupatiwa joto kwa urahisi na kutolewa baadaye kwa kutumia gundi sawa bila ujazo ndani yake).

Hatua ya 2: Ubunifu wa Programu

Ubunifu wa Programu
Ubunifu wa Programu
Ubunifu wa Programu
Ubunifu wa Programu

Nambari ya Arduino ni rahisi pia, inavuta masomo ya sensa mwanzoni mwa kila kitanzi. Huwasha taa za taa ikiwa kuna mwendo au moshi na pia hucheza sauti ya kengele kwenye buzzer ikiwa kuna moshi (hii ndio nambari pekee ya kuzuia kwa hivyo niliifanya iwe fupi), halafu inaonyesha data kwenye LCD na mwishowe iitume kwa PC na sekunde 10 ya kushikilia, sio kufurika bandari.

Mradi huu unatumia mawasiliano ya njia moja kutoka Arduino-> OrangePI, hakuna amri za aina yoyote zinazotekelezwa. Ingawa hii ingewezekana kabisa kufanya hivyo kama nilivyofanya katika moja ya mradi wangu mwingine ambapo kompyuta inaweza kutuma LCD_PRINT1 au LCD_PRINT2 kuandika mistari moja ya skrini ya LCD na ujumbe wake mwenyewe (kwa mfano: anwani ya ip, muda wa kumaliza, tarehe ya mfumo, Matumizi ya cpu), eneo la skrini ni ndogo sana kwa kuonyesha data kutoka kwa sensorer 3 ambazo hata sikujisumbua. Thamani za SOL na SMK zinaweza kwenda hadi nambari 4 0000-1023 kuchukua herufi 8 tayari kwenye skrini.

Ukiwa na LCD unaweza kugundua hila ndogo kwenye nambari kwamba baada ya kila kipimo kupigwa alama kuchapishwa kwa nafasi nyeupe (""), basi ninasogeza mshale kwenye nafasi zilizowekwa ili kuweka ikoni na data mpya. Hizi zipo kwa sababu LCD sio akili sana kuelewa nambari, inachora tu kile inapata na kwa mfano ikiwa ungekuwa na thamani ya jua ya 525 ambayo ghafla ilipungua hadi 3 basi itaonyesha 325 ikiacha taka ya zamani kwenye skrini hapo.

Nambari ya kudhibiti C inayoendesha kwenye OrangePI na kuingia data ya mazingira na kutuma arifa za barua pepe inapohitajika.

OrangePI inaendesha Armbian (ambayo wakati wa kuandika kulingana na Debian Stretch). Nitajumuisha hii katika sehemu ya programu kuhusu ilikuwa shida ya hw iliyotatuliwa. Hapa kuna unyevu wa wastani wa kifaa:

0.17 A - Arduino tu + sensorer

0.5-0.62 A - Upigaji kura wa OrangePI

0.31 A - Orange PI bila kufanya kazi

0.29 A - Orange PI imezimwa (haiwezi kuifunga kweli, haina ACPI au kitu kama hicho)

0.60 A - Jaribio la mkazo 100% ya matumizi ya CPU kwenye cores 4

Nilikuwa na OrangePI hii kwenye sanduku tangu muda mrefu. Pamoja na punje ya zamani kifaa kilimiminika sana sasa (kama mita ilisema iliongezeka karibu 0.63 A) kile ambacho PSU labda haingeweza kutoa kwamba haikuingia tu, mchakato wa buti ulikwama na nikapata risasi za ethernet 2 zikiwa zimewashwa daima na kufanya chochote.

Sasa hii ni ya kukasirisha kwani HLK-5M05 inadai inaweza kufanya 5W kwenye 5V kuifanya iweze kutoa 1 Amp lakini na vifaa hivi vinatoka China haujui kamwe, kilele cha 0.63 kilikuwa chini sana kuliko kiwango kilichokadiriwa thamani. Kwa hivyo nilikuwa nikifanya majaribio rahisi ya kuwasha tena, kutoka kwa reboots 10 OrangePI ingeweza kuanza mara mbili tu kwa mafanikio, ambayo karibu ilinifanya kuitupa kutoka kwa mradi kwani sipendi tabia isiyo sawa ya buggy kwenye nyaya. Kwa hivyo nilianza kuzunguka-zunguka labda kuna njia ya kupunguza matumizi ya nguvu wakati wa boot kutoka kwa programu (kwa kuwa ilikuwa suala tu wakati huo) na nikapata nakala kadhaa ikizungumzia juu ya kurekebisha script.bin lakini ilikuwa kwa PC ya Orange PI na Faili zilikosekana kwenye uhifadhi kwa hivyo kama suluhisho la mwisho nimefanya kiboreshaji cha kichawi ili kuboresha firmware, kernel na kila kitu kingine, nikitumaini kuwa kitatoka kidogo na kifaa kinaweza kuingia na:

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

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

Ilifanya kazi! Kutupa vifaa kwa shida ya programu kawaida ni watengenezaji wavivu wa java kwenda lakini katika kesi hii tumetatua shida ya vifaa na programu mafanikio makubwa. Nimefanya kama majaribio 20 ya kuwasha tena kifaa kimeongeza kila kesi moja. Bado ningeona kuwa kuongezeka kwa nguvu kutoka kuwasha Opi (kuunganisha / kukatisha) ni kubwa sana kwamba itaweka tena Arduino wakati wowote (reboot rahisi itazima tu LCD lakini haitasababisha maswala zaidi), lakini suala hili linabaki iliyofichwa kwani hizo 2 zitapigwa pamoja.

Nimeangalia pia moduli za 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

Je! Tunahitaji nini hasa kutoka kwa hawa? Sawa pwr na mafuta inaweza kuwa muhimu lakini sauti, bandari ya serial, wifi (iliyovunjika hw tayari) hatuhitaji hizi zote zinaweza kuorodheshwa. Pia nitaunda punje ya kawaida na moduli muhimu tu baadaye.

Tunachohitaji na haijapakiwa kwa msingi ni CDC ACM kuwasiliana na Arduino, kuiwezesha na:

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

Baada ya hii unaweza tayari kujaribu unganisho na:

skrini / dev / ttyACM0 9600

Unapaswa kuona data ya hali ikitumwa kila sekunde 10.

Tahadhari na ufuatiliaji

Kama ya arifu niliweka tu katika mfumo () simu kwenye nambari ya kudhibiti C ambayo inapokea data kutoka kwa serial kwa hivyo hakuna zana za nje zinazohitajika. Baadhi ya arifa za mfano:

- Joto huenda zaidi ya 30 C

- Unyevu huenda zaidi ya 70% (sio afya kwa seva)

- Mwendo umegunduliwa ndani ya chumba (hii inaweza kuwa ya kukasirisha ikiwa utaendelea kwenda kwenye chumba chako cha seva)

- Moshi au gesi imegunduliwa (tahadhari zaidi ya 100 inaweza kuchukuliwa kwa umakini, nimecheza karibu na kihisi hiki na inawashwa kwa vitu vingi, kwa mfano kuunda moshi karibu na sensa na chuma cha kutengeneza kulisababisha zaidi ya 50 wakati unavuta sigara ijayo o iliongezeka hadi 500, hata iligundua gesi kutoka kwa harufu ya kawaida kutoka mbali)

Kwa kutunza data ya kihistoria sikujisumbua kuunda zana kwa sababu kwanini kuibadilisha gurudumu wakati tulipata mifumo bora ya ufuatiliaji huko nje. Nitaonyesha mfano wa jinsi ya kuingiza hii katika kipenzi changu cha kibinafsi, Zabbix:

pata-pata kufunga zabbix-wakala

Ongeza hadi mwisho wa: /etc/zabbix/zabbix_agentd.conf

MtumiajiParameter = mwangaza wa fedha.hum, kichwa -1 /dev/shm/silverlight-zbx.log | awk -F "," '{chapa $ 1}'

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

Kuendesha zabbix_agentd -p inapaswa kurudi sasa maadili sahihi:

mwangaza wa fedha.hum [t | 41]

mwangaza wa fedha.tmp [t | 23] mwangaza wa fedha.sol [t | 144] mwangaza wa fedha.mot [t | 0] mwangaza wa fedha.smk [t | 19]

Faharisi ya joto, ninaikusanya lakini sioni matumizi yoyote ya hiyo kwa hivyo imeingia tu. Katika nambari ya kudhibiti C nimetekeleza kazi 2 za ukataji miti, ya kwanza itaweka data zote katika muundo wa urafiki:

[SILVERLIGHT] Takwimu zilizopokelewa saa 2019-09-10 23:36:08 => Unyevu: 44, Joto: 22, Hi: 25, Jua: 0, Mwendo: 0, Moshi: 21

[SILVERLIGHT] Takwimu zilizopokelewa saa 2019-09-10 23:36:18 => Unyevu: 44, Temp: 22, Hi: 25, Solar: 0, Motion: 0, Moshi: 21 [SILVERLIGHT] Takwimu zilizopokelewa mnamo 2019-09 -10 23:36:29 => Unyevu: 44, Temp: 22, Hi: 25, Solar: 0, Motion: 0, Moshi: 22 [SILVERLIGHT] Takwimu zilizopokelewa mnamo 2019-09-10 23:36:39 => Unyevu: 44, Joto: 22, Hi: 25, Jua: 0, Mwendo: 0, Moshi: 21

Ya pili:

batili logger2 (char * maandishi) {

FILE * f = fopen ("/ dev / shm / silverlight-zbx.log", "w"); ikiwa (f == NULL) {printf ("Kosa la kufungua faili ya kumbukumbu ya kumbukumbu! / n"); kurudi; } fprintf (f, "% s", maandishi); fclose (f); kurudi; }

Hii itaweka kumbukumbu ya mjengo 1 (ondoa shughuli za rw zisizohitajika kwenye sdcard) ambayo itaandikwa kila wakati wakati ujao. Logi hii itakuwa na nguzo 6 tu za data na hakuna muhuri wa muda, inasomeka kwa urahisi kwa Zabbix.

Kama bonasi ya mwisho: jinsi ya kupanga Arduino moja kwa moja kutoka kwa OrangePI kwa hivyo sio lazima utembee kwenye kifaa kila wakati na unganisha kompyuta yako ndogo.

Kuna njia 2:

Njia rahisi: Sakinisha IDE kamili ya Arduino na maktaba tumia eneo-kazi kama X11 na usambazaji, Xrdp, Xvnc, Nxserver nk.

Njia ngumu: Sakinisha Arduino IDE na utumie laini ya amri

Tutafanya kazi ngumu wakati huu kwani sipendi kusakinisha X11 kwenye seva. Kwa hili utahitaji vifaa 6:

1, Arduino IDE ya ARM 32 kidogo ->

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

3, mradi wa Arduino Makefile -> git clone

4, maktaba ya DHT

5, Ufafanuzi wa bodi ya Sparkfun

6, SilverLight.ino, nambari kuu

Ili kurahisisha nimekusanya faili zinazohitajika kwa alama 4 za mwisho (sketchbook.tgz) kwa hivyo utahitaji 2 ya kwanza tu

Kwanza ni bora kuunda mtumiaji wa kawaida ambaye ana ufikiaji wa bandari ya USB:

nyongeza ya fedha

usermod -a -G mazungumzo ya fedha

SCP sketchbook.tgz kwa kifaa kwenye saraka ya nyumbani ya mtumiaji mpya na uiondoe hapo hapo:

cd / nyumbani / fedha

tar xvzf sketchbook.tgz

Ili kuelewa kidogo kinachoendelea chini ya kofia wakati unatumia IDE ya picha:

Utiririshaji wa ujenzi wa kujenga mchoro wa Arduino wakati wa kutumia IDE ya Arduino imeelezewa kwenye wavuti ya Arduino https://www.arduino.cc/en/Hacking/BuildProcess na kwa undani zaidi hapa: https://www.arduino.cc/ sw / Hacking / BuildProcess

Kwa ujumla, mchakato wa kawaida wa kujenga Arduino ni:

Unganisha faili za.ino kwenye faili kuu ya mchoro. Mabadiliko ya faili kuu ya mchoro: ongeza taarifa ya # pamoja; kuunda matamko ya kazi (prototypes) ya kazi zote kwenye faili kuu ya mchoro; ongeza yaliyomo kwenye faili kuu.cxx ya shabaha kwenye faili kuu ya mchoro. Unganisha nambari ili kupinga faili. Unganisha faili za kitu kutoa faili ya.hex tayari kwa kuipakia kwenye Arduino.

Kuna tofauti kidogo kati ya mchakato wa kiwango wa Arduino na mchakato wa kujenga kwa kutumia Arduino-Makefile:

Faili moja tu ya.ino inasaidiwa. Matamko ya kazi hayajaundwa kiatomati katika faili ya.ino. Mtumiaji anapaswa kutunza kuunda matamko sahihi ya kazi.

Moyo wa mchakato wa kujenga ni Makefile. Usijali, kila kitu kimeandaliwa kwako, ni ngumu zaidi wakati wa kuandaa njia hii kwa bodi zisizo za kawaida kama safu ya SparkFun.

BODI_TAG = matangazo

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT = / dev / ttyACM0 USER_LIB_PATH = / nyumba / fedha / sketchbook / maktaba ARDUINO_DIR = /opt/arduino-1.8.9 ni pamoja na / nyumba / silver/sketdubook / Arduino

Na unachohitaji kuchapa ni: fanya kupakia (ambayo itaunda faili za.hex kwanza kisha itumie avrdude kuzipakia), itaishia na kitu kama:

mkdir -p kujenga-matangazo-16MHzatmega32U4

fanya upya fanya [1]: Ingiza saraka '/ nyumbani / fedha / sketchbook' / nyumbani / fedha / sketchbook / Arduino-Makefile / bin / ard-reset-arduino --caterina / dev / ttyACM0 fanya [1]: Kuondoa saraka ' / home / silver / sketchbook 'make do_upload make [1]: Inaingia saraka' / 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: kujenga-promicro-16MHzatmega32U4 / sketchbook. hex: i Kuunganisha kwa programu:. Programu iliyopatikana: Id = "CATERIN"; aina = S Toleo la Programu = 1.0; Hakuna toleo la vifaa linalopewa. Msanidi programu inasaidia nyongeza ya kiongezaji kiotomatiki. Programu inasaidia ufikiaji wa kumbukumbu iliyopigwa na buffersize = 128 byte. Programu inasaidia vifaa vifuatavyo: Nambari ya kifaa: 0x44 avrdude: Kifaa cha AVR kimeanzishwa na tayari kupokea maagizo avrdude: Saini ya kifaa = 0x1e9587 (labda m32u4) avrdude: kusoma faili ya kuingiza "build-promicro-16MHzatmega32U4 / sketchbook.hex" avrdude: flash flash (11580 ka): avrdude: 11580 ka za flash zilizoandikwa avrdude: safemode: Fuses OK (E: CB, H: D8, L: FF) avrdude imefanywa. Asante.

Asante asdrdude, na sasa Arduino yetu imesanidiwa tena na imewekwa na nambari mpya, ambayo unaweza kuhariri tu na vi au mhariri wako pendwa ndani ya nchi, hakuna haja ya IDE yoyote. Ningeona kwamba unapaswa kufunga programu ya kudhibiti C, skrini au kitu kingine chochote kinachofikia arduino wakati wa kupakia, vinginevyo bandari itarudi kama / dev / ttyACM1 baada ya kuweka upya.

Hatua ya 3: Orodha ya Kufungwa na Todo

Orodha ya Kufungwa na Todo
Orodha ya Kufungwa na Todo
Orodha ya Kufungwa na Todo
Orodha ya Kufungwa na Todo
Orodha ya Kufungwa na Todo
Orodha ya Kufungwa na Todo

Ingawa niliunda sanduku hili la sensa ya mazingira kwa vyumba vya seva unaweza kuitumia kwa maabara ya kemia / elektroniki, maghala, vyumba vya kawaida na kitu kingine chochote. Na ndio kwa kuwa inatumia TCP / IP ni kifaa cha IoT, G ningepaswa kuiweka kwenye kichwa na kuifanya iwe ya kuvutia zaidi:)

Unaweza kurekebisha vifaa na programu kwa urahisi ili pia kuwasha taa kwenye chumba moja kwa moja. Angalia mradi wangu mwingine: Kivuli cha phoenix inafanyaje kazi kwa udhibiti wa nuru, una vifaa vyote vilivyo karibu kufanya kitu kimoja (hutumia vipima muda kushikilia taa kwa muda mrefu kama kulikuwa na mwendo uliogunduliwa ndani ya kipindi cha muda, ikiwa kuna mwendo tena kipima muda kitapigwa).

Pamoja na OrangePI inayoendesha stack kamili ya Armbian uwezekano hauna kikomo, unaweza kuunda kiolesura cha wavuti kilichoandikwa kutoka mwanzo katika php kuonyesha data ya kihistoria kwenye grafu. Je! Hii sio bora tayari kuwa una kifaa cha Chanzo wazi kabisa kinachofuatilia chumba chako cha seva kile unaweza kujivunia kujenga, ikiwa unafikiria ujenge mwenyewe!

Ilipendekeza: