Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Pozdrav svijete! Ovo je moj prvi Instructable! Ja sam Marco iz Grosseta Italija, nisam programer, nisam inženjer elektronike, ali sam vodič za zaštitu okoliša u našem lokalnom parku prirode (prirodni park Maremma).
U mojoj zadruzi puno radimo s obilascima kanua, naturalističkim i mirnim turama po rijeci Ombrone za promatranje ptica i malo smisla za opuštanje.
No, rijeka Ombrone poznata je i po karakterističnoj vrsti protoka: od ljetnog "nula" do jesensko-zimskog toka od nekoliko tisuća kubičnih metara vode na sat.
Iz tog razloga rijeku Ombrone neprestano prati izvrsna regionalna hidrometrijska služba (SIR), s fantastičnim mjestom koje prikupljane podatke čini dostupnima.
Sada čekamo kraj sezone i prve jesenske poplave za uklanjanje pristaništa i kanua …
Ali kad počnemo govoriti o struganju, raščlanjivanju esp32inga itd? trenutak više
Tijekom talijanskog zaključavanja odradio sam prvu arduino treptajuću lekciju, super … i nastavio sam se igrati sa senzorima i arduinom C. Dakle, ako smatrate da je moj kod grub ili pun besmislenih logičkih praznina, razmislite o ovome!
Učinio sam mnogo stvari samo da bih gubio vrijeme, ali s ovim stalnim rizikom od poplave odlučio sam učiniti nešto super: zahvaljujući ESP32 s arduino faktorom oblika (Wemos d1 r32) koji sam držao zamotan mjesecima jer sam mislio da je "teško", Stvarno sam bio zadovoljan:
Napravio sam strugač koji donosi i raščlanjuje podatke sa SIR web stranice i prikazuje varijable dobivene na jeftinom i2c LCD-u, a svjetlo-frekvencija treperi na nekim LED diodama na realističnoj karti.
pa ako poplava dođe sa planinske strane, upozorit će me sve veća svjetlina (promjena razine) i sve veća učestalost (promjena razine u jednom satu) LED dioda na karti … ali ESP32 može slati i e -poštu! Pa zašto ne biste napravili funkciju za ovo?
idemo sada vidjeti donji kod!
Pribor
- Ploča zasnovana na ESP32: Koristio sam Wemos d1 r32 jer imaju ženske igle i s njom je lakše rukovati
- LED diode, crvena je više "budna poput"
- I2C 16x2 LCD ima samo plavu, ali zelena je stilskija
- jeftina ploča od pluta
- noć (izborno)
Korak 1: Kôd
Na mreži sam pronašao samo iscrpne vodiče koji koriste vanjske web stranice za raščlanjivanje podataka, pa sam pokušao testirati snagu esp32 jezgri koje raščlanjuju podatke izravno na ploči … bez problema!
pa ako pogledate stranicu SIR, izvor može razumjeti kako funkcionira: srećom, za prikaz svojih podataka koriste vrijednosti "odvojene zarezima", pa s ovim kodom tražim hidrografsku postaju (kod TOSnumber) i brojim broj zareza (kao separator) koji sadrže željenu vrijednost (i spremaju je kao varijablu), a zatim je ponovno preslikajte kao svjetlinu LED -a i vrijeme u milisima za treperenje "razine varijacije"
Jezgra ovog strugača nalazi se na http kartici:
ind = payload.indexOf ("TOSstation_number"); // dobiti položaj (ind) odakle počinje brojati zareze
Niz my_var = getValue_ind (korisni teret, ',', 8); // gdje je 8 osma ćelija definirana zarezima (separator)
"korisni teret" je ono što dobivam s weba prethodno očišćeno od "citata" i "& nbsp";
i funkciju getValue_ind koja se nalazi na glavnoj kartici
String getValue_ind (Podaci niza, separator znakova, int indeks) {
int pronađeno = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; for (int i = ind; i <= maxIndex && found <= index; i ++) {// s ind pozicije if (data.charAt (i) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} povratak pronađen> indeks? data.substring (strIndex [0], strIndex [1]): ""; }
prilagođeno s
kod traži stranicu svakih 15 minuta, radi se o 44Kb, mislim da nije veliko opterećenje za poslužitelje i za ESP32.. Kako bih izbjegao previše pomicanja, podijelio sam program na različite funkcije, pročitajte komentare
ovdje je lijepljenje koda stvarno u neredu … izravno sam stavio.ino datoteke
Koristio sam značajku tabulatora arduino IDE -a pa imam različite.ino datoteke
ovo je najnovija verzija koda (?), ulaže se mnogo truda pa ću biti zahvalan na svakom prijedlogu!
- za ispravljanje svjetline LED -a za niske vrijednosti, - za funkciju "preslikavanja" za varijable s pomičnim zarezom - za upotrebu druge jezgre na ESP32, - za razumijevanje načina ispisa html pošte iz niza s sprintf proveo puno pravog "štreberskog vremena" pa čitajte u komentarima na.ino datoteke ili na githubu!
kao postavke prijenosa koristio sam Alati: Particiona shema: NEMA OTA za više prostora za ovaj ogroman kôd
zabavi se
kliknite ovdje za kôd na githubu
Korak 2: Karta
ovaj tutorial je usredsređen na ESP32 kod pa vam mogu dati samo neke ključne riječi, veze i alate:
izvrsna usluga za izdvajanje vektorskih područja s openstreetmap
- "ostični" QGis za njihovo varenje
- potražite tablicu atributa za pojednostavljivanje karte
- stvoriti izgled ispisa i izvesti kartu u svg formatu na formatu papira A3
- zabavite se s "glatkijim" ilustratorom
- isprintajte ga
Korak 3: Zabava uz vruće ljepilo
pa vam mogu predložiti da izrežete rupe za LED diode i zaslon na papiru prije nego što ih popravite na plutenoj ploči
ožičenje je stvarno jednostavno i loše napravljeno od mene: P
Moja razina lemljenja: Golub
kao što možete vidjeti iz koda, LED diode idu na IO pinove
#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
potražite ESP32 pinout za razumijevanje
Korak 4: Gotov proizvod
tako da ova fotografija nije najbolja, ali kad imamo poplavu rijeke, stavit ću lijep video!