Мазмұны:

SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор: 3 қадам (суреттермен)
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор: 3 қадам (суреттермен)

Бейне: SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор: 3 қадам (суреттермен)

Бейне: SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор: 3 қадам (суреттермен)
Бейне: Silver Light 2024, Шілде
Anonim
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор
SilverLight: серверлік бөлмелерге арналған Arduino негізіндегі экологиялық монитор

Бірде маған компанияның серверлік бөлмесіндегі температураны бақылау үшін экологиялық зонд іздеу тапсырылды. Менің бірінші ойым: неге Raspberry PI мен DHT сенсорын ғана пайдаланбасқа, оны ОЖ орнатуды қосқанда бір сағаттан аз уақыт ішінде орнатуға болады. Бұл үшін маған көздері байланған бастықтардан біз мұны істемейміз деген салқын жауап алдым, өйткені оны орнату үшін құрылғы сатып алудан гөрі көп уақыт кетеді. Менің өмірімнің бір бөлігінде осындай тар ойлы адамдарды қабылдауға тура келді, мен Ebay -ді EATON корпоративті деңгейіне тапсырыс бердім және оны шақырдым, бірақ мен өз серверлік бөлмем үшін толығымен ашық бастапқы коды Arduino саламын деп шештім. негізіндегі құрылғы, мен тапсырыс бергеннен әлдеқайда жақсы болады.

Бұл жоба SilverLight деп аталатын код, бұл есімдерді қайдан алғанымды сұрамаңыз:) Мен жай ғана жарқыраған акрил қорапшасына қарадым және осы атауды таңдадым, бұл микрофон өнімдеріне мен білгеннен еш қатысы жоқ..

1 -қадам: Жабдықтың дизайны

Аппараттық құралдардың дизайны
Аппараттық құралдардың дизайны
Аппараттық құралдардың дизайны
Аппараттық құралдардың дизайны
Аппараттық құралдардың дизайны
Аппараттық құралдардың дизайны

Коммерциялық жабдықтарға шолу.

Жақсы, мен қоршаған ортаның мониторын көтеру идеясын бастауға кіріспеймін, бірақ оның нарығы бар, сондықтан олардың не істей алатынын көрейік:

Қоршаған ортаны бақылайтын құрылғы СӘЙКЕСТІК

10/100Mb желісі-MS, PXGUPS, PXGPDP және PXGMS.

10/100 Мб ConnectUPS-X, ConnectUPS-BD және FW V3.01 және одан жоғары ConnectUPS-E. Өлшемдер (LXWXH)

2.26 x 1.48 x 1.15 (дюйм) 57.6 x 37.6 x 29.3 (мм) САЛМАҚ

1,19 унция (34 г)

Бұл өте пайдалы ақпарат, солай емес пе? Уайымдамаңыз, өйткені олар көп нәрсе жасай алмайды. Тіпті жұмысқа кірісу үшін сіздің UPS-те бөлек сатып алатын экологиялық сенсормен, әдетте стандартты CAT5 кабелімен байланыстыратын басқа қымбат қосымша картасы болуы керек (стандартты ештеңе жоқ болғандықтан, бұл портқа ештеңені қосуға тырыспаңыз. ол туралы). Олар құрылғыны «жылыту» үшін 10 минут қажет екенін айтады, бұл шын мәнінде бірнеше сағат болды, бірақ ол біртіндеп жаңартылған java интерфейсінде пайда болды, ал бізде температура мен ылғалдылық бар. Ескертулерге негізделген шарттарды орнату осы сәттен бастап оңай болды, бірақ кім жақсырақ нәрсе құруға тырысады.

Бұл жоба менің көптеген жобаларымның жиынтығы: Наталья метеостанциясы, Феникс көлеңкесі. Қорап келесі экологиялық шектеулерді бақылай алады:

  • Температура/ылғалдылық/жылу индексі
  • Сұйытылған газ, түтін, алкоголь, пропан, сутегі, метан және көміртегі тотығының ауадағы концентрациясы (MQ2)
  • Күн сезімталдығы (серверлік бөлмеде шам жанып тұр ма?)
  • Motion PIR сенсоры (сіз бөлмеге біреу кірген кезде қозғалыс сенсорының арқасында шамдарды қазірден бастап автоматты түрде қосуға/өшіруге болады)

Барлық осы деректер СКД экранында жақсы көрсетіледі, сонымен қатар әрі қарай өңдеу мен ескертулер үшін компьютерге (Orange PI Zero) жіберіледі. DHT және MQ2 цифрлық түйреуіші сияқты сандық датчиктерді OrangePI -ге тікелей қосу мүмкін болса да, мен әрқашан осы тапсырмалар үшін арнайы микроскоптарды қолдануды жөн көремін, сонымен қатар СКД -ді жаңарту қажет болғанда Arduino-ға ешнәрсе жетпейтін және көптеген жылдар бойы сенімді түрде жұмыс жасай алады (шын мәнінде, тәулік бойы жұмыс істейтін бірде-бір Arduino мен үшін сәтсіз болды). OrangePI кемшіліктері бар (бұл 10 долларлық компьютер) ауыр жұмыс жүктемесі үшін жарамсыз, bsd қолдауы жоқ, интеграцияланған Wi -Fi т.б сияқты сенсорлық көрсеткіштерді сериялық (USB) арқылы алу және оларды өңдеу сияқты шағын жүктемені оңай басқара алады.

Бұл келесі компоненттерді қажет ететін өте қарапайым жобалық аппараттық құрал:

  • Arduino PRO Micro
  • СКД экран 2х16 таңбалы RGB
  • AC-DC оқшаулағыш қосқыш қуат модулі 220В-тан 5В HLK-5M05-ке дейін (бұл Arduino/ESP жобалары үшін өте жақсы), бұл 5В/5Вт нұсқасы!
  • 2х300 Ом резисторлар
  • 2 қабатты (қызыл/жасыл)
  • PIR қозғалыс сенсоры
  • MQ2 сенсоры
  • DHT22
  • LDR
  • 2X10 кох резистор
  • Зумер
  • Апельсин PI Zero
  • шағын USB деректер кабелі

Мен жай ғана пайдаланылатын қарапайым тақтаға ПХД жасамадым, себебі компоненттерді Arduino -ға қосуға болады (суреттерді қараңыз):

-DHT22 VCC (цифрлық) үшін 10K тартылуды қажет етеді.

-LDR үшін GND (аналогты) үшін 10K түсіру қажет болады.

-MQ2 кез келген аналогтық істікшеге (аналогты) тікелей қосылуы мүмкін <аналогты қолданғанды жөн көреді, себебі неге бізде аналогты түйреуіштері бар MCU болғанда, біз оның мәнін алуға болады, ол үшін құрылғының артқы жағындағы кастрюльді HIGH немесе Менің конструкциямды жабыстырудың арқасында бәрібір қол жетімсіз. Қараңыз:

-PIR кез келген істікшеге тікелей қосылуы мүмкін (сандық)

-LCD: 4 түйреуішпен басқаруға болады, кез келген түйреуішке қосуға болады (сандық) +2 RS/E қажет (сандық)

-Бузер: кез келген Arduino түйреуіштеріне тікелей қосылуы мүмкін (сандық)

Мен қолданған түйреуішті кодтан көруге болады. Осыдан кейін бәрін бір -бірімен байланыстыру өте қарапайым, сіз оларды бір -бірлеп жасай аласыз, 1 сенсордың жақсы жұмыс істейтініне көз жеткізіңіз, содан кейін келесіге өтіңіз, қате болуы мүмкін нәрсе - сымдарды қате жерге қосу (мысалы, вк ауыстыру) /gnd сенсор үшін, әзірге бұл менің құрылғыларымды өлтірген жоқ). Мен мұнда VCC және GND -дің тым көп жиналғанын атап өткім келеді, мен оларды терминал жолағы арқылы қысып алмадым, сондықтан мен оларды дәнекерледім.

DHT туралы басқа жобалар туралы ұмытпаңыз: егер сіз DHT кітапханасын кодыңызға енгізсеңіз және DHT сенсоры қосылмаған болса немесе DHT дұрыс қосылмаған болса (мысалы, сіз қолданып отырған кодта 11 анықталса), бұл бағдарламаға әкелуі мүмкін. басында мәңгілікке іліп қою.

PIR қозғалысын анықтайтын сенсорлар туралы, менің суретте көріп тұрғаныңыздай, олардың көптеген жалған контрафактілері бар, шын мәнінде маған Ebay -ден шынайы сатып алу қиынға соғады. Фейктер ұзақ мерзімді перспективада да жақсы жұмыс істейді, бірақ олардың тізбегінің айнасы бар, бұл + және - түйреуіштерді кері айналдырады, сонымен қатар оларды тануға оңай: көгілдір компьютермен бірге әдеттегі жасыл емес, жапсырмалар жоқ потметрлер. Мен өз қорабымнан түпнұсқаны таптым, әйтпесе позицияны өзгерту мен үшін екі жарықдиодты жабады. Мен екі кастрюльдің ортасында иілгенін байқадым. Бұл сізге сезімталдық үшін жеткілікті ұзақ диапазон береді, сонымен қатар қозғалыс болған кезде цифрлық аяқ бір минут бойы ЖОҒАРЫ күйде сақталады, сондықтан бұл үшін кодты толтырудың қажеті жоқ. Жалғанда қай жақ екенін анықтау оңай - және + түйреуіштерге қосылған электролиттік қақпақтардың сәйкес аяқтарын қараңыз.

Қорапты кесу үшін мен гауһар тасты басын (бұл өте жақсы болды, бірақ жақсы жұмыс істеді) және қарапайым бұрғылау машинасын қолдандым. Бұл біріктіру қораптарымен жұмыс істеу оңай, бірақ мен желімдеуді ұнатпайтын болсам да, оларды салу кезінде қолымда бұрандалар мен болттар болмады, сондықтан заттарды бір -біріне жабыстыру мәмілесі болды (оны кейін оңай ысытуға және бөлшектеуге болады. сол жерде мылтық жоқ.

2 -қадам: Бағдарламалық жасақтама дизайны

Бағдарламалық қамтамасыз ету дизайны
Бағдарламалық қамтамасыз ету дизайны
Бағдарламалық қамтамасыз ету дизайны
Бағдарламалық қамтамасыз ету дизайны

Arduino коды да қарапайым, ол әр циклдың басында сенсордың барлық көрсеткіштерін тартады. Егер қозғалыс немесе түтін болса, светодиодты қосады, егер түтін болса, сигналда дыбысты шығарады (бұл блоктаудың жалғыз коды, сондықтан мен оны қысқарттым), содан кейін мәліметтерді СКД -де көрсетеді және оны компьютерге жібереді. портты су басуға емес, 10 секунд ұстау кезеңімен.

Бұл жоба Arduino-> OrangePI бір жақты байланысын қолданады, ешқандай командалар орындалмайды. Мен мұны менің басқа жобамның бірінде жасағанымдай жасау мүмкін болар еді, бірақ компьютер LCD_PRINT1 немесе LCD_PRINT2 жібере алады, СКД экранының бір жолын өзінің хабарламасымен қайта жазу үшін (мысалы: IP мекенжайы, жұмыс уақыты, жүйе күні, cpu пайдалану), экранның аумағы 3 сенсордағы деректерді көрсету үшін өте кішкентай, мен тіпті алаңдамадым. SOL және SMK мәндері экранда 8 құнды таңбаны қабылдайтын 0000-1023 4 цифрына дейін жетуі мүмкін.

СКД көмегімен сіз әр өлшенген мәннен кейін бос орындардың («») басылымы қолданылатын кішігірім трюкті байқай аласыз, содан кейін мен жаңа белгішелер мен деректерді орналастыру үшін меңзерді бекітілген орындарға жылжытадым. Олар сонда, себебі СКД сандарды түсіну үшін ақылды емес, ол не алатынын суреттейді, мысалы, егер сізде 525 күн мәні болса, ол кенеттен 3 -ке дейін төмендеді, онда ол 325 -ті көрсетеді, ол ескі қоқысты экранда қалдырады. Ана жерде.

OrangePI -де жұмыс істейтін және қоршаған орта туралы деректерді тіркейтін және қажет болған жағдайда электрондық пошта ескертулерін жіберетін C басқару коды.

OrangePI Armbian (Debian Stretch негізінде жазылған) жұмыс істейді. Мен мұны бағдарламалық қамтамасыз ету бөлігіне қосамын, себебі ол шешкен мәселе. Міне, құрылғының орташа қуатты төгуі:

0,17 А - тек Arduino + сенсорлары

0.5-0.62 A - OrangePI жүктелуі

0.31 A - жұмыс істемейтін қызғылт сары PI

0.29 A - қызғылт сары PI өшірулі (оны шынымен өшіруге болмайды, ACPI немесе оған ұқсас нәрсе жоқ)

0,60 A - 4 ядрода 100% процессорлық жүктемені сынау

Менде бұл OrangePI ұзақ уақыт қорапта болды. Ескі ядродан кейін құрылғы соншалықты көп ағып кетті (есептегіш 0,63 А шамасында шыңға жетті), ол PSU жүктелмегенін қамтамасыз ете алмады, жүктеу процесі тоқтап қалды, мен 2 Ethernet жарықдиодты жарықтандырылды. үнемі және ештеңе жасамайды.

HLK-5M05 5В-да 5 Вт жұмыс жасай алады деп мәлімдейтіндіктен, бұл бір амперді қамтамасыз ете алады, бірақ бұл құрылғылар Қытайдан шыққанда, сіз ешқашан білмейсіз, 0,63 A шыңы номиналды максимумнан әлдеқайда төмен болды құндылық. Мен қарапайым қайта жүктеу тестілерін орындадым, 10 қайта жүктеуден OrangePI тек екі рет сәтті жүктеледі, бұл мені жобадан шығарып жіберуге мәжбүр етті, өйткені маған схемалардағы қателікке сәйкес келмейтін мінез -құлық ұнамайды. Мен гуглді бастадым, мүмкін жүктелу кезінде бағдарламалық жасақтамадан қуат шығынын азайтудың жолы бар шығар (себебі бұл мәселе болды) және script.bin -ді өзгерту туралы айтылған мақаланы таптым, бірақ ол Orange PI PC мен Файлдар қоймада жоқ болды, сондықтан соңғы шара ретінде мен микробағдарламаны, ядро мен басқаларды жаңарту үшін сиқырлы «жаңартуды» жасадым, ол аз ағып кетеді деп үміттенемін және құрылғы жүктеледі және:

Linux silverlight 4.14.18-sunxi #24 SMP жұма 9 ақпан 16:24:32 CET 2018 armv7l GNU/Linux

Linux silverlight 4.19.62-sunxi #5.92 SMP Сәрсенбі 31 шілде 22:07:23 CEST 2019 armv7l GNU/Linux

Бұл жұмыс істеді! Аппараттық құралдарды бағдарламалық қамтамасыз ету мәселесіне лақтыру әдетте жалқау Java әзірлеушілері болып табылады, бірақ бұл жағдайда біз бағдарламалық жасақтаманың аппараттық мәселесін шештік, бұл үлкен жетістік. Мен құрылғыны әр жағдайда жүктейтін тағы 20 рет қайта жүктеу сынағын өткіздім. Мен әлі де назар аударар едім, Opi -ді қосудың (қосылу/ажырату) қуатының жоғарылауы соншалықты үлкен, ол Arduino -ны кез келген уақытта қалпына келтіреді (қарапайым қайта жүктеу тек СКД -ны жыпылықтатады, бірақ басқа мәселелерді тудырмайды), бірақ бұл мәселе әлі де қалады жасырын, себебі 2 бірге жүктеледі.

Мен ядро модульдерін де қарадым:

usb_f_acm u_serial g_serial libcomposite xradio_wlan mac80211 Лима 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

Бұлардан бізге шынымен не қажет? Жақсы, pwr және термалдылық пайдалы болуы мүмкін, бірақ дыбыстық, сериялық порт, wifi (қазірдің өзінде сынған) бізге мұның бәрін қара тізімге енгізудің қажеті жоқ. Мен сонымен қатар қажетті модульдермен реттелетін ядро жасаймын.

Бізге қажет нәрсе және ол әдепкі бойынша жүктелмеген - CDC ACM, Arduino -мен байланысу үшін оны қосады:

echo «cdc-acm» >> /etc /модульдер

Осыдан кейін сіз қосылымды қазірдің өзінде тексере аласыз:

экран /dev /ttyACM0 9600

Күй деректері әр 10 секунд сайын жіберілетінін көруіңіз керек.

Ескерту және бақылау

Ескертулер бойынша мен C (басқару) кодымен system () қоңырауларын енгіздім, ол деректерді сериядан алады, сондықтан ешқандай сыртқы құралдар қажет емес. Кейбір ескертулер мысалы:

- Температура 30 градустан жоғары

Ылғалдылық 70 % -дан асады (серверлер үшін сау емес)

- Бөлмеде қозғалыс анықталды (егер сіз сервер бөлмесінде жүре берсеңіз, бұл тітіркендіргіш болуы мүмкін)

- Түтін немесе газ анықталды (100 -ден асатын ескертулерді байыпты қабылдауға болады, мен бұл сенсормен ойнадым, ол көп нәрсеге қосылады, мысалы, дәнекерленген темірмен сенсордың жанында түтін шығару 50 -ден сәл асады, содан кейін темекі шегу кезінде o 500 -ге дейін көтерілді, тіпті алыстан қарапайым дезодоранттың газын тапты)

Тарихи деректерді сақтау үшін мен құралды әзірлеуге алаңдамадым, себебі бізде тамаша бақылау жүйелері болған кезде дөңгелекті неге ойлап табуға болады. Мен мұны жеке сүйіктім Zabbix -ке қалай біріктірудің мысалын көрсетемін:

apt-get zabbix-agent орнатыңыз

Соңына қосыңыз: /etc/zabbix/zabbix_agentd.conf

UserParameter = silverlight.hum, head -1 /dev/shm/silverlight-zbx.log | awk -F «,» '{$ 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 «,» '{$ 5 басып шығару' 'UserParameter = silverlight.smk, head -1 /dev/shm/silverlight-zbx.log | awk -F «,» '{$ 6 басып шығару}'

Zabbix_agentd -p іске қосу қазір тиісті мәндерді қайтаруы керек:

silverlight.hum [t | 41]

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

Жылу индексі, мен оны жинаймын, бірақ оның практикалық қолданылуын көрмеймін, сондықтан ол жай ғана тіркеледі. C басқару кодында мен 2 тіркеу функциясын енгіздім, біріншісі барлық деректерді пайдаланушыға ыңғайлы форматта тіркейді:

[SILVERLIGHT] Деректер алынған күн: 2019-09-10 23:36:08 => Ылғалдылық: 44, Температура: 22, Сәлем: 25, Күн: 0, Қозғалыс: 0, Түтін: 21

[SILVERLIGHT] Деректер алынды 2019-09-10 23:36:18 => Ылғалдылық: 44, Темп: 22, Сәлем: 25, Күн: 0, Қозғалыс: 0, Түтін: 21 [SILVERLIGHT] Деректер 2019-09 ж. Алынды -10 23:36:29 => Ылғалдылық: 44, Температура: 22, Сәлем: 25, Күн: 0, Қозғалыс: 0, Түтін: 22 [КҮМСІЗДІК] Деректер 2019-09-10 23:36:39 => кезінде алынды Ылғалдылық: 44, Темп: 22, Сәлем: 25, Күн: 0, Қимыл: 0, Түтін: 21

Екіншісі:

void logger2 (char *мәтіні) {

FILE *f = fopen («/dev/shm/silverlight-zbx.log», «w»); if (f == NULL) {printf («Жад журналының файлын ашуда қате! / n»); қайтару; } fprintf (f, «%s», мәтін); fclose (f); қайтару; }

Бұл жадыға 1 лайнерлік журналды қояды (sdcard картасындағы қажетсіз rw операцияларын жояды), ол келесі жолы әрқашан қайта жазылады. Бұл журналда тек 6 деректер бағандары болады және уақыт белгісі жоқ, оны Zabbix оңай оқи алады.

Соңғы бонус ретінде: Arduino -ны тікелей OrangePI -ден қалай бағдарламалау керек, сондықтан құрылғыны әр уақытта көтеріп, ноутбукті қосудың қажеті жоқ.

2 жол бар:

-Оңай әдіс: Arduino IDE толық орнатыңыз және кітапханалар X11 сияқты кейбір қашықтағы жұмыс үстелін пайдаланады, Xrdp, Xvnc, Nxserver және т.

-Қатты әдіс: Arduino IDE орнатыңыз және пәрмен жолын пайдаланыңыз

Біз X11 -ті серверлерге орнатуды ұнатпайтындықтан, бұл жолы қиын жолмен жүреміз. Ол үшін сізге 6 компонент қажет:

1, ARM 32 битке арналған Arduino IDE ->

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

3, Arduino Makefile жобасы -> git clone

4, DHT кітапханасы

5, Sparkfun тақтасының анықтамалары

6, SilverLight.ino, негізгі код

Жеңілдету үшін мен соңғы 4 нүктеге (sketchbook.tgz) қажетті файлдарды жинақтадым, сондықтан сізге тек алғашқы 2 қажет болады

Алдымен USB портына rw қатынасы бар тұрақты пайдаланушыны құру жақсы:

қосымша күміс

usermod -a -G күміс

SCP sketchbook.tgz жаңадан құрылған пайдаланушының үй каталогындағы құрылғыға және оны дәл сол жерден шығарыңыз:

CD /үй /күміс

tar xvzf sketchbook.tgz

Графикалық IDE қолданған кезде сорғыш астында не болып жатқанын түсіну үшін:

Arduino IDE қолданған кезде Arduino эскизін құрудың жұмыс процесі Arduino веб -сайтында https://www.arduino.cc/kz/Hacking/BuildProcess және толығырақ мына жерде сипатталған: https://www.arduino.cc/ kk/Hacking/BuildProcess

Әдетте Arduino стандартты құрастыру процесі:

. Ino файлдарын негізгі эскиздік файлға біріктіріңіз. Негізгі эскиздік файлды түрлендіру: #include операторын қосыңыз; негізгі эскиздік файлдағы барлық функциялардың декларацияларын (прототиптерін) құру; main.cxx нысанының мазмұнын негізгі эскиз файлына қосыңыз. Кодты объектілік файлдарға құрастырыңыз. Нысан файлдарын Arduino -ға жүктеуге дайын.hex файлын шығару үшін байланыстырыңыз.

Arduino стандартты құрастыру процесі мен Arduino-Makefile көмегімен құрастыру процесі арасында аздаған айырмашылықтар бар:

Тек бір.ino файлына қолдау көрсетіледі.. Ino файлында функция декларациялары автоматты түрде жасалмайды. Пайдаланушы функцияның дұрыс декларациясын құруға қамқорлық жасауы керек.

Құру процесінің жүрегі - Makefile. Уайымдамаңыз, бәрі сіз үшін дайындалған, SparkFun сериялары сияқты стандартты емес тақталар үшін осылай құрастыру біршама күрделі.

BOARD_TAG = промокро

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHz

Сізге теру керек: a: upload (ол алдымен.hex файлдарын құрады, содан кейін оларды жүктеу үшін avrdude пайдаланады), ол келесідей болады:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1]: каталогтан шығу ' /home/silver/sketchbook 'do_upload make [1]:'/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 жарқыл: w: build -promicro -16MHzatmega32U4/эскиз кітабы. hex: i программистке қосылуда:. Табылған бағдарламашы: Id = «CATERIN»; type = S Software Version = 1.0; Аппараттық нұсқа берілмеген. Бағдарламашы автоматты түрде қосуды қолдайды. Бағдарламашы буферлік жадыға қол жеткізуді буферлік өлшемі = 128 байтпен қолдайды. Бағдарламашы келесі құрылғыларды қолдайды: Құрылғы коды: 0x44 avrdude: AVR құрылғысы инициализацияланған және нұсқауларды қабылдауға дайын avrdude: Құрылғы қолтаңбасы = 0x1e9587 (мүмкін m32u4) avrdude: «build-promicro-16MHzatmega32U4/sketchbook.hex» кіріс файлын оқу: флэш жазу (11580 байт): avrdude: 11580 байт флэш жазылған avrdude: safemode: сақтандырғыштар OK (E: CB, H: D8, L: FF) avrdude орындалды. Рақмет сізге.

Аврдуде рахмет, енді біздің Arduino қалпына келтірілді және жаңа кодпен бағдарламаланған, оны сіз vi немесе сүйікті редактордың көмегімен өңдей аласыз, ешқандай IDE қажет емес. Мен жүктеу кезінде C басқару бағдарламасын, экранды немесе arduino -ға кіретін кез келген нәрсені жабу керектігін ескеремін, әйтпесе порт қалпына келтірілгеннен кейін /dev /ttyACM1 ретінде оралады.

3 -қадам: жабылу және жасалатын істер тізімі

Жабу және жасалатын істер тізімі
Жабу және жасалатын істер тізімі
Жабу және жасалатын істер тізімі
Жабу және жасалатын істер тізімі
Жабу және жасалатын істер тізімі
Жабу және жасалатын істер тізімі

Мен бұл экологиялық сенсорлық қорапты серверлік бөлмелер үшін жасаған болсам да, сіз оны химия/электронды зертханалар, қоймалар, кәдімгі бөлмелер және тағы басқалар үшін пайдалана аласыз. Ия, ол TCP/IP қолданатындықтан, бұл IoT құрылғысы, G мен оны кәсіпкерлік ету үшін тақырыпқа қоюым керек еді:)

Бөлмедегі шамдарды автоматты түрде қосу үшін сіз жабдықты да, бағдарламалық жасақтаманы да оңай өзгерте аласыз. Менің басқа жобамды қараңыз: Феникс көлеңкесі бұл жарықты басқару үшін қалай жұмыс істейді, сізде барлық нәрсені жасау үшін қолыңызда бар құрал бар (ол қозғалысты анықтаған кезде шамдарды қосуға таймерді қолданады. уақыт кезеңі, егер қайтадан қозғалыс болса, таймер соғылады).

OrangePI толық жиынтығында Armbian жұмыс жасаса, мүмкіндіктер шексіз, сіз графикалық деректердегі тарихи деректерді көрсету үшін PHP -де нөлден жазылған жергілікті веб -интерфейс жасай аласыз. Егер сізде өзіңіздің серверлік бөлмені бақылайтын ашық бастапқы коды бар құрылғы бар болса, бұл жақсы емес пе, егер сіз оны өзіңіз құрастырсаңыз деп мақтануға болады!

Ұсынылған: