Sisällysluettelo:

SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin: 3 vaihetta (kuvilla)
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin: 3 vaihetta (kuvilla)

Video: SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin: 3 vaihetta (kuvilla)

Video: SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin: 3 vaihetta (kuvilla)
Video: Silver Light 2024, Heinäkuu
Anonim
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin
SilverLight: Arduinopohjainen ympäristövalvonta palvelinhuoneisiin

Kerran sain tehtävän etsiä ympäristöanturi, jolla seurataan yritykseni palvelinhuoneen lämpötilaa. Ensimmäinen ajatukseni oli: miksi et käytä vain Vadelma PI: tä ja DHT -anturia, se voidaan asentaa alle tunnissa, mukaan lukien käyttöjärjestelmän asennus. Sain tätä varten kylmän vastauksen sokeilta pomokkailta ihmisiltä, että emme tee sitä, koska sen asettaminen maksaisi enemmän työaikoina kuin laitteen ostaminen. Tällaisen kapeasti ajattelevien ihmisten hyväksyminen osan elämästäni oli yksi asia, ja tilasin Eatonilta yritystason EATON -roskaa ja kutsuin sitä, mutta päätin tuolloin, että rakennan omaan palvelinhuoneeseeni täysin avoimen lähdekoodin Arduinon pohjainen laite, joka on paljon parempi kuin mitä tilasin.

Tämä projekti on koodinimeltään SilverLight, älä kysy minulta, mistä saan nämä nimet:) Katsoin juuri kiiltävää puoliakryylilaatikkoa ja päätin tällä nimellä, sillä ei ole mitään tekemistä sen jälkeen, kun sain tietää siitä, mitä olen saanut.

Vaihe 1: Laitteiston suunnittelu

Laitteiston suunnittelu
Laitteiston suunnittelu
Laitteiston suunnittelu
Laitteiston suunnittelu
Laitteiston suunnittelu
Laitteiston suunnittelu

Kaupallisen laitteiston yleiskatsaus.

Ok, joten en edes aloita, jonka loistava idea oli laittaa ympäristömonitori nousuun, mutta ilmeisesti sille on markkinat, joten katsotaanpa mitä nämä voivat tehdä:

Ympäristönvalvontalaite YHTEENSOPIVUUS

10/100 Mt: n verkko-MS, PXGUPS, PXGPDP ja PXGMS.

10/100 Mt ConnectUPS-X, ConnectUPS-BD ja ConnectUPS-E, joiden FW V3.01 tai uudempi. MITAT (LXWXH)

2,26 x 1,48 x 1,15 (tuumaa) 57,6 x 37,6 x 29,3 (mm) PAINO

34 g (1,19 unssia)

Se on erittäin hyödyllistä tietoa, eikö? Ei hätää, koska he eivät voi tehdä paljon. Alkuun pääsemiseksi UPS-laitteellasi on oltava toinen kallis lisäkortti tätä varten, joka yhdistää sen erikseen ostamaasi ympäristönsensoriin, yleensä tavallisella CAT5-kaapelilla (älä edes yritä kytkeä mitään tähän porttiin, koska mitään standardia ei ole siitä). He väittävät, että laite tarvitsee 10 minuuttia "lämmetäkseen", joka todellisuudessa oli tunteja, ja kun se teki voila, se näkyi hitaasti päivittyvässä java -käyttöliittymässään ja meillä on lämpötila ja kosteus. Varoituksiin perustuvien olosuhteiden asettaminen oli helppoa tästä lähtien, mutta kuka välittää, rakennetaan jotain parempaa.

Tämä projekti on yhdistelmä useista projekteistani: Natalia -sääasema, Feeniksin varjo. Laatikko pystyy seuraamaan seuraavia ympäristörajoituksia:

  • Lämpötila/kosteus/lämpöindeksi
  • Nestekaasun, savun, alkoholin, propaanin, vedyn, metaanin ja hiilimonoksidin pitoisuudet ilmassa (MQ2)
  • Aurinkoherkkyys (palaako valo palvelinhuoneessa?)
  • Liike -PIR -anturi (voit jopa sytyttää/sammuttaa valot automaattisesti tästä lähtien liiketunnistimen ansiosta, kun joku tulee huoneeseen)

Kaikki nämä tiedot näkyvät kauniisti nestekidenäytöllä ja välitetään myös tietokoneelle (Orange PI Zero) jatkokäsittelyä ja hälytyksiä varten. Vaikka digitaaliset anturit, kuten DHT ja MQ2: n digitaalinen nasta olisi mahdollista kytkeä suoraan OrangePI -laitteeseen, käytän aina mieluummin omistettuja mikromikroja näihin tehtäviin ja silloin, kun sinun on myös päivitettävä nestekidenäyttö ja muut matalatasot. Arduino on vain lyömätön ja voi toimia luotettavasti yhtäjaksoisesti monta vuotta (itse asiassa yksikään 24/7 toimiva Arduino ei ole vielä onnistunut). OrangePI ja sen puutteet (olkoon se on 10 dollarin tietokone), kuten käyttökelvoton raskaaseen työmäärään, ei bsd -tukea, integroitu wifi on paisunut jne. Voi helposti käsitellä pientä työmäärää, kuten anturin lukemien ottamista sarjaportin (USB) kautta ja käsittelemällä niitä.

Tämä on hyvin yksinkertainen laitteisto, joka vaatii seuraavat osat:

  • Arduino PRO Micro
  • LCD -näyttö 2x16 merkin RGB
  • AC-DC-erotuskytkimen virtamoduuli 220V-5V HLK-5M05 (nämä ovat erittäin hyviä Arduino/ESP-projekteille), tämä on 5V/5W-versio!
  • 2x300 ohmin vastukset
  • 2x kelkka (punainen/vihreä)
  • PIR -liiketunnistin
  • MQ2 -anturi
  • DHT22
  • LDR
  • 2X10Kohm vastus
  • Summeri
  • Oranssi PI Zero
  • mini -USB -datakaapeli

En edes vaivautunut tekemään piirilevyä tähän vain käytettyyn tavalliseen leipälevyyn, koska komponentit voidaan yksinkertaisesti liittää Arduinoon (katso liitteenä olevat kuvat):

-DHT22 vaatii 10K vetämisen VCC: hen (digitaalinen)

-LDR vaatii 10K: n alasvetämisen GND: lle (analoginen)

-MQ2 voidaan kytkeä suoraan mihin tahansa analogiseen nastaan (analogiseen) <mieluummin käyttämällä analogista, koska miksi ei, kun meillä on MCU, jossa on analogiset nastat, joista voimme saada tarkan arvon sen sijaan, että säätäisimme jonkin potin laitteen takana saadaksesi HIGH tai LOW pois siitä, koska liimaus suunnittelussa, joka on joka tapauksessa saavuttamaton. Tarkista:

-PIR voidaan liittää suoraan mihin tahansa nastaan (digitaalinen)

-LCD: Voidaan ajaa 4 nastalla, voidaan liittää mihin tahansa nastaan (digitaalinen) vaatii +2 RS/E (digitaalinen)

-summeri: voidaan liittää suoraan mihin tahansa Arduino -nastaan (digitaalinen)

Käyttämäni pinout näkyy koodissa. Kaikkien yhdistäminen tämän jälkeen on melko suoraviivaista, voit myös tehdä ne yksitellen, varmista, että 1 anturi toimii täydellisesti ja jatka seuraavaan, kaikki mitä voit tehdä väärin, on vahingossa kytkeä johdot vääriin paikkoihin (esim. /gnd anturille, toistaiseksi tämä ei koskaan tappanut mitään laitteistani). Huomautan tässä, että minulle oli pinottu liian monta VCC- ja GND -laitetta, en voinut puristaa niitä riviliittimen läpi, joten juotin ne kaikki.

Älä myöskään unohda muita DHT -projekteja: jos lisäät DHT -kirjaston koodiin ja DHT -anturia ei ole kytketty tai DHT on kytketty väärin (esim. 11 määritetty koodissa, jota käytät 22), se voi johtaa ohjelmaan roikkua aluksi ikuisesti.

Tietoja PIR -liiketunnistimista, kuten kuvastani näet, on paljon väärennettyjä väärennöksiä, itse asiassa minun olisi jopa vaikea ostaa aitoa Ebaysta. Väärennökset toimivat yhtä hyvin, jopa pitkällä aikavälillä, mutta niiden piiri on peilattu, mikä saa + ja - nastat kääntymään, myös nämä on helppo tunnistaa: mukana tulee sininen piirilevy, ei tavallinen vihreä, puuttuu tarrat potkimittarit. Olin onnekas, kun löysin laatikostani aidon, muuten sijainnin vaihtaminen kattaisi kaksi lediä minulle. Olen huomannut, että molemmat ruukut kääntyivät puolivälissä toimimaan minulle. Tämä antaa sinulle riittävän pitkän kantaman havaitaksesi myös liikkeen aikana, digitaalinen jalka pidetään KORKEA -asennossa noin minuutin ajan, joten sinun ei tarvitse korjata tätä koodia. Väärennöksistä on helppo määrittää, kumpi puoli on - ja + katso vain nastoihin kytkettyjen elektrolyyttikorkkien vastaavia jalkoja.

Laatikon leikkaamiseen käytin timantti -dremel -päätä (joka oli ylilyönti, mutta toimi hyvin) ja tavallista porakoneita. Näiden liitäntärasioiden kanssa on helppo työskennellä, ja vaikka en pidä liimaamisesta, minulla ei ollut ruuveja ja pultteja käsillä tätä rakennettaessa, joten kesti liimata asioita yhteen (mikä voidaan myös helposti lämmittää ja purkaa myöhemmin käyttämällä sama liimapistooli ilman täyttöä).

Vaihe 2: Ohjelmistosuunnittelu

Ohjelmistosuunnittelu
Ohjelmistosuunnittelu
Ohjelmistosuunnittelu
Ohjelmistosuunnittelu

Arduino -koodi on myös yksinkertainen, se vetää periaatteessa kaikki anturin lukemat jokaisen silmukan alussa. Kytkee LED -valot päälle, jos on liikettä tai savua, ja myös soi hälytysäänen summerissa, jos on savua (tämä on ainoa estokoodi, joten tein sen lyhyeksi), näyttää sitten tiedot nestekidenäytössä ja lähettää sen lopulta tietokoneen kautta 10 sekunnin pitoaikana, jotta portti ei joudu tulviin.

Tämä projekti käyttää yksisuuntaista kommunikaatiota Arduinolta-> OrangePI: ltä, minkäänlaisia komentoja ei ole toteutettu. Vaikka tämä olisi täysin mahdollista tehdä, kuten tein sen yhdessä toisessa projektissani, jossa tietokone voi lähettää LCD_PRINT1- tai LCD_PRINT2 -tiedoston korvaamaan LCD -näytön yhden rivin omalla viestillään (esim. IP -osoite, käyttöaika, järjestelmän päivämäärä, suorittimen käyttö), näyttöalue on niin pieni kolmen anturin tietojen näyttämiseen, että en edes vaivautunut. SOL- ja SMK-arvot voivat olla jopa 4-numeroisia 0000-1023, jolloin näytöllä on jo 8 arvokasta merkkiä.

Nestekidenäytössä voit havaita koodissa pienen tempun, että jokaisen mittausarvon jälkeen käytetään välilyöntejä ("") ja siirrän kohdistimen kiinteisiin paikkoihin uusien kuvakkeiden ja tietojen sijoittamiseksi. Nämä ovat olemassa, koska nestekidenäyttö ei ole kovin älykäs lukujen ymmärtämiseen, se vain piirtää sen, mitä se saa ja esimerkiksi jos sinulla oli aurinkoarvo 525, joka yhtäkkiä laski 3: een, se näyttää 325, joka jättää vanhan roskan näytölle siellä.

C -ohjauskoodi, joka toimii OrangePI: ssä ja kirjaa ympäristötietoja ja lähettää tarvittaessa sähköposti -ilmoituksia.

OrangePI: ssä on käytössä Armbian (joka kirjoittaessaan perustuu Debian Stretchiin). Lisään tämän ohjelmisto -osaan, koska se oli hw -ongelma, jonka se ratkaisi. Tässä on laitteen keskimääräinen virrankulutus:

0,17 A - vain Arduino + anturit

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

0,31 A - Oranssi PI tyhjäkäynnillä

0,29 A - Oranssi PI pois päältä (ei voi sammuttaa sitä, sillä ei ole ACPI: tä tai vastaavaa)

0,60 A - Stressitesti 100% suorittimen käyttö 4 ytimessä

Minulla oli tämä OrangePI laatikossa pitkään. Vanhan ytimen avulla laite tyhjensi niin paljon virtaa (kuten mittari sanoi, että huippu oli noin 0,63 A), mitä virtalähde ei todennäköisesti voinut tarjota, että se ei yksinkertaisesti käynnistynyt, käynnistysprosessi oli jumissa ja sain 2 ethernet -lediä syttymään jatkuvasti ja tekemättä mitään.

Nyt tämä on jotenkin ärsyttävää, koska HLK-5M05 väittää, että se voi tehdä 5 W: n virran 5 V: lla, joten se pystyy tarjoamaan 1 ampeerin, mutta koska nämä laitteet tulevat Kiinasta, et vain koskaan tiedä, 0,63 A-huippu oli paljon pienempi kuin nimellisteho arvo. Joten olin suorittamassa yksinkertaisia uudelleenkäynnistystestejä, 10 uudelleenkäynnistyksestä OrangePI käynnistyi vain kahdesti onnistuneesti, mikä melkein sai minut heittämään sen pois projektista, koska en pidä bugisesta epäjohdonmukaisesta käyttäytymisestä piireissä. Joten aloin googlata ympäri, ehkä on olemassa keino vähentää virrankulutusta käynnistyksen aikana ohjelmistosta (koska se oli vain ongelma) ja löysin jonkin artikkelin, jossa puhuttiin skriptin säätämisestä. Bin, mutta se oli Orange PI PC: lle ja tiedostot puuttuivat tallennustilasta, joten olen viimeisenä keinona tehnyt maagisen "apt -päivityksen" päivittääksesi laiteohjelmiston, ytimen ja kaiken muun toivoen, että se tyhjenee vähemmän ja laite voi käynnistyä ja:

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

Linux silverlight 4.19.62-sunxi #5.92 SMP Wed 31. heinäkuuta 22:07:23 CEST 2019 armv7l GNU/Linux

Se toimi! Laitteiden heittäminen ohjelmisto -ongelmaan on yleensä laiskoja java -kehittäjiä, mutta tässä tapauksessa olemme ratkaisseet laitteisto -ongelman ohjelmistolla, mikä on suuri menestys. Olen tehnyt vielä 20 uudelleenkäynnistystestiä, kun laite käynnistyi jokaisessa tapauksessa. Huomautan silti, että virtapiikki Opin kytkemisestä päälle (kytkeminen/irrottaminen) on niin suuri, että se nollaa Arduinon milloin tahansa (yksinkertainen uudelleenkäynnistys vain välkkyy nestekidenäytössä, mutta ei aiheuta muita ongelmia), mutta tämä ongelma pysyy piilotettu, koska 2 käynnistetään yhdessä.

Katsoin myös ytimen moduuleja:

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

Mitä me todella tarvitsemme näistä? Ok, pwr ja lämpö voivat olla hyödyllisiä, mutta ääni, sarjaportti, wifi (rikki hw jo) emme tarvitse kaikkia näitä voidaan sisällyttää mustalle listalle. Luon myös myöhemmin mukautetun ytimen, jossa on vain tarvittavat moduulit.

Tarvitsemme, eikä sitä ole ladattu oletusarvoisesti, CDC ACM kommunikoimaan Arduinon kanssa, ota se käyttöön:

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

Tämän jälkeen voit jo testata yhteyden:

screen /dev /ttyACM0 9600

Tilatiedot lähetetään 10 sekunnin välein.

Hälytykset ja seuranta

Hälytyksistä kirjoitin juuri järjestelmän () kutsut C -ohjauskoodiin, joka vastaanottaa tiedot sarjasta, joten ulkoisia työkaluja ei tarvita. Esimerkkejä hälytyksistä:

- Lämpötila nousee yli 30 C

- Kosteus ylittää 70 % (ei terve palvelimille)

- Liike havaittu huoneessa (tämä voi olla ärsyttävää, jos jatkat palvelinhuoneessasi)

- Savua tai kaasua havaittu (yli 100 -hälytykset voidaan ottaa vakavasti, olen leikkinyt tällä anturilla ja se kytkeytyy päälle monille tavaroille, esimerkiksi savun luominen anturin viereen juotosraudalla johti hieman yli 50, kun tupakoin seuraavan kerran o se nousi 500: een, se havaitsi jopa kaasua tavallisesta deodorantista kaukaa)

Historiallisten tietojen säilyttämiseksi en vaivautunut kehittämään työkalua, koska miksi keksiä pyörä uudelleen, kun saimme erinomaiset seurantakehykset. Näytän esimerkin kuinka integroida tämä henkilökohtaiseen suosikkiini, Zabbixiin:

apt-get install zabbix-agent

Lisää: /etc/zabbix/zabbix_agentd.conf

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

Suorittamalla zabbix_agentd -p pitäisi nyt palauttaa oikeat arvot:

hopeavalo.hum [t | 41]

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

Lämpöindeksi kerään sen, mutta en näe sille käytännön käyttöä, joten se on vain kirjattuna. C -ohjauskoodissa olen toteuttanut kaksi lokitoimintoa, ensimmäinen kirjaa kaikki tiedot käyttäjäystävälliseen muotoon:

[SILVERLIGHT] Tiedot vastaanotettu 10.9.2019 23:36:08 => Kosteus: 44, Lämpötila: 22, Hei: 25, Aurinko: 0, Liike: 0, Savu: 21

[SILVERLIGHT] Tiedot vastaanotettu 2019-09-10 23:36:18 => Kosteus: 44, Lämpötila: 22, Hei: 25, Aurinko: 0, Liike: 0, Savu: 21 [SILVERLIGHT] Tiedot vastaanotettu 2019-09 -10 23:36:29 => Kosteus: 44, Lämpötila: 22, Hei: 25, Aurinko: 0, Liike: 0, Savu: 22 [SILVERLIGHT] Tiedot vastaanotettu 2019-09-10 23:36:39 => Kosteus: 44, Lämpötila: 22, Hei: 25, Aurinko: 0, Liike: 0, Savu: 21

Toinen:

void logger2 (char *text) {

FILE *f = fopen ("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) {printf ("Virhe muistilokitiedoston avaamisessa! / n"); palata; } fprintf (f, "%s", teksti); fclose (f); palata; }

Tämä lisää 1 liner -lokin muistiin (poistaa tarpeettomat rw -toiminnot SD -kortilta), joka korvataan aina seuraavalla kerralla. Tämä loki sisältää vain 6 tietosaraketta eikä aikaleimaa, se on helposti luettavissa Zabbixille.

Viimeisenä bonuksena: kuinka ohjelmoida Arduino suoraan OrangePI: stä, jotta sinun ei tarvitse kävellä laitteen luo joka kerta ja kytkeä kannettava tietokone.

On 2 tapaa:

-Helppo tapa: Asenna täysi Arduino IDE, ja kirjastot käyttävät jotakin etätyöpöytää, kuten X11, jossa on edelleenlähetys, Xrdp, Xvnc, Nxserver jne.

-Kova tapa: Asenna Arduino IDE ja käytä komentoriviä

Aiomme tehdä vaikean tavan tällä kertaa, koska en pidä X11: n asentamisesta palvelimille. Tätä varten tarvitset 6 komponenttia:

1, Arduino IDE ARM 32 bitille ->

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

3, Arduino Makefile -projekti -> git -klooni

4, DHT -kirjasto

5, Sparkfun -levyn määritelmät

6, SilverLight.ino, pääkoodi

Helpottaakseni olen niputtanut viimeisten 4 pisteen tarvitsemat tiedostot (sketchbook.tgz), joten tarvitset vain ensimmäiset 2

Ensinnäkin on parasta luoda tavallinen käyttäjä, jolla on rw -pääsy USB -porttiin:

adduser hopea

usermod -a -G dialout hopea

SCP sketchbook.tgz laitteeseen äskettäin luodun käyttäjän kotihakemistossa ja purkaa se sieltä:

cd /koti /hopea

tar xvzf luonnoskirja.tgz

Jos haluat ymmärtää hieman, mitä konepellin alla tapahtuu, kun käytät graafista IDE: tä:

Arduino -luonnoksen rakentamisen työnkulku Arduino IDE: tä käytettäessä on kuvattu Arduinon verkkosivustolla https://www.arduino.cc/en/Hacking/BuildProcess ja tarkemmin täällä: https://www.arduino.cc/ fi/Hakkerointi/BuildProcess

Yleensä Arduinon vakiorakennusprosessi on:

Yhdistä.ino -tiedostot pääluonnostiedostoon. Pääluonnostiedoston muuntaminen: lisää #include -lause; luoda funktioilmoituksia (prototyyppejä) kaikista pääluonnostiedoston toiminnoista; liitä kohteen main.cxx -tiedoston sisältö pääluonnostiedostoon. Käännä koodi objektitiedostoille. Linkitä objektitiedostot ja luo.hex -tiedosto, joka on valmis ladattavaksi Arduinolle.

Arduinon standardinmuodostusprosessin ja Arduino-Makefileä käyttävän rakennusprosessin välillä on pieniä eroja:

Vain yksi.ino -tiedosto on tuettu. Toimintoilmoituksia ei luoda automaattisesti.ino -tiedostoon. Käyttäjän on huolehdittava oikeiden toimintoilmoitusten luomisesta.

Rakennusprosessin ydin on Makefile. Älä huoli, kaikki on valmiina sinulle, se on hieman monimutkaisempaa koota tällä tavalla epätyypillisille levyille, kuten SparkFun -sarjalle.

BOARD_TAG = promicro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT =/dev/ttyACM0 USER_LIB_PATH =/home/silver/sketchbook/libraries ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silrd/skinoAsk

Ja sinun tarvitsee vain kirjoittaa: a upload (joka rakentaa ensin.hex -tiedostot ja käyttää sitten avrdudea niiden lataamiseen), se päättyy seuraavaan:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: Hakemiston '/home/silver/sketchbook'/home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina/dev/ttyACM0 make [1] syöttäminen: Hakemistosta poistuminen /home/silver/sketchbook 'make do_upload make [1]: Hakemiston syöttäminen'/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 Yhdistäminen ohjelmoijaan:. Löytyi ohjelmoija: Id = "CATERIN"; type = S Ohjelmistoversio = 1.0; Laitteistoversiota ei annettu. Ohjelmoija tukee automaattista lisäyksen lisäystä. Ohjelmoija tukee puskuroidun muistin käyttöä puskurikoolla = 128 tavua. Ohjelmoija tukee seuraavia laitteita: Laitekoodi: 0x44 avrdude: AVR-laite alustettu ja valmis vastaanottamaan ohjeet avrdude: Laitteen allekirjoitus = 0x1e9587 (luultavasti m32u4) avrdude: syötetiedoston lukeminen "build-promicro-16MHzatmega32U4/sketchbook.hex" avrdude: Flash (11580 tavua): avrdude: 11580 tavua flash -kirjoitettua avrdude: turvatilaa: Sulakkeet OK (E: CB, H: D8, L: FF) avrdude done. Kiitos.

Kiitos avrdude, ja nyt Arduinomme on nollattu ja ohjelmoitu uudella koodilla, jota voit muokata vain vi: llä tai suosikkieditorillasi paikallisesti, ilman IDE: itä. Huomautan, että sinun tulee sulkea sekä C -ohjausohjelma, -näyttö että kaikki muu, joka käyttää arduinoa lataamisen aikana, muuten portti palaa nimellä /dev /ttyACM1 nollauksen jälkeen.

Vaihe 3: Sulkeminen ja tehtävälista

Sulkeminen ja tehtävälista
Sulkeminen ja tehtävälista
Sulkeminen ja tehtävälista
Sulkeminen ja tehtävälista
Sulkeminen ja tehtävälista
Sulkeminen ja tehtävälista

Vaikka olen luonut tämän ympäristöanturilaatikon palvelinhuoneisiin, voit käyttää sitä kemian/elektroniikan laboratorioissa, varastoissa, tavallisissa huoneissa ja kaikessa muussa. Ja kyllä, koska se käyttää TCP/IP: tä, se on IoT -laite, G Minun olisi pitänyt laittaa se myös otsikkoon, jotta siitä tulisi enemmän yrittäjyyttä:)

Voit helposti muuttaa sekä laitteistoa että ohjelmistoa, jotta voit myös sytyttää huoneen valot automaattisesti. Katso toinen projektini: Shadow of phoenix miten se toimii valon ohjauksessa, sinulla on kaikki laitteistot käsilläsi tekemään sama (se käyttää pitoajastimia pitääkseen valot päällä niin kauan kuin liikettä havaittiin ajan, jos liikettä on jälleen, ajastin nousee).

Kun OrangePI: llä on täysi pino Armbian, mahdollisuudet ovat rajattomat, voit luoda paikallisen web -käyttöliittymän, joka on kirjoitettu tyhjästä php: ssä historiallisten tietojen näyttämiseksi kaavioissa. Eikö ole jo parempi, että sinulla on täysin avoimen lähdekoodin laite, joka valvoo palvelintilaa, mistä voit olla ylpeä rakentamisesta, jos luulet niin, rakenna se itse!

Suositeltava: