Բովանդակություն:
Video: ESP32 Scraper-parser-mailer և Live Mapper. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Բարեւ աշխարհ! Սա իմ առաջին հրահանգն է: Ես Մարկոն եմ Իտալիայի Գրոսսետոյից, ես մշակող չեմ, ես էլեկտրոնային ինժեներ չեմ, բայց ես բնապահպանական ուղեցույց եմ մեր տեղական բնական պարկում (Մարեմմա բնական պարկ):
Իմ կոոպերատիվում մենք շատ ենք աշխատում կանոե շրջագայություններով, բնագիտական և հանգիստ շրջագայություններով Օմբրոնե գետի վրա `թռչնադիտարկման և մի փոքր հանգստանալու համար:
Բայց Օմբրոն գետը հայտնի է նաև իր բնորոշ հոսքով. Ամառային «զրոյից» մինչև աշուն-ձմեռ հոսքը ժամում մի քանի հազար խորանարդ մետր ջուր է:
Այդ պատճառով Օմբրոն գետը մշտապես վերահսկվում է հիանալի հիդրոմետ ծառայության (SIR) կողմից ՝ ֆանտաստիկ տեղանքով, որը հասանելի է դարձնում հավաքագրված տվյալները:
Այժմ մենք սպասում ենք սեզոնի ավարտին և աշնանային առաջին ջրհեղեղներին ՝ նավահանգիստը և կանոները հեռացնելու համար…
Բայց երբ սկսում ենք խոսել esp32ing և այլն վերլուծելու քերծվածքների մասին: մի պահ ևս
Իտալական արգելափակման ընթացքում ես արեցի arduino թարթման առաջին դասը, թույն… և ես շարունակեցի խաղալ սենսորների և arduino C- ի հետ: Այսպիսով, եթե իմ կոդը գտնում եք կոպիտ կամ անհեթեթ տրամաբանական բացերով լի, հաշվի առեք սա:
Ես շատ բաներ արեցի պարզապես ժամանակ կորցնելու համար, բայց ջրհեղեղի այս մշտական ռիսկով որոշեցի ինչ -որ զով բան անել. ESP32- ի շնորհիվ arduino ձևի գործոնով (Wemos d1 r32), որը ես ամիսներ շարունակ փաթաթված էի պահում, քանի որ կարծում էի, որ «դժվար է»:, Ես իսկապես շատ գոհունակություններ ունեի.
Ես արել եմ քերիչ, որը բերում և վերլուծում է տվյալները SIR վեբ էջից և ցուցադրում է էժան i2c LCD էկրանին ձեռք բերված փոփոխականները, և քանի որ պայծառության հաճախականությունը թարթում է իրատեսական քարտեզի որոշ լուսարձակների վրա:
Այսպիսով, եթե ջրհեղեղը գալիս է լեռան կողմից, ես նախազգուշացվելու եմ քարտեզի վրա լուսարձակների աճող պայծառությունից (մակարդակի փոփոխությունից) և աճող հաճախականությունից (մակարդակի փոփոխություն մեկ ժամում) … բայց ESP32- ը կարող է նաև նամակներ ուղարկել: Ուրեմն ինչու դրա համար գործառույթ չանել:
եկեք հիմա տեսնենք ներքևի ծածկագիրը:
Պարագաներ
- ESP32- ի վրա հիմնված տախտակ. Ես օգտագործել եմ Wemos d1 r32- ը, որովհետև կանացի կապում կան, և ավելի հեշտ է դրանք կարգավորել
- leds, կարմիրն ավելի «զգոն է»
- I2C 16x2 LCD- ը միայն կապույտ է, բայց կանաչն ավելի ոճային է
- էժան խցանափայտ
- գիշերային ժամ (ըստ ցանկության)
Քայլ 1: Կոդ
առցանց ես գտել եմ միայն գոլորշիացնող ձեռնարկներ, որոնք օգտագործում են արտաքին կայքերը տվյալների վերլուծության համար, ուստի ես փորձեցի esp32 միջուկների հզորությունը փորձարկել տվյալները անմիջապես տախտակի վրա … առանց խնդիրների:
եթե դիտում եք SIR էջի աղբյուրը կարող է հասկանալ, թե ինչպես է այն աշխատում. բարեբախտաբար, նրանք օգտագործում են «նման ստորակետով առանձնացված» արժեքներ `իրենց տվյալները ցուցադրելու համար, ուստի այս ծածկագրով ես փնտրում եմ հիդրոոգրաֆիկ կայան (կոդ TOSnumber) և հաշվում ստորակետների թիվը (որպես տարանջատիչ), որոնք պարունակում են իմ ուզած արժեքը (և այն պահում են որպես փոփոխական), այնուհետև այն վերափոխում են որպես լուսադիոդի պայծառություն և ժամանակ միլիլիսներում `« տատանումների մակարդակի »համար թարթելու համար
Այս քերիչի միջուկը http ներդիրում է.
ind = payload.indexOf ("TOSstation_number"); // ստացեք պաշտոնը (ind), որտեղից սկսեք հաշվել ստորակետներ
Լարային my_var = getValue_ind (բեռնվածություն, ',', 8); // որտեղ 8 -ը ութերորդ բջիջն է, որը սահմանված է ստորակետներով (անջատիչ)
«բեռնվածությունը» այն է, ինչ ես ստանում եմ համացանցից, որը նախկինում մաքրվել է «մեջբերումներից» և «& nbsp»;
և getValue_ind գործառույթը, որը գտնվում է հիմնական ներդիրում
String getValue_ind (Լարային տվյալներ, նշանի անջատիչ, int ինդեքս) {
int գտնված = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; for (int i = ind; i <= maxIndex && found <= index; i ++) {// from ind position if (data.charAt (i) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} վերադարձը գտնվեց> ինդեքս? data.substring (strIndex [0], strIndex [1]) ՝ ""; }
հարմարեցված է https://stackoverflow.com/a/14824108 կայքից
ծածկագիրը էջը խնդրում է ամեն 15 րոպեն մեկ, այն մոտ 44 Կբ է, չեմ կարծում, որ մեծ բեռ է սերվերների և ESP32- ի համար: Շատ ոլորումից խուսափելու համար ես ծրագիրը բաժանել եմ տարբեր գործառույթների, կարդացեք մեկնաբանությունները
այստեղ կոդի տեղադրումը իսկապես խառնաշփոթ է … ես ուղղակիորեն դնում եմ.ino ֆայլերը:
Ես օգտագործել եմ arduino IDE- ի ներդիրների հնարավորությունը, այնպես որ ես ունեմ տարբեր.ino ֆայլեր:
սա կոդի վերջին տարբերակն է (?), շատ ջանքեր կան, այնպես որ ես կգնահատեմ ցանկացած առաջարկ:
- ցածր արժեքների համար led պայծառության ուղղման համար, - «քարտեզ» գործառույթի համար `լողացող կետի փոփոխականների համար - ESP32- ի երկրորդ միջուկի օգտագործման համար, - հասկանալու համար, թե ինչպես պետք է տպել html նամակ լարից sprintfI ունեն շատ ժամանակ անցկացրեց իրական ժամանակի համար, այնպես որ կարդացեք.ino ֆայլերի կամ github- ի մեկնաբանությունների վրա:
որպես վերբեռնման պարամետրեր ես օգտագործել եմ Գործիքներ. Բաժանման սխեմա. ՈՉ OTA ՝ այս հսկայական կոդի համար ավելի շատ տարածք ունենալու համար
զվարճանալ
կտտացրեք այստեղ github- ի ծածկագրի համար
Քայլ 2: Քարտեզ
այս ուսուցումը ներառված է ESP32 ծածկագրի վրա, որպեսզի կարողանամ ձեզ տրամադրել միայն որոշ հիմնաբառեր, հղումներ և օգտագործված գործիքներ.
վեկտորալ տարածքների արդյունահանման հիանալի ծառայություն openstreetmap
- «ostic» QGis ՝ դրանք մարսելու համար
- որոնեք հատկանիշների աղյուսակ ՝ ձեր քարտեզը պարզեցնելու համար
- ստեղծել տպագիր դասավորություն և արտահանել քարտեզը svg ձևաչափով A3 թղթի ձևաչափով
- զվարճացեք «ավելի հարթ» նկարազարդողի հետ
- տպել այն
Քայլ 3. Թեժ սոսնձի երեկույթ
այնպես որ ես կարող եմ առաջարկել թղթի վրա փակել լուսադիոդի և ցուցադրման անցքերը, նախքան այն ամրացնել խցանափայտի վրա
էլեկտրամոնտաժը իսկապես պարզ է և վատ կատարված իմ կողմից: P
Իմ զոդման մակարդակը. Աղավնի
ինչպես տեսնում եք ծածկագրից led- ները գնում են IO կապում
#սահմանել LED_PIN0 14 // si #սահմանել LED_PIN1 27 // buon #սահմանել LED_PIN2 16 // sass #սահմանել LED_PIN3 17 // tur #սահմանել LED_PIN4 25 // ist #սահմանել LED_PIN5 26 // berr
փնտրեք ESP32 pinout հասկանալու համար
Քայլ 4: Ավարտված արտադրանք
այնպես որ այս լուսանկարը լավագույնը չէ, բայց երբ գետի ջրհեղեղ ընկնենք, ես գեղեցիկ տեսանյութ կդնեմ:
Խորհուրդ ենք տալիս:
Mini Drawing Bot - Live Android հավելված - Trignomentry: 18 քայլ (նկարներով)
Mini Drawing Bot-Live Android App-Trignomentry. Շնորհակալություն Աստծուն և ձեզ բոլորիդ `իմ նախագիծը Baby-MIT- Cheetah-Robot- ը շահեց առաջին մրցանակը Make it Move մրցույթում: Ես շատ ուրախ եմ, քանի որ շատ ընկերներ շատ հարցեր են տալիս զրույցի և հաղորդագրությունների մեջ: Կարևոր հարցերից մեկն այն էր, թե ինչպես
Կառավարեք Ableton Live- ը ՝ օգտագործելով Atto կամ Arduino Leonardo: 3 քայլ
Կառավարեք Ableton Live- ը ՝ օգտագործելով Atto կամ Arduino Leonardo: Սա ցուցադրական տեսանյութ է Piksey Atto- ի համար: Մենք սովորում ենք, թե ինչպես օգտագործել այն որպես MIDI սարք և վերահսկել հետքերը Ableton Live 10 Lite- ում: Մենք օգտագործում ենք հացահատիկ միաժամանակյա անջատիչների հետ միասին, և դուք կարող եք օգտագործել նաև Arduino Leonardo- ն այս նախագծի համար: Եթե կառուցեք
Covid Live հաշվետվություն ՝ օգտագործելով Raspberry Pi: 6 քայլ
Covid Live հաշվետվություն ՝ օգտագործելով Raspberry Pi. Ինչպես գիտենք, ամբողջ աշխարհը տուժում է COVID-19 համաճարակից, և գրեթե բոլորը տնից են աշխատում: Մենք բոլորս պետք է լավագույնս օգտագործենք այս տևողությունը ՝ բարելավելու մեր տեխնիկական հմտությունները կամ գրելու որոշ լավ Pythonic սցենարներ: Եկեք տեսնենք մի պարզ Python
Սկսելով ESP32 - - ով ESP32 տախտակների տեղադրում Arduino IDE- ում - ESP32 Blink կոդ ՝ 3 քայլ
Սկսելով ESP32 | - ով ESP32 տախտակների տեղադրում Arduino IDE- ում | ESP32 Blink Code: Այս հրահանգների մեջ մենք կտեսնենք, թե ինչպես սկսել աշխատել esp32- ի հետ և ինչպես տեղադրել esp32 տախտակները Arduino IDE- ում, և մենք ծրագրելու ենք esp 32 -ին `թարթելու ծածկագիրը գործարկելով arduino ide- ի միջոցով:
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)
Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ