Sadržaj:

AtmoScan: 7 koraka (sa slikama)
AtmoScan: 7 koraka (sa slikama)

Video: AtmoScan: 7 koraka (sa slikama)

Video: AtmoScan: 7 koraka (sa slikama)
Video: Крутой Сериал! За Первого Встречного 12 серия! 2024, Septembar
Anonim
Image
Image
Senzori
Senzori

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

VIJESTI

Idite na moj GitHub za:

- Neke male hardverske promjene poboljšavaju dizajn, uključujući mogućnost isključivanja softvera, otklanjajući jedan od najvećih nedostataka dizajna - kako se nositi s niskom baterijom.

- Sada je objavljen dizajn PCB v2 zajedno s vodičem za jednostavnu primjenu promjene na pločama V1.0.

- CAD datoteke za kompletno zatvaranje

Novo kućište izgleda kao na gornjoj slici … pa, bez gumice

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

ATMOSCAN je multisenzorski uređaj usmjeren na praćenje kvalitete zraka u zatvorenim prostorima. Iako su objavljeni mnogi projekti slične namjene, ovaj je kompletan sistem u kompaktnom, samostalnom paketu koji ih sve sažima. Ima LCD zaslon u boji, svjestan je vremena i lokacije, kontrolira se pokretima i postavlja na ThingSpeak (ili druge) putem MQTT -a, ali može ispravno rukovati prekinutim operacijama i ponovnim povezivanjem. Sa ugrađenom punjivom baterijom traje cijeli dan kada se isključi iz napajanja.

Koristi višezadaćni kooperativni okvir i vrlo je osjetljiv na unos korisnika prilikom uzorkovanja senzora, rukovanja korisničkim sučeljem, objavljivanja na MQTT -u. Zapravo istiskuje prilično malo iz sićušnog ESP8266. To čini integracijom brojnih biblioteka otvorenog koda i korištenjem internetskih web usluga.

Zasluge za biblioteke idu brojnim saradnicima, pogledajte kasnije.

Muziku u videu možete pronaći OVDJE

Korak 1: Senzori

Atmoscan mjeri brojne varijable:

  • Temperature
  • Vlažnost
  • Pritisak
  • CO2
  • CO
  • NO2
  • VOC (isparljiva organska jedinjenja, indikator kvaliteta vazduha)
  • PM 01
  • PM25
  • PM10
  • Zračenje

U tu svrhu integrira niz diskretnih senzora

  • BME280 (npr. Veza)
  • PMS7003 (npr. Veza)
  • MH-Z19 (npr. Veza)
  • HDC1080 (npr. Veza)
  • MiCS6814 (veza)
  • MP503 (veza)
  • LND-712 Gajgerova cijev (veza, našao sam je u Evropi ovdje Link ili ovdje veza) sa visokonaponskim modulom (veza)

Tehnički listovi su OVDE.

Korak 2: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Atmoscan se može lako izgraditi s NodeMCU ili bilo kojom drugom ESP8266 pločom i nekim lako dostupnim komponentama, poput mjenjača nivoa i regulatora napona, ako odustanete od integriranog punjača baterija.

Dok sam radio prototip s odvojenim komponentama, za konačnu verziju dizajnirao sam posebnu ploču koja integrira sve funkcije i pruža uredne konektore za senzore, LED diode za status (plavo = napajanje spojeno; crveno = punjenje).

Eagle PCB datoteke dostupne su OVDJE.

Konkretno, ploča integrira:

  • Krug punjenja zasnovan na MAX8903A (veza)
  • Logika za uključivanje/isključivanje jednim dugmetom
  • ESP12E modul
  • Programska logika
  • Prebacivač nivoa
  • Upravljački program pozadinskog LCD ekrana
  • 3.3V Regulator napona/opadanja napona zasnovan na Pololu S7V8F3 (veza)
  • Regulator napona od 5V na bazi Pololu U1V10F5 (veza)
  • LiPo mjerač goriva zasnovan na SparkFun TOL10617 (veza)

Ekran je 2.8 TFT 320x240 zasnovan na ILI9341 čipu (veza).

Senzor pokreta je baziran na čipu PAJ7620U2 (Link), znatno boljem od jeftinog APDS9960 koji generira kontinuirane prekide i ne može raditi kroz pleksiglas.

Senzori su prilično gladni energije, pa sam za garanciju autonomije od najmanje 24 sata napravio paket sa 3 x 5000mAh LiPo 105575 baterija (veza). U stvari, 2 su mogle biti dovoljne. Punjač MAX8903 ne može napuniti nastalo pakiranje od 15 000 mAh.

NAPOMENE - KAO ŠTO SE VIDI NA SLIKAMA:

  • Prikazani su položaji konektora
  • Utor za SD karticu morate odspojiti s ekrana ako želite da stane u kućište
  • Morate napraviti mali zarez na PCB -u kako ne biste ometali ventilator (zarezi su u modi nakon iPhone X). Ispravljeno u PCB V2

Kratice konektora na PCB -u su sljedeće:

  • PRS: Barometrijski senzor pritiska (na osnovu BME280) NAPOMENA: montira se direktno na PCB
  • VOC: Grove - Senzor kvalitete zraka v1.3 (na temelju MP503)
  • TMP: Digitalni senzor vlažnosti i temperature visoke preciznosti (zasnovan na HDC1080)
  • PMS: PMS7003 Digitalni senzor koncentracije čestica
  • GAS: Grove - Višekanalni senzor plina (prema MiCS6814)
  • GES: Grove - Senzor gesta (baziran na PAJ7620U2)
  • RAD: Gajgerova cijev (preko visokonaponskog modula napajanja upravljačke jedinice Geiger sonde 400V / 500V sa TTL digitalizovanim pulsnim izlazom)
  • CO2: MH-Z19 infracrveni senzor CO2 za plin
  • U1V10F: Regulator napona od 5V na bazi Pololu-a
  • U1V10F5 S7V8V3: 3.3V Regulator napona/snižavanja napona zasnovan na Pololu S7V8F3
  • TOL10617: Sparkfun LiPo mjerač goriva
  • LCD: ILI9341 ekran

Korak 3: Ograđivanje

Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure

Kućište je izvedeno iz kontejnera od kocke od pleksiglasa 10x10x10 cm koji sam kupio na ebayu i namijenjen je za potpuno drugačiju upotrebu. Imao je lijepe otvore za ventilaciju koji su bili upravo ono što je bilo potrebno. Jačina zvuka je u principu bila dovoljna za pakovanje cijelog seta, osim što nije bilo lako … neki rani pokušaji zasnovani na maketama od kartona nisu uspjeli pa sam odustao i izgubio nekoliko sati 3D CAD -om i laserski sam izrezao unutrašnje nosače. Unutrašnji prostor je podijeljen u odjeljke tako da je temperaturni senzor što dalje od unutrašnjih izvora topline. Dok je vanjsko kućište izrađeno od materijala od 3 mm, gornji dio je izrađen od limova 2+1 mm. Ovaj trik je omogućio da senzor pokreta bude prekriven samo 1 mm akrilom, a to je dovoljno da funkcionira.

Neke su izmjene morale biti učinjene ručnim alatima na originalnom kućištu, poput ventilatora, prekidača i USB otvora. Rezultat je ipak bio pristojan!

CAD datoteke nalaze se OVDJE.

Korak 4: Mehanički sklop

Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop

Paket je vrlo gust, ali zahvaljujući 3D dizajnu cad -a imao sam nekoliko iznenađenja pri sastavljanju.

Cirkulaciju zraka (odozgo prema dolje) osigurava mali ventilator. Nakon što sam na Aliexpress -u / eBay -u kupio priličan broj, shvatio sam da je buka jeftinih ventilatora nepodnošljiva za unutrašnji uređaj. Na kraju sam kupio prilično skup, sporo okrećući Papst 255M (Link) i napajao sam ga sa manje od 5V preko nekoliko dioda. Rezultat je prilično dobar i dovoljno je tih da se ne primijeti (čak je i žena odobrila, najteža potvrda).

Korak 5: Softver

Softver
Softver
Softver
Softver
Softver
Softver
Softver
Softver

Softverska arhitektura zasnovana je na objektno orijentisanom okviru koji pokreće više (kooperativnih) procesa koji rukuju korisničkim sučeljem, senzorima i MQTT -om. On je svjestan lokacije i vremena, ali može podnijeti prekid / ponovno povezivanje na WiFI.

Okvir je otvoren i može upravljati neograničenim brojem ekrana, sve dok njihov kod i resursi stanu u Flash memoriju. Okvir aplikacije rukuje pokretima i prenosi ih na ekrane radi daljeg rukovanja ili otkazivanja ako je potrebno. Pokreti kojima upravlja okvir su:

  • Prevucite lijevo / desno - Promijenite ekran
  • (Prst) Zakretanje u smjeru kazaljke na satu - Okrenite ekran
  • (Prst) Zakretanje u smjeru suprotnom od kazaljke na satu - Pozovite ekran za postavljanje
  • (Rukom) Od daleka do zatvaranja - Isključite ekran

Ekrani nasljeđuju od osnovne klase i njima se upravlja putem sljedećeg modela događaja:

  • aktivirati - aktivira se jednom, prilikom kreiranja ekrana
  • ažuriranje - povremeno se poziva radi ažuriranja ekrana
  • deaktivirati - poziva se jednom, prije nego što se ekran odbaci
  • onUserEvent - poziva se kada se aktivira senzor pokreta. Omogućava reagiranje i poništavanje zadanog upravljanja događajima, npr. prekinite prevlačenje za promjenu ekrana

Svaki ekran izjavljuje svoje mogućnosti pružajući sljedeće informacije:

  • getRefreshPeriod - koliko često je potrebno osvježavanje ekrana
  • getRefreshWithScreenOff - ako se zaslon želi osvježiti čak i kad je pozadinsko osvjetljenje isključeno. npr. za grafikone
  • getScreenName - naziv ekrana
  • isFullScreen - preuzmite potpunu kontrolu nad zaslonom ili dopustite gornju traku s datumom/vremenom/lokacijom/mjeračem baterije/WiFi mjerom

Okvir je sposoban za instanciranje i oslobađanje ekrana putem tvornice deklarativnih klasa. Dinamička alokacija štedi RAM i čini uređaj lako proširivim. Cjelokupni okvir za prijavu se također može ponovo koristiti za druge projekte.

Zasloni koji se trenutno primjenjuju u Atmoscanu su:

  • Vrijednosti senzora
  • Gajgerov metar / polulog grafikon
  • Status sistema
  • Dnevnik grešaka
  • Weather Station
  • Plane Spotter
  • Postaviti
  • Prazna baterija

Ekrani za podešavanje omogućavaju postavljanje vjerodajnica za WiFi, MQTT kanala, poslužitelja Syslog.

NOVO u v2.0: svi ključevi web usluga sada se mogu konfigurirati putem konfiguracijskog portala. Jedina vrijednost koja je još uvijek teško kodirana je OTA lozinka (velika ATMOSCAN).

NAPOMENA 1: Prvo programiranje mora se obaviti pomoću USB-serijskog kabla spojenog na konektor za programiranje. Budući da je serijski port zauzet senzorom, otklanjanje grešaka i programiranje na taj način nije praktično nakon montaže jer bi zahtijevalo odvajanje senzora. Stoga softver podržava SYSLOG otklanjanje grešaka i OTA ažuriranja.

NAPOMENA 2: ATMOSCAN binarni format je veći od 700 KB, a ArduinoOTA zahtijeva da programski prostor bude najmanje dvostruko veći od veličine slike, što isključuje opciju "4M (3M SPIFFS)". Međutim, standardna "4M (1M SPIFFS)" opcija je također neprikladna jer bi SPIFFS particija bila nedovoljna za grafičke resurse vezane za meteorološku stanicu, avion za osmatranje aviona i za datoteku za konfiguriranje. Stoga je za rješavanje problema stvorena prilagođena konfiguracija "4M (2M SPIFFS)". Objašnjenje ovdje.

Dokumentacija i potpuni izvorni kod dostupni su ovdje.

KREDITI ZAKLJUČUJU KOD I BIBLIOTEKE OD

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • ClosedCube
  • Gmag11
  • Knolleary
  • Lucadentella
  • Vidio
  • Squix78
  • Tzapu
  • Wizard97

INTEGRIRA WEB USLUGE OD

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

Korak 6: Učinite to boljim

Učinite to boljim!
Učinite to boljim!

Rezultat uopće nije loš! Softver izgleda dobro i pouzdan je, dok bi se mogao proširiti novim značajkama i možda malo očistiti kako bi se okvir aplikacije zaista mogao ponovno koristiti za druge projekte. Kalibracija nekih senzora nije dobra, ali bi bila potrebna oprema za laboratorije. Vrijeme je dragocjeno i nemam mnogo pa je napredak bio spor. Kad sam završio, pristojna podrška za ESP32 postala je dostupna. Da ga sada pokrećem, koristio bih ga i integrirao vanjske senzore putem bluetootha.

Ima li koga?

NAPOMENA: Još uvijek imam pregršt PCB -a pa ako nekoga zanima, dostupni su po nominalnoj / poštanskoj cijeni.

Korak 7: Pitanja i odgovori

Pitanja i odgovori
Pitanja i odgovori
Pitanja i odgovori
Pitanja i odgovori

Prije svega, HVALA na izuzetno pozitivnim komentarima. Iskreno, nisam očekivao toliko interesovanje.

Dobio sam brojna pitanja putem komentara ili privatnih poruka, pa sam razmišljao da odgovore prikupim ovdje. Ako dođe još, dodaću.

Našao sam u stražnjoj ladici 8 dostupnih PCB -a - i oni su na putu za Belgiju, Njemačku, Indiju, SAD, Kanadu, UK, Australiju. Wow, 3 kontinenta! Amazing.

Šta da stavim na stranicu za konfiguraciju ATMOSCAN -a?

Atmoscan konfiguracijska stranica zahtijeva sljedeće parametre:

  • SSID i lozinka WiFi mreže na koju želite da se poveže
  • MQTT server koji koristite. Na primjer, koristim mqtt.thingspeak.com
  • Niz veze za korištene teme MQTT -a. Na primjer, teme Thingspeak MQTT su u formatu: kanali/CHANNEL-ID/objava/WRITE-API (PRIMJER: kanali/123456/objava/567890)
  • Syslog server: IP adresa syslog servera koji koristite za evidentiranje
  • Google ključ za Maps Static API. Nabavite ključ sa https://console.cloud.google.com/apis/dashboard. Kreirajte projekat; API koji Atmoscan koristi je https://maps.googleapis.com/maps/api/staticmap. Kreirajte ključ za ovaj API na google projektu koji ste upravo stvorili, upotrijebite ga ovdje
  • Weather Underground ključ. Napravite račun na www.wunderground.com, idite na WEATHER API (veza na dnu početne stranice, idite na KLJUČNE POSTAVKE, generirajte ključ, upotrijebite ga ovdje
  • Geonames račun. Napravite račun na https://www.geonames.org/ omogućite mu korištenje besplatnih web usluga i ovdje postavite korisničko ime
  • Taster TimeZoneDB. Napravite račun nahttps://timezonedb.com/, kreirajte ključ, stavite ga ovdje

Kako mogu konfigurirati Thingspeak?

Potrebna su vam 3 Thingspeak kanala. Polja se koriste na sljedeći način:

KANAL 1 polja

  1. TEMPERATURE
  2. VLAŽNOST
  3. PRITISAK
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. ZRAČENJE

KANAL 2 polja

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

KANAL 3 polja (sistemski kanal)

  1. TRAJANJE U MINUTAMA
  2. BESPLATNA KUPLJA U BITIMA
  3. WIFI RSSI (SIGNAL U DBM -u)
  4. NAPON BATERIJE
  5. LINEARNI SOC (STANJE PUNJENJA BATERIJE % - linearni proračun, proporcionalan naponu)
  6. NATIVE SOC (STANJE NAPUNJENOSTI BATERIJE % - prema podacima mjerača. Očitano sa mjerača. NAPOMENA: mjerač kaže 0 % pri dosezanju 3,6 V, dok se baterije mogu isprazniti malo dalje, recimo iznad 3 V. Donja granica, na kojem se ATMOSCAN sam isključuje, #define je u datoteci globaldefinitions.h)
  7. SISTEMSKA TEMPERATURA (od bme280, montirana direktno na ploču)
  8. VLAŽNOST SISTEMA (od bme280, montirano direktno na ploču)

PCB je vrlo kompaktan. Kako mogu lemiti SMD uređaje, posebno IC MAX8903A?

Prvo, predlažem da se zapitate želite li ući u SMD ili je to jednokratno. Ako je ovo drugo, možda zamolite nekoga da to učini umjesto vas. Ako želite prihvatiti SMD izazov, uložite malo i nabavite odgovarajući alat (lemljenje, fluks, izopropilni alkohol, malo željezo, vrući pištolj, pinceta, jeftina USB kamera, držač za PCB). Danas su to jeftine stvari. Zatim pogledajte YouTube video zapis-ima ih pola miliona-i provedite neko vrijeme sa starim PCB-om koji možete žrtvovati i odspojiti / očistiti / lemiti neke komponente. Ne biste vjerovali koliko je ovo poučno, naučiti šta očekivati, postići odgovarajuću temperaturu itd. Govoreći iz iskustva … počeo sam SMD mijenjati konektor ekrana u iPod touch -u i ubio sam prvog!

Zaista je Atmoscan PCB kompaktan i ta IC nije laka. Opet, ne preporučujem da to radite kao svoje prvo SMD lemljenje. QFN nije prijateljski paket iako sam do sada lemio broj. Nikada niste sigurni da ste dobro shvatili …

Na Atmoscanu sam ga prvo zalemio, a zatim i okolne komponente kako bih mogao provjeriti radi li dio ploče za punjenje, a zatim sam dovršio sve ostalo. Iz priloženih slika trebali biste moći zaključiti orijentaciju komponenti. Koristio sam biblioteke komponenti u javnom domenu i orijentacija nije baš vidljiva na sitotisku.

Moj način: prvo sam stavio malo lema na podloge sa peglom. Zatim puno fluksa (specifično za SMD) i pažljivo sam pozicionirao IC pincetom. Zatim zagrijte cijelu stvar na oko 200/220C (ispod tališta) kako biste izbjegli napetosti zbog neravnomjernog zagrijavanja. Zatim sam povisio temperaturu na 290C ili tako dalje i oko IC -a. Ako stavite malo lema na obližnji jastučić, vidjet ćete kada temperatura bude na tački topljenja, jer će zasjati.

Nakon toga sam ga očistio izopropilnim alkoholom i pažljivo pregledao jeftinom USB kamerom. Tipični problemi su poravnanje i količina lemljenja, jer neki pinovi možda nisu povezani. U nekim slučajevima morao sam se vratiti na njega s malim lemilicom kako bih dodao još lema nekim pinovima, jer ovaj IC ispod ima termalni jastučić koji također treba lemiti. Zbog toga je pomalo nezgodno pogoditi količinu lema i moglo bi se dogoditi da previše lema ispod može to povećati tako da pinovi ne dodiruju PCB.

Rekavši to, ne želim vas uplašiti. Završio sam 3 ploče i nikada nisam ubio ove IC -ove … Jednom sam ih čak morao ukloniti, očistiti i ponovo pokrenuti od nule, ali je na kraju uspjelo. Opet, nije lako, ali izvodljivo.

Gdje ste kupili komponente?

Uglavnom na eBayu i Aliexpressu. Međutim, markirani su originalni (Seeed, Pololu, Sparkfun).

Slijede neki INDIKATIVNI linkovi. Napomena: pogledajte oko sebe, možda ćete pronaći još jeftinije ponude …

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

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

www.aliexpress.com/item/High-Accuracy-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…

Prvo programiranje Atmoscan ploča uključuje programsko kolo koje je u skladu sa NodeMCU. Za prvo programiranje obično se koristi serijska veza. Nakon toga, OTA programiranje putem WiFi -a je preferirana opcija, jer se to može učiniti s potpuno sastavljenom jedinicom. Ne zaboravite da senzor čestica obično koristi serijski port!

Da biste programirali ploču sa serijskim priključkom, USB-serijski adapter (npr. FTDI232 ili sličan) mora biti spojen na konektor J7 (pored tipke za resetiranje) slijedeći pinout na shemi. Program se može učitati bez spojenih senzora, osim što liniju prekida gejgerovog senzora treba spojiti na GND, inače se ploča neće pokrenuti (da biste to učinili, spojite pinove 1 i 3 u RAD konektor). Najjednostavniji način testiranja ploče bez korištenja glavne skice - dakle bez složenosti senzora - je učitavanje OVOG jednostavnog programa putem serijskog kabela. On stvara WiFi pristupnu točku koja omogućuje daljnje bljeskanje s glavnim programom.

VAŽNO: Ne zaboravite koristiti 4M/2M SPIFFS konfiguraciju prema uputama, inače glavni program neće stati. Ploča se mora inicijalizirati serijskim programiranjem s tom konfiguracijom, u protivnom kasnije možete imati problema s OTA -om.

Nažalost, inicijalizacija nekih senzora blokira se ako senzori nisu prisutni (ovisno o davatelju biblioteke). Jedan primjer je biblioteka senzora s više plinova. Da biste bili sigurni da se Atmoscan ispravno pokreće sa potpunim firmverom, mogli biste onemogućiti povezani proces, pogledajte odgovarajuću točku Pitanja i odgovori. Jednostavan način za onemogućavanje SVIH senzora za testiranje je komentiranje retka #define ENABLE_SENSORS u datoteci GlobalDefinitions.h.

Kada ploča prvi put pokrene glavnu skicu, trebala bi prepoznati da nije konfigurirana i trebala bi otvoriti WiFi pristupnu točku na koju se možete povezati i postaviti. Među postavkama postoji poslužitelj syslog koji uvelike pomaže u otklanjanju grešaka. Također možete povećati razinu evidentiranja dekommentiranjem #define DEBUG_SYSLOG u datoteci GlobalDefinitions.h. Imajte na umu da se u istoj datoteci nalazi i #define DEBUG_SERIAL koji je korišten prilikom početnog otklanjanja grešaka. Ako se ne komentira, ispisuje _nekoliko_ zaostalih zapisnika, ali minimalno. ToDo stavka je uvijek trebala učiniti evidentiranje ujednačenim i odabirom, ali nikad nisam imao vremena za čišćenje.

Jeste li izmijenili biblioteke koje ste koristili, je li potrebna neka konfiguracija? (za razliku od preuzimanja i kompajliranja)

Dobro pitanje, zaboravio sam to spomenuti. Zaista je potrebno nekoliko modova / konfiguracija:

  • Biblioteka https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - naredbe za serijsko otklanjanje grešaka. Potrebno je komentarisati, jer se serijski port koristi za senzor!
  • Biblioteka https://github.com/Bodmer/TFT_eSPI - zahtijeva konfiguracijsku datoteku u kojoj su specificirani dodjela pinova i SPI frekvencija
  • Biblioteka https://github.com/lucadentella/ArduinoLib_MAX1704… - Gledajući komentare i zahtjeve za povlačenjem primijetio sam da postoji ispravka greške koja nikada nije spojena

Koliko se ja sjećam to bi trebalo biti to. Javite mi ako dođe do problema.

NAPOMENA: Molimo pogledajte komentare u najnovijem izvornom kodu - sadrži veze do svih potrebnih biblioteka i ažurira se

Zašto neki senzori na videu/slici čitaju crveno, a neki zeleno?

Boja označava trend. Počinje bijelo, a ako je gore crveno, ako je dolje zeleno.

Kako se nosite s pomakom senzora s vremenom? Koliko su dobri ovi senzori? Šta mogu vidjeti sa ovim senzorima?

Iskreno, ovo nije naučni komplet za mjerenje. Za kalibraciju bi mi trebala oprema koju nemam na raspolaganju. Ovo je zaista projekt za kućne ljubimce. Probao sam nekoliko senzora. Čestice, CO2, temperatura, vlažnost, pritisak, Geiger su po mom mišljenju prilično dobri. Na NO2 imam rezerve u pogledu kalibracije i cjelokupnog dizajna, ali nema mnogo dostupnih. Sve u svemu, oni su glavni senzori.

Međutim, kombinacija je dovoljno dobra da pokaže stvari koje ne biste očekivali.

S Atmoscanom u dnevnoj sobi i kuhinjom udaljenom od sobe, on otkriva velike vrhove čestica kada npr. prženje. Osjeća NO2 iz jutarnjeg prometa čak i sa zatvorenim prozorima.

Je li Geigerov brojač zaista bio potreban? Pokazuje li nešto korisno?

Na sreću nismo imali nuklearne incidente, a rat još ne dolazi … Ipak, nuklearne elektrane nisu tako daleko i vlada distribuira pilule joda za djecu koje će držati u ladici u slučaju incidenata … pa sam postao sumnjičav. Za sada moram reći da su očitanja potpuno u skladu s očekivanim pozadinskim zračenjem (0,12 uSv/h)

Koja je ukupna cijena uređaja?

Već sam imao mnoge komponente kod kuće, a gornji linkovi vam daju ideju. Iskreno, ako kupite gotov NetAtmo ili slično, uštedjet ćete novac. Ne možete pobijediti kinesku kompaniju koja radi stvari na veliko! Međutim, ako volite stvarati možda zajedno sa svojom djecom, vrijedno je toga. Dobar dio je to što sam već testirao (i odbacio) brojne senzore za vas …

Šta je sa PCB -ovima? Možete li mi prodati jednu?

Prvotno sam ih dao 10 izraditi dirtypcbs.com i moji su fajlovi radili sasvim u redu. Dobar kvalitet i dovoljno jeftino, 25USD / 20Euro za 10 PCB -a. Koristio sam dvije i rado ću poslati preostale za gole troškove (2 eura + pošiljka, ovisno o lokaciji i željama dostave). Bojim se da ću morati odabrati prve koji će mi poslati privatnu poruku.

Možete li napraviti komplet ili kickstarter kampanju?

Laskano, ali iskreno nikad nisam pomislio da je dovoljno inovativan … a osim toga, NEMA VREMENA !!

Međutim, ako bi netko prihvatio ideju, bila bi potrebna druga iteracija. U dizajnu postoje neke oštre ivice koje bi bilo vrijedno popraviti, ali opet nikad nisam imao dovoljno vremena za V2.

Uključeno na hardveru: Mogu li dodati / ukloniti senzor, ekran itd. Za proširenje mogućnosti / smanjenje potrošnje energije?

Zaslon je povezan bez korištenja MISO -a, pa CPU nikada ne čita s ekrana. Stoga jednostavno niste mogli spojiti ekran i radio bi sasvim u redu. Rekavši to, zaslon je uključen samo neko vrijeme nakon što je zadnja gesta otkrivena, tako da zapravo ne utječe na potrošnju energije.

Senzori su umjesto toga gladni energije i cijela stvar lako koristi 400/500mA. Ne zaboravite ventilator i činjenicu da senzor čestica ima i ugrađeni ventilator. ESP takođe ne prelazi u stanje mirovanja, zbog nedostatka GPIO mostova. Međutim, to bi možda uštedjelo 20 mA …

Softver je modularni i možete jednostavno dodavati/uklanjati procese i zaslone tako da možete dodati senzore ili osvijetliti napajanje uklanjanjem nekih, ako želite. Jedino ograničenje je broj GPIO pinova. Međutim, senzori se mogu lako dodati ako se I2C ili alternativno može koristiti I2C ekspander za dodavanje GPIO -a …

Za onemogućavanje senzora, na primjer za testiranje djelomične gradnje, po mom mišljenju, najbolji način ne bi bio pokretanje srodnog procesa. To se može postići komentariranjem srodnog poziva enable () u funkciji void startProcesses () u glavnoj.ino datoteci. Osim ako ne želite strukturno promijeniti sistem, ne bih potpuno uklonio procese jer će ih ekrani i MQTT procesi anketirati. Na ovaj način samo bi trebali vratiti nulu. Imajte na umu da će ulaz za prekidanje za Geiger ploču biti povučen prema dolje ako se ne koristi, u protivnom se ploča neće pokrenuti.

Koja biste poboljšanja napravili da imate vremena za V2.0?

Ne nekim redom..

  • PCB bi mogao izbjeći bakar iza ESP8266 antene. Potpuno sam ga zaboravio i čini dijagram zračenja neizotropnim
  • Punjač je prema mom mišljenju premalen za tako veliku bateriju / baterija je prevelika za punjač. Postoje i drugi IC -ovi i ja bih probao drugu.
  • Postoje bolji mjerači baterije.
  • Dodao bih senzor ozona
  • Koristio bih ESP32 za više GPIO -a i Bluetooth senzora izvan glavne jedinice.
  • Da imam više GPIO -a bilo s ESP32 ili s I2C ekspanderom, upotrijebio bih jedan za kontrolu ventilatora, a drugi za isključivanje jedinice iz softvera. Sada kada je baterija skoro prazna, jedino što može učiniti je prikazati ekran sa niskim nivoom baterije. Ovo je u stvari najveći nedostatak dizajna, jer se situacija sa niskim nivoom baterije ne rješava ljubazno.

O softveru

Trebalo mi je duže od hardvera … Mislim da sadrži niz dobrih koncepata, nažalost nije u potpunosti implementirano. Konkretno, vjerujem da bi ga trebalo očistiti, potencijalno proširiti i iz njega bi se lako mogao izvesti opći okvir za aplikacije ESP8266. Nema vremena. Da li neko prihvata izazov?

Možete li dodati glasovno upravljanje?

Trebalo bi biti izvodljivo. Postoji niz gotovih biblioteka za kontrolu ESP8266 s Alexa i ne vidim zašto bi integracija trebala biti problem. Zanimljivo je pitanje što želite učiniti s tim, što se tiče funkcionalnosti. Ne posjedujem Amazon Echo pa nikada nisam pokušao.

Kako ste napravili laserske rezove?

Crteži se rade pomoću programa SketchUp. Program je lijep, ali mu nedostaju mogućnosti izvoza. Međutim, probna verzija od 30 dana pomaže jer ima dodatne funkcije. Zatim sam ga uvezao u Inkscape za konačnu obradu.

Možete li uključiti/isključiti senzore radi uštede energije putem MOSFET -ova?

U principu, to je dobra ideja, ali većinu ovih senzora treba stalno napajati jer imaju vrijeme za zagrijavanje. Osim toga … ponestalo mi je GPIO -ova u ESP8266. Čak sam morao koristiti GPIO10 koji službeno nije funkcionalan, ali radi odlično na ESP12E.

Koje vještine bi mi trebale?

Da biste ga izgradili od nule, potrebna vam je pozadina dizajna elektronike. Ne baš mnogo, u današnje vrijeme s internetom ne morate baš čitati podatkovne listove red po red kao u mojim ranim danima … Ako koristite ishod mog eksperimentiranja, trebate neke vještine lemljenja SMD -a, mehaničke vještine i malo strpljenja.

Je li ovo vaš prvi projekt?

To je moj prvi podučavanje, ali ne i prvi projekt. Mnogo sam petljao u prošlosti, ali danas zaista nemam mnogo vremena. Oživio sam svoje zahrđale vještine dok pokušavam naučiti nešto korisno svoju djecu..! Napravio sam još nekoliko projekata koje bih jednog dana mogao objaviti.

Preporučuje se: