Sisällysluettelo:

AtmoScan: 7 vaihetta (kuvilla)
AtmoScan: 7 vaihetta (kuvilla)

Video: AtmoScan: 7 vaihetta (kuvilla)

Video: AtmoScan: 7 vaihetta (kuvilla)
Video: Два Уникальных Ханских Плова - Невероятное мастерство Азербайджанского Шефа! 2024, Marraskuu
Anonim
Image
Image
Anturit
Anturit

**********************************************************************************************

UUTISET

Siirry GitHubiin, jos haluat:

- Jotkin pienet laitteistomuutokset parantavat suunnittelua, mukaan lukien kyky sammuttaa itsensä ohjelmistosta, mikä korjaa yhden suunnittelun suurimmista haitoista - kuinka käsitellä alhaista akkua.

- PCB v2 -malli on nyt julkaistu yhdessä oppaan kanssa, jotta muutos on helppo soveltaa levyihin V1.0.

- CAD -tiedostot täydelliseen koteloon

Uusi kotelo näyttää yllä olevasta kuvasta… no, ilman kuminauhaa

****************************************************************************************

ATMOSCAN on monianturilaite, jonka tarkoituksena on valvoa sisäilman laatua. Siinä on LCD -värinäyttö, se on ajan- ja sijaintitietoinen, sitä ohjataan eleillä ja se lähettää ThingSpeakiin (tai muille) MQTT: n kautta, mutta pystyy käsittelemään irrotetut toiminnot ja yhteyden uudelleen. Sisäänrakennetulla ladattavalla akulla se kestää koko päivän, kun se on irrotettu virtalähteestä.

Se käyttää moniajoyhteistyökehystä ja reagoi hyvin käyttäjän antamaan otokseen, kun näytteenottoanturit, käyttöliittymän käsittely ja MQTT: lle lähettäminen. Itse asiassa se puristaa melko vähän pienestä ESP8266: sta. Se tekee niin integroimalla useita avoimen lähdekoodin kirjastoja ja hyödyntämällä Internet -verkkopalveluja.

Kirjastojen hyvitykset kuuluvat useille avustajille, katso myöhemmin.

Videomusiikki löytyy TÄÄLTÄ

Vaihe 1: Anturit

Atmoscan mittaa useita muuttujia:

  • Lämpötila
  • Kosteus
  • Paine
  • CO2
  • CO
  • NO2
  • VOC (haihtuvat orgaaniset yhdisteet, ilmanlaadun ilmaisin)
  • PM 01
  • PM25
  • PM10
  • Säteily

Tätä varten se sisältää useita erillisiä antureita

  • BME280 (esim. Linkki)
  • PMS7003 (esim. Linkki)
  • MH-Z19 (esim. Linkki)
  • HDC1080 (esim. Linkki)
  • MiCS6814 (linkki)
  • MP503 (linkki)
  • LND-712 Geiger -putki (linkki, löysin sen Euroopassa tästä linkistä tai tästä linkistä), jossa on korkeajännitemoduuli (linkki)

Tietolomakkeet ovat TÄSTÄ.

Vaihe 2: Elektroniikka

Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka

Atmoscan voidaan helposti rakentaa NodeMCU: n tai minkä tahansa muun ESP8266 -kortin ja joidenkin helposti saatavien komponenttien, kuten tasonsiirtimien ja jännitesäätimien avulla, jos luoput integroidusta akkulaturista.

Vaikka tein prototyypin erillisillä komponenteilla, suunnittelin lopullista versiota varten erityisen kortin, joka yhdistää kaikki toiminnot ja tarjoaa siistit liittimet antureille, LEDit tilaan (sininen = virtalähde kytketty; punainen = lataus).

Eagle PCB -tiedostot ovat saatavilla TÄSTÄ.

Taulu integroi erityisesti:

  • Latauspiiri perustuu MAX8903A -järjestelmään (linkki)
  • Yhden painikkeen on/off-logiikka
  • ESP12E -moduuli
  • Ohjelmointilogiikka
  • Tasonvaihtaja
  • LCD -taustavalon ohjain
  • 3,3 V: n lisäys/alas-jännitesäädin, joka perustuu Pololu S7V8F3: een (linkki)
  • 5V: n lisäjännitesäädin, joka perustuu Pololu U1V10F5: een (linkki)
  • LiPo -polttoainemittari, joka perustuu SparkFun TOL10617: een (linkki)

Näyttö on 2,8 TFT 320x240, joka perustuu ILI9341 -siruun (linkki).

Eleanturi perustuu PAJ7620U2 -siruun (linkki), joka on paljon parempi kuin halpa APDS9960, joka tuottaa jatkuvia keskeytyksiä eikä voi toimia pleksilasin läpi.

Anturit ovat melko nälkäisiä, joten taatakseni vähintään 24 tunnin itsenäisyyden tein pakkauksen, jossa oli 3 x 5000 mAh LiPo 105575 -akkua (Link). Itse asiassa 2 olisi voinut riittää. MAX8903 -laturi yrittää ladata 15 000 mAh: n akkua.

HUOMAUTUKSIA - KUVISSA NÄETTY:

  • Liittimien asennot näkyvät
  • SD -korttipaikka on irrotettava näytöstä, jos haluat sen mahtuvan koteloon
  • Sinun on tehtävä pieni lovi piirilevyyn, jotta se ei häiritse tuuletinta (lovi on muodissa iPhone X: n jälkeen). Korjattu piirilevyllä V2

Liittimien lyhenteet piirilevyllä ovat seuraavat:

  • PRS: Ilmanpaineanturi (perustuu BME280: een) HUOMAUTUS: asennetaan suoraan piirilevyyn
  • VOC: Grove - Ilmanlaatuanturi v1.3 (perustuu MP503: een)
  • TMP: Korkean tarkkuuden digitaalinen kosteus- ja lämpötila -anturi (perustuu HDC1080: een)
  • PMS: PMS7003 Digitaalinen hiukkaspitoisuusanturi
  • GAS: Grove - monikanavainen kaasuanturi (perustuu MiCS6814)
  • GES: Grove - eleanturi PA perustuu PAJ7620U2: een
  • RAD: Geiger -putki (korkeajännitteisen Geiger -anturiohjaimen virtalähdemoduulin 400V / 500V kautta TTL -digitalisoidulla pulssilähdöllä)
  • CO2: MH-Z19-infrapuna-CO2-kaasuanturi
  • U1V10F: 5 V: n lisäjännitesäädin, joka perustuu Pololuun
  • U1V10F5 S7V8V3: 3,3 V: n ylös-/alas-jännitesäädin, joka perustuu Pololu S7V8F3: een
  • TOL10617: Sparkfun LiPo -polttoainemittari
  • LCD: ILI9341 -näyttö

Vaihe 3: Kotelo

Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo

Kotelo on peräisin plexiglas 10x10x10 cm kuutioastiasta, jonka ostin ebaysta ja joka oli tarkoitettu täysin erilaiseen käyttöön. Siinä oli mukavat tuuletusaukot, jotka olivat juuri sitä mitä tarvittiin. Äänenvoimakkuus oli periaatteessa riittävä koko paketin pakkaamiseen, paitsi että se ei ollut helppoa… jotkut varhaiset kartonkiin tehdyt yritykset epäonnistuivat surkeasti, joten luovutin ja hukkasin muutaman tunnin 3D CAD: n kanssa ja minulla oli sisäiset tuet laserleikkauksella. Sisätila on jaettu osastoihin niin, että lämpötila -anturi on mahdollisimman kaukana sisäisistä lämmönlähteistä. Vaikka ulkoinen kotelo on valmistettu 3 mm: n materiaalista, yläosa on valmistettu 2+1 mm: n levyistä. Tämä temppu salli eleanturin peittämisen vain 1 mm: n akryylillä, ja tämä riittää sen toimimiseen.

Jotkut muutokset oli tehtävä alkuperäisen kotelon käsityökaluilla, kuten tuuletin, kytkin ja USB -reiät. Tulos oli kuitenkin kunnollinen!

CAD -tiedostot ovat TÄSTÄ.

Vaihe 4: Mekaaninen kokoonpano

Mekaaninen kokoonpano
Mekaaninen kokoonpano
Mekaaninen kokoonpano
Mekaaninen kokoonpano
Mekaaninen kokoonpano
Mekaaninen kokoonpano

Pakkaus on erittäin tiheä, mutta 3D cad -suunnittelun ansiosta minulla oli vähän yllätyksiä sen kokoamisessa.

Ilmankierto (ylhäältä alas) varmistetaan pienellä tuulettimella. Ostettuaan kohtuullisen määrän Aliexpressistä / eBaysta tajusin, että halpojen tuulettimien melu oli sietämätöntä sisälaitteelle. Päädyin ostamaan melko kalliin, hitaasti kääntyvän Papst 255M (Link) ja syötin sitä alle 5 V: lla parin diodin kautta. Tulos on melko hyvä ja hiljainen, jotta se voidaan huomata (se on jopa vaimon hyväksymä, vaikein sertifikaatti).

Vaihe 5: Ohjelmisto

Ohjelmisto
Ohjelmisto
Ohjelmisto
Ohjelmisto
Ohjelmisto
Ohjelmisto
Ohjelmisto
Ohjelmisto

Ohjelmistoarkkitehtuuri perustuu olio -kehykseen, joka suorittaa useita (yhteistyö) prosesseja, jotka käsittelevät käyttöliittymää, antureita ja MQTT: tä. Se on sijainnin ja ajan tietoinen, mutta pystyy käsittelemään WiFI-yhteyden katkaisemisen / uudelleen yhdistämisen.

Kehys on avoin ja voi hallita mitä tahansa näyttöä, kunhan niiden koodi ja resurssit mahtuvat Flash -muistiin. Sovelluskehys käsittelee eleet ja välittää ne näytöille jatkokäsittelyä tai peruutusta varten. Kehyksen hallitsemat eleet ovat:

  • Pyyhkäise vasemmalle / oikealle - Vaihda näyttö
  • (Sormi) Pyöritä myötäpäivään - Käännä näyttö
  • (Sormi) Vastapäivään pyörre - Kutsu asetusnäyttö
  • (Käsi) Kaukana - Sulje näyttö

Näytöt periytyvät perusluokasta ja niitä hallitaan seuraavan tapahtumamallin kautta:

  • aktivoi - laukaistaan kerran, kun näyttö luodaan
  • päivitys - kutsutaan säännöllisesti näytön päivittämiseksi
  • deaktivoida - soitetaan kerran, ennen kuin näyttö suljetaan
  • onUserEvent - kutsutaan, kun eleanturi laukeaa. Sallii vastata ja myös ohittaa tapahtumien oletuskäsittelyn, esim. keskeytä pyyhkäisy vaihtaaksesi näyttöä

Jokainen näyttö ilmoittaa kykynsä antamalla seuraavat tiedot:

  • getRefreshPeriod - kuinka usein näyttö tarvitsee päivitystä
  • getRefreshWithScreenOff - jos näyttö haluaa päivittyä, vaikka taustavalo ei ole päällä. esim. kaavioita varten
  • getScreenName - näytön nimi
  • isFullScreen - hallitse näyttöä kokonaan tai salli yläpalkissa päivämäärä/aika/sijainti/akkumittari/wifi -mittari

Kehys pystyy välittämään ja jakamaan näytöt deklaratiivisen luokan tehtaan kautta. Dynaaminen kohdistaminen säästää RAM -muistia ja tekee laitteesta helposti laajennettavan. Sovelluskehys on uudelleenkäytettävissä myös muihin hankkeisiin.

Tällä hetkellä Atmoscanissa toteutetut näytöt ovat:

  • Anturien arvot
  • Geiger -mittari / semilog -kaavio
  • Järjestelmän tila
  • Virheloki
  • Sääasema
  • Lentokoneen tarkkailija
  • Perustaa
  • Lähes tyhjä akku

Asetusnäytöt mahdollistavat Wifi -kirjautumistietojen, MQTT -kanavien ja Syslog -palvelimen asettamisen.

UUTTA versiossa 2.0: kaikki verkkopalveluavaimet voidaan nyt määrittää määritysportaalin kautta. Ainoa arvo, joka on edelleen kovakoodattu, on OTA -salasana (iso ATMOSCAN).

HUOMAUTUS 1: Ensimmäinen ohjelmointi on tehtävä ohjelmointiliittimeen liitetyllä USB-sarjakaapelilla. Koska sarjaportti on anturin käytössä, virheenkorjaus ja ohjelmointi tällä tavalla on epäkäytännöllistä asennuksen jälkeen, koska se vaatisi anturin irrottamisen. Siksi ohjelmisto tukee SYSLOG -virheenkorjausta ja OTA -päivityksiä.

HUOMAUTUS 2: ATMOSCAN -binääri on yli 700 kt ja ArduinoOTA vaatii, että ohjelmatila on vähintään kaksinkertainen kuvakoon, mikä sulkee pois "4M (3M SPIFFS)" -vaihtoehdon. Vakio "4M (1M SPIFFS)" -vaihtoehto ei kuitenkaan myöskään sovellu, koska SPIFFS -osio ei riitä sääasemaan, tasonilmaisimeen ja määritystiedostoon liittyviin graafisiin resursseihin. Siksi ongelma on ratkaistu mukautetulla kokoonpanolla "4M (2M SPIFFS)". Selitys täällä.

Dokumentaatio ja koko lähdekoodi löytyvät täältä.

LUOTTEET SISÄLTÄVÄT KOODIT JA KIRJASTOT

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • Suljettu kuutio
  • Gmag11
  • Knolleary
  • Lucadentella
  • Nähtiin
  • Squix78
  • Tzapu
  • Velho97

Integroi verkkopalvelut

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Vaihe 6: Tee siitä parempi

Tee siitä parempi!
Tee siitä parempi!

Tulos ei ole ollenkaan huono! Ohjelmisto näyttää hyvältä ja on luotettava, vaikka sitä voitaisiin laajentaa uusilla ominaisuuksilla ja ehkä puhdistaa hieman, jotta sovelluskehys olisi todella uudelleenkäytettävissä muihin projekteihin. Joidenkin antureiden kalibrointi ei ole hienoa, mutta testilaboratoriolaitteita tarvittaisiin. Aika on kallis ja minulla ei ole paljon, joten edistyminen oli hidasta. Kun olin valmis, ESP32: lle saatiin kunnollista tukea. Jos aloittaisin sen nyt, käyttäisin sitä ja integroisin ulkoiset anturit bluetoothin kautta.

Kuka tahansa?

HUOMAUTUS: Minulla on vielä kourallinen piirilevyjä, joten jos joku on kiinnostunut, ne ovat saatavilla nimellis- / postitushintaan.

Vaihe 7: Kysymyksiä ja vastauksia

kysymykset ja vastaukset
kysymykset ja vastaukset
kysymykset ja vastaukset
kysymykset ja vastaukset

Ensinnäkin KIITOS ylivoimaisesti positiivisista kommenteistanne. En todellakaan odottanut niin suurta kiinnostusta.

Sain useita kysymyksiä joko kommenttien tai yksityisviestien kautta, joten ajattelin kerätä vastaukset tänne. Jos tulee lisää, lisään.

Löysin laatikon takaa 8 saatavilla olevaa PCB: tä - ja ne ovat matkalla Belgiaan, Saksaan, Intiaan, Yhdysvaltoihin, Kanadaan, Iso -Britanniaan, Australiaan. Vau, kolme maanosaa! Hämmästyttävä.

Mitä minun pitäisi lisätä ATMOSCAN -määrityssivulle?

Atmoscan -määrityssivu vaatii seuraavat parametrit:

  • Sen WiFi -verkon SSID ja salasana, johon haluat muodostaa yhteyden
  • Käyttämäsi MQTT -palvelin. Käytän esimerkiksi mqtt.thingspeak.com -sivustoa
  • Käytetty yhteysjono MQTT -aiheille. Esimerkiksi Thingspeakin MQTT-aiheet ovat muodossa: kanavat/KANAVA-ID/julkaise/KIRJOITA API (ESIMERKKI: kanavat/123456/julkaise/567890)
  • Syslog -palvelin: kirjautumiseen käytettävän syslog -palvelimen IP -osoite
  • Google -avain Maps Static -sovellusliittymään. Hanki avain osoitteesta https://console.cloud.google.com/apis/dashboard. Luo projekti; Atmoscanin käyttämä sovellusliittymä on https://maps.googleapis.com/maps/api/staticmap. Luo avain tälle sovellusliittymälle juuri luomallasi Google -projektilla, käytä sitä täällä
  • Sää maanalainen avain. Luo tili osoitteessa www.wunderground.com, siirry WEATHER -sovellusliittymään (linkki kotisivun alareunassa, siirry kohtaan AVAINASETUKSET, luo avain, käytä sitä täällä
  • Geonames -tili. Luo tili osoitteessa https://www.geonames.org/, jotta se voi käyttää ilmaisia verkkopalveluja ja laita käyttäjätunnus tähän
  • TimeZoneDB -avain. Luo tili osoitteessa https://timezonedb.com/, luo avain, laita se tänne

Miten määritän Thingspeakin?

Tarvitset kolme Thingspeak -kanavaa. Kenttiä käytetään seuraavasti:

KANAVA 1 kentät

  1. LÄMPÖTILA
  2. KOSTEUS
  3. PAINE
  4. PM01
  5. PM2.5
  6. PM10
  7. Tuhannen näyttökerran hinta
  8. SÄTEILY

KANAVA 2 kentät

  1. CO
  2. CO2
  3. NO2
  4. VOC

KANAVA 3 kentät (järjestelmäkanava)

  1. JATKO MINUTESSA
  2. ILMAINEN TAPPI BYTES
  3. WIFI RSSI (SIGNAALI DBM: ssä)
  4. AKUN JÄNNITE
  5. LINEAR SOC (AKUN LATAUSTILA % - lineaarinen laskenta, verrannollinen jännitteeseen)
  6. NATIVE SOC (AKUN LATAUSTILA % - kuten mittari ilmoittaa. Kuten mittarista luetaan. HUOMAUTUS: mittari sanoo 0 % saavuttaessaan 3,6 V, kun taas akut voidaan purkaa hieman pidemmälle, esimerkiksi 3 v: n yläpuolelle. jossa ATMOSCAN sammuttaa itsensä, on #define globaldefinitions.h -tiedostossa)
  7. JÄRJESTELMÄLÄMPÖTILA (bme280, asennettu suoraan levylle)
  8. JÄRJESTELMÄN KOSTEUS (bme280, asennettu suoraan levylle)

Piirilevy on erittäin kompakti. Kuinka juottaa SMD -laitteet, erityisesti MAX8903A IC?

Ensin ehdotan, että kysyt itseltäsi, haluatko päästä SMD: hen vai onko se kertaluonteinen- Jos jälkimmäinen, pyydä ehkä jotakuta tekemään se puolestasi. Jos haluat ottaa SMD -haasteen vastaan, investoi vähän ja hanki oikeat työkalut (juote, juokseva aine, isopropyylialkoholi, pieni rauta, kuuma ase, pinsetit, halpa USB -kamera, PCB -pidike). Nykyään tämä on halpaa tavaraa. Katso sitten YouTube-video-niitä on puoli miljoonaa-ja vie aikaa jonkin vanhan PCB: n kanssa, jonka avulla voit uhrata ja poistaa juotteen / puhdistaa / juottaa joitakin komponentteja. Et uskoisi kuinka opettavaista tämä on, oppia mitä odottaa, saada lämpötila oikeaksi jne. Kokemuksen perusteella… Aloitin SMD: n näytön liitännän vaihtamisen iPod touchissa ja tappoin ensimmäisen!

Itse asiassa Atmoscan -piirilevy on kompakti ja IC ei ole helppo. Jälleen, en suosittele, että teet tämän ensimmäisenä SMD -juotoksena. QFN ei ole ystävällinen paketti, vaikka olen juottanut numeron tähän mennessä. Et ole koskaan varma, oletko ymmärtänyt oikein…

Atmoscanissa juotin sen ensin, sitten sen ympäröivät komponentit, jotta voisin testata, että levyn latausosa toimii, ja sitten suoritin kaikki loput. Liitetyistä kuvista sinun pitäisi pystyä päättämään komponenttien suunta. Käytin julkisia komponenttikirjastoja ja suunta ei ole kovin selvä silkkipainoissa.

Minun tapa: Laitoin ensin juotteen tyynyille raudalla. Sitten paljon fluxia (SMD -spesifinen) ja asetin IC: n varovasti pinseteillä. Kuumenna sitten koko asia noin 200/220C: een (sulamispisteen alapuolelle) välttääksesi epätasaisen lämmityksen aiheuttamat jännitykset. Sitten nostin lämpötilan 290 asteeseen tai niin edelleen ja IC: n ympärille. Jos laitat hieman juotetta läheiselle tyynylle, näet, milloin lämpötila on sulamispisteessä, koska se loistaa.

Sen jälkeen puhdistin sen isopropyylialkoholilla ja tarkastin sen huolellisesti halvalla USB -kameralla. Tyypillisiä ongelmia ovat kohdistus ja juotosmäärä, koska jotkut nastat eivät ehkä ole kytkettynä. Joissakin tapauksissa minun piti palata siihen pienellä juotosraudalla lisätäkseni lisää juotosta joihinkin nastoihin, koska tämän IC: n alla on lämpötyyny, joka on myös juotettava. Tämän vuoksi juotosmäärän arvaaminen on hieman hankalaa, ja saattaa tapahtua, että liikaa juotosta alla saattaa nostaa sitä niin, että nastat eivät kosketa piirilevyä.

Sanon näin, en halua pelotella sinua. Tein 3 levyä enkä koskaan tappanut näitä IC: itä … Kun minun piti jopa poistaa se, siivota ja käynnistää uudelleen alusta, mutta se toimi lopulta. Jälleen kerran, ei erittäin helppoa, mutta toteutettavaa.

Mistä ostit komponentit?

Lähinnä eBayssa ja Aliexpressissä. Merkit ovat kuitenkin alkuperäisiä (Seeed, Pololu, Sparkfun).

Seuraavassa on joitakin ohjeellisia linkkejä. Huomaa: katso ympärillesi, saatat löytää jopa halvempia tarjouksia…

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuality-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

Ensimmäinen ohjelmointi Atmoscan -kortti sisältää ohjelmointipiirin, joka on NodeMCU: n mukainen. Sarjaliitäntää käytetään yleensä ensimmäisessä ohjelmoinnissa. Sen jälkeen OTA -ohjelmointi wifi -yhteyden kautta on edullinen vaihtoehto, koska se voidaan tehdä täysin koottuna. Älä unohda, että hiukkasanturi käyttää normaalisti sarjaporttia!

Jos haluat ohjelmoida kortin sarjaan, USB-sarjasovitin (esim. FTDI232 tai vastaava) on kytkettävä J7-liittimeen (nollauspainikkeen vieressä) kaavion pinoutin jälkeen. Ohjelma voidaan ladata ilman antureita, paitsi että geigeri -anturin keskeytyslinja on kytkettävä GND: hen, muuten kortti ei käynnisty (liitä nastat 1 ja 3 RAD -liittimeen). Helpoin tapa testata levyä ilman pääluonnosta - siis ilman antureiden monimutkaisuutta - on ladata TÄMÄ yksinkertainen ohjelma sarjakaapelin kautta. Se luo wifi -tukiaseman, joka mahdollistaa vilkkumisen edelleen pääohjelman kanssa.

TÄRKEÄÄ: Älä unohda käyttää 4M/2M SPIFFS -määrityksiä ohjeiden mukaan, muuten pääohjelma ei sovi. Kortti on alustettava sarjaohjelmoinnilla kyseisellä kokoonpanolla, muuten sinulla saattaa olla ongelmia OTA: n kanssa myöhemmin.

Valitettavasti joidenkin antureiden alustus estyy, jos antureita ei ole (riippuu kirjaston tarjoajasta). Yksi esimerkki on monikaasuanturikirjasto. Jos haluat varmistaa, että Atmoscan käynnistyy kunnolla täydellä laiteohjelmistolla, voit poistaa siihen liittyvän prosessin käytöstä, katso asiaan liittyvä Q & A -kohta. Yksinkertainen tapa poistaa kaikki anturit käytöstä testausta varten on kommentoida rivi #define ENABLE_SENSORS GlobalDefinitions.h -tiedostossa.

Kun levy käynnistää pääluonnoksen ensimmäistä kertaa, sen on tunnistettava, että sitä ei ole määritetty, ja sen pitäisi avata wifi -hotspot, johon voit muodostaa yhteyden ja määrittää sen. Asetusten joukossa on syslog -palvelin, joka auttaa suuresti virheenkorjauksessa. Voit myös lisätä kirjautumistasoa poistamalla kommentin #define DEBUG_SYSLOG GlobalDefinitions.h -tiedostosta. Huomaa, että samassa tiedostossa on myös #define DEBUG_SERIAL, jota käytettiin ensimmäisen virheenkorjauksen aikana. Jos ei kommentteja, se tuottaa _jotain_ jäännöstä, mutta minimaalista. ToDo -kohteen tehtävänä oli aina tehdä hakkuusta yhtenäinen ja valittavissa, mutta minulla ei koskaan ollut aikaa siivota sitä.

Oletko muokannut käyttämiäsi kirjastoja, tarvitaanko määrityksiä? (toisin kuin lataaminen ja kääntäminen)

Hyvä kysymys, unohdin mainita tämän kohdan. Itse asiassa tarvitaan muutamia modeja / kokoonpanoja:

  • Kirjasto https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - sarjavirheilmoitukset. On kommentoitava, koska sarjaporttia käytetään anturiin!
  • Kirjasto https://github.com/Bodmer/TFT_eSPI - vaatii määritystiedoston, jossa pin -määritys ja SPI -taajuus on määritetty
  • Kirjasto https://github.com/lucadentella/ArduinoLib_MAX1704… - Katsellessani kommentteja ja vetopyyntöjä huomasin, että on olemassa virheenkorjaus, jota ei ole koskaan yhdistetty

Muistaakseni sen pitäisi olla niin. Kerro minulle, jos ongelmia ilmenee.

HUOMAUTUS: Katso uusimman lähdekoodin kommentit - sisältää linkit kaikkiin tarvittaviin kirjastoihin ja pidetään ajan tasalla

Miksi jotkut anturit lukevat videossa/kuvissa punaista ja jotkut vihreää?

Väri osoittaa trendin. Se alkaa valkoisena ja jos ylöspäin on punainen, jos alaspäin on vihreä.

Miten käsittelet antureiden ajautumista ajan mittaan? Kuinka hyviä nämä anturit ovat? Mitä näen näillä antureilla?

Rehellisesti, tämä ei ole tieteellinen mittaussarja. Kalibrointiin tarvitsisin laitteita, joita minulla ei ole käytettävissä. Tämä on todella lemmikkihanke. Kokeilin useita antureita. Hiukkaset, CO2, lämpötila, kosteus, paine, Geiger ovat mielestäni melko hyviä. NO2: ssa minulla on varauksia kalibrointiin ja kokonaissuunnitteluun, mutta paljon ei ole saatavilla. Kaiken kaikkiaan ne ovat valtavirran antureita.

Yhdistelmä on kuitenkin tarpeeksi hyvä osoittamaan asioita, joita et odottanut.

Kun Atmoscan on olohuoneessa ja keittiö on huoneen päässä, se havaitsee valtavia hiukkashuippuja, kun esim. paistamisen tavaraa. Se tuntuu NO2: sta aamuliikenteestä, vaikka ikkunat ovat kiinni.

Oliko Geiger -laskuri todella tarpeen? Näyttääkö se mitään hyödyllistä?

Onneksi meillä ei ole ollut ydinonnettomuuksia eikä sota ole vielä tulossa … Silti ydinvoimaloita ei ole niin kaukana ja hallitus jakaa jodipillereitä lapsille säilytettäväksi laatikossa vaaratilanteiden varalta … joten epäilin. Toistaiseksi minun on sanottava, että lukemat ovat täysin odotetun taustasäteilyn mukaisia (0,12 uSv/h)

Mikä on laitteen kokonaiskustannukset?

Minulla oli jo monia komponentteja kotona ja yllä olevat linkit antavat sinulle käsityksen. Rehellisesti sanottuna, jos ostat valmiin NetAtmon tai vastaavan, säästät rahaa. Et voi voittaa kiinalaista yritystä, joka tekee suuria asioita! Jos kuitenkin nautit tekemisestä ehkä yhdessä lastesi kanssa, se on sen arvoista. Hyvä osa on, että olen jo testannut (ja hylännyt) useita antureita sinulle….

Entä PCB: t? Voitko myydä minulle yhden?

Minulla oli alun perin 10 niistä tehnyt dirtypcbs.com ja tiedostoni toimivat hienosti. Hyvä laatu ja halpa, 25USD / 20Euro 10 PCB: lle. Käytin kahta ja lähetän mielelläni jäljellä olevat paljain kustannuksin (2 euroa + lähetys, sijainnista ja toimitusasetuksista riippuen). Pelkään, että minun on valittava ensimmäiset, jotka lähettävät minulle yksityisviestin.

Voitko tehdä paketin tai aloituskampanjan?

Mairittelevaa, mutta rehellisesti sanottuna en ole koskaan ajatellut sen olevan tarpeeksi innovatiivinen … ja sitä paitsi, EI AIKAA !!

Jos joku kuitenkin ottaa idean vastaan, tarvitaan toinen iteraatio. Suunnittelussa on joitain teräviä reunoja, jotka olisi syytä korjata, mutta jälleen minulla ei koskaan ollut tarpeeksi aikaa V2: lle.

Laitteisto: Voinko lisätä / poistaa anturin, näytön jne. Laajentaaksesi ominaisuuksia / vähentääksesi virrankulutusta?

Näyttö on kytketty ilman MISO -toimintoa, joten CPU ei koskaan lue näytöstä. Siksi et vain voinut liittää näyttöä ja se toimisi hienosti. Näyttö on kuitenkin päällä vain jonkin aikaa viimeisen eleen havaitsemisen jälkeen, joten se ei todellakaan vaikuta virrankulutukseen.

Anturit ovat sen sijaan nälkäisiä ja koko asia käyttää helposti 400/500mA. Älä unohda tuuletinta ja sitä, että hiukkasanturissa on myös sisäänrakennettu tuuletin. ESP ei myöskään siirry lepotilaan, koska GPIO -poneja ei ole. Se olisi kuitenkin ehkä säästänyt 20 mA…

Ohjelmisto on modulaarinen ja voit helposti lisätä/poistaa prosesseja ja näyttöjä, jotta voit lisätä antureita tai sytyttää virran poistamalla osan halutessasi. Ainoa rajoitus on GPIO -nastojen määrä. Kuitenkin antureita voidaan lisätä helposti, jos I2C, tai vaihtoehtoisesti I2C -laajenninta voitaisiin käyttää GPIO: iden lisäämiseen …

Anturin poistaminen käytöstä, esimerkiksi osittaisen rakenteen testaamiseksi, mielestäni paras tapa olisi olla aloittamatta siihen liittyvää prosessia. Tämä voidaan saavuttaa kommentoimalla asiaan liittyvä enable () -kutsu.ino -tiedoston void startProcesses () -toiminnossa. Ellet halua muuttaa järjestelmää rakenteellisesti, en poista prosesseja kokonaan, koska näyttö ja MQTT -prosessit pollaavat ne. Tällä tavalla niiden pitäisi vain palauttaa nolla. Huomaa, että geiger -levyn keskeytystulo on vedettävä alas, jos sitä ei käytetä, muuten levy ei käynnisty.

Mitä parannuksia olisit tehnyt, jos sinulla olisi aikaa V2.0: lle?

Ei missään erityisessä järjestyksessä..

  • Piirilevy voisi välttää kuparia ESP8266 -antennin takana. Unohdin sen kokonaan ja se tekee säteilykaavasta ei-isotrooppisen
  • Mielestäni laturi on alikokoinen niin suurelle akulle / akku on liian suuri laturille. Muitakin IC: itä on ja kokeilisin toista.
  • On parempia akkumittaria.
  • Lisäisin otsonianturin
  • Käytän ESP32: ta useampien GPIO: iden ja Bluetooth -antureiden poistamiseen pääyksiköstä.
  • Jos minulla olisi enemmän GPIO: ita joko ESP32: n tai I2C -laajennuksen kanssa, käytän yhtä ohjaamaan tuuletinta ja toista sammuttamaan laite ohjelmistosta. Nyt kun akku on vähissä, ainoa asia, jonka se voi tehdä, näyttää alhaisen akun näytön. Tämä on itse asiassa suunnittelun suurin haittapuoli, koska akun heikon varaustilannetta ei hoideta kauniisti.

Ohjelmisto

Se kesti kauemmin kuin laitteisto… Mielestäni se sisältää useita hyviä käsitteitä, joita ei valitettavasti ole täysin toteutettu. Erityisesti uskon, että se on puhdistettava, mahdollisesti laajennettava ja siitä voidaan helposti luoda yleinen kehys ESP8266 -sovelluksille. Ei aikaa. Ottaako joku haasteen vastaan?

Voitko lisätä ääniohjauksen?

Pitäisi olla mahdollista. On olemassa useita valmiita kirjastoja ESP8266: n ohjaamiseen Alexan kanssa, enkä ymmärrä, miksi integroinnin pitäisi olla ongelma. Mielenkiintoinen kysymys on, mitä haluat tehdä sen kanssa toiminnallisesti. En omista Amazon Echoa, joten en ole koskaan kokeillut.

Miten teit laserleikkaukset?

Piirustukset on tehty SketchUpilla. Ohjelma on mukava, mutta siitä puuttuu vakavasti vientikyky. 30 päivän kokeiluversio auttaa kuitenkin, koska siinä on lisätoimintoja. Toin sen sitten Inkscapeen lopullista käsittelyä varten.

Voitko kytkeä anturit päälle/pois virran säästämiseksi MOSFET -laitteiden kautta?

Kiva idea periaatteessa, mutta useimmat näistä antureista tarvitsevat virtaa koko ajan, koska niillä on lämpiämisaika. Lisäksi… Minusta loppuivat GPIO: t ESP8266: ssa. Minun oli jopa käytettävä GPIO10: tä, joka ei virallisesti ole toimiva, mutta toimii hyvin ESP12E: llä.

Mitä taitoja tarvitsisin?

Sen rakentamiseksi tyhjästä tarvitset jonkin verran elektroniikan suunnittelutaustaa. Ei juurikaan, nykyään Internetin avulla sinun ei todellakaan tarvitse lukea tietolomakkeita rivi riviltä kuten alkuaikoina … Jos käytät kokeiluni tuloksia, tarvitset SMD -juotostaitoja, mekaanisia taitoja ja kärsivällisyyttä.

Onko tämä ensimmäinen projektisi?

Se on ensimmäinen opettavainen, mutta ei ensimmäinen projektini. Tein paljon töitä aiemmin, mutta minulla ei todellakaan ole paljon aikaa nykyään. Heräsin ruosteiset taitoni ylös yrittäessäni opettaa lapsilleni jotain hyödyllistä..! Tein muutamia muita projekteja, jotka voisin julkaista jonain päivänä.

Suositeltava: