Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: WindowBlinds 11
- 20230101_102713676_iOS
- Real Racing 3 - Freemium csoda
- Flashback: Építsünk PC-t akciós alkatrészekből, lassan. upd: 10.03
- Lalikiraly: Kinek milyen setupja van?
- sziku69: Szólánc.
- LordAthis: RETRÓnia - RETRÓ Mánia - Úton van hozzám egy csodás történelmi darab!
-
LOGOUT
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
Nem tudok linkeket hozzárendelni, mert az Alinak van egy "3 vackot egy csomagban" akciója, ahol az egyébkénti áraknál alacsonyabbak az árak, és ingyenes a szállítás, valamint kevesebb, mint két héten belül itt van.. Ha az eredeti linket hívja az ember, akkor magasabb árat mutat.
Én azon csodálkoztam el, hogy a kisebb (C, S2) ESP32-k olcsóbbak az ESP8266-nál, nem beszélve arról, mennyivel olcsóbbak pl. egy UNO-nál.
A leírt árak is azért vannak hol euróban, hol dollárban megadva, mert a megrendeltek listájából szedtem ki, és a megrendelés időpontjában éppen mi volt nekem beállítva, úgy írta ki.
Pendrive-ot vettem más fajtát is, azzal az a tapasztalatom, hogy végén lévő nagyjából 10% hibás. Ezeket a Kingstone-okat használom, lehet, azok is rosszak lesznek. :-( -
Janos250
őstag
válasz
Atamano
#22337
üzenetére
Én mostanában ezeket rendeltem:
Ezek a kicsi ESP32-k olcsóbbak, mint az ESP8266.
ESP32 C3 Supermini 1.71 €
hozzá Expansion Board szintén 1.71 €
Ugyanennyiért van sok lábú (duplasoros, ezért kicsi ESP32S2)
még:
ESP32 CAM Development Board with OV2640 Module €4.76
ESP32-DevKitC Core Board ESP32 Development Board €3.81
Kingston Pen Drive USB Flash Drives DTX Pendrive 64GB (ellenőriztem, jó) US $4.49
6pcs Sg90 9g Micro Servo Motor S $4.49 a 6 db, összesen
CP2102 Development Board WiFi+Bluetooth Ultra Low Power Dual Core ESP-32 US $3.59
Isolated Power Module, Bus Isolation Module, IRF540 Isolated Power Module, Infrared Emission Module US $1.79 (az IRF540-eket természetesen lecserélem alacsony gate nyitófeszültségűre) -
-
Janos250
őstag
-
Janos250
őstag
válasz
ekkold
#22265
üzenetére
Igen, de épp az volt a kérdés, hogy tömb nélkül lehet-e?
Ha azt írom, hogy:const uint32_t &kodszam = 0x3ff0001C;
És []-teszek mögé, akkor az már töm, és épp az volt a kérdés, hogy:Mert rendben van, hogy tömbnél ezt használhatom, hogy megadom a címet, pl:
volatile uint32_t* SHA_TEXT_0_REG_array_32 =((uint32_t *)(0x3FF03000));
És akkor érvényes, értelmes pl. az:SHA_TEXT_0_REG_array_32[i] = 0;
viszont, ha nem tömb, hanem egyszerű változó, akkor is meg tudom adni, hogy egy konkrét címre, vagy egy mások változó "tetejére" rakja?Vagy rosszul értelmezem?
-
Janos250
őstag
válasz
ekkold
#22262
üzenetére
Ez nem teljesen nyerő, mert nem a tartalmat írja ki, hanem magát a címet.
const uint32_t &kodszam = 0x3ff0001C;printf ("kodszam = 0x%X\n", kodszam); // kodszam = 0x3FF0001C
Pedig ennek a tartalma nem a címe, mert ez az SHA CLK engedélyezését tiltását tartalmazza.
Úgy tűnik, * nélkül nem oldható meg, legfeljebb define-al el lehet rejteni a csillagot.
-
Janos250
őstag
A problémám a beírt WEBsocket dataframe-nél volt, mert nem tudtam elérni valamelyik bitet, mert a unionnak csak az elejére tettem nevet, a végére nem. Viszont megpróbáltam a problémát egy egyszerűbb példára leegyszerűsíteni, mert ha a teljeset írom be, szerintem sokan csak vakarták volna a fejüket, hogy mi a fenét is akarok. Annak a példának a gyakorlatban semmi más értelme, mint hogy megkérdeztem, hogy hasonló esetben hogyan kell csinálni.
Azóta már próbáltam a netről tanulni. Ami nevet a union elejére írunk, az típus. Mint például az, hogy "int". Azt csak ugyanarra, vagyis új létrehozására használjuk, mint pl. az int-et.
Viszont a végére írt, az a terület neve.
Példával élve:int pelda ;
Ebben az int-nek "felel meg" a union elejére írt név, a "pelda"-nak meg a union végére írt.
Mivel a példában csak a legkívül álló egységgel hozunk létre, foglalunk le területet, csak ott SZÜKSÉGES a típus név. Ott előre is kell írni. A belsőkben már nem kell, mert azok már a terület egy részét mutatják, az már "változó név", azt a végére kell írni.
"Ugyanazt az egy byte-ot 3 különböző néven elérni?"
Ha másként daraboljuk, például bitekre, akkor van értelme.
A példával (a hosszabbal) élve:
Először beolvasom a 6 byte-ot, mert az a protokoll fejléce, annyi mindenképp jön. Utána az egyes részeket vizsgálom, akár bitenként, mert például a FIN bit azt jelenti, hogy nincs több csomag, ez az utolsó, ha az opcode = 1, akkor egy egyszerű adatcsomag következik, ha meg nyolc, az a close, akkor agyon kell csapni a klienst. (néhány házaló klienssel is szívesen megtenném
) -
-
-
Janos250
őstag
Gyakorlati értelme?
Hát az, hogy egy szerűbb példát kérdezzek, és ne ezt:union dataFrame {uint8_t bytes6[6];struct {union {uint8_t code;struct {uint8_t opcode : 4;uint8_t RSV3 : 1;uint8_t RSV2 : 1;uint8_t RSV1 : 1;uint8_t FIN : 1;} byte0struct;}byte0; // byte0union {struct {uint8_t payloadLen : 7;uint8_t mask : 1;} maskPayload;uint8_t byte1data;} byte1; // byte1uint8_t masking_key[4];} dataFramestruct ;}; // union dataFramedataFrame frame1 ;
Ez a WEBsocket data protokolja. -
Janos250
őstag
Aztán, persze nem igazán sikerült megértenem a lelki világát, hogy pl.
union x {uint8_t a;uint8_t b;} y ;
Ebben mi a különbség az x és az y között?
Rendben, hogy x a típus, y meg a változó neve, de azért nem sikerült teljes mélységében magamévá tenni. Például a korábbi mintapéldában.
Bonyolultabb esetben (többszörös beágyazások), ha valami hiba van, és az y helyén nincs semmi, akkor hibajelzésként a unionra nem "unnamed union", hanem "unnamed struct" hivatkozik.
Ezek szerint, a union számára egy struct, csak az elemeit egymásra címzi?
Meg lehet azt adni, hogy egy sima struct elemei ugyanazt a memóriaterületet használják, azaz a fenti példában ha az uint8_t b helyére megfelelőt írok, akkor közösen használják?Mert rendben van, hogy tömbnél ezt hasznáhatom, hogy megadom a címet, pl:
volatile uint32_t* SHA_TEXT_0_REG_array_32 =((uint32_t *)(0x3FF03000));
És akkor érvényes, értelmes pl. az:SHA_TEXT_0_REG_array_32[i] = 0;
(mert ezt épp most írtam, és jó)
viszont, ha nem tömb, hanem egyszerű változó, akkor is meg tudom adni, hogy egy konkrét címre, vagy egy mások változó "tetejére" rakja?
Structnál is megy, de egyszerű változónál hogyan? -
Janos250
őstag
Hogyan lehet használni C++ -ban a unionban benne lévő másik uniont?
Erre a programrészre:union dataFrame1 {uint8_t bytes6[6];union x {uint8_t code[5];uint8_t code2;};} ;dataFrame1 proba1 ;proba1.x.code2 = 1 ;
A következő a hibajelzés:
invalid use of 'union setup()::dataFrame1::x'
Tudom, meg lehet kerülni, de én így szeretném megoldani, hogy egymásba ágyazott unionokkal.
Miért nem jó így?
Hogyan kell?Közben meglett: a union nevet a végére kell tenni :-(
-
Janos250
őstag
válasz
5150head
#22236
üzenetére
Amit linkeltél, az is jó. Az az egyszerűbb olcsóbb léptetőmotor vezérlő is jól használható. Gyakorlatilag egyformák ezek. Megvan, mit kell a tekercsekhez kötni, van irányt megadó bemenete, és "lépj egyet" bemenete. Van pár pinjük, amivel be tudod fixen, drótozni, hogy milyen legyen a microstep, ha akarod (microstep, amikor nem egész lépést tesz, hanem valahol közte megáll)
A többi szoftver kérdése. Meg kell csinálnod egy szabályt, algoritmust, hogy milyen időközönként léptessen. Olyankor ad egy "lépj egyet" jelet. Ennyi. Az ESP32 annyival jobb, mint az UNO, hogy korszerűbb, hosszabb távon is jó. Ami program az UNO-n megy, annak általában az összes többin (pl. ESP32-n is) kell mennie, hiszen az is Arduino.
ESP32-nek még előnye, hogy van benne WiFi, így később ha kedved szottyan, tehetsz rá WEB szervert, és telefonon keresztül állíthatod a paramétereket. -
Janos250
őstag
válasz
JulianSinulf
#22235
üzenetére
" ez sem a TMC2209-et mutatja"
Nem, persze, de az elve ugyanaz. Mert akkor még valószínűleg nem volt divat a TMC2209.
A TMC2209 kétségkívül jó, tavaly én is azt vettem, mert "a következő ötéves tervben" szerepel egy ESP32-vel megépített, panel, ami tartalmaz léptetőmotor meghajtókat, érzékelő kapcsolókat, FET-es "nagy áramú" kimenetet, SD kártya olvasót, stb.
(vagyis, ami egy CNC-hez kell) -
Janos250
őstag
válasz
JulianSinulf
#22232
üzenetére
Attól függ, mit akarsz. Azt hiszem nem meglepő, hogy én nem az ezeréves UNO-val hanem nagyjából ugyanannyiba kerülő, vagy olcsóbb, de jóval korszerűbb, hosszabb távon is megfelelő ESP32-vel csinálnám. Lehet hozzá kapni kicsi panelt, amivel lehet csatlakozni.
https://vi.aliexpress.com/item/1005005677080016.html
Én is vettem ilyet, de nem használom, mert korábban készíttettem JLCPCB-n eléggé univerzális 100x100 mm-es ESP32 panelt, aminek lefelejtettem egy vezetékét, ezért a túloldalán van egy vezeték, így már snassz megmutatni valakinek, kidobásra lettek szánva, de tökölődésre megteszi, így ezeket használom, sajnálom kidobni.
Van konkrét példa is ESP32 és léptetőmotor hajtására, pl.:
https://www.youtube.com/watch?v=JQGnLW6SB8M
A TMC2209 jó, korszerű, hosszabb távon is lehet rá számítani, de drágább, mint az egyszerűbbek, mint például az általánosan használt A4988.
Vannak persze mindenféle kész shieldek is, de én nem olyat használnék, de ízlés dolga. -
Janos250
őstag
válasz
ViZion
#22186
üzenetére
Én ilyet:
https://vi.aliexpress.com/item/1005004709162265.html
PCB-be forrasztom az anyát, általában a derékszögűt a PCB szélére, apát meg csavarral rögzítem.
Nekem bevált. Pl. 48V 5A -
Janos250
őstag
válasz
JulianSinulf
#22095
üzenetére
Erre nekem egy reklámoldal jön be!
-
Janos250
őstag
válasz
JulianSinulf
#22078
üzenetére
"Nem mindegy, hogy a valóság ez"
Srácok!
Ezért szoktam mondani, hogy ha mi valamit másként tudunk, nem biztos, hogy a legjobb válasz azt írni, hogy az nem igaz, javasolom helyette inkább az "én úgy tudom", vagy hasonlókat.
Mert attól, hogy mi az egyik aspektust tudjuk, még létezhet más is.
Igen, a földi körülmények közötti forrasztásnál könnyebb bánni az ón/ólom ötvözettel, mert - mint általában az ötvözeteknek - alacsonyabb lesz az olvadáspontja, és más tulajdonságai is változhatnak.
Viszont az ónpestis, ismert jelenség: hidegben az ón egy másik módosulatba (kristályszerkezetbe) megy át, elporlad.
Azt én nem tudom, hogy a pici műholdat először tiszta ónnal (abban is van logika) forrasztották-e, de ha igen, akkor másodszorra már biztosan ötvözettel. Mellesleg nem is annyira alacsony az az átalakulási hőmérséklet, ha jól emlékszem (rég tanultam) valahol 10 és 20 fok között van. Ott még ugyan nagyon alacsony sebességgel, de a hőmérséklet csökkenésével begyorsul, és a folyamat autokatalitikus (önmagát katalizálja)
Azon lehetne vitatkozni, hogy melyik szempont a fontosabb, DE MINEK?
Ha adott dolgot több szempontból is lehet vizsgálni, akkor tegyük be a közösbe azt, amit mi tudunk róla, más meg majd beteszi, amit ő tud. Így leszünk mindannyian okosabbak! -
Janos250
őstag
válasz
mindenes24
#22073
üzenetére
Én már csak minimálisat forrasztok.
easyeda.com
Megszerkesztem, és legyártatom, kb 2 hét múlva itt van.
Utoljára 100*100 mm-es panelokat rendeltem, 5 db. volt 5 dollár.
Szinte hihetetlen ár.
Fog ám a fene forrasztani ennyi pénzért!
Persze az alkatrészeket ebbe is bele kell forrasztani, de az egészen más ügy, mint a vezetékezést is forrasztani. -
Janos250
őstag
válasz
its_grandpa
#22047
üzenetére
"Emlékeim szerint a deep sleep-et tesztelgetted"
Az nem én voltam! -
Janos250
őstag
válasz
its_grandpa
#22035
üzenetére
Mit teszteljek rajta? Soha nem használtam az RTC-jét.
-
Janos250
őstag
válasz
JulianSinulf
#22038
üzenetére
Annak az okoskonnektor szétszedésének megvan a technikája!
Ha megnézed, arról a végéről, ahová Te dugod a villásdugót, ott van körben egy - talán - 3 mm-es perem, és látszik hogy az ott csatlakozás.
Az van beleragasztva. Ha azt megfogod valami nagy fogóval, satuval bármivel, ami átéri az egész szerkezetet, akkor azt megroppantva elenged a csatlakozás, és roncsolásmentesen szét lehet szedni.
Régen ESP8266 volt bennük, a maiakban valami más van. Van hozzá valami saját fejlesztő rendszer - állítólag - , de én még nem próbáltam. Egy nagyon pincurka kis panel van a fő panelba forrasztva, azt ügyesen ki lehet forrasztani, és ott vannak rajta a csatlakozási pontok. Én egyből kiszedtem, meg akartam vizsgálni tüzetesebben, de azóta se tudom, hova tettem.
-
Janos250
őstag
Megjött az ESP32 c3 super mini panelkám.
Tényleg aranyos, hogy olyan pici.
Egy valamire nem sikerült rájönnöm: mi a fenének vettem meg ezt is a többi kacat mellé.
Ja, persze! Mert a szomszédnak is van, akkor nekem is kell. Ezt ismerjük.
Aztán persze, sok embernek jó lehet. Ha csak az IC-t nézem, ahhoz - ha jól nézem - a kvarcon kívül más nem is igen kell. Az ESP32 C3 Ic már 500 Ft körül is kapható. Ha valaki szériában épít valamit, és nem a panelkát veszi meg, olcsón juthat egy ESP32-höz, ami ugyan egy magú, de van benne WiFi, BT, ETH, és benn vannak a gyorsító hardverek (Pl. SHA, amit épp mostanában használtam). És a memóriája is elég jó, és jó a fordítója is.
Ha meg a panelt is megveszi, akkor meg azt is belerakhatja a nagy paneljába. Innentől kezdve más csak azt várom, mikor jelenik meg Pl. az okoskonektorokban . -
Janos250
őstag
válasz
JulianSinulf
#22026
üzenetére
Igen, döntsd el! Pl. írasd ki a meglévő modulod tulajdonságait.
Pl.:
Van benne érdektelen is, de most nem állok neki gyomlálni.#include <iostream>using namespace std;void setup() {Serial.begin(115200);delay(2000);printf("getHeapSize()=%d\n",ESP.getHeapSize());printf("getFreeHeap()=%d\n",ESP.getFreeHeap());printf("getMinFreeHeap()=%d\n",ESP.getMinFreeHeap());printf("getMaxAllocHeap()=%d\n",ESP.getMaxAllocHeap());printf("getPsramSize()=%d\n",ESP.getPsramSize());printf("getFreePsram()=%d\n",ESP.getFreePsram());printf("getMinFreePsram()=%d\n",ESP.getMinFreePsram());printf("getMaxAllocPsram()=%d\n",ESP.getMaxAllocPsram());printf("\n");printf("getChipRevision()=%d\n",ESP.getChipRevision());printf("getChipModel()=%s\n",ESP.getChipModel());printf("getChipCores()=%d\n",ESP.getChipCores());printf("getCpuFreqMHz()=%d\n",ESP.getCpuFreqMHz());printf("getCycleCount()=%d\n",ESP.getCycleCount());printf("\n");printf("getSdkVersion()=%s\n",ESP.getSdkVersion());printf("getCoreVersion()=%s\n",ESP.getCoreVersion());printf("getFlashChipSize()=%d\n",ESP.getFlashChipSize());printf("getFlashChipSpeed()=%d\n",ESP.getFlashChipSpeed());printf("getFlashChipMode()=%d\n",ESP.getFlashChipMode());printf("\n");printf("getEfuseMac()=0x%012X\n",ESP.getEfuseMac());printf("\n");delay(100);} ;void loop() {} -
Janos250
őstag
Hát, én eddig nagy tudatlanságban éltem!
Mindenütt azt láttam, hogy a Serial.print , és a Serial.println megoldással írnak ki dolgokat, néha a Serial.printf fügvénnyel.
Valahol láttam, és kipróbáltam, hogy a szabványos C++ printf még akár az UNO-n is elmegy. (Legalábbis lefordítja)
Például:int i= 5;printf("i ertekeprintffel = %d",i);
Akkor meg miért nem ezt használja mindenki?
-
Janos250
őstag
Kipróbáltam az ESP32 fejlesztői változatát. (3.0)
Haladunk a korral!
std::cout << "A C++ verziója: " << __cplusplus << std::endl;A C++ verziója: 202100 -
Janos250
őstag
válasz
Wolfram
#21941
üzenetére
Azt nem tudom, én, amiket hajdanán használtam, azok egyformák voltak. Lehetett is a fényerőt egészen levinni.
Nem tudom, miért ugrik, nekem csak akkor volt ilyen problémám, amikor a driverben nem tiltottam le a bájton belüli interruptot, hanem azzal is játszottam, hogy ne az RMT-t használom, hanem a sima GPIO-t. Ment az is. Én - a fene tudja miért - nem interruptoltam, hanem ciklusban figyelte az egyik mag a számlálót, hogy hol tart, és ahogy szabadult fel a hely töltöttem utána, a másik mag meg számolta, hogy mit kell feltölteni. Elvileg karácsonyi szalag lett volna, és egy szivárvány kígyó ment végig az 5 méteren, de soha nem került ki, mert mire kész lett, a szivárványnak már annyira más szimbolikája lett, hogy nem mertem használni. Aztán így maradt. Pedig panelt is csináltattam hozzá a kínaival, 5 db-t, kemény 1 $/panel áron, ami panelonként 4 szalagot tudna vezérelni. -
Janos250
őstag
A neten nem tudom, merre van, mert én, amikor évekkel ezelőtt csináltam a WS2812 vezérlést, nemigen találtam, de az rég volt, azóta nem tudom, mi van.
A hordozó frekvenciásat soha nem használtam, azt csak elméletből tudom, hogy van két regiszter, az egyikbe azt töltöd, hány 80 Mhz-es ciklusig legyen alacsony, a másikba hányig magas a carrier, és akkor azt modulálja az RMT. -
Janos250
őstag
Teszek majd fel, de jelenleg olyan nincsen, ami publikációra készült, és hányavetett dolgot nem akarok föltenni, mert gyorsan megkapom, hogy nem is szép, meg nem is jó a program.
A lényegét viszont most leírom, úgyis onnan kell elindulni.
Az ESP32 tartalmaz néhány beépített hardver megoldást, többek között ezt is. A lényege, hogy van saját tárterülete, (32 bites szavak) oda kell az adatokat berakni, amiket a következőképp értelmez: Előveszi az első szót, annak az egyik 16 bitjét (lehet 15, fejből nem emlékszem biztosan) úgy értelmezi, hogy annyi időegységig kell az adott lábat alacsonyan tartani, majd a másik felében lévő adatok szerint meg magasan. Ha infrát akarsz, akkor csak egy lábra a led, és betölteni a számokat. Ha az adott tárhely kevés neki (egy hosszabb WS2812 led) akkor közben cserélni kell az adatokat. Ez mehet úgy, hogy amikor az adatok felét megzabálta, akkor interrupt, és a felhasznált fele helyére copy, vagy van egy számláló regiszter, ami azt mutatja, hogy hol jár, azt is lehet figyelni. Be lehet úgy állítani, hogy ha elfogytak az adatok, kezdje elölről, meg úgyis, hogy akkor hagyja abba. -
Janos250
őstag
válasz
bagarol
#21923
üzenetére
A WS2812 is elmegy 3 Volttal. Az enyémek legalábbis megbízhatóan működnek.
A WS2812 meghajtó hardvere az ESP32-ben gyárilag ott van.
RMT a neve.
Remote kontroller kezelésére tervezték eredetileg, de azóta már nagyon sok mindenre használják. PL. WS2812 ledhez.
Ha valaki infra ledet tesz rá, a legtökéletesebb, és legegyszerűbb táviránytó TV-hez, vagy bármihez.
Rengeteg lehetőség van az ESP32-ben. -
Janos250
őstag
válasz
gordonfreemN
#21897
üzenetére
Mindenki azt fogja javasolni, amit ő használ. Én természetesen az ESP32-t preferálom, mert ha per pillanat nem is kell, olyan technikákat is megtanulhatsz vele a jövőben, aminek később hasznát veszed, és sokkal könnyebben veszed elő azt a technikát, ami úgyis ott van bótilag, mint ha ehhez át kellene állnod bármire.
Pl. ESP32-n nincs olyan, hogy az "SDA-SCL pinek foglaltak".
Az ESP32-ben van egy mátrix. A benne lévő hardverek vannak a mátrix - mondjuk - soraiban, a pinek meg az oszlopaiban. Amelyik kereszteződésbe teszel szoftveresen egy "pöttyöt", ott vezet, máshol nem. Vagyis bármi átirányítható bármelyik pinre, és ez csak pár ns-sel növeli meg az elérési időt.
Nem lényegtelen az se, hogy megtanulhatod vele pl. a párhuzamos programszálak használatát. Mind a C++ párhuzamos szálait, mind az ESP32 párhuzamos programozását.
Teljesen más lehetőségek is adódnak így.
Pl.: Ha van valami eszközöd, amire 5 sec-ként rá kell nézni, egy másikra meg 6 sec-enként, akkor nem kínlódsz azzal, hogy számolgasd, éppen hol tartasz, melyiket kell megnézni, hanem elindítasz két szálat. Az egyik ránéz a kívánt eszközre, majd delay 5 sec, a másik meg ugyanígy, de 6 sec. Teljesen függetlenek lesznek, egymást nem zavarják, és nem várakozás lesz a delay, hanem olyankor átadja a vezérlést a többi szálnak, nem fékezi a többit.
Stb.
Természetesen a Te döntésed, mi javaslatokat nem adhatunk, csak szempontokat, hogy miket vegyél figyelembe a döntésednél. -
Janos250
őstag
válasz
Wolfram
#21882
üzenetére
Könnyű neki, van beépített hardver PWM-je.
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
385. oldal.
Az valóban meglepő, hogy ekkora áramot elbír. -
Janos250
őstag
válasz
Wolfram
#21844
üzenetére
Mert én egy gyűjtögető vagyok. Mennyi olyan cuccom van , amit ki se próbáltam!
Mellesleg a ws2812 nagyon jól meg van az ESP32-ben támogatva, Postás kollégánk videójában is azt dicséri az emberke. Na, ez ESP32-ben sokkal jobban van hardverben támogatva.
Számos dolog önálló , független hardverben elműködget, anélkül, hogy a két mag közül bármelyiket is igénybe venné. Azt, ha kifogyott az adata, akkor interruptal szól, hé, elfogyott, adjál enni!
Igaz, hogy én a hardver megoldásai közül nem sokat használtam ki ( pl. RMT=WS2812, SHA1) -
Janos250
őstag
válasz
Postas99
#21835
üzenetére
"nem akarod inkább olyan helyről rendelni"
Nem.
Arduino® Nano RP2040 Connect with headers több, mint 11 ezer Ft.
Én a magam részéről egyelőre kihagyom a román csúcstechnológiát.
A videóba belekezdtem, de mikor láttam, hogy még 10 perc után is alig haladt valamit előre, akkor abbahagytam, nincs nekem időm több mint egy órán keresztül ezt hallgatni.
Egyébként is ki vagyok akadva az analfabétizmus ilyen szintű elterjedésére, hogy minimum érettségizett emberek nem értik meg, ami le van írva (funkcionális analfabéták), ezért el kell nekik egy videóval - vagy személyesen - szóban mondani.
Ha valaki nekem mondani akar valamit, írja le, és én majd elolvasom. Azt tudom lapozni, látom, mi van benne, mi az ami engem érdekel.
Egyébként, ameddig néztem, az nem győzött meg. -
Janos250
őstag
Erre én is kíváncsi leszek, mert egy egészen más mag van benne. És egy magos. Elvileg a korábbi ESP32 hardver megoldásai zömében bene vannak, de - gondolom - azért nem mennek egy az egyben a másik programjai.
Például, az ESP32-n ugyebár a beépített hardver jelentős része ki van kapcsolva, és egy adott címen, egy adott bitet kell beállítani, hogy ha be akarod kapcsolni, azaz órajelet adni rá. Meg lennék lepve, ha ugyanannak a címnek ugyanazt a bitjét kellene állítani.
Az enyém Kínát már elhagyta, de Magyarországra még nem érkezett meg. remélem, nem lövik ki a Vörös-tengeren.
https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32c3/hw-reference/chip-series-comparison.htmlKözben megnéztem a dokuban.
A perifériák egész más címen vannak, tehát új driverek kellenek rá.
-
Janos250
őstag
válasz
Janos250
#21794
üzenetére
Azokra gondoltam, amik eleve a rendszerben vannak, mert azok valóban nem keverik a dolgokat.

A gondom a netről letöltött programokkal volt, amik összevissza ezt-azt akartak használni.
Aztán ide:
C:\Arduino\arduino-1.8.19\portable\sketchbook\librariesrakosgattam be, ez a problémák zömét megoldotta, mert a kacsacsőrösök közül először itt keres (legalábbis úgy tűnik, mert erről nem tudok semmi leírást, hogyan szedi sorba, a fordító paraméterei meg annyian vannak, hogy nem volt türelmem végigbogarászni.)

-
Janos250
őstag
válasz
vargalex
#21793
üzenetére
Én régebben többször belekeveredtem, mert több helyen vannak kyönyvtárak.
Pl:C:\Arduino\arduino-1.8.19\libraries
C:\Arduino\arduino-1.8.19\portable\sketchbook\libraries
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\libraries
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\cores\arduino
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\firmwares
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\cores\esp32
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\cores\esp32\apps\sntp
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\libraries
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\dout_qspi\include
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\includePersze, kibogozható, hogy mikor éppen melyiket használja, de én néha belekeveredtem.
"ami nem hivatkozik másikra és azok tovább"
Azokkal kevésbé van gond, mert azok tudják, hol keressék a nekik kellőt, probléma akkor van, ha az ember mondjuk végig akarja próbálni a neten elérhető SHA1 programokat, összehasonlítani, hogy milyen időt futnak, amik szoftveresen oldják meg, és milyet, amik használják az ESP32 hardver megoldását. Mivel ilyen libet elég sokan írtak, és mindenki az SHA1 nevet adta neki, ebbe belekeveredtem annak idején, kénytelen voltam az összeset letörölni, és egyenként berakni csak azt, amit éppen próbáltam. -
Janos250
őstag
Írj egy programot ESP32-re, amivel interneten keresztül vezérelhető egymástól függetlenül 4 db lámpa be-, illetve kikapcsolása!
ChatGPT:
Sajnálom, de itt nem tudok teljes kódot adni, de segíthetek neked egy egyszerű példakóddal és útmutatóval, amely segít az ESP32-alapú lámpavezérlő projekt elkészítésében. A példakód egy egyszerű webszervert hoz létre, amelyen keresztül lehet vezérelni a lámpákat.Először is, telepítsd az Arduino fejlesztőkörnyezetet és az ESP32 támogatást hozzá. A szükséges könyvtárakat is telepítsd fel a "Library Manager" segítségével: WiFi.h és ESPAsyncWebServer.h.
Ez a kód egy egyszerű webszervert hoz létre, amelyen keresztül a lámpákat lehet vezérelni. Az ESP32 GPIO pineken keresztül kapcsolja be és ki a lámpákat. A weboldalon a lámpákat külön-külön lehet be- és kikapcsolni.
Ne felejtsd el a Wi-Fi hálózat nevét (ssid) és jelszavát (password) a kódban beállítani, hogy a készülék a megfelelő hálózatra tudjon csatlakozni.
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
const char *ssid = "your-ssid"; // Hálózat neve (SSID)
const char *password = "your-password"; // Hálózat jelszava
const int lamp1Pin = 2; // GPIO pin a lámpa 1-hez
const int lamp2Pin = 4; // GPIO pin a lámpa 2-höz
const int lamp3Pin = 5; // GPIO pin a lámpa 3-hoz
const int lamp4Pin = 18; // GPIO pin a lámpa 4-hez
AsyncWebServer server(80);
void setup() {
// Lámpák inicializálása
pinMode(lamp1Pin, OUTPUT);
pinMode(lamp2Pin, OUTPUT);
pinMode(lamp3Pin, OUTPUT);
pinMode(lamp4Pin, OUTPUT);
// Wi-Fi csatlakozás
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Weboldal kezelése
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", "<html><body>\
<h1>Lámpavezérlő</h1>\
<p><a href='/lamp1/on'>Lámpa 1 BE</a> | <a href='/lamp1/off'>Lámpa 1 KI</a></p>\
<p><a href='/lamp2/on'>Lámpa 2 BE</a> | <a href='/lamp2/off'>Lámpa 2 KI</a></p>\
<p><a href='/lamp3/on'>Lámpa 3 BE</a> | <a href='/lamp3/off'>Lámpa 3 KI</a></p>\
<p><a href='/lamp4/on'>Lámpa 4 BE</a> | <a href='/lamp4/off'>Lámpa 4 KI</a></p>\
</body></html>");
});
server.on("/lamp1/on", HTTP_GET, [](AsyncWebServerRequest *request){
digitalWrite(lamp1Pin, HIGH);
request->send(200, "text/plain", "Lámpa 1 BEkapcsolva");
});
server.on("/lamp1/off", HTTP_GET, [](AsyncWebServerRequest *request){
digitalWrite(lamp1Pin, LOW);
request->send(200, "text/plain", "Lámpa 1 KIkapcsolva");
});
// Hasonlóképpen kezelheted a többi lámpát is (lamp2, lamp3, lamp4)
// Szerver indítása
server.begin();
}
void loop() {
// Üres, itt lehetne egyéb dolgokat hozzáadni
} -
Janos250
őstag
válasz
Wolfram
#21789
üzenetére
Nem, bár szemeztem vele, de én szeretem, ha nem egy, hanem két fizikai mag van benne, de egyébként tetszik ez is, vagy másik verziója is. Gyűjtögető életmódom miatt január kilencedikén megrendeltem, január vége felé várható a megérkezése.
Jelenleg még nem érkezett meg a magyar VÁM-ra. -
Janos250
őstag
válasz
Janos250
#21787
üzenetére
Hány lámpa lenne?
Nem teljesen értettem meg a linkelt példát: egyszerűen WEB lapról akarod vezérelni a lámpákat? Mert ahhoz nem kell ekkora felhajtás.
"Melyik Arduino modell lenne erre a célra a legmegfelelőbb"
Erre mindenki mást fog mondani. Mindenki a kedvencét. Gyakorlatilag bármelyik jó, de ha neten keresztül akarod vezérelni, akkor az ESP8266, vagy az ESP32 a célszerű választás, mert abban benne van a WiFi, nem kell külön WiFi modul.
Honnan?
Ez is ízlés kérdése. Én mindent Aliexpressről veszek, de sokan az itthoni boltokat pártolják. Most az Alin rendelt dolgok is bejönnek 2-3 hét alatt.
ESP32mini Alinak egy akciójában nagyjából 1500 Ft. Ha nagyon sok lámpa kell, akkor egy erősebb ESP32
Igen, alaplap, tápegység elég. És persze a relék, ha azt használsz. Én általában FET-eket használok.
Gyorstalpaló?
Hát, vannak, kérdés, mennyire jók.
Hol állsz a programozással?
Az Arduino az C++ , megtámogatva egy halom "szabványos" osztállyal, hogy mindenki ugyanúgy használja a perifériákat, és egy plusz típussal (String a string mellé), ami néha jó, de néha meg gutaütés, ha keverni kell a kettőt.
A szerkesztő, és feltöltő felülethez nem kell különösebb tanulás, egyszer megnézed valahol, vagy valaki megmutatja, és megy. -
Janos250
őstag
válasz
its_grandpa
#21782
üzenetére
Én naivan azt hittem, hogy a néha - ritkán - általam is használt VSC (Visual Studio Code) Microsoft, de tévedni emberi dolog.
Béke! -
Janos250
őstag
Ha ott vannak a fájlok, ahol az ino, akkor idézőjel, egyébként kacsacsőr. Régebben én is szívtam vele, mert az ESP32 is összevissza rak könyvtári fájlokat. Ezért én nem kínlódok vele: vagy átteszem az ino mellé - akkor mellesleg szerkeszthetem is az Arduino IDE-ben - vagy megadom a teljes elérési utat.
Például találomra így:C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\include\driver\include\driver\sdio_slave.h -
Janos250
őstag
válasz
its_grandpa
#21778
üzenetére
Azt azért feltételeztem, tudja, mikor kell a kacsacsőrt és mikor az idézőjelet használni.
Microsoft ügyében (is) megmarad a véleménykülönbségünk. -
Janos250
őstag
válasz
Wolfram
#21771
üzenetére
Mást is érdekelhet, ezért leírom:
A legbiztosabb, ha beteszed a kívánatosat az .ino mellé, akkor biztosan azt használja.
Ha ott nem találja, akkor (nálam, mert én portable-t használok) a sketchbook\libraries mappában keres, majd így tovább. Ha végképp keveredik, akkor be kell írni az include-ba a teljes elérési úttal. Ez biztos módszer.
Sajnos hiába írják ezer helyen, hogy, ha valaki ír egy könyvtári programot, ne adjon neki általános nevet, hanem egyedit. Én pl. a saját könyvtáraim nevébe a dátumot is beírom, vagy valami más egyedit. -
Janos250
őstag
válasz
vargalex
#21769
üzenetére
Én csak a két utolsó sorra hívnám fel a figyelmet:
Nem pointert használ, hanem tömböt. Ami persze ugyanaz, csak áttekinthetőbb!for(unsigned int i = 2; i < output_length; i += 3) {output[0] = base64_to_binary(input[0]) << 2 | base64_to_binary(input[1]) >> 4;output[1] = base64_to_binary(input[1]) << 4 | base64_to_binary(input[2]) >> 2;output[2] = base64_to_binary(input[2]) << 6 | base64_to_binary(input[3]);input += 4;output += 3;} -
Janos250
őstag
válasz
#75135488
#21641
üzenetére
Serial a debughoz nincs? Miért nincs? Egy serial-USB konverter, és mehet a gépre, és ott listázni a megfelelő com portot akármivel.
Én ESP32-re írtam régebben egy programocskát, ami mutatja, ha WEB-en belépek, hogy hány kliens kapcsolódik aktuálisan, és milyen távoli portokkal. Nem tudom, ESP8266-al menne-e, már nagyon rég használtam 8266-ot.
Ki sem tudom próbálni, mert ESP8266 csak a munkahelyemen van benn, oda meg most be sem tudok menni, mert pár nappal ezelőtt volt egy hajnali halálos baleset, mert egy kolléga izopropil-alkohollal tisztított valamit, és a gőze berobbant. Most két hétig a szünetben légy se se ki, se be.
Mindenesetre vagy folyamatosan fenn kell tartani a kapcsolatot, vagy használat után bezárni, és a következő használatnál újranyitni.
Gyanítom, hogy az aszinkron kapcsolat megmarad, a dolog jellegénél fogva. -
Janos250
őstag
Ha valakinek elég 1 mag, és kevés láb, kicsi a hely, de ESP32-t akar, most €3.76.
Ingyen szállítással, ha a "3+ items from US $1.99" keretében veszed.
https://vi.aliexpress.com/item/1005005319963906.html
De több lábbal is ennyi. -
Janos250
őstag
válasz
Sebiferi
#21574
üzenetére
Lehet, hogy csak azért, mert már álmos vagyok, de én az egésznek a logikáját nem értem.
10 elemű vektor 4-es elemeit kinullázod, majd egy ciklust járatsz tízig, de ha a code nulla, (ami a 4-es elemnél lesz), akkor kiíratsz ezt-azt, majd a ciklus megy tovább?
Végén kiíratod az eltelt időt?
Itt a meghatározó nem a ciklus, hanem a Serial ideje lesz.
Mit nem látok jól? -
Janos250
őstag
Nekem az említett "3 vackot egyszerre" szisztémában jött cuccok mind megjöttek 2 héten belül. A tied valószínűleg nem az volt, mert azokat egy csomagban küldik.
A többinél én is vártam már 2 hónapot is.
Most is várok egy 500 W-os motort a CNC 3018-as kis CNC-hez, amit mostanában csencseltem, és próbálom kicsit felhizlalni.
A végálláskapcsolókat is várom, de azokat valószínűleg megveszem itthon, mert nem lesz türelmem kivárni. -
Janos250
őstag
válasz
valkesz93
#21565
üzenetére
Egyértelműen Kínából, ha nem úgy kell, mint...nak a fehérkenyér: már harapjam is.
Az itthoni forgalmazók nagyon drágák. A nepperek meg ugyanúgy Kínából rendelik a Te címedre, csak jó pénzért feleslegesen közbeékelődnek.
Van az Alin az a "3 vackot egyszerre" szisztéma, ott ugyan nagyon szűk a választék, de max 2 héten belül itt van.
A többi teljesen változó, hogy mennyi idő alatt ér ide. Van ami 2 hét, van ami 2 hónap alatt.
A Bangood drágább az Aliexpressnél, de általában gyorsabb.
Nyomtatott áramkör készítést például véletlenül se szabad itthon csináltatni, mert a kis kínai fillérekért megcsinálja, és elég gyorsan itt is van. Még a gyorsabb szállítás választással is messze az itthoni árak alatt van. -
Janos250
őstag
-
Janos250
őstag
Ez is Arduino:
https://www.youtube.com/watch?v=lqizRKBuqjs -
Janos250
őstag
válasz
ViZion
#21421
üzenetére
Erre szoktam mondani, hogy itt a karácsony, olyan dolgot vegyetek a gyereknek, amit élvez, de tanul is.
Egy régebbi használt kék lézergravírozó, amivel felírhatja karácsonyra egy fakanálra, hogy a legjobb anya, vagy Katinak, hogy a legszebb lány. Pár éve olcsón adták a régebbi típusú, használt 3D nyomtatókat is, de ezek már "elfogytak". Sajnos ezek nem éppen olcsók, pár tízezres kategóriában vannak. Egy mikrokontrolleres dolog is jó lehet, ha a suliban telefonon meg tudja nézni, hány fok van otthon a szobájában. Ilyesmi Kínából olcsón bejön. -
Janos250
őstag
-
Janos250
őstag
"van-e bármi amit esetleg elronthattam a design közben?"
Van. Például nem minden légvezetéket alakítottál át.
Ott van benne egy ellenőrzés, futtasd le. Nem tudom fejből, hogy hol, de van.
Az persze egy csomó egyéb figyelmeztetést is kiír. Pl. ha egy láb semmihez nincs csatlakoztatva, stb.
"Ezen a linken meg tudja nézni"
A kapcsolás jónak tűnik, de nem látom a panelon a vezetékezést!
" Ez alapján választottam a pcb-hez egy csatlakozó-alapot:"
Csinálhatsz is magadnak saját footprintet.
"Offra tettem, mivel nem annyira arduino mint a pcb-készítés,"
De, Arduino, mert az Arduino alapú projektekhez kell PCB is!
Én is Arduino dolgokhoz használom. -
Janos250
őstag
Én az easyeda.com-ot használom. Gyors, jó minőség, és olcsó, bár a szállítás megdrágítja
-
Janos250
őstag
válasz
vegyszer
#21152
üzenetére
Nem is vettem észre.
Ugyanis szívesebben kapcsolódok WiFi-vel a hálóra, mert akkor nem kell a cég rendszergazdinak a morgását végighallgatnom, hogy nem cseszem-e el a rendszert, ha fizikailag rákapcsolódok.
Vannak ilyen előnyei a WiFinek. Nálam pélsául az, hogy 230-as fűtést, szivattyút, ilyesmit vezérlek WiFin/telefonon keresztül, így nincs méregdrága érintésvédelmi vizsgálat.
A vezetékes hálózatot én is csak lokális módon használnám úgy, hogy a táp az egyébként kihasználatlan vezetékpáron megy, mint a POE kameráknál, mert az ott jól bevált. -
Janos250
őstag
Én ezzel
https://www.aliexpress.com/item/1005005658268195.html
szemezek egy ideje, mert olcsó, fele, mint a hasonlók, de csak a szemezésnél tartok. -
Janos250
őstag
Szevasztok!
Nálatok is az van, hogy a Firefox bizonyos beállítsainál nem lehet belépni, és hozzászólni?
Nálam az egyik gépen ez van, a másikon egy - még nem babrált beállítású - Firefoxszal be tudok lépni, és lám hozzá is tudtam szólni.
Nem tudom mi miatt van, de nem is kutatom az okát különösebben. -
Janos250
őstag
-
Janos250
őstag
"Szerintem a teljes TCP/IP stack implementálva van ESP32-re"
Igen, a teljes LWIP, én még nem találtam hibás működést.
Ha úgy tarja úri kedvünk, akár a C file kezeléssel is használhatjuk.
Megadjuk a szabályok szerint az URL-t, file-ként megnyitjuk, és a szabványos műveletekkel kezeljük, írunk rá, olvasunk róla. -
Janos250
őstag
válasz
Wolfram
#21040
üzenetére
NVS?
file > Példák > Preferences > StartCounter
https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/api/preferences.html
Ha nem érted meg, az azért van, mert részeg vagyok. -
Janos250
őstag
válasz
JozsBiker
#21051
üzenetére
Én 3D nyomtatóval szoktam nyomtatni dobozt, amiben mindennek megvan a helye, a rögzítéshez szüksége stiftek, lyukak, stb. Persze, ha nincs 3D nyomtatód, akkor ez nem megy.
Arra mindenképp figyelj, hogy a kisfeszültségű rész, és a 230 stabilan, biztonságosan legyen egymástól elválasztva! Akkor se legyen baj, ha történetes beleköltözik egy egér, darázs, stb, és elkezdi rágcsálni a dolgokat! -
Janos250
őstag
válasz
Wolfram
#21029
üzenetére
Hogy neked örömet szerezzek, megittam egy pohár vöröset is, és egy pohár fehéret is, hogy még jobban részeg legyek, így még egy hülye hozzászólás:
ha ezt ütöttem be neki:
"Írj egy programot ESP32-re, amivel egy ledet tudok ki-bekapcsolni neten keresztül, valamint egy DS18B20 által mért hőmérsékletet olvassa, és ha eléri a 25 °C-ot, bekapcsol egy ledet!"
Ezt a marhaságot válaszolta, mivel ő is ivott pár pohárkával:#include <WiFi.h>#include <OneWire.h>#include <DallasTemperature.h>// WiFi beállításokconst char* ssid = "WiFi_SSID";const char* password = "WiFi_PASSWORD";// DS18B20 szenzor csatlakozás#define ONE_WIRE_BUS 4OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);// LED-ek csatlakozásaconst int controlLedPin = 2; // A távolról vezérelt LED lábának sorszámaconst int tempThresholdLedPin = 3; // A hőmérséklet küszöböt érő LED lábának sorszáma// Célhőmérséklet (25°C)const float targetTemperature = 25.0;WiFiServer server(80);void setup() {Serial.begin(115200);// LED lábak beállításapinMode(controlLedPin, OUTPUT);pinMode(tempThresholdLedPin, OUTPUT);// WiFi csatlakozásWiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(1000);Serial.println("Connecting to WiFi...");}Serial.println("Connected to WiFi");server.begin();sensors.begin();}void loop() {WiFiClient client = server.available();if (client) {Serial.println("New client connected");String currentLine = "";while (client.connected()) {if (client.available()) {char c = client.read();Serial.write(c);if (c == '\n') {if (currentLine.length() == 0) {client.println("HTTP/1.1 200 OK");client.println("Content-type:text/html");client.println();client.println("<html><body>");client.println("<h1>LED Control</h1>");client.println("<p><a href=\"/on\">Turn LED ON</a></p>");client.println("<p><a href=\"/off\">Turn LED OFF</a></p>");client.println("</body></html>");break;} else if (currentLine.startsWith("GET /on")) {digitalWrite(controlLedPin, HIGH);} else if (currentLine.startsWith("GET /off")) {digitalWrite(controlLedPin, LOW);}currentLine = "";} else if (c != '\r') {currentLine += c;}// Hőmérséklet ellenőrzése és LED vezérlésesensors.requestTemperatures();float temperature = sensors.getTempCByIndex(0);if (temperature >= targetTemperature) {digitalWrite(tempThresholdLedPin, HIGH);} else {digitalWrite(tempThresholdLedPin, LOW);}}}client.stop();Serial.println("Client disconnected");}}Ha Te is iszol pár pohárkával, javítgasd!
Jó éjt!
-
Janos250
őstag
-
Janos250
őstag
válasz
lanszelot
#21007
üzenetére
Gondoltam, kipróbálom a ChatGPT-t erre.
Már többször próbáltam kíváncsiságból. Általában jó programot írt egyszerűbb dolgokra, de volt, hogy logikai hibát rakott bele.
Most azt írtam be neki:
"Írj egy programot ESP32-re, amivel egy ledet tudok ki-bekapcsolni neten keresztül!"
Ezt válaszolta:
"Az alábbiakban egy egyszerű példaprogram található, amely segítségével egy ESP32 mikrovezérlőn keresztül vezérelhetsz egy LEDet a hálózaton keresztül. A program egy egyszerű webes felületet biztosít, ahol egy gomb segítségével ki- és bekapcsolhatod a LEDet."
Ezt a programot írta:#include <WiFi.h>#include <ESPAsyncWebServer.h>// WiFi hálózati beállításokconst char* ssid = "WiFi_SSID";const char* password = "WiFi_Password";// LED pinconst int ledPin = 13;// Web szerver létrehozása az AsyncWebServer használatávalAsyncWebServer server(80);void setup() {// LED pin inicializálásapinMode(ledPin, OUTPUT);digitalWrite(ledPin, LOW);// Sori monitor inicializálásaSerial.begin(115200);// WiFi csatlakozásWiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(1000);Serial.println("Connecting to WiFi...");}Serial.println("Connected to WiFi");// Webes útvonalak kezeléseserver.on("/", HTTP_GET, [](AsyncWebServerRequest *request){String html = "<html><body>";html += "<h1>ESP32 LED Control</h1>";html += "<p>LED Status: ";html += (digitalRead(ledPin) == HIGH) ? "ON" : "OFF";html += "</p>";html += "<form action=\"/toggle\" method=\"post\">";html += "<button type=\"submit\">Toggle LED</button>";html += "</form>";html += "</body></html>";request->send(200, "text/html", html);});server.on("/toggle", HTTP_POST, [](AsyncWebServerRequest *request){digitalWrite(ledPin, !digitalRead(ledPin));request->send(200);});// Web szerver indításaserver.begin();}void loop() {// Üresen hagyjuk a loop-ot}Én nem használnék AsyncWebServer-t, hanem csak símát, és nem is tudom eldönteni, hogy jó-e, mert nem használtam még, és most meg kipróbálni nem tudom, de érdekességként beírom ide, hogy felhívjam a figyelmet, hogy hol tart a todomány!
Ha nem tudod, hogy ez:[](AsyncWebServerRequest *request)
mi, akkor Google, C++ lambda -
Janos250
őstag
válasz
Wolfram
#20973
üzenetére
" mennyibe kerül a LiPo/LiFePo4, sok mérési pont esetén nem elhanyagolható kérdés."
Nem sokkal drágább, viszont megúszod a fesz. szab elektronikát, mert alacsonyabb a feszültsége a lítium-vas-foszfátos akkunak, közvetlenül hajthatja az ESP-t. Ugyanakkora súlyra viszont kisebb a kapacitása. Itt az az előny nem játszik szerepet, hogy rövid ideig nagyon nagy áramot képes leadni. Egy 26650-es akár 100 A-t is lead pár másodpercig. -
Janos250
őstag
válasz
Wolfram
#20951
üzenetére
Hú, ez egy nagyszerű ötlet! Kár, hogy ennyire drága, de biztosan lesz ez olcsóbb is.
Megoldja azt a problémát, hogy megmaradjon az "UNO feeling", de mégis korszerűbb kontrollert használjon a pógár.
Sok kezdő azért nem akar egyből korszerűbbel kezdeni, mert a neten mindenütt azt olvassa, hogy UNO, UNO, UNO. Mert ez volt az első. Ehhez van leírva, hogy "bal oldalon a negyedik lábhoz kösd a...". Így ez is teljesül, minden tökéletes. Remélem, hamarosan megjelennek utángyártott, olcsóbb verziói.
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- MILC felhasználók szakmai topikja
- Milyen TV-t vegyek?
- Fejhallgató erősítő és DAC topik
- Battlefield 6
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen okostelefont vegyek?
- AMD Catalyst™ driverek topikja
- Építő/felújító topik
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Glorious Model O 2 Wireless fekete
- Armani Emporio Stronger With You Intensely
- iPhone 17 PRO 256GB makulátlan 1 hónapos KÁRTYAFÜGGETLEN! 2026 szeptember 25-ig Apple garancia!
- Gamer 17' 144hz Asus ROG i7, RTX 2070 Super, 2TB m.2 SSD
- R5 9600X/MSI PRO B650S-WIFI/32GB DDR5 6500MHz/1TB M.2/4TB HDD/RTX 5070 OC/750W.PLATINUM/ARGB CSODA
- Apple iPhone 17 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12600K / RTX 3070Ti / 32GB DDR5 / 512 SSD!
- Új és újszerű 15-16 Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest
Ügyes!


