- Milyen videókártyát?
- Milyen CPU léghűtést vegyek?
- Milyen monitort vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD vs. INTEL vs. NVIDIA
- Nem indul és mi a baja a gépemnek topik
- Gaming notebook topik
- Fájdalmasan gyenge kijelzőt válaszott a Switch 2-höz a Nintendo
- Marcona Thermaltake léghűtés jött HEDT processzorokhoz
- Kormányok / autós szimulátorok topikja
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
Sziasztok
P sorozatú intelligent nextion kijelzőt próbálta valaki 921600 bps sebességen? Ehhez a típushoz ezt írja a gyártó maxra, olcsóbbaknál 115200baudot.
Esp32 tudja ezt a 921600 bps sebességet, mi lehet a kitétel? Rövid 4-5cm a vezetékem csak.
Köszönöm
-
its_grandpa
tag
válasz
ekkold #17853 üzenetére
És is játszottam ezzel a modullal de nekem nem volt szerencsém, a karadio nem szólal(t) meg. Az ok az első képen látható a modul alján, VS1003/VS1053, azaz AS tűréssel szerelnek (AS = ahogy sikerül). Kicsi belenyúltam az Adafruit 1053-as arduino lib-be, úgy tudtam hangot kicsikarni belőle mert "false" volt a v értéke.
uint8_t v = Adafruit_VS1053::begin();
// return (v == 4); ez a 1053
return (v > 2); ez ha a chip verzió minimum VS1003 =3
A lábak bekötésének publikációja az ESP-khez, végtelen örömmel töltene el
Lehet elővenném ismét a félrerakott projektet. -
ekkold
Topikgazda
válasz
vviktor1 #17855 üzenetére
Nekem 100%, hogy a kijelző miatt akadt, ugyanis ha nincs beállítva a kijelző akkor nincs akadás. A soros porton így is kitol minden adatot ami kell, erre ráakasztok majd egy Arduino nanot, vagy egy BluePill-t, és az kezelheti a kijelzőt akadás nélkül... Egyelőre csak az ESP8266-ra épülő van bedobozolva, az ESP32 verzió csak próbanyákon van kijelző, és gombok nélkül - de teljesen jól működik. Ehhez tervezek majd egy végfokot, külön MCU-t a kijelzőhöz (és a kezelőszervekhez is), és így akarom majd egybe dobozolni.Emlékeim szerint a programozó app képest törölni is a flash-t, utána biztosan lehet a nulláról kezdeni a programozást. Ha mégis megfrissíted akkor írd meg majd légyszíves, hogy jól működik-e, mert még én sem frissítettem.
-
vviktor1
aktív tag
válasz
ekkold #17854 üzenetére
Esp32 és pcm5102 dac van, olyan kijelzővel mint alsó képeiden, működik is jól, csak néha nekem is megakad 1-1 mp-re, ezt kéne valahogy kinyomozni. A routerrel egy helyiségben van, ezért a wifit kizárnám hogy gyenge lenne neki. A mobilos appról tudok, használom is, tényleg jó. Szóval, a lényeg, 2.1 fw van fent de látom hogy van 2.3 már egy ideje, de nem merek rányomni az update-re mert valahol irták hogy valami nem kerek benne, valami kijelző bug van benne, és ha nem lesz jó nem tudom visszacsinálni, ezért kérdezem az alapra állást és onnan újra telepitést. Rádió lista természetesen elmentve. Köszi !
-
ekkold
Topikgazda
válasz
vviktor1 #17851 üzenetére
A karadiot kipróbáltam ESP8266-on, és az ESP32 változatot is. Az utóbbi kicsit gyorsabb, és nem csak az MP3 rádiók menek vele, hanem az AAC stream is. VS1053 modult még a vám mizéria előtt vettem ebay-en. Szerintem kimondottam jól szól.
Minden részletre nem emlékszem, letöltöttem hozzá mindent, felprogramoztam a leírás alapján és működött...
A karadióhoz van androidos app amivel lehet távirányítani mobilról, így akár kezelőszervek (gombok) és kijelző nélkül is működik.
A karadio32-höz próbáltam ILI9xxx kijelzőt illeszteni, működött is, csak a kijelző frissítése néha megakasztotta a hangot, így leszedtem róla, most nincs kijelzője, később majd illesztek hozzá (soros porton) egy külön MCU-val kijelzőt. Lehet, hogy csak egy sima 2x16-os LCD-t (mint az ESP32 esetében) úgy sem nézegetni, hanem hallgatni akarom. -
Janos250
őstag
Már megint bajban vagyok ezzel az Arduino könyvtárakkal :-(
Ha ezt így mindenestül beírom:#include <C:\Arduino\arduino-1.8.19Proba01\portable\sketchbook\libraries\vfs\include\esp_vfs.h>
Akkor jó.
De nem akarom mindig a teljes elérési utat beírni. Mit írjak be, hogy megtalálja a vfs könyvtárat, annak az include könyvtárában az esp_vfs.h fájlt? -
Tankblock
aktív tag
Igen, ha csak 2*128 byte is bőven elfér UNOban is.
STM32 nem volt az eredeti felsorolásban :-)nem olyan vészes project ez....
Ha csak a fogyasztás érdekel akkor akár Sonoff POW WiFi is használhatsz, vagy bármit ami méri a dolgok fogyasztását, általában esp82XX va benne és akár TASMOTA is tudja monitorozni.....Az a kérdés hogy hol kell a segítség...
-
tibi-d
tag
Lenne egy feladat, hátha megmozgatja a fantáziátokat. Két analóg bemenet jelét kéne tárolni, és ha bármelyik értéke meghalad egy beállított szintet, vagy egy digit jel hatására el kéne menteni a trigger esemény előtti 100 és utáni 200 mintát. A mintavétel 10/s lenne. Az adatokkal együtt le kéne tárolni az esemény dátumát, időpontját, tárolás okát (szint, digit). Ha a tárolás a digit jel hatására történne, a további rögzítésre már nem lenne szükség. Ez lenne az utolsó letárolt csomag. A folyamat 24/7 üzemmódban működne. Minden elképzelést, ötletet szívesen fogadok. Jelenleg a következő modulokkal rendelkezem: Arduino UNO, Data logger shield v1.0, ESP13 shield. Köszi.
-
vegyszer
addikt
Szervusztok!
Az a kérdésem, hogy ESP32 (M5Stack) vonalon van lehetőség külső szerverre (EzData, MQTT) írni adatot, de ha egy ciklust csinálok, hogy 60 másodpercig gyűjtse az adott pin-en az on/off jeleket, majd írja ki, és olvassa vissza a szerverről a gyűjtött, akkor ez elég lassú.
Konkrétan azt nem látom, hogy hogyan kell úgy csinálni a dolgokat, hogy több ciklus is úgy menjen, hogy az egyik várakozása nem akadályozza a többit.
Pl az írás olvasás a szerverre ne akadályozza a pin olvasását.
Mert most, hogy egyben van, addig, míg vissza nem olvasta az adatot, addig nem számol... -
válasz
Dißnäëß #17775 üzenetére
Ha már 6V trafó, ne 5V-ra konvertáld, mert 6V-ból stabilizált 5V-ot nem is igen lehet, hanem konvertáld rögtön 3,3V-ra és add neki direktben! A kettős konverzió miatt elfűtöd az összes teljesítményt. Arra vigyázz, hogy a 3,6V-ot semmilyen körülmények közt ne lépd át, mert megsül a flash chip az esp-n, használj zener diódát.
Azt sem értem, hogy bírtál belőle bármeddig is 5V-ot kivenni. Valószínűleg a trafó üresjárati feszültsége jóval 6V fölött lehet. 6V-ból a Graetz-híd maga levesz 1,2V-ot, marad 4,8V. A stab kockán is esik kb ugyanannyi, marad ~3,6V. Mire ez eljutott az ESP-ig, az jó, ha 2,4V-ot kapott. Azzal nem csoda, hogy nem indult el.
-
Dißnäëß
nagyúr
Igaz.. látszik, hogy a logikai (logikus) gondolkodás jobban Benned van. A rutin
Köszi az észrevételt, megfogadom.
- - - - - - - - - -- - - - -- - - - -- - - - -- - - - -- - - - -- - - - -Érdekeset tapasztaltam 10 perce.
Van a kis trafóm, HEStore-os Makrai nyák trafó, 6V szekunder, 4.5VA (750mA). Mögötte egy 6800-as kondi, amögött egy LM317T és a Texas Instruments szerinti bekötés, trim poti, satöbbi. Becsavarva jelenleg 5V-ra üresen. Úúú mondom de jóóó, a NodeMCU-mat ráaggatom, VIN lábán úgyis tud 4.x V-tól egészen 10V-ig fogadni (belső stabin megy át), hát ez kiváló.
Meg se moccan.
Ráakasztom a multimétert, hát úgy cibálja mint az állat a feszt.
Felcsavartam üresen maxra a potival a feszt, 8.7 körül vagy hol álltam meg (még a stabi fesz. ejtése is benne a szekunder után), ez üresen terheletlenül. Ráakasztom az ESP-t (azon meg az OLED kijelző, de ez nem osztott nem szorzott már), megint semmi. Lehúzom, várok pár mp-et pufferkondi teljen meg csurig
, oké, rákötöm, na beröffent. Szépen megy az animáció, de a multiméteren a számok csak úgy cikáznak
és csak úgy nulláról bekapcsolva nem indul.
Egy szó mint száz, nagyon-nagyon-nagyon határértéken minden és meg nem álmodtam volna, hogy ez a picike nyák trafó max egy Arduino micro-hoz lesz elég (ő azonnal indul vele, 5V-ra betekerve a stabit), úgyhogy most néznem kell valami "vadabb" kistrafót
Szóval most ez van (csak Makrai 750mA-es) és azon filózok, hogy ezek közül melyiket szerezzem be: ESP8266 Wifivel, 256x64 OLED, 3 szilárdtest relé (ezek elhanyagolhatók áramban), RTC+EEPROM kombó, illetve 4-5 DS1822+ hőmérő, hát kb.
Arra gondoltam, mivel az ESP-nek van saját belső stabija, és nagyjából minden említett motyót meghajt, nemigen lesz külön áramkörre szükségem, ergo választhatok 6V szekunderest ismét, LM317T nem is kell, meg semmi.. az ebből előállított-simított DC-t úgyis lentebb veszi még a teljes csomag terhelése, a stabizást ő belül elvégzi.. de akkor lehetne mondjuk egy 1667 mA-es ?
Vagy lövök egy 12V-os rendes kis pici toroidot és abból tudom stabistul mindenestül etetni az ESP-t is, egyéb kis fogyasztókat is (3.3-on), mindent, amit akarok.
-
Janos250
őstag
válasz
gordonfreemN #17756 üzenetére
Én a hasonló dolgokat úgy oldottam meg, hogy olyan kész mikrokontrolleres panelt tervezek rá az én panelomra, amin minden szükséges dolog rajta van. Mivel én csak ESP32-t használok praktikus ok miatt, nem teszek fel panel képet, de korábban párat már tettem fel. Ha megnézzük az Easyedán lévő megosztott panelokat, többnyire ott sincsenek a kontrollerek egyedileg ráforrasztva, hanem kész panel van beleillesztve a user panelbe.
-
válasz
Dißnäëß #17740 üzenetére
Nézd meg, hogy mennyit tesz ki, ha egy teljesen üres sketch-et fordítasz le. Az ESP nem egészen úgy működik, mint az AVR-ek, ezen eleve elfoglal valamennyi helyet az oprendszer. Másrészt ha nem használsz filerendszert (FS), valamint úgy tudom az OTA részt is le lehet valahogy tiltani (legalábbis régebben le lehetett), akkor 4MByte felhasználható tárhellyel tudsz gazdálkodni, szemben az AVR-ek kbyte-jaival.
A lefordított program mérete nem csak a beírt sorok számától függ, hanem attól, hogy használsz-e olyan dolgot, amihez be kell fordítani valami standard (vagy 3rd party) library-t. -
Dißnäëß
nagyúr
Kedves Szakik !
Nézzétek el kezdő kérdésem, de egy igen hosszú, tényleg nagyon sok logikát, menürendszerben lépkedést szeretnék megvalósítani ESP8266-al a szobai erősítőmhöz.
Egyetlen gomb lesz előlapon, és ennek nyomkodásával fogok navigálni a menüben, illetve van hozzá egy 256x64 4-SPI OLED kijelzőcske is, amin a menüpontok, státusz, ilyesmik, mikor mi, megjelenik. Rövid nyomások, hosszú nyomások, két rövid, három rövid, ilyennel fogok operálgatni majd a menüben, meg lehet lesz egy visszaszámláló is minden egyes menüpontban a jobbfelső sarokban, ami kidobja az embert mentés és minden nélkül vissza az alapállapotba (vagy akár előző menübe, mindegy is most).
Elég lesz nekem a kódhoz - vélhetően - az ESP8266 ? Belefér vajon ?
Ugye a kis Arduino Leonardo-knál látom mindig, mennyi lett a program és néha elgondolkodom, hogy hűha, ez ilyen pici terület ?
Szóval amikor egy sima gyári Fade 15%-ot elvesz egy Micro-ból, akkor mire van esélyem egy ESP8266-al ? Itt 25%-ot eszik meg, oké, valszeg nagyobb az overhead, de úúúú
Sketch uses 263233 bytes (25%) of program storage space. Maximum is 1044464 bytes.
Global variables use 28004 bytes (34%) of dynamic memory, leaving 53916 bytes for local variables. Maximum is 81920 bytes.Arduino IDE-t használok (Debian Testing legfrissebbet, apt install -al feltoltam), szokásos ESP library, Board Manager-ben pedig Node MCU.. látjátok. (A kütyü is az, ESP-F-em van, de ez az ESP-E-től csak antenna formában tér el, azt olvastam neten, a NodeMCU pedig 1-2 plussz könnyítő elektronikával van ellátva egy sima pucér ESP-hez képest).
Beleférhetek ? Most lehet megmosolyogtok, de na.
Milyen beállításon érdemes Szerintetek dolgoznom vele ?
Most ez van, ezt kaptam, a LED-en kívül semmit nem kellett állítanom, teszi a dolgát. -
Janos250
őstag
válasz
Dißnäëß #17712 üzenetére
Ha profi megoldást akarsz, akkor persze még a napot is dimmelhetővé kell tenned, de kérdés, akarsz-e ilyen profi, méregdrága megoldást, vagy maradsz az egyszerűbb, olcsóbb, de kevesebbet tudó megoldásnál. Ez utóbbi az Arduino! :-) Ezért (is) szeretjük! :-) Nagyon sokszor elegendő az, amit az Arduino tud! Én ennél maradnék.
Csatlakozásokra én azt csinálnám, hogy a szenzorokhoz valami kis panelka, ami vagy vezetéken, vagy WiFin kapcsolódik össze. A router hibája kiküszöbölhető az ESPNOW megoldással, mert ott nem igazi WiFi kapcsolat van, csak a WiFi hardverrel az egyes egységek MAC címmel tartják egymással a kapcsolatot, nincs pl. IP cím. (Ezt is csak elméletből tudom, még jutottam odáig, hogy kipróbáljam.) Ennél a megoldásnál az Espressif elég kevés információt tesz közzé, nem nagyon lehet vele variálni, csak azt lehet, és úgy, ahogy ők leírták. Például az ESP32-nél az egyes perifériakezelések regiszterei, és azok használata is elég jól le van írva, a WiFinél még azt sem tudjuk, melyik címtartományban van. -
Dißnäëß
nagyúr
Sziasztok Urak, szerintetek kell nekem egy mini üvegházas projektke automatizálásához a sok-sok szenzorhoz és ahhoz a pár víznyitó-záró szelephez egy marék Arduino (pl. pici Leonardo-kat tenni X kaspónként és őket szólítani meg wifin keresztül), vagy jobban járok 1db Mega-val, ami letudja mondjuk az 5V-os Arduino ökoszisztémát és egy ESP-vel vagy akár Pi-vel, amivel meg a 3.3V-os motyókat tudom vezérelgetni. Ezek nyilván összebeszélnének, ...
Ti hogy csinálnátok legegyszerűbben ? És bíznátok a wifiben amúgy ? Nyilván ha lehal, ugrott az egész, ezért gondolkodom valamiféle busz rendszeren, amiről minden cserépben lévő szenzor felrak adatot (vezetéken, vagy vezeték nélkül, de a wifivel az a gondom, hogy ha a router lehal, ugrott minden, esetleg több eszközből csinálok mesh-t, de minek bonyizzam + drága is).. szóval .. inkább valami 1-wire-re gondoltam és digitális címzésre, hogy egyetlen eszközön fizikailag csak kevés tüskét foglaljak el a vezetékes kapcsolattal és akkor erre meg mindegyik szenzort és/vagy kontroll eszközt fel tudom aggatni és digitálisan címezni, elérni.
Egyszerűre gondoljatok: pár kaspó ilyen növénynek, pár kaspó amolyannak, megint pár kaspó a harmadiknak, semmi különös. Mindegyikben lenne 1 talajnedvesség szenzor, meg kontrollálnám valami elektromosan vezérelhető szeleppel a vizet is nekik (csepegtetés valszeg, de nekem az is oké, ha kinyit, locsol X mp-ig, majd elzár).
Meg talán egy fénymérő még. Ennyi.
Nem akarom hülyére bonyizni, de jó kis önmenedzselő valamit vizionálok.
Van egy régi öreg Pi1B-m, befoghatnám, meg ilyenekre lövök (úristen... mikor legutoljára vettem, még $1.5 volt darabja, de apám 0.99-ért is kapott).A vezeték híve vagyok, lehet nem wifiznék, de érdekelne a véleményetek.
A "mindent látó és intéző" központi agy ideája (Pi) és a kaspónkénti Arduino, némileg oda letolt logikák közt billegek. Ha a Pi összekakilja magát (megeshet, mint mindennel), mivel ide van hozva programba a vezérlés az utolsó mindenségig is, az egész kisház lehalna. Ha pedig a kaspónként elhelyezett kis Arduino-kba ki van ez téve, vagy legalábbis a vezérlési logika egy darabja, akkor viszonylag autonóm módon is elmennek ezek, akkor is, ha a központi agy, a Pi még létezik és irányítja őket.
Én arra gondoltam, hogy kaspónként egy ilyen kis Arduino, és a Pi arra lehetne jó, hogy egyetlen paraméter-változást, parancsot, akármit, egyszerre juttassak el mindegyik - önállóan autonóm - Arduino-hoz.
Túlbonyizom, lehet, de szeretnék egy optimális logikát/setup-ot kitalálni.
Ha van kedvetek - nem akarok untatni senkit ilyenekkel - szívesen látnék pár gondolatot, bármi jöhet, tapasztaltabbaktól.
-
fpeter84
senior tag
Sziasztok!
Arduino-ban van e elegánsabb megoldás a következő mértékegységváltás-kerekítés feladatra?float tmp = 2284.9;
Serial.println(String(tmp));
tmp = round(round(tmp)/10)/100;
Serial.println(String(tmp,2));
mbar-t szeretnék átváltani bar-ra és 2 tizedes jeggyel megjeleníteni egy kijelzőn... Egyrészt nem tökéletes a fenti, mert a példában szereplő 2284.9 mbar a kerekítés szabályai szerint 2.28 bar lenne, a kód meg 2.29-re hozza ki - ennyi hiba tulképp még beleférne nekem és ESP32-n fut úgyhogy pazarolni is van miből, de hátha tudtok rá jobb megoldást ajánlani... -
Janos250
őstag
Nem tudom mennyire ismert, én most vettem csak észre, és egész jó leírás az ESP32-Arduino témában.
https://docs.espressif.com/_/downloads/arduino-esp32/en/latest/pdf/ -
vegyszer
addikt
válasz
Harcipocok84 #17644 üzenetére
Nekem "csak" két-két esp32, illetve esp8266, és egy uno pihen...
Más:
A minap az amazon oldalána leltem egy jó "kis" könyvet:
Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects 3rd EditionEsetleg az merült fel bennem, hogy magyar nyelvű könyv van egyáltalán a témában?
-
válasz
its_grandpa #17627 üzenetére
Ha weben szövegként megjelenik valami, én simán lekérem az oldalt, és a forrásban regex-el megkeresem a számomra érdekes részt.
xbox360-hoz van ilyen ventillátoros bázis, USB-vel csatlakoztatható, de csak ki-be állás van rajta. Beletettem egy esp-t és az xbox IP-jéről az rgh dashről lekérem a hőmérsékleteket, az alapján pedig pwm-el hajtom a ventit. A feladat más, de a logkia ugyanaz (csak nálad a pwm görbe egy ugrás lesz 0-100 között)
-
vegyszer
addikt
Úgy alakult, hogy új hobbi projektet kell indítanom a meló helyen.
Egy soron lejövő dobozokat kellene megszámolni. Vagyis inkább a nem termelő időt kellene detektálni.
Valami olyan metódust szeretnék kreálni (esp32 alapon), ami ha megy el előtte termék, logol egy időt (amit valami net idő szervertől kér le előtte), ha nem megy, akkor is. Az adatokat meg valami felhőben menti ki.
Azaz csak a fázis váltások érdekelnek. Az, hogy 70 percig egyazon státusz van, nem érdekel. Csak az, hogy ha megy a gép, akkor mennyi a doboz/perc mutató, és az, hogy mikor megy, mikor nem a gép.Találtam egy infra közelségérzékelőt, ami megtetszett.
OMCH M12 Laser Diffuse Photoelectric Sensor 15cm Adjustable min spot 0.5mm detection range 20-300mm HG-J12-D15 PNP NPN 3-wireHa jól értem, akkor ez a kettő típus (NPN, PNP közül az NPN az, amihez nem kell szintilesztés, de az, hogy NO, vagy az NC jelölés mit jelent, nem sikerült elsőre megérteni.
Ennek a megfejtésében esetleg tudnátok segíteni?A működése ezeknek a kapcsolóknak jól értem, hogy kicsit olyan, mint az enkódereké. Csak itt egy csatornán jön ki egy O/I jel, és így nem is kell nézni, hogy merre forog, hisz csak egy jel van.
Volt esetleg hasonló már másnál?
-
Tomika86
senior tag
Sziasztok
Esp32-S3 valaki programozta?
Köszönöm
-
its_grandpa
tag
Egy gondolat kísérlet de az is lehet, hogy megtaláltam a piaci rést
Tegyük fel villannyal fűtök, nincs gázom. Idáig be volt állítva 21 C° de változott a világ.
Van napelem a tetőn, az inverter adatait azonban csak felhőben érem el.
A villany fűtő paneleket átállítom ~ 23-24 fokra - a ház jól szigetelt - de csak akkor működnének ha a napelemek termelése elegendő ehhez, nem akarok a XYZ művektől energiát venni.
Milyen fejlesztéssel lehetne ezt szerintetek egyszerűen, üzembiztosan megoldani ?
Már látom a válaszokat, ESP32 wifi a felhőhöz, Sonoff kapcsoló a fűtőpanelre, azonban a felhő elérése web-es programozást is igényel. PHP ?, JS ? ami (nekem) nem triviális.
Abba az irányba most ne menjünk el, hogy ha november 27.-én nem süt a nap akkor majd 16 C° -ra megyek haza, még mindig jobb min a 6 számjegyű villanyszámla.
(ebből lehet tényleg érdemes lenne terméket csinálni ? ) -
Janos250
őstag
Ezért írtam, hogy "Ha konvertálni kell, arra bármelyik "Arduino" megfelel, a legolcsóbb is."
De megírhatod assemblyben is, valami tinyreÉn mindenre ESP32-t használok, nem keverem :-)
Minden más a padláson, vidéken. :-)
Egyébként soha nem gyártottam HID-et, lehet sokkal egyszerűbben is megoldható, hátha van valakinek ötlete.
BT?
Na, én azt ne ismerem :-(
Ha ismered, írd le neki.
"Arduino pro micro" Hogy lesz belőle USB HID? -
Janos250
őstag
Az Ázsiacenteres ESP32 rendelés:
Május 10-én érkezett az email:******** referenciaszámú rendelésed kiszállításra átadtuk. Szállítási idő 7-50 munkanap a posta függvényében.
Írtam levelet, hogy mikor kapom meg:
Kedves Vásárló,
Levelét rendszerünk iktatta, Munkatársaink 1-9 munkanapon belül válaszolni fognak.
Szállítási idő 7-75 munkanap a nemzetközi posta függvényében.
Előfordulhat, hogy több termék rendelése esetén különböző raktárakból postázzuk, így több levélben érkezhetnek! A szállítási időt a szállításra adástól kell számolni.
Szíves türelmét kérjük.
Üdvözlettel
AzsiacenterHát............... !
-
Janos250
őstag
Mindenki más típust fog javasolni, én (természetesen
) az ESP32-t preferálom, bár ilyen célra még soha nem használtam.
Egyébként kaphatók USD HID panelkák, amik ezt csinálják, de még soha nem próbáltam.
http://wch-ic.com/products/CH9328.html
https://www.aliexpress.com/item/4000262510300.html
https://www.aliexpress.com/item/32894865422.html
Biztosan meg lehet persze szoftverből is oldani, hátha valaki azt is ismeri.Ha konvertálni kell, arra bármelyik "Arduino" megfelel, a legolcsóbb is.
-
válasz
Tomika86 #17594 üzenetére
ha bekapcsolom akkor 1 perc lesz maximum a belépésre és frissítésre, utána kikapcsolom a wifit az esp32-őn, a server handle pedig nem fog futni.
A wifire jelszóval lehet kapcsolódni.
Ez így elég lehet, senki se szeretné, ha egy autó egyszer csak furán kezdene viselkedni, mert vki OTA rátöltött valami random kódot.A böngészőben is belépés van.
Na én erre írtam, hogy olyan, mintha nem is lenne. Akár ki is veheted, felesleges. Bárki megnézi a html forrást, benne van a jelszó. -
válasz
Tomika86 #17592 üzenetére
azért írtad mert odaírtam a kommentben?
Nem tudom milyen komment, csak azt láttam a kódban, hogy a html forrásban benne van a jelszó, ez így nudli. Ha a wifi jelszavas, az OK lehet.
Ha soros portra csatlakoznak akkor letölthető a hexa kód az espről?
Visszafejthető bármivel a kód?Soros portról szinte biztos, hogy nem, de szerintem van mód a kód letöltésére. Nem értek annyira az ESP-hez.
-
Tomika86
senior tag
Vagy azért írtad mert odaírtam a kommentben?
Az autós kijelzőmre tettem a kódot, ha bekapcsolom akkor 1 perc lesz maximum a belépésre és frissítésre, utána kikapcsolom a wifit az esp32-őn, a server handle pedig nem fog futni.
A wifire jelszóval lehet kapcsolódni.
A böngészőben is belépés van.Ez így ehhez a feladathoz mennyire védett? Mit tudnak tenni ha valaki rákapcsolódik? Ha soros portra csatlakoznak akkor letölthető a hexa kód az espről?
Visszafejthető bármivel a kód? -
válasz
Tomika86 #17589 üzenetére
"Akkor az a kérdés hogy mi az a fájl? A js"
A jQuery-re gondolsz? Az egy internetes svájcibicska, megkönnyíti a webprogramozók munkáját.
Az eredeti kérdésedre válaszolva:
"Sikerült egy normálisan kinéző böngészős OTA-t találni, de soros porton dob egy hibát amikor böngészőben megnyílik a felület.
Ezt dobja: [E][WebServer.cpp:633] _handleRequest(): request handler not foundHogy tudom ezt megtalálni miért dobja?"
Próbáld meg azt, hogy egy "/" jelet teszel a cím végére, mikor lekéred az oldalt az esp-ről:
http://192.168.1.100/De ha jót akarsz, módosítás nélkül ne használd ezt a kódot, legalábbis fontos helyen ne, mert elég durva biztonsági hiba van benne (jelszó a forráskódban, kb mintha cellux-szal a bejárati ajtóra ragasztanád a kulcsot
).
-
Tomika86
senior tag
Sziasztok!
Sikerült egy normálisan kinéző böngészős OTA-t találni, de soros porton dob egy hibát amikor böngészőben megnyílik a felület.
Ezt dobja: [E][WebServer.cpp:633] _handleRequest(): request handler not foundHogy tudom ezt megtalálni miért dobja?
String style =
"<style>#file-input,input{width:100%;height:44px;border-radius:4px;margin:10px auto;font-size:15px}"
"input{background:#f1f1f1;border:0;padding:0 15px}body{background:#3498db;font-family:sans-serif;font-size:14px;color:#777}"
"#file-input{padding:0;border:1px solid #ddd;line-height:44px;text-align:left;display:block;cursor:pointer}"
"#bar,#prgbar{background-color:#f1f1f1;border-radius:10px}#bar{background-color:#3498db;width:0%;height:10px}"
"form{background:#fff;max-width:258px;margin:75px auto;padding:30px;border-radius:5px;text-align:center}"
".btn{background:#3498db;color:#fff;cursor:pointer}</style>";
// Bejelentkező oldal Felhasználói név: admin Jelszó: esp32
String loginIndex =
"<form name=loginForm>"
"<h1>ESP32 Login</h1>"
"<input name=userid placeholder='User ID'> "
"<input name=pwd placeholder=Password type=Password> "
"<input type=submit onclick=check(this.form) class=btn value=Login></form>"
"<script>"
"function check(form) {"
"if(form.userid.value=='admin' && form.pwd.value=='esp32')" // webserveren bejelentkezés, Felhasználói név: admin Jelszó: esp32
"{window.open('/serverIndex')}"
"else"
"{alert('Error Password or Username')}"
"}"
"</script>" +
style;
// Server Index Page
String serverIndex =
"<script src='/jquery.min.js'></script>"
"<form method='POST' action='#' enctype='multipart/form-data' id='upload_form'>"
"<input type='file' name='update' id='file' onchange='sub(this)' style=display:none>"
"<label id='file-input' for='file'> Choose file...</label>"
"<input type='submit' class=btn value='Update'>"
"<br><br>"
"<div id='prg'></div>"
"<br><div id='prgbar'><div id='bar'></div></div><br></form>"
"<script>"
"function sub(obj){"
"var fileName = obj.value.split('\\\\');"
"document.getElementById('file-input').innerHTML = ' '+ fileName[fileName.length-1];"
"};"
"$('form').submit(function(e){"
"e.preventDefault();"
"var form = $('#upload_form')[0];"
"var data = new FormData(form);"
"$.ajax({"
"url: '/update',"
"type: 'POST',"
"data: data,"
"contentType: false,"
"processData:false,"
"xhr: function() {"
"var xhr = new window.XMLHttpRequest();"
"xhr.upload.addEventListener('progress', function(evt) {"
"if (evt.lengthComputable) {"
"var per = evt.loaded / evt.total;"
"$('#prg').html('progress: ' + Math.round(per*100) + '%');"
"$('#bar').css('width',Math.round(per*100) + '%');"
"}"
"}, false);"
"return xhr;"
"},"
"success:function(d, s) {"
"console.log('success!') "
"},"
"error: function (a, b, c) {"
"}"
"});"
"});"
"</script>" +
style;illetve setup:
// use mdns for host name resolution
if (!MDNS.begin(host)) { // http://esp32.local
Serial.println("Error setting up MDNS responder!");
while (1) {
delay(1000);
}
}
Serial.println("mDNS responder started");
// return javascript jquery
server.on("/jquery.min.js", HTTP_GET, onJavaScript);
// return index page which is stored in serverIndex
server.on("/", HTTP_GET, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/html", loginIndex); });
server.on("/serverIndex", HTTP_GET, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/html", serverIndex); });
// handling uploading firmware file
server.on(
"/update", HTTP_POST, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/plain", (Update.hasError()) ? "FAIL" : "OK");
ESP.restart(); },
[]()
{
HTTPUpload &upload = server.upload();
if (upload.status == UPLOAD_FILE_START) {
Serial.printf("Update: %s\n", upload.filename.c_str());
if (!Update.begin(UPDATE_SIZE_UNKNOWN)) { // start with max available size
Update.printError(Serial);
}
}
else if (upload.status == UPLOAD_FILE_WRITE) { // flashing firmware to ESP
if (Update.write(upload.buf, upload.currentSize) != upload.currentSize) {
Update.printError(Serial);
}
}
else if (upload.status == UPLOAD_FILE_END) {
if (Update.end(true)) { // true to set the size to the current progress
Serial.printf("Update Success: %u\nRebooting...\n", upload.totalSize);
}
else {
Update.printError(Serial);
}
}
});
server.begin();Köszönöm!
-
Tomika86
senior tag
válasz
Janos250 #17552 üzenetére
Szia!
Te nagy ESP32 fun vagy, tudsz OTA-ban segíteni?
Létezik olyan, hogy webserveren lehet feltölteni a legenerált bin fájlt és ugyan ez tudja azt is hogy pl VS Code platformio alol a felöltés is wifin megy, de nem kell kiválasztanom fájlt, hanem wifin megy a feltöltés.Köszönöm!
-
Janos250
őstag
válasz
polgcsabi #17551 üzenetére
Ezt az ethernet csatit nem ismerem, nem is tudom kipróbálni, nem akarok hülyeséget írni.
Ha esetleg ESP32-n tennéd, akkor pontos választ tudnék adni.
A megoldás lényege:
A WEB szerverek - már amit én ismerek - megadják neked egy karakter tömbben, amit a 192.168.1.139/ után írtál, és úgy kezeled, ahogy akarod, ez már csak kézügyesség kérdése. De csinálhatsz űrlapot, vagy valami hasonló bevitelt is. -
vegyszer
addikt
Szervusztok!
Had osszak meg veletek némi tapasztalatot az M5stack kütyüivel való szopórorrelezésem kapcsán.
Kezdjük az elején, nincs saját PC-m, se laptopom, amit használni úgy tudnák, hogy a család többi tagját ne akasszam meg a normál életvitelében. Az asztali PC-men nincs monitor, csak a család egyetlen tévéje. Így a melóban holt időben a portable arduinoval "játszok".
A bosszantó az volt, hogy egy rakat kód lelkesen lefutott az únón, de az M5 kütyük az istenért se akartak kódot fogadni. sok kísérlet után találtam egy posztot, miszerint a portable arduinó ha túl hosszú nevű könyvtárban van, hajlamos fordítási hibával kifagyni. nekem is ez történt. az egész mappát a C:\TEMP mappába téve megtáltosodott az eszköz parkom. Mindenre is tudtam végre kódot tölteni nem csak az UiFlow-on keresztül.Viszont egy projekthez az elsődlegesen kiszemelt eszköz (M5Stamp-C3) hibára futott folyamatosan, míg a többi, (M5Atom, M5Sick C plus) gond nélkül magára töltötte ugyanazt a kódot. Ami kb annyiból állt, hogy a két enkóder elfordulás-adatait olvassa ki.
Kiderült, hogy azon túl, hogy nincs elegendő időm a dologra, egy fontos "alkatrész" hiányzik az ESP32 C3 processzorokból, ami a specifikáció szerint ugyan benne van, de mint kiderült, itt a speci a hibás, nem az eszköz.Arduino: 1.8.16 (Windows 10), Alaplap:"STAMP-C3, Disabled, Huge APP (3MB No OTA/1MB SPIFFS), 160MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 921600, None"
C:\TEMP\App\arduino-1.8.16\portable\sketchbook\libraries\ESP32Encoder\src\ESP32Encoder.cpp:9:10: fatal error: soc/pcnt_struct.h: No such file or directory
#include <soc/pcnt_struct.h>
...Ez a hibaüzenet azt magyarázza, hogy a Pulse Counter egység/modul/fícsör nem része a STAMP-C3-nak.
Most annak kell így utána néznem, hogy az első hirtelen felindulásból vásárolt M5stamp pico (amihez persze nem vettem programozót) hogyan programozható az úno segedelmével, mert egyszer láttam erről videót, de most, hogy kellene, persze nem lelem.
Addig megvan, hogy
GND->GND
3V3->3V3
TX->RX
RX->TX
EN->EN
G0->GND
De hogy ez így hogy fog fleshelődni, mit kell még beállítani, na az nincs meg...
Ahogy az sincs, hogy az únó agyát jelentő IC-t ki kell e eközben venni.Ebben tudtok valami támpontot adni? Más nak is kellett már usb csatlakozó nélküli eszközt így, "szélv módban" programoznia?
-
válasz
Tomika86 #17509 üzenetére
Szokás, igen. Az AVR automatikusan tiltja is a további megszakításokat (interrupt enabled bit törlése), talán az ESP is, de ennek utána kell járni. Azért kell a megszakítás rutinba a lehető legrövidebb kódot tenni, hogy minél kisebb valószínűséggel maradjon ki miatta egy másik megszakítás.
-
PeterPH
senior tag
válasz
Janos46 #17505 üzenetére
Gyárilag nem ismeri az ESP8266-ot, hozzá kell adni.
-
Janos46
tag
Sziasztok.
Hosszú idő után ismét felraktam az Arduino 1.8.17-et. Nem tudom az ESP-t indítani, a listában csak Arduinok vannak, pedig a További Alaplap-kezelő URL-ek be van rakva. Mi lehet a gond? -
vegyszer
addikt
Szervusztok!
Ebbe a hibába futottam bele
M5Stamp_C3 eszközöm van, de ami fura, hogy ugyanazon kód az M5StickCPlus-ra rendben fordulTöbbszörös könyvtárak találhatók ehhez: "WiFi.h"
Használt: C:\T\T\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3\libraries\WiFi
Nem használt: C:\T\T\App\arduino-1.8.16\libraries\WiFiEzt hogyan lehetne korrigállni?
-
X_C
tag
Sziasztok,
Nem tudom jó topikot választottam-e a kérdésemhez, de hátha valaki kapásból tudni fogja itt a megoldást.Adott ez a videó, amin egy esp32-t és egy MPU6050 modult és pár apróságot felhasználva készít a srác egy folyamatos sűrűségmérőt. A programozáshoz nem sok közöm van, viszont sört főzni szeretek szóval gondoltam megpróbálom elkészíteni ezt a kis kütyüt.
Aliexpressről érkeztek a következők:
lolin32
mpu6050A forrasztás szerintem gond nélkül ment.
Viszont amikor a leírásban szereplő drive linkről letöltött fájlokkal szerettem volna flash-elni az eszközt, a lenti képeken látható hibára futott a folyamat.
Próbáltam röbbféle adatkábellel, többféle usb portba dugva, kevés sikerrel. Elvileg a driverek is fent vannak a gépen amit a leírásban lévő cikkben találtam.Van valakinek esetleg ötlete, hogy mi lehet a probléma?
-
vegyszer
addikt
Szervusztok!
Valahogy nekem valami nem kerek.
Adott egy PC, amin az arduino uno-val használva a kódokat rendben feltudja tölteni az eszközre.
Jött a családba egy M5StackC Plus, és egy M5 Atom Lite is.
Érdekes módon az arduino IDE segedelmével nem sikerül semmilyen móson a legalapabb kódolat se feltölteni rájuk. Ellenben UiFlow alól igen jól kezelhetőek, akár neten keresztül is tudtam rájuk új kódot heggeszteni.Persze a https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
sorral kiegészítettem az alaplak kezelőt, és fel is tettem az M5stack pakkot. Ennek ellenére mégis ilen hibaüzenetet dob a fordító:Arduino: 1.8.16 (Windows 10), Alaplap:"M5Stack-ATOM, Default, 240MHz (WiFi/BT), 1500000, None"
In file included from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\include\c++\8.4.0\stdlib.h:36,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3/tools/sdk/esp32/include/newlib/platform_include/assert.h:21,
from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\sys-include\sys\reent.h:503,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\sys-include\stdio.h:60,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3\cores\esp32/Arduino.h:27,
from sketch\BUTTON.ino.cpp:1:
c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\include\c++\8.4.0\cstdlib:41:10: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
]^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Hiba a(z) M5Stack-ATOM alaplapra fordításra.
Ennek a jelentésnek több információja lehetne
a "Bővebb kimenet mutatása fordításkor"
opció engedélyezésével a Fájl -> Beállítások-ban.Mit cseszek el? Mit kell(ene) modosítanom?
-
Béééla
őstag
válasz
tonermagus #17428 üzenetére
Az ESP-k nem jönnek gyárilag flashhel (a panelokra tesznek, ez max akkor érint ha saját nyákot tervezel a nyers kontrollerrel).
Vagy az EEPROM-ot hiányolod, modern mikrokontrollerekben mar csak flash van, amit akár írhatsz is. Eszköztől függően akár el is különítenek ilyen perzisztens user adat számára szánt flasht, nehogy elcímezd és felülírd a progid.
Kell az StM-ekben is ilyen tár. -
Tankblock
aktív tag
válasz
tonermagus #17418 üzenetére
Szia,
egyet tudok mondani, hogy chiphiány van így mindennek felfele megy az ára.
ESP meg egyre több okos kütyübe teszik, így a kereslet megy felfele....Vannak kisebb ESP32 devboardok amin csak max USB to Serial van meg 2x 2 sor tüske.
Ami nekem van belőle az 49*47 mm, de szerintem van kisebb is...[link] valami ilyesmi, sajna az oldalon nincs fennt a fizikai méretei. Ezen úgy is lehet olcsósítani, hogy magadnak tervezel egy boardot....
De találtam másikat is : [link] 31 x 39 mm
-
tonermagus
aktív tag
válasz
Janos250 #17420 üzenetére
STM32-ről ha jól emlékszem azt olvastam hogy nincs Flash memória benne. Legalábbis a Blue Pill-en. Nekem pedig szükségem van memóriára. Nem kell hatalmas nagy tárterület, de azért 15 db Float típusú változó értékét szeretném eltárolni.
Jelenleg a Mega 2560 Pro 7.000 Ft környékén mozog, míg egy ESP32 2.400 Ft körül. Ez már szignifikáns különbség, hiszen így majdnem a felére csökken az eszköz bekerülési költsége. -
Janos250
őstag
válasz
tonermagus #17418 üzenetére
Helló!
Ha csak az anyagiak miatt akarsz átállni, nem biztos, hogy túl jó ötlet.
Ahogy írtam is, az 1000 Ft körüli ár irreálisan alacsony. Általában a legolcsóbb lehetőségek kettőezer+ néhány száz Ft. Ezek a reális árak. Hogy mi hogyan fog változni, arra én nem merek jósolni.
A nagy tömegben eladott verziók két méretűek. Van egy kisebb, és egy nagyobb. Mindkettőn rajta van az antenna is ebben a méretben.
A kisebb:
https://raw.githubusercontent.com/Nicholas3388/LuaNode/master/images/ESP32_dimension.pngA kívánalmaid szerint lehet jobban jársz egy STM32-vel:
https://www.aliexpress.com/item/1005003112693578.html
Én régebben, mikor használtam őket, még 100 Ft alatti áron vettem, talán most is van még olcsóbb.
Van Alin olcsóbbnak tűnő is:
https://www.aliexpress.com/item/1005003753891882.html
nem teljesen világos, mi a különbség az eladó által felsoroltak között, hogy kétszeres árkülönbözet is van.
Vagy például ez:
https://www.aliexpress.com/item/1005002950458460.htmlVagy megveszed csak az ESP32 SMD "kockát", és azt rakod fel, az árban elég jó.
-
tonermagus
aktív tag
Sziasztok!
Az elszálló Atmel chip árak miatt gondolkodom rajta, hogy kukázom az Arduino Mega 2560 Pro-t, és lecserélem egy ESP32-re, mert egy Arduino árából 3 ESP32 kijön.Azért az nem mindegy. Ezzel kapcsolatban lenne pár kérdésem:
- Elképzelhető hogy az ESP ára is emelkedni fog? Egyáltalán megéri váltásban gondolkodni? A jelenlegi Arduino tökéletesen megfelel (sőt eléggé ágyúval verébre kategória), és elég nagy macera lenne átállni, de így az előállítási költség a felére csökkenne az eszköznek.
- Tudnátok olyan ESP32 típus mondani, aminek a leghosszabb oldala is kisebb mint 5,4cm és van rajta legalább 3 UART port? Nem kell se Wifi, se bluetooth, az UART fontos csak és 1-2 PWM képes port...
Otthon van egy ESP32, a tüskéket sárga színű műanag lábak fogják össze. Na az pont hosszabb 2-3mm-el mint a mega, és nem fér be annak a helyére -
Tomika86
senior tag
Sziasztok!
Megmértem a ciklusidőt és következőket tapasztaltam:
Főoldalon 20ms
Kapcsolós oldalon 9ms
Grafikonos oldalon 10ms
Adatbeviteli oldalon, egyiken 2ms
másikon 0,9msEzek jónak mondhatók? Vagy szerveznem kellene még a dolgokat
, mert ritka rossz.
Egy magon fut az ESP-n -
Janos250
őstag
Ismeri valaki az azsiacenter webáruházat, hogy nem fake-e?
Jelenleg elég olcsón (gyanúsan olcsón, 1051 Ft-ért) kapható náluk ESP32 fejlesztői panel. Buktam a pénzemet, vagy megkapom az árut? -
Tomika86
senior tag
Összeraktam egy módosított programot, a kijelzőt is módosítottam.
Ahol a kapcsolók alatti képek vannak, az oldalon létrehoztam va0, va1, va2 változókat. Ezeket esp32 programbetöltésnél meghatározom milyen értékűek, 0 vagy 1. Aztán elküldöm page1.va1.val=1 példáulA képernyő preinizcializálasába tettem azt hogy if(va0.val==1)
{ vis p19, 1}
Else {vis p19, 0}Csak hétfőn tudom kipróbálni.
Köszönöm a segítséget
-
Tomika86
senior tag
Szia
Jelenleg minden változó globális a kijelzőben, így csak egyszer csinálja amikor belépünk.
Igen az esp32 küldi az adatokat, úgy hogy amikor a főoldalon megnyomom a nyilat akkor már elkezdi küldeni az adatokat arra az oldal változóira amik azon az oldalon lesznek.(erre gondoltál az utolsó bekezdésben? ).
Vajon megoldható így is, hogy esp32 küldi az adatokat?Köszönöm
-
And
veterán
válasz
Tomika86 #17374 üzenetére
Már csak az a kérdés marad, hogy ezekhez ilyen célra minek egyáltalán bármilyen külső ellenállás? Az ESP32 adatlapja szerint a portok nagyobbik része fel- és lehúzásra is programozható (45 / 45 kΩ), az MCP23..-as sorozatnál pedig mind a 8 vagy 16 porton támogatott a belső pull-up (100 kΩ), ha az adatirány inputnak van állítva..
-
Janos250
őstag
Az a baj, hogy nem tudsz címet, hogy hova tedd. Ha tudod a címet, közvetlen címzéssel bárhova lerakhatsz bármit, de honnan tudod, hogy hova? A regisztereit az ESP32-nek például közvetlen címzéssel érem el.
Assemblyt én az ESP32-n még csak egyetlen dologra használtam:
Van egy regiszter az ESP32-ben, ami a 80 Mhz-es ciklusokat számolja, ezzel elég pontos időzítést lehet csinálni. Viszont ez a regiszter cím olvasással nem érhető el, csak van egy assembly utasítás, ami ezt kiolvassa. Elég hülye ötlet, de így van. -
Janos250
őstag
A C++11 hozta be a raw string (R string) kezelését, és az ESP32 tudja.
A hagyományos stringnél csak macerásan oldható meg pár dolog, pl:\n
a sorváltás, és nem azt látod a programszövegben, ami majd ténylegesen lesz.
A raw string esetén nem kell escape-elni, hanem nyugodtan írhatod bele a sorváltást, tabulátort, miegymást, pontosan azt látod a program szövegében, ahogy az majd megjelenik például kinyomtatva. Én ezért szeretem használni. -
Janos250
őstag
Ígértem leegyszerűsített ESP32 WEB szerver mintát.
Nem tudom aktuális-e még, itt van egy végletekig leegyszerűsített változat:// felhasznalva:
// https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
// reszletesebben lsd ott
#include <WiFi.h>
#include <WebServer.h>
using namespace std;
const char* ssid = "********";
const char* password = "********";
IPAddress ip(192, 168, 0, 30); // ez lesz az ESP32 IP cime
IPAddress dns(192, 168, 0, 1); // ehhez az IP-ju WiFi routerhez fog kapcsolodni
IPAddress gateway(192, 168, 0, 1); // a router a gateway is
IPAddress subnet(255, 255, 0, 0); // a Wifi router maskja. ha nem tudod, akkor ez tobbnyire jo
IPAddress primaryDNS(8, 8, 8, 8); //optional lehet a router is
IPAddress secondaryDNS(8, 8, 4, 4); //optional
WebServer server(80);
const char htmlHeader[] = R"=====(
<!DOCTYPE html>
<html lang = hu >
<head>
<meta charset="UTF-8">
<title>minta WEB szerver</title>
</head>
)=====";
void serverValaszolHTMLtexttel() {
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "\n Hello, World!\n <br>\n" ;
htmlstring += " ide jonnek a feldat szerinti dolgok\n <br>\n" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body>\n</html>" ;
server.send(200, "text/html", htmlstring);
} ;
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
} ;
void setup(void) {
//************************************
// Ez a szokasos
Serial.begin(115200);
delay(2000);
WiFi.begin(ssid, password);
if(!WiFi.config(ip, gateway, subnet, dns, secondaryDNS)) {
Serial.println("STA Failed to configure");
}
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address(ESP32): ");
Serial.println(WiFi.localIP());// this will display the Ip address of the Pi which should be entered into your browser
//*************************************************
// mit kuldjon, ha egy client bejelentkezik
server.on("/", serverValaszolHTMLtexttel);
// mit kuldjon, ha hibas az URL
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("HTTP server started");
Serial.print ("ezt ird be a bongeszo cimsoraba:http://");
Serial.println(WiFi.localIP()) ;
} ; // end setup
void loop(void) {
server.handleClient();
delay(50);
} ; // end loop -
Janos250
őstag
A freeRTOS mindenképpen fut, és nem is kell róla tudomást venni, ha nem akarod, pont ugyanúgy használhatod, mint ha mondjuk UNO lenne.
Ugyanúgy van a main.cpp lényege (kikeresheted):setup();
for(;;) {
A mindenféléket beállítja neked, nem kell vele bogarászni, el is felejtheted, hogy freeRTOS alatt fut, ha nem akarod a két magot kihasználni.Nem nagyon van a freeRTOS-hoz használati utasítás a espressifen kívül
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html
de nem is igen kell .
Igazából az ember a xTaskCreatePinnedToCore API-t használja, ha meg akarja adni, hogy melyik magon fusson, vagy ha ráhagyod az oprendszerre, akkor meg az xTaskCreate.
Ha nem akarod, nem is látod ezeket a függvényeket, ő automatikusan az 1-es magon futtatja, ha nem beszélsz bele, hanem mondjuk egy UNO programot futtatsz.
Esetleg a vTaskDelete, vTaskDelay ( de a delay is erre fordítódik) , az xTaskDelayUntil, uxTaskPriorityGet, eTaskGetState, vTaskGetInfo, vTaskPrioritySet. Ezek nevei magukért beszélnek, a leírásuk , és a paramétereik a linken ott vannak.
Én akartam még használni a vTaskList-et, de az meg az Arduinora fordított verzióban nem működik, mert az meg csak akkor működik, ha valami debug módot is beállítottak volna, azt meg utólag - állítólag - nem lehet.
A WiFi-re majd írok konkrét példákat, és felteszem valahova.
Többféle módon használhatod. -
dzz
aktív tag
Sziasztok!
Beszereztem egy LilyGO-T-SIM7000G panelt, de eddig még nem volt esp a közelemben (illetve igen, de nem programoztam). Szeretném a lehetőségeit kihasználni, pozíciót lte hálózaton szerverre feltölteni, esetleg telemetriát a saját állapotáról vagy kap egy gyorsulásmérőt, de ez még képlékeny. Nem vagyok nagy programozó, néha kisebb dolgokat csinálok arduinoval és linux alatt scriptelek, néha egy kis C, de nem hivatásom a programozás.
A kérdésem az lenne, hogy mi az amivel érdemes egy esp-32-n ismerkedni? Arduino keretrendszeren gondolom menni fog, de mi van a freertos-el meg a micropythonnal? Mennyire használhatóak ezek rajta? Érdemes ezeken a vonalakon keresgélni? Esetleg van még valami érdekesnek tűnő OS szerű projekt amit érdemes megnézni? Teljesen hobbyprojekt lesz, az idő mellékes tényező, szívesen ismerkedem új lehetőségekkel és itt inkább az esp lehetőségei érdekelnek, nem is annyira a pontos board lehetőségei. -
Tomika86
senior tag
válasz
Tankblock #17341 üzenetére
Írtam, hogy van egy oled kijelző, ami a panelból ki van vezetékkel vezetve kb 60cmre a fő paneltől.
Arra gondolok akkor ezt külön venném a többitől, talán ez foglalja le leginkább a buszt, az u8g2 könyvtárral és kiiratásokkal.A többi pedig maradna a mostani buszon, közel az esp32höz. Eeprom, io bővítő, adc, giroszkóp.
Jól gondolom?
Köszi -
Tomika86
senior tag
válasz
Tankblock #17339 üzenetére
[link]
Megszakítás 2 bemenete marad az esp32őn.
Csak a többi menne erre a bővítőre.
Mit jelent a gyorsan kell?
Bemenetek:
Számláló nullázás, olajnyomásgomba figyelés, fékfolyadék kifogyott, 2 tartalék.
Kimenetek:
Hűtőventilátor
Izzítás
VilágításEgyiknek sem kell megszakítással kapcsolni.
Az aggaszt, hogy az i2c vonalon van több dolog, ezek nem fognak belassulni vagy bármi romlás lesz?
Pl analóg kiolvasás Ads7828 icvel ciklikusan történik. Eeprom olvasás/írás
Oled kijelző ciklikusan van írva folyamatosan
Giroszkóp is folyamatosan van olvasva
Busz 400khzre van állítva, csak 2,7kohm van az sda és scl buszon.
Eddig működik minden -
Tomika86
senior tag
Sziasztok!
Ezt az üzenetet kapom program feltöltésnél, egy új panelen.
Mit nézzek meg?
GPIO12 kimenetnek van használva, egy optocsatolót hajt meg.esptool.py v3.1
Serial port COM4
Connecting........___
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:d4:83:18
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0xffffff, SizeID=0xff), defaulting to 4MB
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x000defff...
Compressed 17104 bytes to 11191...
A fatal error occurred: Timed out waiting for packet content
*** [upload] Error 2Köszönöm!
-
quigon
tag
Megvan és ebben már benne van minden időzóna. HTML file-t miként tudok az esp-re feltölteni?
Talán rájöttem.
-
Ugyanezt akartam írni, de túl trollnak találtam
Tomika86
Olvastam a másik topicban a feedbacket. ESP8266-nál a watchdogból ki lehet olvasni, hogy mi volt az oka a legutóbbi resetnek, biztos van ilyen az ESP32-nél is (sajnos nincs sok tapasztalatom vele, de hátha itt valaki meg tudja mondani, hogyan csináld). -
Sziasztok! Esp32 kérdésem lenne. Használja valaki a touch button funkciót? Az érdekelne, mivel lehet még érintést kiváltani a touch lábakon az emberi testen kívül?
Szeretnék csinálni olyan lábpedált, aminek nagyon halkan kellene működni, és bírni kellene a strapát, például ha nagyobb erővel vagy sebességgel taposok rá. Az jutott eszembe, hogy mivel úgyis esp32 lesz benne, mi lenne, ha tactile kapcsolók helyett valahogy a touch funkciót használnám? Ha jól sejtem, kapacitív elven működik, tehát egy nagyobb fémlemez, vagy kondenzátor segítségével tudnám esetleg megbízhatóan aktiválni? -
Dißnäëß
nagyúr
Ájjájjjájjjjj Urak, nagyon rég Arduino-ztam meg ESP-ztem, pffh.
Pedig ez a világ legszebb dolga a szex és szerelem után.Shit.
-
Janos250
őstag
Szia!
Köszi, van, ami megy, de egyre rejtélyesebb.Van ugyebár két Arduino fejlesztés az ESP32-re.
Van egyszer, amit az espressif-nél van, valami régebbi IDF alapján, és ezt 1.0.6 verziónak nevezi. Ez, ha a File/Preferences-be ezt írjuk be:
https://dl.espressif.com/dl/package_esp32_index.jsonAztán van a github-on, a 2.0.2 verziónak nevezett, amit folyamatosan fejlesztenek aktív emberek, ez jelenleg a 4.4-es IDF alapján.
https://github.com/espressif/arduino-esp32/releases/download/2.0.2/package_esp32_index.jsonAz espressifesben megy a fájlkezelés úgy, ahogy egyszer korábban leírtam:
https://prohardver.hu/tema/arduino/hsz_16613-16613.html
Viszont nem megy az általad javasolt.A githubosban nem megy a fenti fájlkezelés, de - ha az IDF-ből bemásolom neki, amiért nyavalyog -, akkor megy, amit leírtál.
Ez alapján sikerült kiíratni azokat a dolgokat, amit tulajdonképpen akartam. Tulajdonképpen az s_vfs-et akartam leírni, csak egyszerűen akartam megfogalmazni, mert ez is ugyanolyan
FD_SETSIZE = 64
s_vfs[0] = 3ffb6d70
vfs = 3ffb6e10
path_prefix[] = /dev/uart
path_prefix_len = 9
ctx = 0
offset = 0
s_vfs[1] = 3ffb6e3c
vfs = 3ffb6edc
path_prefix[] = /dev/console
path_prefix_len = 12
ctx = 0
offset = 1Szóval a fene se érti.
Még majd bogarászok vele. -
válasz
Janos250 #17242 üzenetére
Mint múltkor is említettem, direktben szerintem sehogy, de ha szeretsz hekkelni, ha eléred ezt a függvényt, akkor bináris kereséssel ki tudod deríteni, mi az utolsó index, ami nem NULL-t ad vissza.
const vfs_entry_t *get_vfs_for_index(int index)
{
if (index < 0 || index >= s_vfs_count) {
return NULL;
} else {
return s_vfs[index];
}
}A components\vfs\private_include\esp_vfs_private.h-t kell include-olni.
-
Janos250
őstag
Szevasztok.
Egyszer már próbálkoztam ezzel, de abbamaradt.
Van nekem egy fájl: libvfs.a
Ebben van egy változó: s_vfs_countA program valahogy eléri, mert használja, de nem tudok rájönni, én hogyan tudnám elérni. Például kiíratni (Ja, ESP32 Arduino természetesen)
-
DarkByte
addikt
Köszi!
De akkor igazából mindkettőn szabadon használható.
Igazság szerint nekem nem nagy távolságot kellene vele áthidalni, maximum 100m, egy ESP-NOW is megoldaná valószínűleg. Csak amúgy is terveztem hogy kipróbálom a LoRa-t.(868-as sáv is telítődik, itthon nálam kapásból a kazán termosztát, a társas házi kapu távirányító is azt használja)
-
Janos250
őstag
válasz
Tomika86 #17229 üzenetére
Az ESP32-höz tartozó main.cpp része:
void loopTask(void *pvParameters)
{
setup();
for(;;) {
if(loopTaskWDTEnabled){
esp_task_wdt_reset();
}
loop();
if (serialEventRun) serialEventRun();
}
}Vagyis:
Meghívja a setup függvényt egyszer, majd egy végtelen for ciklusban a loop() függvényt.
Ha a setupba teszel valamit, annak egyszer le kell futnia.
Én továbbra is időzítési problémára gyanakszom, bár gyanús, hogy fgv nélkül megy. -
Tomika86
senior tag
válasz
Janos250 #17222 üzenetére
A többi is függvényként van a végén a programnak, az összes nextion parancs.
A loopon belül csak meghívom a függvényt, ami te írtál az az egy darab parancs van a setup blokk végén, elötte van delay(csak itt), azért írtam azt is függvényként, mert az össze többi úgy van.Nem a leírásoddal van baj, hanem ha csak egy függvény hívást használok, az nem hajtódik végre. Minden hiba nélkül lefordul és rátöltődik az esp32re.
Innét tudom:
-Áram alatt van a kijelző és az esp32.
-Kijelzőben átlépek egy másik oldalra.
-rátöltöm a programot
-nyomok esp32re egy resetet
Itt függvény híással nem lép át a 0 képernyőre.
Függvény hívás nélkül, a te 1 soroddal beírva átvált a kezdő képre(page 0).Setup blokk
Loop blokkFüggvények
Függvény prototípus nincs!
-
Tankblock
aktív tag
válasz
Tomika86 #17211 üzenetére
ESP-IDF (ESP32 wroom ha jól emlékszem) c++ ban Arduino nélkül, Eclipse alatt :-)
az InitNextion() Fv felparametrizálja a 2.v3. UART drivert ESP32 ön a Nextionnak megfelelően - Hozzátenném, hogy a nextiont is át kell configolni magasabb baud rate - re, mert alapból csak 9600 bps.
A sendData fv az alap UARTra logol és a Nextion UARTnak meg kiküldi a megkapott stringet.
végül egy taskban ahol szükséges szépen stringet összerakom és ahogy látod a templateneél meg van írva a .to_str() fv ami lehetővé teszi a const char * tudjak átadni a sendData fvnek :-)
Ebben a projectben pl nincs Arduino és nem is szeretnék. FreeRTOS+ MQTT van még ebben a projectben használva, az tuti h át kell még írnom párszor, de egy ilyen hőmérő + világítás kapcsoló már fut az asztalomon 3+ éve.
Szedd le az ESP-IDF és a example mappában benne van szinte minden, "csak" össze kell rakni saját tetszés szerint.
Egyre rájöttem a Nextionból a RTC részért még 1x nem fizetek, mert az enyémben nincs a hőmérséklettel kikompenzálva és sosem mutat helyes időt....
-
Tankblock
aktív tag
válasz
Janos250 #17208 üzenetére
char endData[] = {0xFF,0xFF,0xFF};
ez akár még működhet is....using namespace std;
template < typename Type > std::string to_str (const Type & t)
{
std::ostringstream os;
os << t;
return os.str ();
}
csakhogy meglegyen a fvnyek:
(CODE)void initNextion() {
const uart_config_t uart_config = {
.baud_rate = 115200,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE
};
uart_param_config(nUART, &uart_config);
uart_set_pin(nUART, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
// We won't use a buffer for sending data.
uart_driver_install(nUART, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
}
int sendData(const char* logName, const char* data)
{
const int len = strlen(data);
const int txBytes = uart_write_bytes(nUART, data, len);
ESP_LOGI(logName, "Wrote %d bytes\n", txBytes);
ESP_LOGI(logName, "#%s#\n", data);
return txBytes;
}(/CODE)
string store ="";
store += "page2.valami.val=";
store += (x.sData=="ON") ?"1":"0";
store += endData;
sendData(TX_TASK_TAG, store.c_str());ezt használtam home projectben, működik
-
Janos250
őstag
Találtam egy hasznos felhasználási módját az ESP-nek!
Ha a nem kívánatos SPAM jellegű "néznivalók" linkjeit windows alatt a host nevű fájlba berakja az ember egy nem létező IP címmel, akkor azt nem hozza be, de vannak oldalak, amelyek addig várakoznak, míg meg nem érkezik onnan valami. Most erre az IP-re tettem egy ESP mini WEB szervert, ami egy üres html oldalt hoz be. Azóta kellemesebb az életemNem jön az "akarsz a közeledben ingyen ....et?", és hasonló oldalak. Legfeljebb G...tyán milliárdjait nem növelem.
-
Tankblock
aktív tag
válasz
Tomika86 #17160 üzenetére
Szia,
unsigned
után nem maradt le a változó típus dekraláció véletlen plint
?Én a helyedben a If statementben vizsgálnám h mi van benne pl <1 vagy valami....
Standard struktúra működik c ill c++ alatt nincs benne semmi esp32 specifikus, vagy nem értem a kérdésed lényegét.
A kérdésed második felére hoznál fel példát? Mitől lenne a Makró gyorsabb és a Fv kevesebb memória?
-
Tomika86
senior tag
Sziasztok
Most volt mikrovezérlős órám, pic32mx.
Kérdeznék,hogy itt lehet-e(esp32)
Bit kezelés:
struct {
unsigned b0:1;
unsigned b1:1;
unsigned b2:1;
} Bit;
A programban pedig így kezelem a bitet:if(Bit.b0)
Meg a másik hogy függvény vagy makró?
Makró gyorsabb, több memória. Függvény "lassabb", kevesebb memória?Köszönöm
-
válasz
tonermagus #17156 üzenetére
A "tárgy"-ban lévő elektronikában követelmény, hogy passzív legyen?
Egy lecsökkentett TX poweres ESP-t (vagy herpákolt antennásat) ha beleteszel, egy másikkal az oszlopban tudod mérni a jelerősséget.
-
Tomika86
senior tag
válasz
Tankblock #17145 üzenetére
Szia!
Igen, egyetemen most PIC32 programozása van. MPLAB X-ben.
Xtensa LX6 ha jól tudom az ESP32 ic-je, de olyan részletességűt nem találtam mint egy PIC32MZ családé.
Ezért is tettem fel a Visual Studio Code programot, de ez is hiányolja a loop és setup ha main és while függvényeket használom. függvényeket. -
Janos250
őstag
Srácok! Valahogy nem boldogulok én a lib szerkezettel.
Valakinek tasmotát kellene fordítanom, Arduino IDE alatt.
Régebben már csináltam, de most valahogy nem megy.Van a tasmota.ino file:
C:\Arduino\arduino-1.8.19\portable\sketchbook\Csikor\tasmota.inoA programban: #include <t_bearssl.h>
A neten azt írják, hogy a lib könyvtárat másoljam be a sketchbook\libraries-be. Megtettem, ott is van a file:
C:\Arduino\arduino-1.8.19\portable\sketchbook\libraries\lib_ssl\bearssl-esp8266\src\t_bearssl.hValahol meg azt írták, hogy a saját sketch-be tegyem. Oda is betettem:
C:\Arduino\arduino-1.8.19\portable\sketchbook\Csikor\tasmota\lib\lib_ssl\bearssl-esp8266\src\t_bearssl.h#include <t_bearssl.h>-nél továbbra is jön a hibajelzés:
t_bearssl.h: No such file or directoryLehetne persze az összes .h és .cpp file-t berakni a sketchhez, de annyi van belőlük, hogy a maradék hajam is kihullik, mire átpakolom.
Hogyan csináljam, hogy megtalálja?
Nem, nem akarok platformio-t használni, hanem Arduino IDE-t
Új hozzászólás Aktív témák
Hirdetés
- Borotva, szakállnyíró, szakállvágó topic
- Nintendo Switch 2
- Milyen videókártyát?
- Milyen CPU léghűtést vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen monitort vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Nintendo Switch
- Óra topik
- További aktív témák...
- Eladó Toshiba 65" 4k HDR ANDROID smart tv.
- Gamer Félgép - MSI Z370-A PRO + Intel I7 8700K + Kingston HyperX 2x8GB 2666MHz CL13
- ASRock Z690 PG Riptide + Intel I7 12700 ES + Netac 2x16GB DDR4 3200MHz CL16
- Samsung Galaxy S24 FE 8/128GB Megkímélt,Kétkártyás,Tartozékaival. 1 év Garanciával!
- HP JetIntelligence 410x patronok
- Bomba ár! Fujitsu LifeBook U7310 - i5-10GEN I 16GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Eladó szép állapotban levő Huawei P30 Pro kék 6/128GB 12 hónap jótállással!
- VÉGKIÁRUSÍTÁS - REFURBISHED - HP Elite / ZBook Thunderbolt 3 docking station
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450M R5 5500 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest