Hirdetés
- Lassacskán fenyőfát állítanak a hardverek
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Irodát kért, de gyárat kapott Elon Musk a Samsungtól
- Nyílt forráskódú lett a legegyszerűbben használható AI tartalomgeneráló
-
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!
Csak egy kérdés,
Amit mega2560ra megírtam, az működik ESP32-vel is?
Arra gondoltam, lehet inkább azzal mennék tovább, ami plussz kell, hogy 3,3Vról megy mindene.
ADC esetén a 0-5v ellenállásosztóval megoldható 3,3vra?Köszönöm
-
Istv@n
aktív tag
Sziasztok!
ESP32 boardon szeretnék eepromba írni egy tömbből, de csak akkor ha a az adott indexen lévő értékek nem azonosak.
A megvalósítást a következőképpen gondoltam:for (int i = 0; i <= 127; i++) {
if ( EEPROM.read(i) != t[i]) {
EEPROM.write(i, t[i]);
delay(20);
Serial.print("EEprom iras: ");
Serial.println(i);
}
}
EEPROM.commit();A helyzet az, hogy a for ciklus nem áll meg 127 után, hanem megy a végtelenségig....
Miért lehet ez?
Boot után, egy hasonló ciklussal íratom ki az eeprom értékeket a soros portra, és az rendben működik.... -
tonermagus
aktív tag
válasz
Janos250
#15587
üzenetére
Nagyon szépen köszönöm a részletes kifejtést.
Ez az egész ESP32, dual core-os dolog nekem teljesen új még, szóval bocsi a sok kérdésért, de még mindig van pár fekete folt:- Ha a setupban létrehozok egy taskot amit a core0-án futtatok, akkor az folyamatosan futni fog végtelen ciklusban? Nem kell többet meghívnom? Mert ebben az esetben a GPS kezelésére teljesen jó lenne. Csak a Core0 írná a változókat (fix.latitude, fix.longtitude, bearing, heading, stb...) a loopban pedig a Core1-el csak olvasnám ezeket. Csak egy darab taskom lenne, az egész programban, az is Core0-ra, és csak GPS-t csinálna végig. Ez így nagyon jól hangzik, bízom benne hogy így is van.
- A PWM-es hardveres dolgot hogy érted? Nekem ahogy írtam az volt a gond az arduval, hogy olvasgattam a PWM-ket, néha bejött egy megszakítás és már ugráltak is a PWM értékek. Ez gondolom itt is simán előfordul. Igazából 5-6 PWM portot kezelnék, illetve 2 hadwares Serial porton kommunikálnék. Bízom benne hogy ezt is szépen lekezeli az ESP32
- Wifi megszakítás: olyanon agyalok hogy tennék bele programozói módot, amikor is a webszerver élne, egy felületen átadnék neki pár változót induláskor, és ezután megy tovább a program és lekapcsolja a wifit. Létezik ilyen? Mennyire egyszerű ez a webes felületen értékátadás változóba dolog? Egyáltalán lekapcsolható-e a wifi? -
Janos250
őstag
válasz
tonermagus
#15585
üzenetére
"Kicsit utánaolvasgattam"
Jó helyen olvastál. :-)
"Tehát az megoldható hogy a setupban létrehozok...."
Igen, így csináljuk.
Alapból a WiFi a core0-n fut, a loop pedig a core1-en.
Ezért én a core0-ra olyasmiket szoktam rakni, aminél nem baj, ha bejön egy WiFi megszakítás, mert én általában használom a WiFit is.
Ha van time kritikus alkalmazás, azt a loopba teszem, és a core1-re akkor nem teszek másik taskot. Ez persze nem gyakori, mert a PWM-et meg hasonlókat a hardware kezeli, nem kell vele foglalkozni, hogyan csinálja.
Ezek egymástól függetlenül párhuzamosan futnak egymás mellett.
Változó: amit Weiss válaszolt. Én olyanokat szoktam használni, hogy - ha lehet - csak egyik task írja, a többi csak olvassa."A programnyelv nagyban különbözik? Arduino IDE működik?"
Mivel az Arduinonak nincs saját programnyelve, a C++ -t használja, így mindkettőnél ugyanaz.
Az ESP32 a C++2011-et használja, ebben már vannak olyan dolgok is, ami a C++ korábbi verzióiban nincs benne, így azokat is használhatod.
A stringről egy mondat: A C++ a "string" csupa kisbetűvel típust használja, de az arduinoba beletettek egy String (nagy kezdőbetűs) stringet is. Ha pl. paraméter a string, akkor nem lehet keverni. Én általában a kisbetűset használom, de van, hogy kell a String is.
Az átjárást a kettő között a C stílusú string, vagyis a karaktertömb jelenti.
Az Arduino IDE ugyanúgy működik, mint bármelyik másik lapnál.
"összevesztek a timereken."
Az ESP32 perifériái általában "saját hardware timert" használnak.
"Vagy ezt nem így kell elképzelni"
De, jól mondod. -
tonermagus
aktív tag
válasz
Janos250
#15578
üzenetére
Igazából az ESP32-re átállás sem kizárt. Ezek szerint azzal lehet jobban járnék.
A programnyelv nagyban különbözik? Arduino IDE működik?Nekem igazából a legnagyobb problémám az egész projekt alatt az volt, a Library-k összevesztek a timereken. PWM-et olvastam, majd egy library beleszólt és az 1500-as PWM érték egyből 1765 lett. Sikerült egy másik library-t találnom, ami másik timeren használja a szervókat, de az kifejezetten Arudinohoz lett megírva. ESP32-vel beleeshetek ugyan ebbe a hibába? vagy az okosabban kezeli a timereket/interrupotokat?
Szerk: aprobó két mag... Azzal az is megoldható hogy 1 mag csak a GPS-el foglalkozik, a másik mag pedig minden mással? Az elég jól hangzik... Vagy ezt nem így kell elképzelni: Egyik szál gyakorlatilag egy loop amiben csak a GPS NMEA sorainak összeállítása a feladata, majd a fixálás elvégzése, a másik szál pedig olvassa/írja a PWM értékeket, stb... -
Janos46
tag
Sziasztok.
Immár itthonról próbálom folytatni az arduinoval kapcsolatos játszadozást, de megint abba a helyzetbe kerültem, hogy az Arduino nem ismeri fel a kinti munkáimat. A gép érzékeli amikor csatlakozok pl. ESP3288-al, de nem látom a címét a router (a cím megegyezik a kintivel 192.168.1.1) (TpLinkWR1043 | suste/headless@OpenWrt@0.8.1 Barrier Breaker 14.07) listában.
Előre is köszi a segítséget. -
Janos250
őstag
válasz
tonermagus
#15576
üzenetére
Én átálltam, már rég. Amíg nem volt ESP32, addig az STM32 volt a kedvencem. Ugyanúgy Arduino rendszerben használtam, alig kellett valamit módosítani a programokon, mert a driverek - általában - meg vannak írva ugyanúgy rá Arduino alá. A különbség, hogy másik könyvtárból veszi a drivert, de ezt te nem is érzékeled. A nagyon hardver közeli dolgok persze mások. Bár egy ideje már nem használom, mert mindent ESP32-re tértem át több ok miatt: gyorsabb , két valós mag van benne, amíg az egyik foglalkozik valamivel, addig a másik pl. kezelheti a perifériákat, és az Arduinoba való illesztése is jobban sikerült - szerintem - mint az STM32-nek, gyakorlatilag elvétve kell valamit változtatni.
Összefoglalva: én mindenképpen átállnék az STM32-re, de ez mindenkinek a saját döntése kell legyen, hogy ne azt szidja utólag, aki "javasolta". Vagyis nem javasolok semmit, csak azt mondom el, én hogyan csinálnám.
-
Janos250
őstag
válasz
tonermagus
#15563
üzenetére
Szerintem igen. A napokban mértem, de ha megtalálom, lemérem újra. Mivel én ESP32-vel mértem, ami ugyebár 3.3 V-os, 5V-al meg aztán végképp jó lesz. Én ennél jobbat csak az IRLB4030-at tudom.
-
ekkold
Topikgazda
Ennek több oka is van.
- Kínából rendelve kb. egy árban van a kettő (de lehet, hogy az FTDI picit drágább)
- ST-Link esetében a BluePill-en nem kell a jumpert átrakni a programozáshoz, míg soros portos esetben át kell rakni a jumpert minden programfeltöltéskor.
- ST-Link használata esetén sokkal gyorsabb feltölteni a programot, gyakorlatilag még 1 másodperc sem kell hozzá.
- BluePill oldalán külön tüskéken ott van az SWDIO, SWCLK, ezekre kényelmesebb csatlakozni.Ettől függetlenül abban igazad van, hogy sima soros porton is feltölthető a program. Tehát mindkét megoldás használható. Sőt van egy harmadik megoldás is: ha feltöltjük rá a boot-loadert, akkor onnantól a rajta levő USB-n keresztül is lehet programozni, így gyakorlatilag az USB kábelen kívül már semmi sem kell hozzá. Kipróbáltam mindhárom módszert, és nekem az ST-Link használata jött be leginkább.
(Csak zárójelben: ugye nem kevered össze az ESP32-t és az STM32-t ?)
-
Arduino IDE-vel fordított programot valahogyan le lehet menteni bináris formában, illetve után a binárist direktbe rátölteni akár az ESP32-re, akár egy arduino mini-re?
Jelenleg az IDE-ből fordítom és töltöm le a kódot, viszont ha egy könyvtár frissül, más elnevezéseket kap pár függvény, akkor át kell nézni az egész kódot, esetleg módosítani, tehát sok macerával jár. Egyszerűbb lenne egy jelenleg működő kódból binárist készíteni, ami utána nem változik, tutira működik és ha később mikrovezérlő meghibásodás miatt vagy csak egy új mikrovezérlő beiktatása miatt kellene a kódot rátölteni, akkor minden gond nélkül mehetne. Tehát ez megoldható esetleg és ha igen mi a legegyszerűbb módja a bináris készítésnek és annak direkt kontrollerre töltésének?
-
Janos46
tag
Sziasztok.
Segítsetk, hogy miképpen lehet letiltani azt, hogy ne akarja az ESP8266-ot V3.0 verzióra állandóan frissíteni, ezt nem szeretném, mert egyszer már póruljártam vele. Előre is megköszönném. -
Janos250
őstag
Viszont azt legalább sikerült azonosítanom, hogy milyen kinézetű az, ami tényleg tudja az IRLB4030 paramétereit, bár lehet ez is hamis, de akkor a fene bánja.
Amelyikben ott van középen egy bekarikázott E betű.
Pl.:
https://www.ebay.com/itm/392380507977
És ugyanezek a sorozatszámok vannak rajta:
P912D
B9P0
Ez valóban nagyon jó. Valószínű persze, hogy hamisítvány, mert Németországban 1-et lehet annyiért kapni, mint itt 10-et, de a paraméterei ugyanolyanok.
Mérésem eredményei:
Körülmények: 48 V-t kapcsol 100 ohmos ellenállásra.
eredmények:
VGs: ESP32 alacsony szintje , 1 mA-nél kisebb átfolyó áram, vagyis gyakorlatilag tökéletesen lezár. (nincs kéznél mikroA-t mutató műszerem)
VGs: ESP32 magas szintje , a FET-en (D-S) esik 7 mA, vagyis gyakorlatilag teljesen kinyit. -
Janos250
őstag
Hogy a nyavalya törné ki a hamisító kis kínait!
IRLB4030 Kínából fake!!!
Korábban rendeltem pár helyről, de 1 hely kivételével mind fake volt, sokkal magasabb a nyitófesz. Viszont nem tudom, melyik volt a valódi. Most, hogy közeledik a július 1, ismét gyorsan rendeltem pár helyről. Próbáltam kilőni, melyik lehet a hamis. Nem sikerült.
Így most van egy marék hamis IRLB4030-om, aminek jóval magasabb a nyitófeszültsége, ezért 3.3V-nál még alig nyit ki.
A valódi nagyon jó, mert az ESP32-höz kötve a magas szintnél "teljesen" kinyit, de az ebay-en, Alin árultak zöme hamis. -
Janos250
őstag
Így jár az ember, ha elhiszi, ami le van írva.
ESP32 LCD 7 segment 8 digit MAX7219 SPI
"Azt írja az újság", hogy ennek a kijelzőnek 5V táp kell, és 5V logika.
"Jenő", ugye nem szabad elhinni amit manapság ír az újság!Ezért aztán nekiálltam szintillesztővel babrálni. A végén, gondoltam, kipróbálom mit csinál szintillesztő nélkül. Ugyanazt, mint szintillesztővel. Sőt! Táp is elég neki az ESP32 3.3V tápja.
Hogy ezt miért nem írják le? Meg azt se, hogy a 2 bájtos utasítást egyben kell kiírni, mert nem mehet föl a CS a két byte között.
(Illetve, ha már tudja az ember, akkor már talál rá olyan utalást, amiből ez is kihámozható)Egyébként tetszik ez a vacak, ESP32 SPI-vel egész kényelmes. Csináltam rá egy teszt programot, már órák óta fut vele hiba nélkül.
-
Janos250
őstag
Ilyenek:


Csak abban különbözik, hogy ezen már meg vannak vastagítva az átvezetések.
Választható fesz szabályozóként van rajta két DC/DC conv, egy LDO, valamint négy FET hely, négy cstlakozó hellyel kifelé,
serial, I2C, SPI csatlakozó hely kifelé, EEPROM hely, SD kártya olvasó, az ESP32 két oldalán plusz csatlakozó sor
a külső egyéb csatlakozásokhoz, és GND, 5V, 3.3V csatlakozások a külső eszközök csatolásához.
Én ezt a saját igényeim szerint készítettem. -
Janos46
tag
Szasztok.
Segítséget kérnék, mert egy frissítésnél az ESP8266-nak a 3.0.0-ás verzióját felrakta, és azóta az eddig működőknek annyi. Megpróbltam a régebbit visszarakni (2.7), de nem találom a Könyvtár kezelásek-ben az ESP8266-nak a 3-ra frissített fájlját. Beírtam a keresőbe, de nincs közöttük, pedig az Apdata stb-ben ott van a 3.0.0. Vagy lehet hogy rosszul keresem? Elóre is megköszönöm a segítséget. -
vegyszer
addikt
Egy kérdés.
Maga a projekt, hogy két enkoder segedelmével a távcsövem mozgását követni tudjam ESP8266 helyett ESP32 segedelmével egyből működött.
De sajnos külön forrás kódfájl van a WiFi és a Bluetooth kapcsolatra. Mindkettő külön külön jól működik.
Lehet egyszerre ezt úgy összesíteni, hogy egyszerre fusson mindkét kliens, és aszerint kapcsolódjon, ahogy szeretnénk?
Mert a kódot valahogy a szemem nem látja át.
Mert én azt gondolom naivan, hogy van egy pár művelet, függvénye, és a végén lövöm ki a kapott adatot a kapcsolat módja szerint (akár mindkét fronton). De valahogy nem látom azt látom, mint szeretném... -
Dißnäëß
nagyúr
válasz
csubuka
#15394
üzenetére
Van egy ESP8266-om, pontosan amit linkeltél, tökéletesen műxik. Áll, nem tudok vele mit csinálni. Szívesen eladom Neked apróért, nem ezen fogunk összeveszni, nekem (sajnos vagy sem), wifi nélküli klasszik, Leonardo tudású Arduino bőven elég a projektjeimhez. Ez kipróbáltan jó, WiFi-n keresztül már kapcsolgattam ki 1-1 endpoint-ot létrehozva rajta Node.JS-el, http-n keresztül böngészőből relét.
(Nekem ez is nagy szó volt akkor még) 
Szóval privi, ha érdekel.
Vagy bárki, akit szintén.
Bocs, nem reklám meg semmi izé, csak tényleg, látom Neked kellene, ha 1 elég, akkor szívesen megválok tőle, nem kell a wifi.
-
Janos250
őstag
válasz
csubuka
#15391
üzenetére
Például ki lehet használni azt, hogy a kilépett angolok lehúzzák az Eu-t. A rajtuk keresztül jött cuccok a gyakorlatban tehermentesen érnek ide. Vagy, ha több darabot rendel az ember, sok helyen nem változik a szállítás.
Pl.:
https://www.aliexpress.com/item/4001340660273.html
5db. rendelése, és"Shipping: US $1.79via China Post Registered Air Mail
Estimated Delivery: 20-31 days"esetén a teljes költség US $25.19, vagyis 1500 Ft/darab ár lesz a végeredmény.
Egyébként még annyit, hogy ha valaki kész, már legyártott panelhez akarja, akkor mindig ellenőrizni kell a lábkiosztás, mert főként az USB csati közelében vannak variációk.A jelenlegi árak mellett tényleg csak akkor éri meg ESP8266-ot venni, ha kész panelba kell, mert ha pillanatnyilag nem használja is ki az ember az ESP32 adta plusz lehetőségeket (nagyobb sebesség, valódi 2 mag, sok GPIO, sok periféria hardver kezelése) a jövőben az még jól jöhet, és nem kér kenyeret, ha ott van, akkor se, ha most még nem használjuk ki.
-
Janos250
őstag
válasz
csubuka
#15387
üzenetére
Valóban 4 $ (1200 Ft) körüli árra mentek le az ESP32 lapok árai, ha a hosszú szállítási idővel rendeled. Viszont akkor belecsúszol a vámolási balhéba. Ezért jelenleg - szerintem - érdemes inkább 1800-2000 Ft-ot adni érte, ha még a VÁM mizéria előtt ideér.
Igen, az ESP12 az ESP8266. -
csubuka
addikt
Sziasztok!
Azt jól látom, hogy valamennyire összecsúsztak az ESP8266 és ESP32 árak? Van egy dev board itt. Ez kamu vagy hol a trükk, mert pár száz forinttal lenne csak drágább az ESP12 (az valami 8266 variáns nem?) alapú dev boardoknál...
-
Dißnäëß
nagyúr
Sziasztok, nagyobb távolságokon (2000 négyzetméter, hosszúkás telek) milyen kábelt javasolnátok Arduino-k összekötésére, és végül a telek egyik végében lévő házban lévő Pi-vel összekötésre akár ? + táp ugye.
UTP alkalmas erre ? Szerintem 5V-t simán elviszek a benne lévő 4 érpár egyikén, zajt nem nagyon szed össze. Ha kell, szét is szedhetem, vagy nem tudom ...
Vagy ha azt mondom máshogy fogalmazva: szeretnék (tervezek) egy fűszeres és növényházat mint melléképületet, azt el szeretném látni egy marék érzékelővel, amik jelentenek be adatokat valamiféle központba (nem csak szimplán vezérelnek 1-2 szelepet), legyen ez a "központ" egy Raspberry Pi 4, szóval a házból látok mindent kvázi, csinálok rá egy kis frontend-et, akkor ezt Ti hogyan valósítanátok meg ?
Milyen kommunikációval, milyen "buszon" vagy ilyesmi .. ? Esetleges Potenciálkülönbségekre is gondolva, bár a kütyük a Pi-vel együtt a melléképületben lennének, a Pi meg wifin lógna a nappali router-én. Direkt klasszik Leonardo-kkal dolgoznék, Arduino Micro / DFRobot Beetle, semmi ESP+wifi. Tudom mehetne a Pi-ről is, GPIO van, tranyókkal illesztek, vagy maradok 3.3V-on, de igazából szeretném a rendszer autonómiáját megőrizni egy esetleges, wifi-nek kitett Pi fagyás vagy bármi anomália esetén is, egy mikrokontrollernél meg nincs megbízhatóbb elektronika jelenleg, egyszer megveszem, felprogramozom, aztán él, amíg tud, nem kell frissítgetnem meg ilyesmik, semmi ilyen nyűgök.
Köszönöm.

-
gazso75
aktív tag
Persze az tiszta volt. Igen 433mhz a freki. Meg is csináltam a 173mm drótot, szépen feltekerve.
Sajna nem lett jó, nem veszi a jelet rendesen. A teszt rf kapcsoló, kapcsolgatja a pecuban lévő relét ami 25m-re van, de az RF Reciever ami a ESP8266-re van kötve, az nem veszi a 8m-re levő csengő adóját
-
Látott már valaki olyat, hogy ESP32 két BJT-s DRT/RTS auto reset áramkör külső CP2104-es USB/serial konverterrel nem megy. Gyakorlatilag az Adafruit HUZZAH32 idevágó része lett lekoppintva. El sem indul a feltöltés, egyszerűen kitimeoutol. Kézzel beállítva a szinteket működik a feltöltés, egyenként nézve szkóppal a konverter kimeneteit valamit csinál, de csak egy csatornásom van, szóval lehet időzítési probléma. Logikai analizátorom nincs. Bármi ötlet?
-
válasz
vegyszer
#15320
üzenetére
Nem arról volt szó, hogy ezek az ESP-k 5V kompatibilis IO jeleket kezelnek?
Nem az ESP-k, csak az ESP8266, hivatalosan a gyártó által megerősítve. Az ESP32 kimenetei már nem 5V toleránsak. Az ESP8266 kimeneteit snapback áramkör védi, azt hiszem 6V-ig bírja, az ESP32 egyszerű dióda, kb. 3.8V fölött megsül rajta a flash chip.
Akkor ezt vajon miért tette???
Azért, mert valószínűleg megszólták miatta.
Mondjuk
egy sorozatgyártásba kerülő eszköz tervezésénél nem illik erre a toleranciára építeni. Egy házi barkács eszköznél simán elmegy, azért javasoltam, könnyítésként.
Ha mindenképp szeretnél szintillesztést, egy egyszerű feszültségosztó is megteszi.
A második verzió nem véletlenül ESP32 kompatibilis verzió? -
vegyszer
addikt
válasz
Janos250
#15302
üzenetére
Köszönöm a segítséget.
Este teszek újabb próbákat.Közben a kódom 2.0 és 2.1 verzióját is meg sikerült lelni.
Ott egy érdekes eltérés van. Bár ugyanez az ESP8266 vezérel mindent, de az enkóderek jelét valami 5V->3.3V konverteren keresztül vezetik vissza.
Az eredetiben ugyanez a kolléga meg direktben vezette vissza a jelet.Nem arról volt szó, hogy ezek az ESP-k 5V kompatibilis IO jeleket kezelnek? Akkor ezt vajon miért tette???
-
Janos250
őstag
válasz
vargalex
#15303
üzenetére
"Nincs is inicializálva a Serial"
"Abban soros porton megy ki az infó nem teló, hanem PC számára. De azzal se jutok előrébb."
Persze, de azt azért feltételeztem, hogy próba erejéig csak tett bele valami kiírást, nem anélkül várta hogy a serial monitoron megjelenjen valami.
"Az AP nevének meghatározása sem ördögtől való"
Igen, de ez AP, és ha be akarsz rá jelentkezni, meg kell keresned az SSID-t, hogy be tudj rá jelentkezni, míg ha te adsz egy SSID-t, akkor azt tudod. Egyik elegánsabb, másik kényelmesebb."az AP létrejön"
Persze, aboolean result = WiFi.softAP(AP_NameChar, "stargazing");
alapján kutya kötelessége létrehozni, ha csak nem valami idétlen
karaktersorozat van az SSID-ben (AP_NameChar), vagy nem rövidebb a PW ("stargazing") 8 karakternél.
Lehet épp azért nem látja, mert nem tudja, milyen néven keresse?
Vagy valami egyéb gond van, hogy az egész valami hardver ok miatt el se indul nála?
Mondjuk resetelve marad az ESP.Én egyébként az egészet kissé másként csinálnám. Nem szeretek minden app-ot felrakni a telefonra, inkább WEB-et használok.
Más, hogy én - mint írtam - mindig direktbe létre szoktam hozni az AP-, nem is próbáltam még anélkül soha.
-
vargalex
félisten
válasz
Janos250
#15302
üzenetére
Ha erről a kódról van szó, akkor nem csoda, hogy nem jelenik meg semmi a serial monitoron... Nincs is inicializálva a Serial. Mondjuk az ESP8266 inicializálásának azért látszania kellene.
Az AP nevének meghatározása sem ördögtől való, egyszerűen felhasználja a MAC címből az utolsó 2 octetet azért, hogy egyedi legyen az SSID több eszközön egymás mellett futtatva ugyan ezt a kódot.
Egyébként maga az AP létrejön, én eddig teszteltem.... -
vegyszer
addikt
Sziasztok!
Úgy néz ki, hogy sikerült felülnöm a szopórollerre.
A modul, amim lett et: NodeMcu LoLin V3, ESP8266MOd, ESP-12E
Gyenge 3 óra alatt sikerült elérni, hogy a PC lássa.
Ismeretlen USB-s eszköz volt. Majd egyszer sikerült találni egy kb 300kb-os driver pakkot hozzá.
Azzal megy. De a fordítás és a feltöltés sokkal lassabb, mint az Uno esetén.
A szélesség miatt az encoder kábeleit "a nyák alatt" elvezetve csatlakoztattam. De érdekes módon az a kód, ami az Uno esetén működött, átállítva eme eszközre semmit nem tett, csak kérdőjelek írt ki a soros port monitoron.
Hajnali fél ötig szendevtem vél, de nem értem...Ahogy, azt se, hogy ha a Blynk példát töltöm rá, villog, ha az accesspointost, csinál WiFi-t. De az általam linkelt kód nem hozza létre a WiFi-t...

Én meg csak azt hittem, hogy megvan a hw, megvan a kód, megvan a telón az app, és csak össze kell dugni. -
vegyszer
addikt
-
vegyszer
addikt
Sziasztok!
Megjött a két enkóderem a projekthez.
Addig dúrtam a netet míg meg nem leltem egy kódot. Lásd lent
Jól értem, hogy ez egy ESP8266WiFi modulra feltöltve egyből a telón futó skysafari app számára formázva küldi tovább az adatokat WiFi-n?
Nekem csak annyi a dolgom, hogy a két enkódert a 4,5 illetve 14, 12 lábra kössem egy 5V illetve GND mellett, és már csak ellenőrizni kell, hogy a forgásirányok jók-e?
Az enkóderek jelét, hogy pl 8000 jel/360° már az appban állítom be. Maga az app valami ilyesmi típusú jelet kap:
+01234<TAB>-00045<CR>De nézegetve a ESP8266 lábait, nem találok 5V-os lábat.
Ellenben van egy VUSB, ez 5V lenne?
Valamint 12, és 14-es lába sincs. Csak D0-8, de GPIO van 16-ig. Ez lenne az?
Na itt kicsit elbizonytalanodtam.És a kód:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <Encoder.h>
Encoder encoder0(5, 4);
Encoder encoder1(14, 12);
int inByte;
long encoder0Pos = 0;
long encoder1Pos = 0;
// Start a TCP Server on port 9876
WiFiServer server(9876);
WiFiClient client;
void setup()
{
// Set unique name of AP
uint8_t mac[WL_MAC_ADDR_LENGTH];
WiFi.softAPmacAddress(mac);
String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) +
String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);
macID.toUpperCase();
String AP_NameString = "ESP8266DSC_" + macID;
char AP_NameChar[AP_NameString.length() + 1];
memset(AP_NameChar, 0, AP_NameString.length() + 1);
for (int i=0; i<AP_NameString.length(); i++)
AP_NameChar[i] = AP_NameString.charAt(i);
// DONE
boolean result = WiFi.softAP(AP_NameChar, "stargazing");
if(result == true)
{
// Start the TCP server
server.begin();
pinMode(D4, OUTPUT);
digitalWrite(D4, LOW);
}
ESP.wdtDisable();
ESP.wdtEnable(WDTO_8S);
delay(100);
}
void loop()
{
if(!client.connected()) { // if client not connected
client = server.available(); // wait for it to connect
} else {
if(client.available()) {
inByte = (uint8_t)client.read(); // read char from client
if (inByte == 81) //ascii for "Q"
{
encoder0Pos = encoder0.read();
encoder1Pos = encoder1.read();
printEncoderValue(encoder0Pos);
client.print("\t");
printEncoderValue(encoder1Pos);
client.print("\r");
}
}
}
ESP.wdtFeed();
delay(50);
}
void printEncoderValue(long val)
{
unsigned long aval;
if (val < 0)
{
client.print("-");
}
else
{
client.print("+");
}
aval = abs(val);
if (aval < 10)
{
client.print("0000");
}
else if (aval < 100)
{
client.print("000");
}
else if (aval < 1000)
{
client.print("00");
}
else if (aval < 10000)
{
client.print("0");
}
client.print(aval);
}Biztosan valami nem kerek, de lehet, hogy csak nálam.
Nyissátok fel kérlek vak (és igen kezdő) szemem
Illetve a ESP8266WiFi lábkiosztási távolságra egyezik az Arduino nanoéval?
Mert akkor fottasztás helyett lehet, hogy egy
Arduino NANO Screw Terminal Expansion Board típusú ízét keresnék. -
Janos250
őstag
El tudom-e érni valahogy programból a .a típusú fájlban lévő dolgokat?
Pl:
Biztosan tudom, hogy a libvfs.a -ban benne vannak a
static vfs_entry_t* s_vfs[VFS_MAX_COUNT]
és a
static size_t s_vfs_count
változók, amiket használ is a program.
Ki tudom-e a programból íratni ezeknek az értékeit?
Ja, és ESP32 , Arduino IDE -
Janos250
őstag
válasz
vegyszer
#15270
üzenetére
Ha nem nagyon sürgős, 2500 Ft postával együtt, és két héten belül (néha gyorsabban) helybe viszi a postás, vagy a futár. És ESP32, nem 8266, ami még a továbbiakban jól jöhet, hogy erősebb!
https://www.banggood.com/Geekcreit-ESP32-WiFi+bluetooth-Development-Board-Ultra-Low-Power-Consumption-Dual-Cores-Pins-Unsoldered-p-1214159.html?cur_warehouse=CN -
vegyszer
addikt
Ez a ESP8266 szerinted jó lesz nekem?
Ahogy nézem a WiFi adott, az elég nekem.
Ilyet, vagy hasonlót melyik pesti/szolnoki boltokban érdemes keresni? -
válasz
vegyszer
#15263
üzenetére
Szia! Üdv itt. 👍
Alig találtam meg a kérdést a hosszú szövegben.
"Egyáltalán jól értem, hogy az a kód, ami egy únón elfut, egy ilyen ESP32 vagy hasonlón is elmegy egy minimális fordítási beállítás után?"
Igen, az UNO-ra megírt kódok jellemzően változtatás nélkül fordíthatóak a többi lapra. A legtöbb általános arduino kód elfut az összes arduino-ba illesztett lapon, ha valami mégsem, az valamilyen alacsony szintű módon megírt, vagy hardver-specifikus kód, pl. megszakítás vagy flash tároló használat.
Ha wifit szeretnél használni, akkor a nano board-ról lebeszélnélek, mert úgyis kell hozzá egy esp, de akkor már a programot is érdemes azon futtatni.
Ha az encoderek jele 5V-os, akkor ESP8266 lesz a te embered, mert ugyan a lap maga 3,3V-os, de az ESP32-vel ellentétben a kimenetei 5V toleránsak, így szintillesztés nélkül rá tudod kötni az encodereket.
-
Janos250
őstag
A guta megüt!
Tud valaki segíteni, mert én nem látom a hibát.Includolva van egy .h fájl, ott van a .cpp is.
A .cpp elején természetesen includolva van a .h, ahogy az a nagy könyvben meg van írva.
A .h elején ott van az
#ifndef
#define
és a végén az
#endif
, de valahogy ezeket nem látja, mert a .cpp-ben újra includolni akarja a .h-t, és emiatt újradefiniálást ír hibának.
Nem vagyok részeg, de nem látom a hibát.
A programok:fileKezeles2021maj02LibHibakeresesProba01.ino#include "Device2VirtualFileSystem.h" ;void setup() {} ;void loop() {} ;/*Ezt írja hibának:C:\Users\user\AppData\Local\Temp\arduino_build_664522\sketch\fileKezeles2021maj02LibHibakeresesProba01.ino.cpp.o:(.bss.acharCounter+0x0): multiple definition of `acharCounter'C:\Users\user\AppData\Local\Temp\arduino_build_664522\sketch\Device2VirtualFileSystem.cpp.o:(.bss.acharCounter+0x0):first defined herecollect2.exe: error: ld returned 1 exit statusexit status 1Hiba a(z) ESP32 Dev Module alaplapra fordításra.*/Ezek a fájlok:A Device2VirtualFileSystem.h fájl tartalma:#ifndef Device2VFS_h#define Device2VFS_h#include <Arduino.h>uint8_t acharCounter ;#endifA Device2VirtualFileSystem.cpp fájl tartalma összesen ennyi:#include "Device2VirtualFileSystem.h"Látja valaki, mi a hiba?
Kösz! -
vegyszer
addikt
Szervusztok!
Az az igazság, hogy én veletek ellentétben fordítva ülök a lovon. Nem programozni szerettem volna megtanulni (az 25 évvel ezelőtt elriasztott akkor), hanem találtam egy problémát, amire megoldást is találtam. Csak az ára nem tetszett.
A feladat az, hogy egy vízszintes, és egy függőleges tengely mentén való elfordulást nagy pontossággal mérni lehessen.
Ez egy távcső kiegészítő család. Magát az adatot Bluetooth / WiFi segedelmével egy mobilon futó app kielemzve megmodja, hogy merre kell a távcsövet löködni a kívánt zobjektum megtalálásáhozUrasabb megoldás is létezik, hogyha ezt esetleg léptető motorral teszi, és követi is az égbolt látszólagos elmozdulását. Ezt hívj a csillagászati szakzsargon GoTo-nak, az előbbit push to GoTo-nak.
(ha az első feladat összejön, egy update két motor+ vezérlő után még szóba jöhet)Az egyik számomra legszimpatikusabb megoldás a DobsonDream8
Addig addig b@szta az agyam, hogy a két encoder-t meg is rendeltem. Azért, mert külön adja a muksó a vezérlő dobozt.
Igenám, de ez bő 100$. Nézve a dolog lényegét, egyre jobban kivilágosodott számomra, hogy ezt gyakorlatilag egy Arduino nano, vagy ESP32 vezérlő meg tudja tenni (hisz ő natív bt/WiFi kapcsolatot is támogat).
Egyáltalán jól értem, hogy az a kód, ami egy únón elfut, egy ilyen ESP32 vagy hasonlón is elmegy egy minimális fordítási beállítás után?
Számos hasonló projekt is van, ami 3D-ben nyomtatott alkatrészekkel vitelezi ezt ki.Így első körben egy uno bordot találtam itthon olcsón. A két OMRON E6B2-CWZ6C Rotary Encoder 2000P/R elvileg az országban van már. Nézegettem, hogy ez a 2000 jel/ciklus csatornánként értendő, azaz egy 360° os fordulat 8000 jelre bomlik, ez bőven elég a célra.
A végleges vezérlő még kiválasztás alatt van. Alapvetően nekem a DC táppal megtámogatható nano bordok tetszenek. Majd látom, hogy a végére mi is lesz belőle.Egyenlőre tervezetek
És valószínűleg kérdezni is fogok.Egyenlőre az uno Morse kódolva ki tudja titititátá-zni a nevem. Innen még van hova fejlődni...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Janos250
őstag
válasz
its_grandpa
#15223
üzenetére
Az alapfilozófiával messzemenően egyetértek.
Már az Algol 60-at is azért kedveltem a Fortran helyett, mert Algolban lehetett
sokkal strukturáltabb programot írni, Fortranban nem. A basic sem nagyon adott arra lehetőséget, a Pascal viszont részben igen. A visualbasic persze nagyon jó strukturált és objektumosított, de ott meg egy Országh nagyszótárnyi dolgot kell megjegyezni, propertyk formájában. A Cobol meg annyira szószátyár volt, hogy csak no. A C nyelvet én gyakorlatilag kihagytam, mert a pointerek miatt gyakran hibáztam benne. Ezért szeretem a C++ -t, mert ott már kényelmesen meg van oldva.Rövid nevek, hosszú nevek: ízlés kérdése. Én jobban szeretem a hangosan beszélő neveket a halkan beszélő helyett. Hogy miért InListPassiveTarget a target helyett? Mert a manualban is így nevezik. Ízlés kérdése. (Pap és papné esete)
Ugyanez igaz a konstansra is: Én úgy gondoltam, hogy jobb az, ha ránézésre látszik, hogy a wait4ready (readyToRead_out) hossza csak 2 byte, míg az ACK 7 byte, a többi meg hosszabb. Az ACK csak ACK maradt, mert azt azért általában tudják az emberek, hogy az mi.
Az ESP32 egyébként is jeleskedik a konstansok átdefiniálásában. A jómúltkor pl egy konstans (aminek a bitjei külön-külön jelentenek valamit) esetében már vagy az ötödik átdefiniálásnál tartottam, amikor kiderült a számértéke: 0 . Ha beírták volna oda a nullát, arról ránézésre tudná az ember, hogy minden bitje bulla, mint ha egy átdefiniált sor végén van.Egyébként nem az Ada programot kódoltam át ESP32-re, hanem írtam egyet, szándékom szerint úgy, hogy minél inkább passzoljon az ESP32-höz. Ez vagy sikerült, vagy nem. Ha megnézed az Ada programját, az azért elég más. Én megnéztem. Igaz, hogy ő is kiírja az elején a verzió számot, de ezt - gondolom - ő is a netem olvasta - ugyanúgy mint én - hogy nem nagyon tudjuk, hogy miért, de ez javítja a stabilitást.
Köszönöm a tanácsaidat, fontolóra veszem őket.
Hogy neked így nem szép a program, azt sajnálom, de lesz, ami így marad. -
its_grandpa
tag
válasz
Janos250
#15219
üzenetére
Örülök, hogy átment az "üzenet". Arra próbáltam felhívni a figyelmet,hogy eredetileg arduinóra írt c kód esp-re fordítása nem csak annyiból áll, hogy átállítjuk milyen board-ra fordítson az ide.
Ne haragudj de a magic number nem lehet szándékos, a define ingyen van
Kicsit lerövidítve a programod egy sora,hogy elférjen:SPI.transferBytes(Target_response_out, Target_response_in, 21); /magic number /
Inkább így ....
#define Target_response_len 21
.
SPI.transferBytes(Target_response_out, Target_response_in, Target_response_len);Ugye mennyivel szebb a második ?
-
Janos250
őstag
A kijelzők kezeléséről jut eszembe:
Már terveztem korábban, hogy írok egy illesztést ESP32-re, hogy a kijelzőre sima fájl "C" művelettel (pl. fprintf) lehessen írni, mert az sokkal kényelmesebb, mindent, konvertálást, formázást, egyebeket elintéz magától, de eddig elmaradt. Tud esetleg valaki kész ilyen illesztést, mert ha valaki már megcsinálta, akkor fölöslegesen nem tökölök vele? Egyébként se használok kijelzőt
, nálam a kijelző és a kapcsoló a mobiltelefon képernyője (Mindenkinek van valami dilije
) Korábban egyszer valamire másra nekiveselkedtem, de aztán abbamaradt, pedig definiált, hogy hogyan kell csinálni, hogy beilleszkedjen a fordítóba. Nagyjából ment is, de nem kijelzőre, csak hobbi próbaként. -
Janos250
őstag
válasz
its_grandpa
#15203
üzenetére
Igen, igazad van.
Eredetileg valahogy - a nem megfelelő inicializálás miatt - a státus lekérdezés nem igazán jól működött, ezért került be a sok delay, és úgy maradt. Valóban ki is lehet belőle szedni.
delay: nem igazán tudom, mi a helyzet vele, ettől függetlenül. Van ahol azt írják, hogy vtaskdelay-t használjunk. Az biztosan átadja a vezérlést a többi tasknak az adott időre, de van ahol azt írják, hogy a sima delay-t is ugyanerre fordítja, tehát mindegy. Majd egyszer kipróbálom.
A sok magic number szándékosan van így: az Ada könyvtárban ott van minden részletesen, az nagyon univerzális, de igen hosszú is.
Szándékosan olyat akartam, ami rövid, tömör, és az SPI kezelését is megmutatja. Az SPI-ről is tervezem, hogy írjak pár sort egyszer, mert aki csak az UART-ot használta, annak elég szokatlan a filozófiája, hogy nincs benne "csak read". Helyette úgy működik, hogy ha küldünk egy byte-ot, akkor - akár kell, akár nem - jön be is egy. Tehát úgy olvasunk, hogy kiküldünk egy kódot (sorozatot), hogy mit akarunk olvasni, aztán küldjük sorra a haszontalan kódokat, hogy velük együtt jöjjön a hasznos adat.
Elég fura ez pl. amikor a hőelem hőmérsékletét olvasom, ahol a konverter panelnak semmi adatra nincs szüksége, mégis SPI-vel úgy olvasom, hogy KÜLDÖM a felesleges adatokat, mert ezekkel párhuzamosan jön a hasznos adat. (Ez utóbbit csak azoknak írtam, akik nem szokták az SPI-t használni.) Az esp8266-on korábban nem is használtam könyvtárat, hanem a chip select és a clk lábakat mozgattam programból, és a MISO-nak megfelelőt olvastam, a MOSI-nak meg nem is volt megfelelője, mert fölösleges az adott esetben. Azóta átáltam kényelemből az SPI-re annál is. -
válasz
its_grandpa
#15203
üzenetére
Miért ellenjavallt? Ő esp32-re írta a kódot, ahol kimondottan elvárt a delay-ek használata, tekintve, hogy ott adja át a vezérlés a többi szálnak, pl. wifi.
-
its_grandpa
tag
válasz
Janos250
#15192
üzenetére
Belenéztem a kódba kíváncsiságból. Abba most nem megyek bele mennyire szépen van megírva, én pár dolgot másképp csinálnék, pl. túl sok benne a "magic number".
A gond a delay-el van ami ebben az esetben vélhetően nem okoz gondot, azonban az ESP-n ellenjavalt ilyen hosszú delay-ek használata, számtalan helyen leírták, egy példa a sok közül: https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/using-the-arduino-addon
Nem kötözködésből írtam, a jobbító szándék vezérelt, peace. -
Janos250
őstag
Az alapvető gond az volt, hogy összekevertem a PN532 (ami nekem van) chipet egy 522 leírással, így az egyszeri inicializálás miatt volt a gond.
Ez a verzió ESP32-n működik a PN532 chippel.
Van egy 522-es is, de az ugyanezzel a programmal nem megy, majd ha lesz kedvem, tökölök azzal is.
Az egy kisebb téglalap alakú, ez, amit most használtam, az meg egy piros négyzet alakú.
Van persze a komplett Adafruit szoftver, ami jó, és elég sok mindent tud, de hát az ember meg akarja ismerni a részleteket
Akkor is, ha az nem lesz olyan univerzális.
Elvileg tud a panel soros és I2C protokollt is, de azt nem próbáltam.
Ez 15.36 Mhz-es, van korábbról 125 kHz-es, de azoknak a megbízható használata nem ment.
Azzal elvileg semmit nem kéne csinálni, mert feltalálták a spanyol viaszt: semmit nem kell vele csinálni, ha közelíted a kártyát, UART-on küldi a kódot. Semmi mást, csak a kódot.
Az első példány, amit vettem, hol küldte, hol nem.
Vettem másikat, gondolván, gyári hibás. Az meg egyáltalán nem küld semmit.
Más:
Ha már megvan, megnéztem pár dolgot:
1. magyar személyi: olvassa, de randomos, azaz mindig mást ad. Ezt a módszert , ha jól tudom, az amerikai útleveleknél vezették be először. Kell hozzá ismerni a titkosítást, hogy visszanyerd a tényleges infót. Csak a kód első jegye állandó:08, ez jelzi, hogy random titkosított.
2.bankkártya: olvassa, és mindig ugyanazt a kódot adja vissza, nincs rajta randomizáló titkosítás (Erste és Revolut kártyákkal próbáltam.) -
Janos250
őstag
Ha valakit később érdekel, tettem fel egy mintaprogramot a PN532-es chipen alapuló 13.56 Mhz-es RFID panelok használatára ESP32-n, hardver SPI-vel megoldva:
https://arduinouser.hu/esp32/PN532_RFID/ESP32_RFID_PN532_SPI_Arduino_Budapest2021apr24.ino -
válasz
ekkold
#15190
üzenetére
Ez a piezo-s lifehack nagyon eredeti ötlet, megjegyzem későbbre!

A hall szenzorhoz annyit tennék hozzá, hogy az esp32-ben beépített hall szenzor van (hogy milyen célból, arról fogalmam sincs), ha feltétel a vezetéknélküli működés, akkor egy ilyennel egymagában is meg lehet oldani.
-
Janos250
őstag
válasz
Tomika86
#15180
üzenetére
Kirészletezve:
ESP321 SPI vonalai összekötve a 13.56 MHz-es olvasó megfelelő lábaival, közben a madzagok "megcsapolva", hogy a SALEAE digitális analizátoron lássam a forgalmat. SALEAE is, és ESP is USB-n gépbe.
Adafruit programját feltöltve az ESP32-be, rendesen működik. Kikapcsolás nélkül feltöltök az ESP32-re egy programot, ami az ESP saját SPI hardverjét használja. Szintén működik.
Kikapcsolás után ugyanez a program nem működik, úgy, mintha az Adafruit valamit átállított volna a slaven. Viszont digitális analizátoron nézve, az Adafruit, és a saját UGYANAZOKAT a jeleket küldi, ugyanolyan időzítéssel. Mi a fenét kellene még vizsgálni, hogy kiderüljön, mi állítódik át az Adafruit hatására, hogy utána a kikapcsolásig működik a másikkal is. -
Janos250
őstag
válasz
Tomika86
#15177
üzenetére
Valaki használta már ESP32-n a saját SPI-vel valamilyen 13.56 MHz-es olvasót? Van két olvasóm. Az egyikbe eddig nem sikerült életet lehelni, de a másik hibamentesen működik az Adafruit programjával, viszont ESP32-n vannak gondok. Saleae-n nézve PONTOSAN ugyanazt küldöm ki, időzítések is pont ugyanazok, mégsem tudja olvasni. Érdekes, hogy ha előtte az Adafruit programmal olvastam, akkor jó az ESP SPI driverrel is, de áramtalanítás után már nem. Tanácstalan vagyok. Mit lehet még nézni, ha az analizátor ugyanazt mutatja?
-
gyapo11
őstag
válasz
WinZol
#15172
üzenetére
Kijelzőre ötlet a régebbi Nokiák közül valamelyiknek a kijelzője. Nem túl nagy és fekete-fehér, de legalább olcsó ha sikerül találni. Hogy pontosan melyik azt nem tudom, de google biztos segít.
Amúgy esp-hez a web felület jó, amit János250 szokott ajánlani, és akkor bármivel nézheted, amin fut egy böngésző. -
WinZol
aktív tag
Hi,
Egy szauna vezérlést akarok magamnak összerakni.
A vezérlő egy ESP8266 / ESP32 lesz.A "vezérlő" képernyővel vagyok bajban.
Két variáció jutott eszembe:
1. Nextion 4,3
2. Egy androidot futtató kijelző, amin az MQTT DASH app futna.
Minta project hozzá.A második mellett szólna, hogy telefonról is ua. a felület működhetne.
Persze egy kiszuperált telefon is jó lehetne erre a célra, ha esztétikusan tudnám rögzíteni. (de szerintem az nem megy)Valami más ötlet?
Arduinót futtató kijelző ember áron (max 20 eHUF)?Köszi
WinZol
-
nessh
tag
Sziasztok,
Rávettem magam hogy próbálkozzak, kinéztem magamnak ezt a projektet [link]
Amikor feltölteném a kódot, azt a hibát dobja hogy:
TFT_eSPI.h: No such file or directoryHova kéne tennem ezt a file-t hogy megtalálja?
Közben megoldottam... Úgy álltam neki a dolgoknak hogy be se lőttem rendesen a library-kat...
-
Janos250
őstag
válasz
gazso75
#15037
üzenetére
Most kell feltölteni a tartalékokat, mert ha 1-2 héten belül nem rendeljük meg, az már tébolyda lesz a drága és elhúzódó adminisztráció miatt. Ha egy párszáz forintos tételre ki kell fizetni az 1-2 száz forint ÁFA mellé még a többezer forintos adminisztrációs díjat, az bizony kellemetlen lesz. Lehet mondani persze, hogy vedd meg a hazai kereskedőtől, de rengeteg olyan dolog van, ami nincs a hazai kereskedelemben. Lesznek persze továbbra is olyan netes áruházak, amik EU raktárról küldik az árut, de ott jóval kisebb a választék, és amit ott nem találsz meg, kénytelen leszel továbbra is kinnről rendelni. Szóval csinálj leltárt, és amire szükséged lehet, azt gyorsan rendeld meg. Nekem is most vannak útban még ilyen-olyan stiftek, csavarok, szenzorok, dugdosós kábelek, csatlakozók, IC-k, modulok, ESP32-k, tápegységek, FET-ek, miegymás.
-
Janos250
őstag
Az egyik ESP32-n olyan WEB szerver van, ami a 80-as porton kommunikál, hosszú, hogy miért. Mivel itthon is próbáltam, a routeren a kintről jövő port 80-as lekéréseket ráirányítottam
az ESP32-re, és kb egy órát magára hagytam. (ebéd)
Meglepődve láttam, hogy ez alatt az idő alatt 22 alkalommal próbáltak belépni, 12 IP címről:
27 224 137 17
45 45 10 45
46 245 22 225
101 200 204 55 3x
118 89 65 15 3x
128 14 134 170
167 71 39 182 7x
180 252 124 7
184 105 139 68
194 50 14 21
200 107 89 157
205 185 122 102
Ezekkel az URL "toldalékokkal":
/_ignition/execute-solution kétszer
/boaform/admin/formLogin
/config/getuser?index=0 kétszer
/login
/manager/html
/TP/public/index.php
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
/wp-login.php
admin/login.asp
Az IP címeket a http://geoiplookup.net/ -en megnézve, a legkülönbözőbb helyeken vannak. Főleg Ázsiában, de Amerikában, Németország, Oroszországban is. Még szerencse, hogy az ESP programja, ha számára értelmezhetetlen adatot kap, egyszerűen eldobja.
Ezek szerint az Arduinos megoldásoknál is bizony számítani kell arra, hogy megpróbálnak betörni, ezt le kell kezelni.
-
Janos250
őstag
Valaki kérte pár hónapja, hogy a string kezelésről az ESP32-n dologról írjak le neki pár dolgot.
Ami úgy hirtelenjében eszembe jutott, azt lefirkantottam. Terveztem, hogy majd egyszer rendbe teszem, de az elmaradt.
Én alapvetően lusta ember vagyok, és a lustaság - mint tudjuk - fél egészség, és az egészség manapság nagyon fontos
Ezért aztán így maradt, de felteszem, hátha valakit érdekel.
Ha éppen nincs jobb dolgod, belenézhetsz, ha érdekel.
Ne tessék morogni, hogy fésületlen, tudom. :-)
stringekről valami ESP32-n -
gyapo11
őstag
válasz
RAiN91
#14972
üzenetére
Ha a nagy impedancia a probléma, akkor 20 mA-ben kellene gondlkodni, ami 3.3 V-on 165 Ω, tehát jóval kisebb, mint amiről beszélgettek. Vagyis a hosszú vezeték egyik végén a nyomógomb, a másik végén az esp, a D7 közelébe forrasztott 165-200 Ω-os ellenállás a pozitívra és esetleg párhuzamosan egy kondi, de szerintem 20 mA nagyságrendű jelet nem fog egy 4 m-es drót összeszedni, de ha mégis, akkor a kondi azt megeszi, ezzel kicsit lassítva a H szint megjelenését a bemeneten.
-
PBA
aktív tag
Igazság szerint itt arról van szó, hogy mondjuk van 5 ember az adott WIFI AP közelében, mindegyiknek van egy-egy ESP boardja mikrofonos fülessel, az ESP-k a WIFI-n keresztül csatlakoznak egy SIP szerver konferencia szobájához, és így mindenki hall mindenkit oda-vissza.
Próbálkoztam mobilos kliensekkel, nem igazán váltak be. Lefogyott, az app háttérbe került és leszakadt, és ezer egy probléma merült fel. A célom egy faék egyszerűségű és megbízható megoldás kialakítása, és szerintem ez az ESP-s cucc pont ez tudná:
kicsi a fogyasztása, elvileg megbízható, egyszerű a használata, és teljesen testre szabottan alakítható ki (olyan dobozba teszem, ami nekem a legjobb, olyan akkut teszek mellé, amilyen kapacitású kell, stb).
Már csak infót/embert kell találnom, hogy meg tudjam valósítani az elképzelést.

-
PBA
aktív tag
-
-
PBA
aktív tag
Köszönöm!

Természetesen szívesen leírom majd, hogy mire jutottam, ha sikerül kibogozni a szálakat. Az a baj, hogy ESP-vel nekem sincs tapasztalatom, a kis fogyasztás miatt tetszett meg a dolog, meg ezek egész jó kis "all-in-one" boardoknak tűnnek, első ránézésre simán össze lehetne kalapálni belőlük egy jó megoldást, persze ez még csak az elmélet... -
Semmi gond!
Ha mégis úgy alakul, a hardverapró állás rovatában tudsz ezzel kapcsolatban hirdetni, de az itt kapott segítséggel szerintem egyedül is menni fog! 
Nem kell ezzel privátba menni, erre való a topik. Engem is érdekel ez a projekt, mindenképp írd be ide, hogy mire jutottál vele! Én személy szerint nem vagyok túlzottan otthon esp témakörben, de hál' istennek sok hozzáértő jár itt, valaki biztosan segít.
-
PBA
aktív tag
Sziasztok,
remélem, jó helyen járok a kérdésemmel... ESP32 alapon szeretnék egy lebutított SIP klienst üzembe állítani. Azt látom, hogy a kínai webshopokban vannak olyan boardok, ami kvázi fel vannak erre készítve, azaz kezelnek akkut, van benne WIFI, füles ki- és mikrofon bemenet, stb.
Leegyszerűsítve a cél az, hogy az az ESP32 board bekapcs után automatikusan fellépjen egy meghatározott WIFI hálóra, és csatlakozzon egy SIP szerverhez. Így megvalósulna a kétirányú audio kommunikáció.
Nem vagyok otthon a fejlesztési részben, így ehhez keresnék valakit, aki tud ebben segíteni. Nyilván a fáradozását honorálnám. Előre is köszönöm és elnézést, ha nagyon off-topic a dolog. Privát üzenetben elérhető vagyok!
-
Tankblock
aktív tag
válasz
Janos250
#14905
üzenetére
Bocs, épp mindennel el vagyok foglalva csak fórumozni nincs időm...
Na szóval javascript ugye...
elemnek legyen id ja és akkor scriptből lehet a tulajdonságait módosítani. pl láthatóságot, bármit.lenti példában egy slide switch van
myonoffswitchnéven és loggol is az oldalra vissza."<!DOCTYPE html><meta charset=\"utf-8\" /><title>ESP8266 Test Server</title><style> .onoffswitch { position: relative\; width: 90px\; -webkit-user-select:none\; -moz-user-select:none\; -ms-user-select: none\; } .onoffswitch-checkbox {display: none\;} .onoffswitch-label {display: block\; overflow: hidden\; cursor: pointer\; border: 2px solid #8F8989\; border-radius: 20px\;} .onoffswitch-inner {display: block\; width: 200%\; margin-left: -100%\; transition: margin 0.3s ease-in 0s\;} .onoffswitch-inner:before, .onoffswitch-inner:after { display: block\; float: left\; width: 50%\; height: 30px\; padding: 0\; line-height: 30px\; font-size: 14px\; color: white\; font-family: Trebuchet, Arial, sans-serif\; font-weight: bold\; box-sizing: border-box\;} .onoffswitch-inner:before { content: \"ON\"\; padding-left: 10px\; background-color: #C21515\; color: #FFFFFF\; } .onoffswitch-inner:after { content: \"OFF\"\; padding-right: 10px\; background-color: #C21515\; color: #999999\; text-align: right\;} .onoffswitch-switch {display: block\; width: 18px\; margin: 6px\; background: #A1A1A1\; position: absolute\; top: 0\; bottom: 0\; right: 56px\; border: 2px solid #8F8989\; border-radius: 20px\; transition: all 0.3s ease-in 0s\; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0\;} .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0px\; background-color: #CC262C\;}</style><script language=\"javascript\" type=\"text/javascript\"> var wsUri =\"ws://"; <ide az IP címe kell>":81\"\; function init(){ output = document.getElementById(\"output\")\; testWebSocket()\;} function testWebSocket(){ websocket = new WebSocket(wsUri)\; websocket.onopen = function(evt) { onOpen(evt) }\; websocket.onclose = function(evt) { onClose(evt) }\; websocket.onmessage = function(evt) { onMessage(evt) }\; websocket.onerror = function(evt) { onError(evt) }\; } function onOpen(evt) {writeToScreen(\"CONNECTED\")\; doSend(\"CONNECTED\")\; document.getElementById(\"myonoffswitch\").disabled = true\;} function onClose(evt){ writeToScreen(\"DISCONNECTED\")\;} function onMessage(evt){ var received_msg = evt.data\; writeToScreen('<span style=\"color: blue\;\">RESPONSE:' + received_msg +'</span>')\; if(received_msg == \"Connected\"){document.getElementById(\"myonoffswitch\").disabled = false\; document.getElementById(\"myonoffswitch\").checked = false\; doSend(\"GS\")\;} if(received_msg.startsWith(\"GS\")){ var l_tempSwitchStatus = received_msg.split(\":\")\; writeToScreen(\"Medve \" + l_tempSwitchStatus[1])\; document.getElementById(\"myonoffswitch\").checked = (l_tempSwitchStatus[1] === 'true')\; document.getElementById(\"myonoffswitch\").disabled = false\;} } function onError(evt){writeToScreen('<span style=\"color: red\;\">ERROR:</span> ' + evt.data)\;} function doSend(message){writeToScreen(\"SENT:\" + message)\; websocket.send(message)\;} function writeToScreen(message){var pre = document.createElement(\"p\")\; pre.style.wordWrap = \"break-word\"\; pre.innerHTML = message\; output.appendChild(pre)\;} function checkedChanged(message){doSend('WS:'+document.getElementById(\"myonoffswitch\").checked)\;}window.addEventListener(\"load\", init, false)\; </script><h2>WebSocket Test</h2><div class=\"onoffswitch\"><input type=\"checkbox\" name=\"onoffswitch\" class=\"onoffswitch-checkbox\" id=\"myonoffswitch\" onchange=\"checkedChanged(this)\" checked ><label class=\"onoffswitch-label\" for=\"myonoffswitch\"><span class=\"onoffswitch-inner\"></span><span class=\"onoffswitch-switch\"></span></label></div><div id=\"output\"></div>";
Nem kell oldalt töltögetni számomra az idegesítő.esetleg a CNLohr csatornáját ajánlom [link] esp8266 on tol valami 700Hz el weblapot és FFT vel zenéből RBG ledszallagot színez.....
-
válasz
gyapo11
#14934
üzenetére
Hát ezért írtam, hogy külön fájlba kell tenni, külön a programkódtól, amit csak include-ol az ember, de nem szerkeszti az IDE-n belül.

Én nem várnám, hogy olvasható legyen, de LCD kijelzőkhöz, ahol lookup table-ökben vannak bitmap-ben a karakterek, tényleg praktikusabbak az 1byte-os karakterek.
Esp+webes kezelőfelületekhez igazából mindegy, hogy utf-8 vagy más. -
Janos46
tag
Sziasztok!
Van egy kis meterológia állomásom NODEMCU-val (ESP8266). Kérdésem, hogy elkészítehetem-e ezt a WiFi ESP-12E chip ESP8266-el. Valamint ezt hogyan tudom programozni? A másikat könnyű a porton keresztül, ezen nincs.
Koszi a segítséget. -
válasz
Janos250
#14913
üzenetére
Leírnád pontosan még egyszer, hogy mi az elvárt működés onnantól, hogy betöltődött a weblap?
Addig világos, hogy van rajta egy csúszka, amit ha állítasz, egy értéket küld az esp felé. Innentől nem világos, hogy a csúszka mozgatása után minek kellene frissülni és milyen okból.
Ugyanazon a weboldalon máshol is megjelenik ez az érték? Vagy másik böngészőben kellene látszódni a változásnak? -
Janos250
őstag
válasz
Dißnäëß
#14902
üzenetére
A websocket a fizikai és a http (vagy egyéb) között van. Persze ez elég nagyjábóli megközelítés. A neten a kommunikáció IP alapon történik, viszont például ugyanazon a gépen egyszerre több program is használhatja a netet, pl. több böngésző is lehet újra megnyitva.
Ezért nem elég, hogy egy szerver csak a cél IP címét adja meg, meg kell hozzá adni még egy 2 bájtos egyedi azonosítót is, hogy a válasznál lehessen tudni, hogy melyik alkalmazásnak kell továbbítani az üzenetet. Ez a plusz 2 bájt a port. Amikor egy böngésző elküld egy kérést egy szervernek, akkor küld hozzá egy port számot is, amit a küldő gép határoz meg úgy, hogy olyat választ, amit ugyanazon a gépen másik alkalmazás éppen nem használ. Ezt az IP+port együttest, mint socketot kezeli egy egység. Tehát pl. ESP32-n: Ha WEB szervert használsz, az kapcsolatot tart egy alacsonyabb szinttel, ami olyan elérést ad, mintha pl. soros port lenne. Lehet rá írni, lehet róla olvasni. Ez a szint egy socketban adja tovább a kérést egy alacsonyabb szintnek. Ez a nem profi rendszereknél gyakran az lwIP szabad felhasználású egység. Ez aztán összerakja a továbbítandó csomagot (legalábbis egy részét), és beteszi egy memória részbe. Utána szól a hardvert legalacsonyabb szinten kezelő résznek, hogy ott van ebben a tárolóban egy csomag. Az fogja, átmásolja a hardver
saját tároló területére, és utasítja a hardvert, hogy küldje el.
Ebben a csomagban már benne van, hogy a választ melyik socket (IP+portot kezelő egység) részére kell visszaküldeni. A hardver még ehhez a saját MAC címét hozzáadva, egy adott MAC címre küldi, amit az ARP nevezetű rész határoz meg. Ezt úgy teszi, hogy egy mindenki számára szóló üzenetben kérdezi az összes, ugyanazon a madzagon lévő gépet, hogy ez az IP cím kié. Ha senkié, akkor a routernek küldi. A user által használt legalacsonyabb szint a socket szokott lenni, azaz megadott szisztéma szerint összekészítesz egy csomagot, és azt adod át neki. ESP32-n én nem használom, mert a serializált szint kezelése sokkal egyszerűbb, de gyakorlatilag ez socket szintű programozás, csak megúszom a csomag összekészítésének a melóját. -
dew28
aktív tag
par linux disztron alapbol FF van fenn. most akkor meg az op.rendszert is meg kell szabni?

safarin anno volt ugy, hogy elkezdtem manualisan beirni az esp ip-jet a cimsorba a megfelelo valtozo ertekevel, es ha az elozmenyekben mar benne volt, akkor automatikusan be is toltotte a hatterben, igy pl felkapcsolta a vilagitast pedig meg vegig sem irtam amit akartam..
-
Janos250
őstag
Sajnos nem oldotta meg a problémát. :-(
Érdekes, hogy ha a router mögötti lokális hálón lévő gépről lépek be,
akkor gyakorlatilag nincs probléma, de ha a "világból", akkor marad a gond. Nem tudom a fejlécből kiszűrni, mert csak felépíti a kapcsolatot, de egyetlen huncut bájtot se küld. Majd azt próbálom meg, hogy ha a kapcsolat felépült, és rövid időn belül nem jön adat, akkor törölje a kapcsolatot. (client.stop). Az lenne jó, ha a html kóddal (pl. valami CSS) tudnám ezt a dolgot letiltani.
A neten vannak cikkek arról, hogy az ESP32 néha rosszul kezeli a netet, de ezek állítólag a most februári 1.0.5 verzióval megszűntek. Meg egyébként se valószínű, hogy az ESP csinálja, mert honnan tudná magától kitalálni, hogy ott a távolban a FF lapján a user a cursot a link fölé vitte. Meg csak a FF-ban van ez a gond. -
Janos250
őstag
Köszi mindkettőtöknek. Lehet, hogy jó lesz, hogy újraindítottam az FF-t. Viszont most valami már zűr van, mert most meg nem éri el az ESP-t semmi, ennek az okát majd keresem.
-
válasz
Janos250
#14856
üzenetére
Ezzel magán az ESP-n tudod szűrni a lekérést:
As a server admin, can I distinguish prefetch requests from normal requests?
Yes, we send the following header along with each prefetch request:X-moz: prefetch
Of course, this request header is not at all standardized, and it may change in future Mozilla releases. Chrome uses "X-Purpose: prefetch" or "Purpose: prefetch" header.Ezzel meg a böngészőben tudod kikapcsolni:
Is there a preference to disable link prefetching?
Yes, there is a hidden preference that you can set to disable link prefetching. Add this line to your prefs.js file located in your profile directory (or make the appropriate change via about:config):user_pref("network.prefetch-next", false)
-
Janos250
őstag
Tud erre valaki magyarázatot? És megoldást,
ESP32.
WEB lap.
Vannak benne linkek, amik működnek is, sőt épp az a baj, hogy nagyon is működnek Firefox alatt.
Elég, ha a linkre ráviszem a cursort, akkor ugyebár alul megjelenik az URL, de nem csak megjelenik, hanem küld egy kapcsolódás kérést a szerverre. Az asztali gépen lévő Firefox is, és a telefonon lévő is ugyanezt csinálja. Crome nem.
Hogyan lehet megoldani, hogy ha Firefoxon a link fölé viszem a cursort, ne cseszegesse az ESP szervert, mert kapcsolódik hozzá, de ha nem nyomom meg, akkor nem küld adatot, de blokkol, míg le nem jár az idő.
A linkekben én semmi kifogásolni valót nem látok:<a href="http://86.xxx.xx.xxx:50000">frissít </a><a href="?k=-10">-10</a> -
Janos46
tag
Heuréka, műküdik! megkaptam a megoldást a TP-LINK -re a Windows 10 fórumon.
Lehet, hogy csak annyi a gond, hogy nem jó tartományban "dolgozik", azaz a régi router-ed alapértelmezett belépési címe pl. 192.168.1.1 (ezáltal a DHCP tartomány 192.168.1.100 és 192.168.1.199 közé esik), míg az új router-é meg 192.168.0.1 (ezáltal a DHCP tartomány 192.168.0.100 és 192.168.0.199 közé esik) és ezért nem látja.
A régi routerben nézd meg milyen IP-t osztott ki/ kap az ESP8266 és annak megfelelően állítsd át az új router-ed belépési címét(a DHCP tartomány automatikusan átáll) -
válasz
its_grandpa
#14798
üzenetére
A linksys-ed a 192.168.1.* , a TP-LINK meg 192.168.0.* , persze hogy nem látod az esp-t, át kellene konfigolni.
Ennek semmi jelentősége, ha DHCP-vel kapja az IP-t.
-
Új hozzászólás Aktív témák
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue - 1 ÉV GARANCIA, Kártyafüggetlen, 100% Akkumulátor,MS3379
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3521
- RTX 5090-es, 5080-as stb... GAMER laptopok + dokkolók + licencek
- Lenovo ThinkPad // T - Széria // X1 carbon // X1 Yoga 2-in-1 // és a többiek... 3-12. gen.
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest
Legalább egy feszültségosztót tegyél közéjük.
(Nekem ez is nagy szó volt akkor még) 




![;]](http://cdn.rios.hu/dl/s/v1.gif)




