Mündəricat:
Video: ESP32 Sıyırıcı-ayrıştırıcı-poçt göndərən və Live Mapper: 4 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Salam Dünya! Bu mənim ilk təlimatımdır! Mən Grosseto İtaliyadan olan Marco, geliştirici deyiləm, elektron mühəndis deyiləm, ancaq yerli təbii parkımızda (Maremma təbii parkı) ətraf mühit bələdçisiyəm.
Kooperativimdə, kano turları, Ombrone çayı üzərində quş seyr etmək və bir az rahatlamaq üçün təbii və sakit turlarla çox işləyirik.
Ancaq Ombrone çayı xarakterik axın növü ilə də məşhurdur: yazdan "sıfıra" qədər payız-qış axını saatda bir neçə min kubmetr su.
Bu səbəbdən, Ombrone çayı, toplanmış məlumatları əldə etməyə imkan verən fantastik bir saytla mükəmməl regional hidrometrik xidmət (SIR) tərəfindən daim izlənilir.
İndi mövsümün bitməsini və doku və kanoları çıxarmaq üçün ilk payız daşqınlarını gözləyirik …
Bəs esp32ing və s. bir an daha
İtalyan kilidləmə zamanı ilk arduino göz qırpma dərsini tamamladım … və sensorlar və arduino C ilə oynamağı davam etdirdim, buna görə də kodumu xam və ya cəfəng məntiqi boşluqlarla dolu hesab edirsənsə bunu düşün!
Vaxt itirməmək üçün çox şey etdim, amma bu daimi daşqın riski ilə sərin bir şey etməyə qərar verdim: "çətin" olduğunu düşündüyüm üçün aylarla bükdüyüm arduino forma faktorlu (Wemos d1 r32) ESP32 sayəsində., Həqiqətən çox məmnun oldum:
Bir SIR veb səhifəsindən məlumat gətirən və təhlil edən və əldə edilən dəyişənləri ucuz bir i2c LCD-də və bəzi xəritədə bəzi LED-lərdə parlaqlıq tezliyi yanıb-sönən bir kazıyıcı etdim.
dağ tərəfdən bir daşqın gəlsə, xəritədəki ledlərin artan parlaqlığı (səviyyənin dəyişməsi) və artan tezliyin (bir saat ərzində səviyyənin dəyişməsi) xəbərdarlığı alacağam … amma ESP32 də e -poçt göndərə bilər! Bəs niyə bunun üçün bir funksiya etməyək?
İndi aşağıdakı kodu görmək üçün gedək!
Təchizat
- ESP32 əsaslı lövhə: Wemos d1 r32 səbəbiylə dişi sancaqlar istifadə etdim və idarə etmək daha asandır
- LEDlər, qırmızı daha "uyanık"
- I2C 16x2 LCD iv'e yalnız mavi, ancaq yaşıl daha şık
- ucuz mantar lövhəsi
- gecə vaxtı (isteğe bağlı)
Addım 1: Kod
məlumatları təhlil etmək üçün xarici saytlardan istifadə edən yalnız buxarlı dərsliklər tapdım, buna görə məlumatları birbaşa lövhədə təhlil edən esp32 nüvələrinin gücünü sınamağa çalışdım … problemsiz!
SIR səhifəsinə baxsanız onun necə işlədiyini anlaya bilərik: xoşbəxtlikdən məlumatlarını göstərmək üçün "virgüllə ayrılmış" kimi dəyərlər istifadə edirlər, buna görə də bu kodla bir hidroqrafik stansiya (kod TOSnumber) axtarıram və vergül sayını hesablayıram (ayırıcı olaraq) istədiyim dəyəri ehtiva edir (və dəyişkən olaraq saxlayır), sonra "dəyişmə səviyyəsi" yanıb -sönmək üçün milisaniyədə led parlaqlığı və vaxtı olaraq yenidən düzəldin.
Bu kazıyıcının nüvəsi http sekmesindedir:
ind = payload.indexOf ("TOSstation_number"); // vergül saymağa başladığınız yerdən (ind) alın
String my_var = getValue_ind (yük, ',', 8); // burada 8 vergüllə təyin olunan səkkizinci hüceyrədir (ayırıcı)
"faydalı yük", əvvəllər "kotirovkalar" və "& nbsp" dən təmizlənmiş internetdən aldığım şeydir;
və əsas sekmedeki getValue_ind funksiyası
String getValue_ind (String data, char separator, int index) {
int tapıldı = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; for (int i = ind; i <= maxIndex && found <= index; i ++) {// ind mövqeyindən əgər (data.charAt (i) == ayırıcı || i == maxIndex) {tapılmış ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} qayıtdı> indeks? data.substring (strIndex [0], strIndex [1]): ""; }
stackoverflow.com/a/14824108 saytından uyğunlaşdırılmışdır
kod hər 15 dəqiqədən bir səhifəni soruşur, təxminən 44 Kb -dir, serverlər və ESP32 üçün böyük bir yük olduğunu düşünmürəm.. Çox sürüşməmək üçün proqramı fərqli funksiyalara böldüm, şərhləri oxuyun
burada kodu yapışdırmaq həqiqətən bir qarışıqlıqdır..ino fayllarını birbaşa qoyuram
Arduino IDE -nin sekmeler xüsusiyyətindən istifadə etdim, buna görə də fərqli.ino fayllarım var
bu kodun son versiyasıdır (?), çox səy var, buna görə hər hansı bir təklifi yüksək qiymətləndirəcəyəm!
- aşağı dəyərlər üçün LED parlaqlığını düzəltmək üçün, - üzən nöqtə dəyişənləri üçün "xəritə" funksiyası üçün - ESP32 -də ikinci nüvənin istifadəsi üçün, - sprintfI ilə bir sətirdən html poçtunun necə çap olunacağını anlamaq üçün. çox "əsəbi vaxt" keçirdi, buna görə.ino faylları və ya githubdakı şərhləri oxuyun!
Yükləmə parametrləri olaraq Alətlərdən istifadə etdim: Bölmə Şeması: Bu böyük kod üçün daha çox yerə sahib olmaq üçün OTA YOX
əylənin
githubdakı kod üçün bura vurun
Addım 2: Xəritə
Bu tut ESP32 koduna daxil edilmişdir, buna görə sizə yalnız bəzi açar sözlər, bağlantılar və istifadə olunan vasitələr verə bilərəm:
openstreetmap formalı vektor sahələrini çıxarmaq üçün əla xidmət
- həzm etmək üçün "ostik" QGis
- xəritənizi asanlaşdırmaq üçün atribut cədvəli axtarın
- çap düzeni yaradın və xəritəni A3 kağız formatında svg formatında ixrac edin
- "daha hamar" illüstratorla əylənin
- çap et
Addım 3: İsti Yapışqan Partiyası
Mantar lövhəsinə düzəltmədən əvvəl kağızdakı ekranın və ekranın deliklərini kəsməyi təklif edə bilərəm
naqillər həqiqətən sadədir və pis mənim tərəfimdən edilir: P.
Lehimləmə səviyyəm: Göyərçin
koddan gördüyünüz kimi ledlər IO pinlərinə gedir
#define LED_PIN0 14 // si #LED_PIN1 müəyyən edin 27 // buon #define LED_PIN2 16 // sass #define LED_PIN3 17 // tur #define LED_PIN4 25 // ist #define LED_PIN5 26 // berr
Anlamaq üçün ESP32 pinout axtarın
Addım 4: Hazır məhsul
bu şəkil ən yaxşı deyil, amma bir çay axını olanda gözəl bir video qoyacağam!
Tövsiyə:
Arduino və Stage Monster Live ilə IOT DMX Controller: 6 addım
Arduino və Stage Monster Live ilə IOT DMX Nəzarətçisi: Telefonunuzdan və ya hər hansı digər veb effektiv cihazdan səhnə işıqlandırmasını və digər DMX cihazlarını idarə edin. Arduino Mega istifadə edərək Stage Monster Live platformasında işləyən öz DMX nəzarətçinizi necə tez və asanlıqla quracağınızı sizə göstərəcəyəm
Uşağımı Saxla: Maşında Uşağı Unudursan Mətn Mesajı Göndərən Ağıllı Oturacaq: 8 addım
Uşağımı Xilas Edin: Uşağı Maşında Unudursanız Mətn Mesajları Göndərən Ağıllı Oturacaq: Avtomobillərə quraşdırılıb və uşaq oturacağına yerləşdirilmiş bir detektor sayəsində bizi xəbərdar edir - SMS və ya telefon zəngi ilə - uşağı yanımıza gətirmədən
ESP32 ilə işə başlayın - Arduino IDE -də ESP32 lövhələrinin quraşdırılması - ESP32 Blink Kodu: 3 addım
ESP32 ilə işə başlayın | Arduino IDE -də ESP32 lövhələrinin quraşdırılması | ESP32 Blink Kodu: Bu təlimatlarda esp32 ilə işləməyə necə başlayacağımızı və esp32 lövhələrini Arduino IDE -yə necə quracağımızı görəcəyik və arduino ide istifadə edərək yanıb -sönmə kodunu işə salmaq üçün esp 32 -ni proqramlaşdıracağıq
Simsiz Məlumat Göndərən Hava İstasyonu: 8 addım
Simsiz Məlumat Göndərən Hava İstasyonu: Bu təlimat, əvvəlki layihəmin - Məlumat girişi olan hava stansiyasının təkmilləşdirilməsidir. Əvvəlki layihəni burada görə bilərsiniz - Məlumat qeydləri olan hava stansiyası Hər hansı bir sualınız və ya probleminiz varsa mənimlə e -poçtla əlaqə saxlaya bilərsiniz: iwx.production@gmai
ESP8266 GMail Göndərən: 3 Adım (Şəkillərlə birlikdə)
ESP8266 GMail Göndərən: Salam və ilk təlimatçılığa xoş gəldiniz. Gmail serverindən istifadə edərək hər hansı bir ESP8266 wifi modulundan e-poçt göndərməyinizi sizə göstərəcəyəm. Bu təlimat, öz-özünə bir mikro nəzarətçi edən ESP8266 WiFi çipi üçün Arduino nüvəsinə əsaslanır (yox