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
-
Janos250
őstag
-
Janos250
őstag
válasz
tibi-d
#11872
üzenetére
Impulzus hossz? Azt 4 digit pontossággal bőven lehet.
Mi a bemenő jel? Analóg, vagy digitális. Ha analóg, akkor abból hossz előállítható. Milyen gyakran kell küldeni a jelet, mennyire kell, hogy realtime legyen? Pl. egy ESP12E-t (vagy mást) az idő zömében lightsleep állapotban tartasz, akkor meglehetősen keveset fogyaszt. Amikor meg működik, ha ki van kapcsolva a WiFi (modem sleep), akkor 15 mA körül fogyaszt, átlagban nagyon jó lesz. Arduino alatt van is kezelő könyvtár.Vagyis nagyon kevés az info ahhoz, hogy valaki bölcset javasoljon!
-
zsolti_20
senior tag
Elgondolkodtam ezen az egeszen es nagy valoszinuseggel a memoriabol futok ki. Mikor a kodot toltom fel akkor azt irja hogy keves a memoria es stabilitasi problemak lehetnek. 90% folott vagyok mar. Probaltam oled kijelzovel de azzal mar nem birkozik meg mert 111%-ot ir.
van itthon egy esp8266-om. Mekkora munka lenne arra atkoltoztetni mindent? Az esp8266 nagyobb memoriaval rendelkezik? 
-
Sziasztok! Megjött az Esp32-cam boardom, és most szembesültem a ténnyel, hogy nincs hozzá ftdi programozóm (na jó, ez túlzás, csak gondoltam megoldom, ahogy szoktam): eddig jól elboldogultam nélküle, egy arduino uno-val szoktam programozni, amit kell, de ennek ugyebár 3.3V kell, és nem szeretném megsütni idejekorán... Meg tudom oldani ellenállásosztóval, meg 3.3V táppal, vagy vennem kell egy programozót? Tudtok ajánlani olyat, ami kimondottan 3.3V lapokhoz való? Esetleg belföldről, hogy ne kelljen rá 2 hónapot várnom?
Köszi előre is! -
Én ilyet használok ESP32-vel, ezzel a függvény könyvtárral. Nem tudom mega-val menne-e. Ahogy nézem a mintakódokat a TFT könyvtár kell meg az SPI, de az SPI az lehet szerintem mega is, lényeg a portokat kell jól bekonfigolni.
Sajnos az első kijelzőm fél év után cserés lett. Ha 27 fok körül volt a hőmérséklet, akkor csíkozott a kijelző. A második kb 3 hónap óta még jól működik.
Mindenképpen SPI-os kijelzőt javaslok az egyszerűbb összekötés és programozás miatt. Valamint ne a kijelzőt vedd meg először, hanem találj megfelelő könyvtárat és ahhoz vegyél kijelzőt.
-
-
Így kezdődik pedig:
#if defined(ESP8266)Tehát ha nincs definiálva akkor ESP32 könyvtárakat importál.
Amit linkeltél 8266-ra van, ha le akarom fordítani akkor hasonló hibát dob:
In file included from D:\DownloadTemp\WiFiManager-development\examples\OnDemand\OnDemandConfigPortal\OnDemandConfigPortal.ino:7:0:
C:\Users\T\Documents\Arduino\libraries\WIFIMANAGER-ESP32-master/WiFiManager.h:36:22: error: 'const char HTTP_HEAD []' redeclared as different kind of symbol
const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><title>{v}</title>";
^
In file included from C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WebServer\src/WebServer.h:30:0,
from C:\Users\T\Documents\Arduino\libraries\WIFIMANAGER-ESP32-master/WiFiManager.h:21,
from D:\DownloadTemp\WiFiManager-development\examples\OnDemand\OnDemandConfigPortal\OnDemandConfigPortal.ino:7:
C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WebServer\src/HTTP_Method.h:10:3: note: previous declaration 'HTTPMethod HTTP_HEAD'
HTTP_HEAD = 0b00100000,
^
Multiple libraries were found for "WiFi.h"
Used: C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board ESP32 Dev Module. -
Akkor lehet én értettem félre, de nekem kicsit másnak tűnt a linkelt minta kód.
Wifimanageren belül az OnDemandConfigPortal.ino lenne az ami nekem kell ha nem tévedek a sok mintakód közül.
A hiba:
In file included from C:\Users\T\Documents\Arduino\libraries\WIFIMANAGER-ESP32-master\examples\OnDemandConfigPortal\OnDemandConfigPortal.ino:14:0:
C:\Users\T\Documents\Arduino\libraries\WIFIMANAGER-ESP32-master/WiFiManager.h:36:22: error: 'const char HTTP_HEAD []' redeclared as different kind of symbol
const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><title>{v}</title>";
^
In file included from C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WebServer\src/WebServer.h:30:0,
from C:\Users\T\Documents\Arduino\libraries\WIFIMANAGER-ESP32-master\examples\OnDemandConfigPortal\OnDemandConfigPortal.ino:11:
C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WebServer\src/HTTP_Method.h:10:3: note: previous declaration 'HTTPMethod HTTP_HEAD'
HTTP_HEAD = 0b00100000,
^
Multiple libraries were found for "WiFi.h"
Used: C:\Users\T\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board ESP32 Dev Module. -
Szerintem ez nem az amire én gondoltam.
Alapból van egy ESPNow kapcsolat, így a fő ESP amin fut a webserver az AP módban van. Ez így megy is, viszont a routerre fel kell csatlakozzon az NTP lekérés miatt és mivel a router hálózatán keresztül akarom elérni a webservert. Na most a routerre csatlakozás nekem direkt módon, a kódba beírva megy. Ha viszont egy másik routerre akarok csatlakozni, mert vagy máshol van az eszköz vagy routert cserélek, akkor be kell írnom a router új SSID-jét, ehhez új kódot kell fordítani és rátölteni az ESP-re.
Van a wifimanager opció ami elvileg ebben segítene, de nem tudom rátölteni az ESP-re mert hibát ír ki rátöltésnél. Ez lenne amit szeretnék, van kép illusztráció is hozzá.
-
Teasüti
nagyúr
Gondoltam annyit tesz, hogy Non Volatile Storage. De csak tippelek.

Ez Arduino környezetben az EEPROM, vagy ESP-nél annak a szimulációja a ROM-ban.SPIFFS meg amennyire értem egy csatolt partíció, amit futás közben lehet írni/olvasni, mint egy SD kártyát.
Itt lehet letárolni mondjuk a webserver-hez használt fájlokat, ha basic html-nél többre volna szükség. Mondjuk képek beillesztésére, vagy ilyesmi. -
Konkrét példám sajnos nincs, de ami neked kell, az könnyen összeollózható az ESP32-es Arduino IDE WiFiAccessPoint, NVS flash példákból. Én ezt csinálnám:
1/ Program megnézi, hogy van-e az NVS-ben letárolt AP név.
1/a Ha igen, csatlakozik, profit.
1/b Ha nem, vagy nem tud csatlakozni folyt.
2/ Indít egy saját AP-t.
3/ User megadja az AP SSID-t/pass-t.
4/ Letároljuk NVS-ben.
5/ Visszatérünk 1-re. -
Tud valaki adni minta kódot hogyan tudnám megoldani, hogy egy konfig webes felületen keresztül tudjak az esp32-vel felcsatlakozni a kívánt wifi hálózatra, ahol majd a webserver-t elérem? Jelenleg direkt módon adom meg a wifi elérhetőséget, viszont router csere esetén új kódot kellene fordítanom. WifiManager nem nagyon akar lefordulni.
Csinált valaki már ilyet?
-
gazso75
aktív tag
Urak,
Gondolkozom a Golf 5-ösöm autórádiójának okosításán. Nincs benne telefon kihangosítás.
A terv, hogy egy BT lapka erősítővel + mic-al + valamilyen vezérlő ( nano, esp* ). Ha zenehalgatás, vagy telefonálás indulna, akkor a vezérlő egy relével leválasztaná a fejegység hangszórókimenetét, és átkapcsolná az erősítőre. Valamilyen késleltetés kellene, hogy ha mondjuk 5 sec-ig nem szólal meg senki a telefonban, akkor ne kapcsolgassa oda-vissza.
Nemtudom értehető e gondolatmenetem. Foglakozott már valaki valami hasonlóval ? -
ESP32-vel készült binárist hogyan lehet flashelni a legegyszerűbben? El szeretném kerülni az újrafordításból eredő problémákat, ezért készítettem binárist a kódból.
-
válasz
Gergosz2
#11578
üzenetére
Ok, köszi. Még csak a terezésnél vagyok. Az SD kártya támogatás, csak felmerült, hogy ha már a többi kész, akkor ezt is kipróbálom.
#11579 Janos250
Egyelőre összesen 1 szoba, ahol hozzá tudok nyúlni az áramhoz az asszony rosszallása nélkül.
Olvastam a SONOFF dolgokról, de nekem ez most csak játék, maradok vezetéknél mert nincsenek nagy távolságok az érzékelők és az ESP32 között.A leghosszabb vezeték kb 5 méter lesz a kültéri hőmérséklet érzékelő felé. Minden érzékelő utp vagy telefon vezeték lesz. (Olvastam egy fórumon, hogy egy srác 10 db DS18B20-at kötött rá egy ESP32 lábra. A legtávolabbi pedig 15m-re volt, és egyedül az ellenállásokra kellett figyelnie, mert 4-5 méternél már a vezeték ellenállását is figyelembe kell venni. Ő UTP kábelezést használt és állítólag tökéletesen működik neki.)
UTP kábelem van bőven, így én is azt fogok használni.A 4-es relét csak azért vetem, mert majdnem egy árban láttam az 1 darabossal. Ezzel egyelőre csak a szobai lámpát fogom vezérelni.
A redőnyt vezérelném még szívesen, de sajnos ahhoz nagyobb anyagi ráfordítás kellene.
Meg nagyon ötletem sincs, hogy mire használhatnám még a smart home rendszert aminek jelen körülmények között lenne értelme. -
válasz
Janos250
#11577
üzenetére
Azt hittem azért írtad, mert azt írtam a kollégának, hogy túlzás nano helyett esp32, de én is tudom, hogy az esp32 jelenleg az arduino szent grálja.
Csak azért írtam, mert úgy gondolom, hogy aki arduino-zik, sosem árt megtanulni kódot optimalizálni, meg kihozni a maximumot adott hardverből, mert az erős hardver, a végtelen erőforrás nagyon ellustítja a kódolókat, lásd: mobil appok féktelenül növekvő memóriaigénye. -
Janos250
őstag
Szerintem a kód el fog férni. A plafon, ami kocogtatja a fejed az lesz, hogy a különböző helyen elhelyezett dolgok adatait hogyan juttatod el az ESP32-höz. Ha vezetéken, akkor az egy madzag gubanc lesz. Ha a szenzorok egy részének az adatait WiFi-n akarod eljuttatni, akkor azokhoz kell valami WiFi képes eszköz, pl. ESP8266 a szokásos.
És akkor már ott vagy, hogy egyszerűsíti a dolgod, ha nem elemi szenzorokat vásárolsz, hanem olyat, amiben eleve bótilag ott van a kezelő ESP8266 (vagy ESP8255, amit praktikusan ugyanannak tekinthetünk).
Ilyenek az ebay-en a Sonoff ("Switch ON/OFF") cuccok, érdemes megismerkedni velük. Pl. olyan, ami 230V-os relét kapcsol, és mellesleg van benne hőmérséklet érzékelő és páratartalom mérő. Ezek a Sonoffok - és újabban más hasonló eszközök - ESP8266-ot használnak, és készítettek rájuk egy jól használható, rugalmas, C++-ban megírt, forrásnyelven elérhető rendszert, aminek Tasmota a neve.
Sokan a kész lefordított bináris felvitelével kínlódnak, én mindig az Arduino felületen a szokásos módon lefordítom, feltöltöm, mert akkor a forrásnyelvű programba be tudom írni a saját, specifikus dolgokat, pl. saját WiFi router jelszava, stb. Nagyon kényelmes és rugalmas rendszer, érdemes vele megismerkedni, ajánlom általánosan mindenkinek! Ha egyszer feltöltöttél madzagon egy Tasmota rendszert, onnan kezdve - ha változtatni akarsz - már WiFi-n keresztül megy a feltöltés.Továbblépve:
Aztán, ha nagyon sok mindent akar az emberfia használni, akkor már a kisebb gubanc érdekében a következőt használják:
MQTT !!!!
Ez egy ilyen feladatokra kidolgozott rendszer, aminek a lényege:
Minden szenzor nem oda küldi az adatot, ahol arra szükség van, hanem mindent egy központi szerverre (MQTT szerver). Ezen regisztráljuk be, hogy melyik szenzor adatát kinek küldje tovább. Pl. ha a hőmérő fagyot mutat, akkor küldje egy Sonoff relének, vagy konnektornak, ami bekapcsolja a fűtést. Ez nagyon nagy fokú rugalmasságot biztosít, mert nem kell a programokba belenyúlni változtatás esetén, hanem óhajunkat az MQTT szervernek küldjük neten.
Jelenleg erre az MQTT szerver célra a málnát használják, én is azt várom, hogy valaki csinálja már meg ESP32-re is.
Na, és persze akkor már egy lépés, hogy valamelyik okosotthon rendszert is használjuk, pl. Home Assistant.Na, megint szómenésem volt, ezeket nem azért írtam, hogy most azonnal ezeket fogod használni, hanem lásd Te is, és mások is, akik ilyesmiben gondolkodnak, hogy mi a jelenleg használatos metodika.
-
Janos250
őstag
válasz
Izeka82
#11573
üzenetére
Kezdők tévedése, hogy az Arduinonak van nyelve. Nincs Arduino nyelv, csak C++ van. A szabad C++ fordító régebbi, vagy újabb verzióját használják az Arduino kompatibilis lapok.
Attól Arduino, hogy meg van benne írva sok osztály, stb. előre, tehát olyan, mint egy szabvány. Például adott módon kell a pinekre írni, olvasni, megadni, hogy input, vagy output lesz, stb, de ezek nem nyelv részek, hanem előre megírt dolgok, amit minden arduinós laphoz megírnak, tehát ugyanúgy kell használni. Aztán persze vannak controller specifikus dolgok, amik az adott controller jellemzői, azoknak a kezelésére - általában - megírja a gyártó a kezelő osztályokat, miegymást, ami természetesen csak az adott controller jellemzője.
Tehát amikor írunk egy programot, nem úgy kell gondolkodni, hogy hogyan írjuk ezt "Arduinóban", hanem, hogy hogyan írjuk ezt C++-ban. Tipikus példa erre pl. az ESP32 párhuzamos programozása. Lehet használni a freeRTOS specifikus módokat, de lehet a szabványos C++(11) párhuzamos programozási dolgait is. Ez utóbbi más controlleren is fog működni, ha elég korszerű C++ fordítót használ, míg az előbbi csak és kizárólag az ESP32-n. Más kérdés, hogy az előbbi rugalmasabb, több mindent tudunk könnyedén beállítani (pl. melyik magon fusson, milyen prioritással, stb.)Ja, és még valami: kérdezni nem szégyen, itt mindenkinek segítenek, itt nem divat az "olvasd el a dokumentációt" válasz.

-
Sziasztok!
ESP32-vel való ismerkedésemet egy LED szalag egyszerű be és kikapcsolásával kezdtem. Azóta az működik, és kicsit tovább is fejlesztettem, mert egy fapados webes felületen a színeket is meg tudom változtatni. a kódon még biztos lenne mit egyszerűsíteni, ami meg is fog történni, de majd csak az új projekt keretén belül.
Most kicsit nagyobb fába vágom a fejszém. ESP32-vel szeretnék egy egyszerűsített smart home rendszert csinálni:
- 3,5" Nextion értintő kijelző
- 1 db ablaknyitás érzékelő
- LED szalag vezérlés (meglévő szalag + kód felhasználásával)
- 2 hőmérő (ds18b20)
- várható hőmérséklet lekérése (van erre API szolgáltatás)
- 4 relés modul kezelése
- 6 nyomógomb a reléhez, a LED szalaghoz, és az LDC kijelző ki-be kapcsolásához
- android applikácó (MIT App Inventor)
- SD kártya (elsődlegesen a webes felület HTML fájljaihoz)Azt hiszem el leszek vele egy darabig, csak egy a félelmem, hogy a kód nem fog elférni az ESP32 flash-ben.
-
-
zsolti_20
senior tag
Nem tudom csak vesztegettem az időm vagy sem az arduinoval, de majdnem egész este ébren voltam hogy végezzek a szoftverrel. Mire kb 90% lett és a végére értem annyi mindent kellene módosítani egy új kártya regisztrálásához hogy az rengeteg, és minden felhasználó megdobná a szoftvert elég sok sorral. Így kukázom az arduinos megoldást és hallgatok rád amit kellett volna az első perctől aztán egy ESP8266-ra alapozok adatbázisssal, mert másképp ez nem fog menni. Max arra jó volt az egész hogy megismertem az RFID és az USB író/olvasó működését.
-
Janos250
őstag
válasz
zsolti_20
#11557
üzenetére
Ha C#-et már használtál, akkor rossz a fogalmazás:
"De mikor belekezdtem az ESP ismerkedésébe kicsit kevésnek éreztem magam hozzá"
C# mellé ez lenne a helyes fogalmazás:
"Azért nem nanora építettem, hanem ESP-re, mert a nanohoz kicsit kevésnek éreztem magam"
Ugyanis az ESP32 compilere a C++(11) GNU compilere, ami eléggé korszerű, és ha a C#- ból kiveszed a Microsoft dolgokat, máris azt kaptad! Az már csak hab a tortán, hogy a többi arduinoval való kompatibilitás érdekében meg van írva egy csomó osztály amit használhatsz a "szabványosak" mellett, definiálva van egy csomó konstans, objektum, és a freeRTOS használatához van egy halom API. -
-
válasz
zsolti_20
#11542
üzenetére
Túlbonyolítjátok. Állapotgép az mindenképp kell (nem nagy dolog, csak a neve ijesztő
), de ha esp lesz a hardver, ott a delay() nem hogy kerülendő, hanem egyenesen kívánatos, ugyanis nem akasztja meg a futást, hanem ilyenkor végzi el az eszköz pl. a wifi hálózat kezelésével kapcsolatos feladatokat.
Interrupt nem feltétlenül kell, mert a programnak igazából ez az egyetlen feladata van, a gombok figyelése.
A gombok pergésmentesítéről viszont ne feledkezz el! Jó példakódokat lehet hozzá találni, akár itt a topikban is. -
Pár hete kérdeztem mi lehet az oka annak, hogy az ESP32 webserver eddig jól működött, most meg néhány óráig jó, de utána nem lehet elérni. Az esp nem fagyott ki, mivel a kijelzőt kezelte és mérte a hőmérsékletet is, egyedül a webserver nem volt elérhető pár óra után.
Úgy néz ki meg van a hiba oka, legalább is 3 napja gond nélkül megy, előtte meg 1 napot se bírt. Itt a link hozzá: [link]. Ez alapján a wifi küldés buffert kell átírni az sdkconfig.h-ban.
A kódot még tavaly ősszel írtam, nem tudom akkor az Arduino környezetből 1.0.2 mehetett talán vagy 1.0.1. Lehet ott még más volt ez az érték. Pár hónapja újratelepítettem az egész rendszert és az 1.0.3-nál jött elő a hiba. Ha esetleg más is hasonló hibába esne, itt hagyom és a kulcsszavak: webszerver, webserver.
-
válasz
zsolti_20
#11526
üzenetére
Hát persze, ezt írtam is tegnap. A belső 4MByte flash ketté osztható, pl. 1M programkód +3M SPIFFS fájlrendszer. Ezen a belső SPIFFS fájlrendszeren tudod létrehozni az sqlite3 adatbázist. A pc/mobil eszköz csak mint kliens kapcsolódik fel wifi-n keresztül, az ESP teljesen autonóm módon működik, még AP módban is tud működni, ha mondjuk nincs router, amire kapcsolódjon, akkor létrehoz egy saját wifi hálózatot, amire mondjuk telefonnal rá tudsz kapcsolódni.
Én a helyedben nem Esp32-vel csinálnám, hanem Esp8266-tal, mert az Esp32 SPIFFS kezelő része szerintem még béta állapotú, nálam legalábbis gyakori adatvesztést produkál, ami egy játéknál elmegy, de komolyabb feladatnál már okozhat kényelmetlenséget. -
válasz
zsolti_20
#11524
üzenetére
ESP32 az ESP8266 továbbfejlesztett változata. Van benne BLE, több I/O port, kétmagos CPU, ami valódi többszálas futtatást is lehetővé tesz, és RTOS fut rajta. Cserébe az ESP8266 olcsóbb (amúgy mindkettő filléres tétel a tudásához képest), a lábai 5V toleránsak, tehát szintillesztés nélkül lehet rá 5V szenzorokat miegyebet kötni, több és kiforrottabb library-t találsz hozzá
-
válasz
zsolti_20
#11520
üzenetére
Igen, az Esp32 jelenleg az arduino szent grálja.
Az Esp8266 hasonló az Esp32-höz, csak (szerintem) egyszerűbb, kiforrottabb, és jobb az arduino kompatibilitása. Legalábbis amikor én Esp32-re írtam sqlite3 adatbázis kezelő programot, azt tapasztaltam, hogy az SPIFFS kezelő része még igencsak béta állapotú.
Neked pedig pont ennek a stabil működése (is) a lényeg. Amire neked kell, az Esp8266 (pl. Wemos D1 mini) is tökéletesen megfelel. -
zsolti_20
senior tag
Most néztem utána, nagyon durva cucc ez az ESP32. Ahogy látom ez maga az arduino...
Csak luxusabb kivitelben. Elgondolkodtató, lehet erre alapozom az egészet.És a legjobb hogy minden elérhető egy webes felületről.
-
zsolti_20
senior tag
Köszönöm szépen a válaszokat és tippeket, végig fogom nézni a lehetőségeket amiket ajánlottál. Érdekes alternatívák és ismeretlen eszközök így tudom bővíteni a tudásom.

Jobb választás lenne NFC olvasóval megoldani? Erre gondolok. NFC-nél több lehetőségem van módosítani?
ESP32 érdekes tűnik számomra. Még soha nem hallottam róla. Ez arduino kompatibilis eszköz? Vagy hogy képzeljem el?

-
Bocs, de leírom, hátha hasznát veszed.
Ha nekem kéne ezt megcsinálom, biztosan esp-t használnék (8266-ot vagy esp32-t). Egyrészt mert beépített flash van rajta, amit lehet pendrive helyett használni, másrészt mert van hozzá sqlite3 adatbázis lib, ami képes az SPIFFS-en létrehozott adatbázist írni-olvasni! (igazság szerint SD kártyára létrehozott adatbázist is támogat natívan, SPI kommunikációval) Plusz lehet hálózaton keresztül adminisztrálni, ami azt jelenti, hogy ha új szavazót kell új rfid kártyával regisztrálni, azt böngészőből meg lehet tenni, webes felületen. Ugyanígy az eredményeket is le lehet kérdezni. Lehet jelszóval védeni az egészet, míg egy pendrive bárki számára hozzáférhető (feltéve, hogy titkos/érzékeny adat a szavazás eredménye).
A txt fájl egyik hátulütője, hogy nehéz visszaolvasni belőle, hogy ki szavazott már és ki nem, míg adatbázissal ezt nagyon egyszerűen meg lehet oldani. -
gazso75
aktív tag
[link]
Sziasztok, van ötlet, hogy az Esp32-cam modul, miért ad ilyen képet? -
A master az tápról megy, így lemerülni nem tud, max áramszünet esetén vagy ha én áramtalanítom akkor történhet valami. Már párszor újraflasheltem, változtatva a tömb méretével, de ugyan az történik. Ez a webszerveres dolog valamiért nem tetszik neki vagy a sok adat. Ezért gondoltam rá, lehet nem ESP-n kellene loggolnom.
-
Lehet, hogy a lemerüléskor sérült a SPIFFS fájlrendszer. Próbáld újraflashelni. Amúgy sem vmi megbízható az esp32 SPIFFS, én sqlite adatbázist próbálok rajta írni-olvasni, és mindig átmegy egy idő után read only-ba, az okát nem tudtam kideríteni, talán bugos a lib, de az is lehet, hogy a két jelenség valahogy összefügg.
-
Sziasztok!
Megy már december óta 2db ESP32 ESPNow-al. A master meghajt egy kijelzőt, webszerver megy rajta amivel google chart-on látható 19-24 óra adat (10 percenkénti mérés van) és a saját belső memóriájába menti. Júniusban lemerült a kinti egység, illetve volt pár áramszünet, így nem tudom pontosan, hogy hány napig ment a leghosszabb ideig, de volt 1.5 hónap minimum.
Ennyi a bevezető. Most az a jelenség, hogy kb. 1-2 nap után hiába akarom megnézni a local ip címen a mért adatokat nem tölti be. Resetelem akkor megint jó, de szintén X nap múlva nem tudok ránézni és ahogy írtam néhány hónappal ezelőtt még akár több mint 1 hónap után se volt gond. Lehet hogy valami a memóriával van? Már csökkentettem a tárolt mennyiséget, de sajnos így is "kifagy" a webes rész, nem tudok ránézni. A kijelző működik, tehát maga az ESP nem fagy ki. Lenne ötletetek mi lehet a gond?
Másik amiben gondolkodom, lehet jobb lenne raspberry-n megoldani a webszerver részt. Ez vajon megoldható úgy, ha a raspberry-n menne mosquito vagy valami hasonló ajánlott loggoló + torrent + média szerver, később meg ki tudja még mi?
-
Janos250
őstag
válasz
Mexbacsi
#11473
üzenetére
A led sorok 12V-al mennek, ehhez kell:
- ha nincs elektronikai gyakorlatod, akkor relé. Az UNO 5 V-al megy, tehát olyan relé, amit 5V meghúz. Később meg majd olyan, ami már 3.3 V-on, mert a korszerűbb lapok 3.3 V-al mennek.
- ha van, akkor FET. Valami alacsony gate feszültségű, pl. IRL sorozat.
Ha meg olyan szalagot akarsz később, amin az egyes ledek fényereje, színe egyenként változtatható (WS2812), akkor - szerintem, de nem mindenki szerint - az ESP32 lesz a legcélszerűbb UNO helyett. -
hermit
tag
Sziasztok,
van valakinek oled kijelzovel (0,96") tapasztalata (ESP8266 hajtja meg)?
Kiirok ra mindent amit akarok, viszont ha egy megadott poziciora uj erteket akarok kiirni, akkor az elozot nem torli le.
Probaltam azt, hogy a kurzor szinet a hatter szinere valtoztatom, kiirok valamit, utana vissza a kurzor szine feherre es uj ertek kiirasa, de nem lett jo.
Jelenleg ugy mukodik, hogy kepernyo torles es az egesz tartalmat kiiraom ujra. Mivel kicsi a kijelzo, keves az adat, ezert nem is latszik hogy letorli a kijelzot es ujra kiir mindent; de ha lenne ra kulturaltabb megoldas, akkor inkabb az hasznalnam.
-
válasz
Janos250
#11448
üzenetére
És csak két db. 1838 IR receiver és egy sima IR led kellett hozzá, semmi külső elektronika.

Egyelőre még csak tech demo, és sokat kell még csiszolni, hogy pontosabb legyen, össze kell majd válogatni érzékenység szerint a receiver-eket, mert kicsit félrehord.
Végül dobtam a saját protokollt, és írtam egy lib-et, ami a LEGO Power Function led remote protokollt implementálja (ha szeretne valaki Esp8266-tal LEGO Power Function-t távirányítani, szóljon). Az már annyira gyors és robusztus, hogy gyakorlatilag nincs hibás átvitel (két napig teszteltem, és egyetlen hibásan átvitt karakter volt csak). -
gazso75
aktív tag
válasz
Janos250
#11443
üzenetére
Hát, sajna bármit teszek, a végén ezt kapom

rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1100
load:0x40078000,len:9232
load:0x40080400,len:6400
entry 0x400806a8
ets Jun 8 2016 00:22:57Bármit tolok rá az IDE-vel. Szépen felmegy, de mindig ez fogad a soros porton. A Példák közül bármit nézek.
esptool flah_id-ra:
esptool.py v2.6
Serial port /dev/ttyS4
Connecting.....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 3c:71:bf:f1:a3:1c
Uploading stub...
Running stub...
Stub running...
Manufacturer: ef
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin... -
Janos250
őstag
Vehetjük úgy, hogy az ESP-32S (Ai-Thinker) az ESP-WROOM-32 (Espressif) leánykori neve.
A mai boardokon elsöprő többségben ESP-WROOM-32 feliratú modul van, nem is érdemes olyat megvenni, amin nem ez van. Néha mégis ESP32S megnevezést írnak hozzá. Meg kell nézni a fényképet, mi van a modulra írva. A lábak száma eltérő lehet, de a használható lábak (meg néha a nem használhatók is) ki vannak vezetve, valamint különböznek aszerint is, hogy hány GND, és táp láb van rajtuk. Ezekből ugyanis soha nincs elég. -
Gyanítom, hogy az ESP-32S-en azért lehet több láb, mert azokat is kivezették, amik a beépített flash kezeléséért felelősek. Ha így van (nem néztem utána), azokat nem érdemes piszkálni, szóval nem nyersz vele semmit, ha azt rendeled.
Viszont ha már kísérletezés, én inkább egy lolin32-t javaslok, beépített li-ion csatlakozóval, akkumulátortöltő áramkörrel és konverterrel, mert azt egy akksit rákötve rögtön fogod is tudni használni valamire. -
Exom
tag
Sziasztok
Szeretnék egy kicsit kísérletezni ESP32 -vel.
A kérdésem az lenne melyik verziót érdemes megvenni. Aliexpressen láttam több verziót is.
- ESP32 DEVKIT V1 (30 láb)
- ESP-32S v1.1 (38 láb) -
gazso75
aktív tag
Vettem egy Esp32-cam wifi board-ot. Tudtok valami jó kis ino-t hozzá?
-
Így most megy véégre, baromi jó móka tankozni. Persze nem tökéletes, mert a két tök egyforma motor mégse az, így nehéz egyenesben tartani. Túl gyorsan se lehet vele csapatni, mert ledobhatja a lánctalpat. No, mindenesetre örülök, hogy megy egyáltalán.
ja, meg csúnya is szegény jármű. 
Következik a teherautó... esp32-vel. -
Ha az összes kábelt lehúzom az esp32-ről, rádugok egy telefontöltőt, akkor meg elindul rajta a feltöltött program: megy a wifije, illetve ha laptopon van akkor meg a soros monitoron írja a kapott jeleket...
Lehet, valamelyik pin mégse szabad, és blokkolja az egészet ha be van kötve? Led villogtatós példával direkt végigpróbáltam az összes pinjét, és pin3-pin10 + másik sor pin5-pin15-ig mindegyikkel ment.
Azt még nem próbáltam, hogy mi van akkor, ha usb portról kapja az áramot a lap, és nem a VIN-en. -
Megérkezett a forrasztó pákám, ennek örömére vettem 1uF kondenzátort, és ráforrasztottam a rövid lábát az esp32 gnd-ra, másikat meg az en gomb széléhez. Semmit nem változott a helyzet, csak bőgeti maxon az egyik motort, a wifije se megy. Ha usb-re dugom, és újra rámásolom a progit utána kikapcsolásig jó... -
válasz
Victoryus
#11409
üzenetére
Közben találtam hasonló eseteket... Ez az esp-nek a balfaszsága, bentragad boot módban vagy valami ilyesmi... ráadásul hiába nyomja az ember az EN-t, akkor se indítja el a programot 10-ből 9x...
GitHubon azt írják kell egy ellenállás a föld meg az EN gomb közé. Ennyi szívást... biztos nem bíznék ilyen alaplapra komolyabb feladatot, még virágöntözést se. Gyárilag selejt tulajdonképpen.
Pedig már majdnem örültem, hogy kész. Én már kééész vagyok idegileg tőle. 
-
válasz
Victoryus
#11406
üzenetére
Jó lett volna látni az udp-s példakódot is, amelyik működik.
Elsőnek próbáld meg, hogy innen:
void loop() {
handleUDPServer();
//delay(1);
}kikommenteled a delay-t:
void loop() {
handleUDPServer();
delay(1);
}Régebben olvastam itt a topikban, hogy ha túl sokáig fut a loop, akkor az nem jó az esp-nek, bár a hiba logban nem látok wdt-hez kapcsolódó hibaüzenetet, de hátha bejön.

-
Ugyanabba futottam bele, mint a Wemosnál is, hogy az udp példáknál a router adatai kellettek volna, nem AP-ként üzemel a lap. Végül azt megoldottam, megy a korábbi kóddal. Sokkal jobb a wifije a DoIt-nak, mint a Wemosnak.
Utána újabb problémába ütköztem, ESP32-nél nincs analogWrite, de végül találtam pwm-es példát. A led fade ok, a motor vezérlése még folyamatban, nem teljesen értem a kódot. A resolution miért 8? Amit tippeltem azért?
L293d motorvezérlővel menne a 2 dc motor. Nekem kell az en1 meg en2, vagy menni fog a jumperrel? Tulajdonképpen a jumper ebben az esetben alapból engedélyezi a motorokat? Van másik fajta leírás, ott engedélyezést ír az ábra, ezen meg pwm-et. De a Wemos-szal mikor az analogWrite-tal teszteltem akkor simán az in1,in2-re adtam a pwm értéket.
Akkor ebben az esetben pl.: ledcWrite(0, 100); Nyilván a 100 helyett majd kap egy változót udp-n keresztül.
Éjjel valamit írtam még, de nem ment a motor, csak a ledek villogtak a vezérlőn. Nincs még összeforrasztva a motor a kábelekkel, lehet simán nem érintkezett. Nem a builtin leddel teszteltem, hanem a gpio 13,12-vel.// the number of the LED pin
const int ledPin = 2;
// setting PWM properties
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8; //Ez itt miért 8? Arra tippelek, hogy 2^8=256, és ennyi lesz a fordulatszám tartomány
void setup(){
// configure LED PWM functionalitites
ledcSetup(ledChannel, freq, resolution);
// attach the channel to the GPIO to be controlled
ledcAttachPin(ledPin, ledChannel);
}
void loop(){
// increase the LED brightness
for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
// decrease the LED brightness
for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
} -
#Aryes: ok, köszönöm! Hát igen, saját hibáiból tanul az ember.
Most megint bele is futottam... Előszedtem a DoIt Esp32-őt, ez menne a lánctalpas járművembe, 2 dc motort kéne csak neki meghajtani a mini motorvezérlővel, de nem megy rajta az udp. A wifis résszel kezdtem, még nincs rákötve semmi. Egyik udp példaprogram se megy, azokkal egyszerűen nincs wifi.
A sima wifi példák szépen mennek, tcp-vel például lehet kapcsolgatni a builtin ledjét, megy a wifi hálózatok scannelése is.
Amikor be van állítva egy alaplap az Arduinós programban, akkor annak a példáit mutatja nem? Az összes pinje megy, led villogtató programmal végigmentem mindegyiken egyesével, jó a kiosztás, a builtin is az, a wifije is jó. Mire nem gondoltam megint?
Olyan, mintha az udp-s osztály lenne rossz, hiába importálja. Hibát nem dob az arduino, simán feltölti rá bármelyik példát. -

Van egy ilyen esp32-es lapom. Ezt mivel lehet meghajtani?
1db 18650-es akku elég neki? Usb porton keresztül, vagy a Vin 5V pinről is jó? Per pillanat nincs feláldozható usb kábelem, így nagyon örülnék ha elég lenne neki a pin-en keresztül... -
Janos250
őstag
válasz
gazso75
#11318
üzenetére
Egy kis esp8266 Serial fejtágító, nem csak Neked:
(Manoj R. Takoj : NodeMCU ESP8266 Communication Methods and Protocols)
2.1 Serial Communication
ESP8266 Serial works the same way as on a regular Arduino. Apart from
hardware FIFO (128 bytes for TX and RX) Serial has additional 256-byte
TX and RX buffers. Both transmit and receive is interrupt-driven. Write
and read functions only block the sketch execution when the respective
FIFO/buffers are full.
Serial uses UART0, which is mapped to pins GPIO1 (TX) and GPIO3
(RX).
Example 1: Serial Data Transmission
Program to send “Hello World” message to serialvoid setup () {
Serial.begin(115200);
}
void loop(){
Serial.println("Hello World");
delay(500);
}Amint látható, a Serialt nem kell példányosítani, mert előre példányosítva van, csak meg kell nyitni, és használni.
"
Serial1
uses UART1, TX pin is GPIO2. UART1 cannot be used to receive
data because normally its RX pin is occupied for flash chip connection. To
use Serial1, call
Serial1.begin(baudrate)
.
Example 3: Using Serial-1 (Only TX)
After uploading program you will see blue led flashes due to data is
getting sent on GPIO2(TX)."
-
-
gazso75
aktív tag
Az Arduino nano-n jól futó gps+sd progit, át lehet valahogy konvertálni esp8266-ra ? próbálgatom, de valahogy nem akar sikerülni.
-
Kb. 3-4 fok különbség lehet. Sikerült kizárnom az ESP-t. Ha az ESP folyamatosan üzemel, kijelző rajta, akkor egy idő után a kijelzőn a már említett hiba jön elő. ESP működik tovább, kijelzőt leveszem és várok mondjuk 5 percet, mire kihűl eléggé. Visszarakom és megint minden oké egy darabig.
Többször megismételtem ezt, mindig ugyan ez történik. Az is lehet, hogy nem teljesen a meleg, hanem valami hardveres hiba lehet, ami véletlen most jött elő. Esetleg kondenzátor vagy vezérlő IC lehet a gond? Rendelhetek másik kijelzőt, de nem lenne jó, ha az is elromlik és fél évente kijelzőt kellene cserélni. Vagy ami még a jobbik eset, egy hibás darabom van.Némi egybeesés simán lehet a te eseted és az enyém között. Kérdés, hogyan javítható?
-
Igen, tavaly December óta, tehát durván fél éve. A legelején tapasztaltam még 1-2 alkalommal ilyet, de akkor a kábelezés után PCB-re építve az egész tök jól működött. Most meg 1 hete kezdte, hogy folyamatosan szinte darabos a megjelenítés. Az esp webserver jól működik, ezért vagy az SPI vagy maga a kijelző az ahol a gond lehet szerintem. Fura ha mondjuk fél év után a kijelző már nem bírná.
-
Sziasztok!
Kb. fél éve megy minden gond nélkül ez a 3.5" kijelző. Kb 1 hete kezdődött, hogy furán jeleníti meg az információt a kijelző ahogy itt látható:[kép], [kép].
Nem tudom a meleg miatt-e vagy más miatt van, de hiába resetelem mindig ez történik. Ha újra rátöltöm a kódot akkor megy egy darabig, de utána ugyan ez a probléma jön elő. ESP32-t használok, a kijelző SPI-on keresztül csatlakozik rá.
Van valakinek ötlete mi lehet a gond?
-
válasz
kzsolt00
#11298
üzenetére
Szia!
Ha már az arduino topikba írtál, elmondanám, hogy az egész feladat az erre a feladatra enyhe túlzás rpi helyett egy kb. 1000Ft-os esp8266 alapú nodemcu-val tökéletesen kivitelezhető lenne, touchscreen-t és weblapot is beleértve! Feltéve, ha vezetékes net kapcsolat helyett megfelel, ha "csak" wifire van kötve az egész téma. Máris spóroltam neked 18e Ft-ot.
A riasztót nem értem, hogy milyen célt szolgálna, szeretnéd, ha a sz.rt is kiijesztené belőled az éjszaka közepén, vagy elég, ha csak akkor hallod, ha éppen mellette állsz? Utóbbi feladatra egy 50Ft-os piezo csipogó tökéletesen megfelel, amit közvetlenül ráköthetsz az esp/rpi egyik tűjére. Az említett pc hangszóróhoz mindenképp vmilyen végfok kell, ami lehet akár egy egyszerű tranzisztor-ellenállás-kondi kapcsolás.
A breadboard-ot pedig mindenképp felejtsd el, bármilyen megoldás is lesz a vége, hacsak nem próbanyákra gondoltál a kifejezés alatt.
Bónusz kérdés: nem lenne megnyugtatóbb megjavíttatni/cserélni azt a kazánt?
-
válasz
Victoryus
#11288
üzenetére
Azért kérdeztem, mert ha fordítva, a Vcc és a pin közé kötnéd a ledeket (alacsony jelszintre kapcsol), akkor úgy több áramot képes elviselni, asszem 26mA-ig rendben vagy. Mivel az esp8266 gpio-k hivatalosan 5V toleránsak, ha 5V-ra kötöd a ledeket, akár hármat is tudnál sorba kötve egy lábról üzemeltetni, külön driver nélkül (ellenállás persze ide is kell). De persze egy uln2003 lenne az igazán megnyugtató megoldás (arra is úgy kell kötni a ledeket, hogy a tápra megy a másik lábuk), ha tudsz neki helyet szorítani (külön tartót nyomtatni nemigen kell neki, hiszen egy chipről van szó, beforrasztod rá a ledeket stb aztán teszel rá egy zsugorcsövet és benyomod az egészet egy kevésbé látható résbe.
-
Egy pin akkor tuti nem bír 4 ledet... Egyik tutorialban írják, hogy arduinon egy pin maximum 40ma-t tud, de esp8266 csak 12ma-t. Az meg nagyon kevés. Ejj...
Akkor külön táp kéne a világításhoz is ezek szerint?
Mondjuk ha a motorvezérlőt csapolnám meg...? 3 dc motor hely úgyis üres még, és legalább programozható is. Ha jól gondolom akkor az 2db 18650-es cella esetén max ~8.4V. Most még 3db-ról megy, de a végleges kiépítésbe csak kettőt tervezek hely/súly miatt. -
válasz
Victoryus
#11272
üzenetére
A hibakódra a gugliban rákeresve én is azt találtam, hogy resetel a board, mégpedig áramellátási gond miatt. Úgy néz ki egyszerű rövidzárlatot csináltál a két leddel az áramkorlátozó ellenállás nélkül.
Gondolom párhuzamosan kötötted őket.
Az esp8266 gpio max 17mA árammal terhelhető, ha a ledet a gpio és a gnd közé kötötted. Ha a Vcc és a gpio közé van kötve (alacsony jelszintre kapcsol), akkor nagyobb áramot is képes elnyelni, de mindkét megoldással kockáztatod, hogy túlterheled az adott gpio-t és tönkremegy.
Milyen ledet használsz, színeset vagy fehéret? Ha színeset, akkor a két ledet sorba kellene kötni, nem párhuzamosan, és egy áramkorlátozó ellenállást számolni hozzá. A fehér ledeket a nyitófeszültségük miatt nem lehet párhuzamosan kötni, de ellenállás akkor is kelleni fog, vagy egy darlington tranzisztor. -
Janos250
őstag
válasz
Victoryus
#11238
üzenetére
programodból:
"myservo.attach(5,600,2300); //GPIO 5, meg min max, ezt nem értem, de ennyi volt a példában""Writes a value in microseconds (uS) to the servo, controlling the shaft accordingly. On a standard servo, this will set the angle of the shaft. On standard servos a parameter value of 1000 is fully counter-clockwise, 2000 is fully clockwise, and 1500 is in the middle.
Note that some manufactures do not follow this standard very closely so that servos often respond to values between 700 and 2300. "
https://www.arduino.cc/en/Reference/ServoWriteMicrosecondsEzért kellene tudni, milyen a servo. Mindenesetre én 1000 és 2000 közöttivel próbálnám, mert én még csak olyat láttam.
Már eléggé kavarodnak bennem az infók, de - úgy rémlik - Wemos D1-et használsz. Az viszont ESP8266, de:
libraries/Servo/src/Servo.h - ban ez van:
"This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor."Lehet ez a gond? A servo.cpp interrupttal dolgozik, és az az ESP-nél más.
A servo ugyanis úgy működik, hogy folyamatosan adni kell neki az adott időszélességű impulzust, ami általában 1 és 2 millisec (1000, ill. 2000 microsec) között van. Ha az 1 msec-es inpulzusokat kapja folyamatosan, akkor az egyik végkitérésre áll, ha 2 msec-et, akkor a másikra, 1.5 msecnél meg középre. Olyan állapot undefinit, hogy adok neki egy impulzust, és nem ismételgetem.Más:
Az Arduino "nyelve" a C++, ami magában foglalja a C-t is. Ha tanultál PHP-t, az C++ némi extrákkal.
Tehát, ha a PHP-ból kihagyod a hálózatos dolgokat, akkor az C++, ami már megy az Arduino lapon is (illetve ez nem teljesen igaz, de majdnem). Tehát a C++ -al akarj ismerkedni. Ebben a PHP, Delphi jó alap, mert a filozófiájuk ugyanaz. A pascal is jó, bár abban még nincs objektum. -
Janos250
őstag
válasz
gazso75
#11215
üzenetére
A BN-250 egy jó modul, sokan dicsérik, és olcsó.
Nekem is van, de még nem próbáltam, mert kiderült, hogy amire nekem kell, arra csak nyögvenyelősen használható részlegesen.
A nano nem egy gyors, korszerű lap. Helyette jobb lenne valamelyik ESP, STM32.
Nem tudom, elég-e a 9600 baud ennyi adathoz. -
vargalex
félisten
válasz
Victoryus
#11212
üzenetére
Nem jól értelmezed és ebből adódik a problémád is. A station mode az, amikor egy wifi Access pointhoz csatlakozik az ESP8266. Azaz a kód hibátlanul működik, csak nem tud csatlakozni a megadott SSID-vel rendelkező hálózathoz (mert ugye nincs is).
Az viszont továbbra is érvényes, hogy biztos, hogy nem csak pontokat ír a soros konzolra. Előtte ott kell lenni a Connecting szónak is. -
Janos250
őstag
"Én nemrég átírtam az esp8266 softwareserial lib-et paritásbitesre"

Én meg a GPS-ekhez ESP32-n hardwareserialt használok, mert nekem nem csak az NMEA adatok kellenek, így rengeteg adatot kell kezelni."Egyébként az lesz a hiba, amit DigitXT kolléga írt"
Láttam én is, azért nem is foglalkoztam ezzel a részével, hanem pár általános gondolatomat írtam le. A distanceBetween nem azon segít, hanem könnyebben kezelhetővé teszi a távolságot, mert közvetlenül méterben adja meg.Viszont, ha jönnek hibás adatok is, akkor esetleg annak az okát (hardware ?) is meg lehetne keresni.
-
válasz
Janos250
#11201
üzenetére
Én nemrég átírtam az esp8266 softwareserial lib-et paritásbitesre.

Egyébként az lesz a hiba, amit DigitXT kolléga írt, hogy akkor is menti a hibás adatot az előző értéknek fenntartott változóba, amikor hibás, ezért ha két hibás adat jön egymás után, az egyik át tud csúszni az ellenőrzésen. Ezen a distanceBetween sem segít, mert ahhoz is el kell tárolni a korábbi értéket. -
válasz
Victoryus
#11166
üzenetére
Sajnos nem igazán van fogalmam róla, hogy mi is ez a motor shield, de a kép alapján egész biztosan rosszul van összekötve, mert a D1-D4 lábak mellett még minimum a gnd-t össze kell kötni a shield és a lap közt, és ha a shield-en nincs kimondottan konverter a L293d tápfeszültségének az előállításához (3,3V-5V) akkor még a Vcc bemenetet is össze kell kötni a lap megfelelő kimenetével (esp32-nél a 3,3V-tal!). Ez a L293d logikai tápja, nem a motoré! Ezek után ott van még egy-egy enable láb mindkét motorhoz, ha azokat nem húzod magas szintre, a D1-D4 lábakra hiába adsz jelet, a motorok nem fognak megmozdulni. Szóval összesen ha jól számolom 8db jumper kábel kell a két motorhoz. És persze minimum 9V táp a shield-nek (motorok tápja), mert az alatt a L293d nem nyit ki rendesen, csak melegszik meg sípol (pwm meghajtás esetén).
-

Volt egy kis időm így megpróbáltam összerakni egy esp32+NodeMcu ESP8266 Motor Shield Lua L293d -őt.
Háát, nem nagyon értem, hogy lehetne ezt működésre bírni. L298N-t használtam már, de annak több dolog is kellett a működéshez: pwm, motor a enable...
Ezen a L293d-n hova kéne bekötni egyáltalán az esp32-őt, meg hány pinnel? Alin annyit ír, hogy Control Port: D1, D3 (A motor); D2, D4 (B motor)
Ha feszültséget kap a D1, vagy D3 az ég világon semmi sem történik. Gondolom kéne még neki valami, csak ez nem nagyon derül ki sehonnan, hogy mi. -
válasz
Janos250
#11155
üzenetére
Nézegettem ezt az esp32-cam összeállítást, és azt látom, hogy 3 féle cam modult is lehet hozzá kapni. Na most a kérdés: szerinted mi a szűk keresztmetszet, a modul, vagy az esp32 teljesítménye, esetleg a wifi sebessége? Érdemes lehet másik modult próbálni az ov2640 helyett magasabb fps érdekében? Egy 15-30 fps / 640x480 mellett én már elégedett lennék.
A másik, jól látom, hogy ezen nincs usb, hanem külön programozó kell hozzá?
-
Janos250
őstag
"Ehhez, amit linkeltél, nincs is kamera"
Bocs, csak rákerestem egyre a Bangoodon, ehhez tényleg nincs, rossz a link.
"Honnan vetted együtt a kettőt?"
Innen, ez a jó link:
https://www.banggood.com/Geekcreit-ESP32-CAM-WiFi-bluetooth-Camera-Module-Development-Board-ESP32-With-Camera-Module-OV2640-p-1394679.html?rmmds=myorder&cur_warehouse=CN
Ez most drágább, 8 $, én olcsóbban vettem.
"Erős fényben sem nő a framerate?"
Nem próbáltam.
"Mire jó ez tulajdonképpen fotózáson kívül? "
A kamera része csak érdekesség. Nekem az benne a lényeg, hogy rajta van az SD csatlakozó hely. És, hát ESP32, ami elég sok mindenre jó.
-
Breaker
tag
A lolin32-vel vigyázz, mert ezen a shield-en ha jól tudom rajta vannak az i2c felhúzó ellenállások, amik 5V-ra húzzák a pineket, de amíg az esp8266 gpio-i 5V toleránsak, az esp32 kimenetei állítólag nem azok.
Nah akkor meg is kaptam a választ egy fel nem tett kérdésemre..
Igaz én Lolin D1 Mini-t hasznalok, de az is esp8266.. A minap méricskéltem, és a pineken 5Vot mértem, és vakartam a fejem hogy ez hogy a fenébe lehet, illetve hogyhogy nem purcantak ki? -
Janos250
őstag
Megérkezett a 6.5 dolláros ESP32 CAM modulom:
https://www.banggood.com/Geekcreit-ESP32-CAM-WiFi-Bluetooth-Camera-Module-Development-Board-ESP32-p-1443851.html?rmmds=search&cur_warehouse=CNAzt nem mondanám, hogy szuper a kamerája, de kevesebb mint kettőezer Ft-ért mit vár az ember.
Az ESP32 modul teljesen OK. Azok a kivezetések, amik a camera modult kezelik, ki sincsenek vezetve, de nekem így is marad elegendő GPIO. A lap hátulján van egy SD kártya hely, azt még nem próbáltam, remélem az is működik.A kamera: hát.... gyengécske.
Nálam vízszintes csíkok is vannak benne, azt még nem tudom, hogy a kamera hibája, vagy más. A felbontásokhoz a mért fps-ek:
1600x1200 : 0.2 fps
800x600 : 1 ffps
320x240 : 3 fps
160x120 : 8-10 fpsÖsszességében kettőezer Ft-ért kaptam egy ESP32 lapot SD slottal, kamerával együtt. Ez azért ugye elég jó ár! Egy UNO is önmagában alig kerül kevesebbe.
Ha a kamerát nem akarjuk használni (eldobjuk), akkor is nagyon jó árért kaptunk egy ESP32 lapot, ráépített SD card slottal -
Használta már itt valaki a SPIFFS fájlrendszert esp32-n? Sqlite adatbázist próbálok használni rajta, az olvasás hibátlanul működik, de az írás nem. Ha írok az adatbázisba, hiba nélkül lefut a kód, de 3ból 2x a kiírt adat egyszerűen elveszik. Néha viszont sikerül írni az adatbázisba és az adat is megmarad.
Néhány írási próbálkozás után pedig néha lefagy az egész esp! Hiába túrom a netet, semmit sem találok a témában. Egyszerűen nem tudok rájönni, hogy hardverhiba, bug valamelyik lib-ben, vagy én rontok el valamit a programban. Talán vmi flush parancs kellene, hogy kírja a változásokat, de egyik példakódban sincs nyoma, hogy létezne, vagy hogy használni kellene... -
válasz
Victoryus
#11142
üzenetére
Milyen library-vel próbálod ezt a shield-et használni a Wemos d1-el? Az uno-hoz való adafruit-ossal?
Az alsó sor jobb szélső két pin az SDA SCL, ugyanez duplázva a felső sor bal szélső két pin-en.
A lolin32-vel vigyázz, mert ezen a shield-en ha jól tudom rajta vannak az i2c felhúzó ellenállások, amik 5V-ra húzzák a pineket, de amíg az esp8266 gpio-i 5V toleránsak, az esp32 kimenetei állítólag nem azok. -
válasz
Victoryus
#10432
üzenetére
Ott tartok, hogy nem tartok sehol... Fizikailag nem passzolnak össze az alkatrészek, túl szélesek a boardok a motorvezérlőhöz képest. Pedig egy típushoz valók elvileg...
Szóval most megint ugyanott vagyok, ahol 3 hónapja, hogy kéne valami motorvezérlő+lap ami kis helyen is elfér.Plusz rájöttem, hogy elég nekem két 18650-es akku is, nem kell 3, súly+helytakarékosság is szempont.
Aryes javasolta a lolin esp32-őt.
Abból is van már egy itthon. Akkor ehhez milyen motorvezérlőt rendeljek? (amit nem kell összerakni, forrasztani)Másik kérdés, ha már van ez a motor shieldem, azt hogy lehetne kideríteni, melyik lábaival lehet csatlakoztatni?
Ezt írtam korábban is, ha ráteszem a Wemos d1 r2-re akkor kb semmit nem csinál, és szabad pin is csak 2 marad... Lehet uno-val menne, de azzal még nem néztem.
-
Kedves esp32 szakértők! Egy játékot készítek most lolin32-vel (végre találtam neki egy jó kis feladatot
), néhány gpio-t bemenetként akarok használni rajta internal pullup-al, okozhat-e gondot, ha ezek a boot alatt közvetlenül GND-ra vannak kötve?
Ennek az oldalnak a leírása alapján olyan lábakat néztem ki, amik állapota nem zavarja a boot-ot, nincs se fel, se lehúzva és nem ad ki rajta PWM jelet se boot közben (16,17,18,19,23). A kérdés inkább arra irányul, hogy boot közben ezek a lábak hi-z állapotban vannak-e, vagy nem, utóbbi esetben tegyek-e áramkorlátozó ellenállást a GND és a bemenetek közé. -
Janos250
őstag
Valaki próbálta már ezt?
8 dollárért ESP32 modul + 2 Mpixel kamerával eléggé ajándék árnak tűnik.
-
válasz
alfa20
#11007
üzenetére
Nekem fura a kód amit próbáltál, szerintem azzal van a gond. Próbáld meg a következőt. Nekem hasonló megy ESP32-vel.
Ja meg még annyi, hogy SSD1306.h kell nem adafruit asszem. Ez ha jól emlékszek arduino library manager-en belül letölthető./*
* Random Nerd Tutorials - Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*
* The MIT License (MIT)
* Copyright (c) 2016 by Daniel Eichhorn
*/
// Include the correct display library
// For a connection via I2C using Wire include
#include <Wire.h> // Only needed for Arduino 1.6.5 and earlier
#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`
// Initialize the OLED display using brzo_i2c
// D3 -> SDA
// D5 -> SCL
// SSD1306Brzo display(0x3c, D3, D5);
// or
// SH1106Brzo display(0x3c, D3, D5);
// Initialize the OLED display using Wire library
SSD1306 display(0x3c, D3, D5);
// SH1106 display(0x3c, D3, D5);
void setup(){
// Initialising the UI will init the display too.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_16);
display.setTextAlignment(TEXT_ALIGN_LEFT);
dht.begin(); // initialize dht
}
display.clear();
display.drawString(0, 16, "Hello Word!");
void loop(){
} -
DigitXT
félisten
Annyi jót írtok az ESP32-ről, hogy én is benevezek egyre.
Kíváncsi leszek!
-
Teasüti
nagyúr
MÁS
ESP32 guruktól kérhetnék egy kis segítséget a semaphore használatával?
Hogy kell létrehozni egy bináris semaphore-t?
Rtos oldalán kerestem ki a parancsokat és ott azxSemaphoreCreateBinary()makróra azt írja, hogy mielőtt bárki "elvehetné a tokent", először "adni" kell.
Viszont vmiért nem fordul ez le:SemaphoreHandle_t xBeacon = xSemaphoreCreateBinary();
xSemaphoreGive(xBeacon);És olyan hibát dob, amit nem tudok értelmezni:
error: expected constructor, destructor, or type conversion before '(' token
#define xSemaphoreGive( xSemaphore ) xQueueGenericSend( ( QueueHandle_t ) ( xSemaphore ), NULL, semGIVE_BLOCK_TIME, queueSEND_TO_BACK )
^
sketch\brake.h:13:1: note: in expansion of macro 'xSemaphoreGive'
xSemaphoreGive(SemaphoreHandle_t xBeacon);Van erre vkinek ötlete?
Új hozzászólás Aktív témák
- Új! Asus ROG Destrier Ergo gamerszék
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen,MS4120
- Lenovo T14S Thinkpad FHD IPS i5-1135G7 16GB RAM 256GB SSD Intel Iris XE Graphics Win11 Pro Garancia
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 1TB SSD, 4K multitouch + TOLL
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1ÉV GARANCIA-Kártyafüggetlen, MS4091
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
van itthon egy esp8266-om. Mekkora munka lenne arra atkoltoztetni mindent? Az esp8266 nagyobb memoriaval rendelkezik? 
Köszi előre is!

Csak azért írtam, mert úgy gondolom, hogy aki arduino-zik, sosem árt megtanulni kódot optimalizálni, meg kihozni a maximumot adott hardverből, mert az erős hardver, a végtelen erőforrás nagyon ellustítja a kódolókat, lásd: mobil appok féktelenül növekvő memóriaigénye.
), de ha esp lesz a hardver, ott a delay() nem hogy kerülendő, hanem egyenesen kívánatos, ugyanis nem akasztja meg a futást, hanem ilyenkor végzi el az eszköz pl. a wifi hálózat kezelésével kapcsolatos feladatokat.
Neked pedig pont ennek a stabil működése (is) a lényeg. Amire neked kell, az Esp8266 (pl. Wemos D1 mini) is tökéletesen megfelel.
Csak luxusabb kivitelben. Elgondolkodtató, lehet erre alapozom az egészet.

Pedig már majdnem örültem, hogy kész. Én már kééész vagyok idegileg tőle. 




ekkold

