Isi kandungan:

ESP32 Scraper-parser-mailer dan Live Mapper: 4 Langkah (dengan Gambar)
ESP32 Scraper-parser-mailer dan Live Mapper: 4 Langkah (dengan Gambar)

Video: ESP32 Scraper-parser-mailer dan Live Mapper: 4 Langkah (dengan Gambar)

Video: ESP32 Scraper-parser-mailer dan Live Mapper: 4 Langkah (dengan Gambar)
Video: How to Solve CORS Error in 2 min [WATCH THIS] | CORS Explained in EASY Way 2024, November
Anonim
ESP32 Scraper-parser-mailer dan Live Mapper
ESP32 Scraper-parser-mailer dan Live Mapper
ESP32 Scraper-parser-mailer dan Live Mapper
ESP32 Scraper-parser-mailer dan Live Mapper
ESP32 Scraper-parser-mailer dan Live Mapper
ESP32 Scraper-parser-mailer dan Live Mapper

Hai dunia! Ini adalah Instructable pertama saya! Saya Marco dari Grosseto Itali, saya bukan pemaju, saya bukan jurutera elektronik tetapi saya panduan alam sekitar di taman semula jadi tempatan kami (taman semula jadi Maremma).

Di koperasi saya, kami banyak bekerjasama dengan lawatan kanu, lawatan naturalistik dan tenang di sungai Ombrone untuk menonton burung dan sedikit rasa santai.

Tetapi sungai Ombrone juga terkenal dengan jenis alirannya yang khas: dari musim panas "sifar" hingga aliran musim luruh-musim sejuk beberapa ribu meter padu air per jam.

Atas sebab ini, sungai Ombrone sentiasa dipantau oleh perkhidmatan hidrometrik wilayah (SIR) yang sangat baik, dengan laman web hebat yang menjadikan data yang dikumpulkan tersedia.

Sekarang kita menunggu akhir musim dan banjir musim luruh pertama untuk membuang dermaga dan sampan…

Tetapi apabila kita mula bercakap mengenai mengikis mengurai esp32ing dll? satu saat lagi

Semasa penutupan bahasa Itali, saya telah melakukan pelajaran arduino blink pertama, sejuk… dan saya telah bersambung untuk bermain-main dengan sensor dan arduino C. Oleh itu, jika anda mendapati kod saya kasar atau penuh dengan jurang logik yang tidak masuk akal pertimbangkan ini!

Saya melakukan banyak perkara hanya untuk membuang masa tetapi dengan risiko banjir yang berterusan ini, saya memutuskan untuk melakukan sesuatu yang menarik: terima kasih kepada ESP32 dengan faktor bentuk arduino (Wemos d1 r32) yang saya teruskan berbulan-bulan kerana saya fikir "sukar", Saya benar-benar mendapat banyak kepuasan:

Saya telah melakukan pengikis yang membawa dan menghuraikan data dari laman web SIR dan memaparkan pemboleh ubah yang diperoleh pada LCD i2c yang murah, dan ketika frekuensi kecerahan berkedip pada beberapa petunjuk pada peta yang realistik.

jadi jika banjir datang dari sisi gunung saya akan diberi amaran oleh peningkatan kecerahan (perubahan tahap) dan oleh peningkatan frekuensi (perubahan tahap dalam satu jam) lampu di peta … tetapi ESP32 juga dapat menghantar e-mel! Jadi mengapa tidak melakukan fungsi untuk ini?

mari lihat kod di bawah sekarang!

Bekalan

  • Papan berasaskan ESP32: Saya telah menggunakan Wemos d1 r32 kerana mempunyai pin wanita dan lebih mudah dikendalikan
  • led, merah lebih "waspada seperti"
  • I2C 16x2 LCD iv'e hanya berwarna biru tetapi hijau lebih bergaya
  • papan gabus murah
  • waktu malam (pilihan)

Langkah 1: Kodnya

Kod tersebut
Kod tersebut
Kod tersebut
Kod tersebut

secara dalam talian saya hanya menemui tutorial wapourous yang menggunakan laman web luaran untuk menghuraikan data, jadi saya cuba menguji kekuatan inti esp32 yang menguraikan data secara langsung di papan… tanpa masalah!

jadi jika anda melihat sumber halaman SIR dapat memahami cara kerjanya: mujurlah mereka menggunakan nilai "dipisahkan seperti koma" untuk memaparkan data mereka, jadi dengan kod ini saya mencari stesen hidrografi (kod TOSnumber) dan mengira bilangan koma (sebagai pemisah) yang mengandungi nilai yang saya inginkan (dan menyimpannya sebagai pemboleh ubah), kemudian memetakannya semula sebagai kecerahan dipimpin dan masa dalam mil untuk "tahap variasi" berkedip

Inti pengikis ini ada di tab

ind = payload.indexOf ("TOSstation_number"); // dapatkan kedudukan (ind) dari mana mula mengira koma

Rentetan my_var = getValue_ind (muatan, ',', 8); // di mana 8 adalah sel kelapan yang ditentukan oleh koma (pemisah)

"muatan" adalah apa yang saya dapat dari web yang sebelumnya dibersihkan dari "petikan" dan "& nbsp";

dan fungsi getValue_ind yang ada di tab utama

String getValue_ind (String data, char separator, int index) {

int ditemui = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; untuk (int i = ind; i <= maxIndex && found <= index; i ++) {// dari kedudukan ind jika (data.charAt (i) == pemisah || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} pulangan dijumpai> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

diadaptasi dari

kod meminta halaman setiap 15min, kira-kira 44Kb, saya rasa ini bukan beban besar untuk pelayan dan untuk ESP32.. Untuk mengelakkan terlalu banyak tatal, saya telah membahagikan program ini dalam pelbagai fungsi, baca komen

di sini pasta kod benar-benar berantakan … saya meletakkan fail.ino secara langsung

Saya telah menggunakan ciri tab dari arduino IDE jadi saya mempunyai fail.ino yang berbeza

ini adalah versi terbaru kod (?), ada banyak usaha, jadi saya akan menghargai sebarang cadangan!

- untuk meluruskan kecerahan dipimpin untuk nilai rendah, - untuk fungsi "peta" untuk pemboleh ubah titik terapung - untuk penggunaan teras kedua pada ESP32, - untuk memahami cara mencetak surat html dari rentetan dengan sprintfSaya menghabiskan banyak masa "nerding" yang benar jadi baca komen pada fail.ino atau di github!

sebagai tetapan muat naik saya telah menggunakan Tools: Partition Scheme: NO OTA untuk mempunyai lebih banyak ruang untuk kod besar ini

berseronok

klik di sini untuk kod di github

Langkah 2: Peta

Peta
Peta
Peta
Peta
Peta
Peta

tut ini diberikan pada kod ESP32 sehingga saya hanya dapat memberi anda beberapa kata kunci, pautan dan alat yang digunakan:

perkhidmatan terbaik untuk mengekstrak kawasan vektor dari openstreetmap

  • QGis "ostic" untuk mencerna mereka
  • cari jadual atribut untuk memudahkan peta anda
  • buat susun atur cetakan dan eksport peta dalam format svg pada format kertas A3
  • bergembiralah dengan ilustrator "lebih lancar"
  • mencetaknya

Langkah 3: Pesta Lem Panas

Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas
Pesta Lem Panas

jadi saya boleh mencadangkan untuk memotong lubang untuk lekapan dan paparan di atas kertas sebelum memasangnya di papan gabus

pendawaian benar-benar sederhana dan dan buruk dilakukan oleh saya: P

Tahap pematerian saya: Merpati

seperti yang anda dapat lihat dari kod yang dipimpin pergi ke pin IO

#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

cari pinout ESP32 untuk memahami

Langkah 4: Produk Selesai

Produk Selesai
Produk Selesai

jadi foto ini bukanlah yang terbaik, tetapi apabila kita mendapat banjir sungai saya akan meletakkan video yang bagus!

Disyorkan: