Turinys:

ESP32 grandiklis, analizatorius ir tiesioginis žemėlapių kūrėjas: 4 žingsniai (su paveikslėliais)
ESP32 grandiklis, analizatorius ir tiesioginis žemėlapių kūrėjas: 4 žingsniai (su paveikslėliais)

Video: ESP32 grandiklis, analizatorius ir tiesioginis žemėlapių kūrėjas: 4 žingsniai (su paveikslėliais)

Video: ESP32 grandiklis, analizatorius ir tiesioginis žemėlapių kūrėjas: 4 žingsniai (su paveikslėliais)
Video: My Big Blue Audio Spectrum Analyzer Video 2 2024, Liepa
Anonim
ESP32 „Scraper-parser-mail“ir „Live Mapper“
ESP32 „Scraper-parser-mail“ir „Live Mapper“
ESP32 „Scraper-parser-mail“ir „Live Mapper“
ESP32 „Scraper-parser-mail“ir „Live Mapper“
ESP32 „Scraper-parser-mail“ir „Live Mapper“
ESP32 „Scraper-parser-mail“ir „Live Mapper“

Labas pasauli! Tai mano pirmasis Instructable! Aš esu Marco iš Grosseto Italijos, nesu kūrėjas, nesu elektronikos inžinierius, bet esu aplinkosaugos vadovas mūsų vietiniame gamtos parke (Maremma gamtos parkas).

Mano kooperatyve daug dirbame su ekskursijomis kanojomis, natūralistinėmis ir ramiomis ekskursijomis Ombrone upe, kad galėtume stebėti paukščius ir šiek tiek atsipalaiduoti.

Tačiau Ombrone upė taip pat garsėja būdingu srautu: nuo vasaros „nulio“iki kelių tūkstančių kubinių metrų vandens per valandą rudens-žiemos srauto.

Dėl šios priežasties Ombrone upę nuolat stebi puiki regioninė hidrometrinė tarnyba (SIR), turinti fantastišką svetainę, kuri leidžia gauti surinktus duomenis.

Dabar mes laukiame sezono pabaigos ir pirmųjų rudens potvynių, kad pašalintume doką ir kanojas …

Bet kai mes pradedame kalbėti apie esp32ing ir pan. dar akimirka

Italijos užrakinimo metu aš padariau pirmąją arduino mirksėjimo pamoką, šaunu … ir aš toliau žaidžiau su jutikliais ir arduino C. Taigi, jei manote, kad mano kodas yra neapdorotas arba pilnas nesąmoningų loginių spragų, apsvarstykite tai!

Aš daug ką padariau tik tam, kad gaiščiau laiką, tačiau turėdamas nuolatinę potvynių riziką nusprendžiau padaryti kažką šaunaus: dėka ESP32 su arduino formos koeficientu („Wemos d1 r32“), kurį laikiau suvyniotą kelis mėnesius, nes maniau, kad „sunku“, Aš tikrai turėjau daug patenkinimų:

Aš padariau grandiklį, kuris atneša ir išanalizuoja duomenis iš SIR tinklalapio ir rodo kintamuosius, gautus pigiame „i2c“LCD, ir kaip ryškumo dažnis mirksi kai kuriuose šviesos dioduose tikroviškame žemėlapyje.

taigi, jei potvynis kyla iš kalno pusės, mane įspės didėjantis šviesos diodų ryškumas (lygio pasikeitimas) ir dažnesnis (lygio pasikeitimas per vieną valandą) žemėlapyje … bet ESP32 taip pat gali siųsti el. Taigi kodėl gi ne atlikti tam skirtą funkciją?

dabar eikime pamatyti žemiau esančio kodo!

Prekės

  • ESP32 pagrindu pagaminta plokštė: naudojau „Wemos d1 r32“, nes yra kaiščių ir lengviau valdyti
  • šviesos diodai, raudona spalva yra labiau „budri“
  • „I2C 16x2 LCD“yra tik mėlynas, bet žalia yra stilingesnė
  • pigi kamštinė lenta
  • nakties laikas (neprivaloma)

1 žingsnis: Kodas

Kodas
Kodas
Kodas
Kodas

internete radau tik tuščias pamokas, kuriose duomenims analizuoti naudojamos išorinės svetainės, todėl bandžiau išbandyti esp32 branduolių, analizuojančių duomenis tiesiai lentoje, galią … be problemų!

taigi, jei žiūrite SIR puslapio šaltinį, galite suprasti, kaip jis veikia: laimei, jie naudoja „kableliais atskirtus kaip“reikšmes savo duomenims rodyti, todėl šiuo kodu ieškau hidrografinės stoties (kodas TOSnumber) ir skaičiuoju kablelių skaičių (kaip separatorių), kurioje yra norima reikšmė (ir išsaugokite ją kaip kintamąją), tada pakeiskite ją kaip šviesos diodų ryškumą ir laiką miliais, kad mirksėtų „variacijos lygis“

Šio grandiklio esmė yra skirtuke

ind = payload.indexOf ("TOSstation_number"); // gauti poziciją (ind), nuo kurios pradėti skaičiuoti kablelius

Eilutė my_var = getValue_ind (naudingoji apkrova, ',', 8); // kur 8 yra aštunta langelis, apibrėžtas kableliais (separatorius)

„naudingoji apkrova“yra tai, ką aš gaunu iš žiniatinklio, anksčiau išvalyto nuo „citatų“ir „& nbsp“;

ir „getValue_ind“funkcija, esanti pagrindiniame skirtuke

Styga getValue_ind (eilutės duomenys, simbolių skyriklis, int indeksas) {

int rasta = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; for (int i = ind; i <= maxIndex && found <= index; i ++) {// iš ind pozicijos, jei (data.charAt (i) == separatorius || i == maxIndex) {rasta ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} grąžinti rasti> indeksas? data.substring (strIndex [0], strIndex [1]): ""; }

pritaikytas iš

kodas prašo puslapio kas 15 min., tai yra apie 44 KB, nemanau, kad tai yra didelė apkrova serveriams ir ESP32. Norėdami išvengti per didelio slinkimo, programą suskirstiau į skirtingas funkcijas, perskaitykite komentarus

čia kodo įklijavimas yra tikrai netvarka … aš įdėjau.ino failus tiesiai

Aš naudoju „arduino IDE“skirtukų funkciją, todėl turiu skirtingus.ino failus

tai naujausia kodo versija (?), daug pastangų, todėl būsiu dėkingas už bet kokį pasiūlymą!

- norint ištaisyti šviesos diodo ryškumą esant žemoms vertėms, - „žemėlapio“funkcijai, skirta kintamųjų kableliams, - naudoti antrąjį šerdį ESP32, - suprasti, kaip atspausdinti html laišką iš eilutės naudojant „sprintfI“praleido daug tikro „nerding“laiko, todėl skaitykite komentarus apie.ino failus arba „github“!

kaip įkėlimo nustatymus naudojau Įrankiai: skaidinių schema: NE OTA, kad būtų daugiau vietos šiam didžiuliam kodui

pasilinksmink

spustelėkite čia, kad gautumėte kodą „github“

2 žingsnis: žemėlapis

Žemėlapis
Žemėlapis
Žemėlapis
Žemėlapis
Žemėlapis
Žemėlapis

ši pamoka skatinama naudojant ESP32 kodą, todėl galiu pateikti tik kai kuriuos naudojamus raktinius žodžius, nuorodas ir įrankius:

puiki paslauga išgauti vektorines sritis iš atviro gatvės žemėlapio

  • „ostinis“QGis, skirtas juos virškinti
  • ieškokite atributų lentelės, kad supaprastintumėte žemėlapį
  • sukurkite spausdinimo maketą ir eksportuokite žemėlapį svg formatu A3 popieriaus formatu
  • linksminkitės su „lygesniu“iliustruotoju
  • atsispausdinkite

3 žingsnis: karštų klijų vakarėlis

Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis
Karštų klijų vakarėlis

todėl galiu pasiūlyti iškirpti skylutes lemputei ir ekranui ant popieriaus, prieš tai pritvirtindami ant kamštinės plokštės

laidai yra tikrai paprasti ir blogai padaryti: P

Mano litavimo lygis: balandis

kaip matote iš kodo, šviesos diodai eina į IO kaiščius

#define LED_PIN0 14 // si #define LED_PIN1 27 // buon #define LED_PIN2 16 // sass #define LED_PIN3 17 // tur #define LED_PIN4 25 // ist #define LED_PIN5 26 // berr

ieškokite ESP32 pinout, kad suprastumėte

4 žingsnis: paruoštas produktas

Gatavas produktas
Gatavas produktas

taigi ši nuotrauka nėra pati geriausia, bet kai sulauksime upės potvynio, įdėsiu gražų vaizdo įrašą!

Rekomenduojamas: