Hirdetés
- 3D nyomtatás
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- DUNE médialejátszók topicja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Azonnali informatikai kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Amlogic S905, S912 processzoros készülékek
- OLED monitor topic
- Milyen monitort vegyek?
- Azonnali VGA-s kérdések órája
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
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
-
válasz
#70211840 #18650 üzenetére
Több eszköz esetén azért nem jelent problémát, mert tudtommal eszközönként kellene egy-egy 4,7k ellenállás (/fixme). Ha véletlenül kettő párhuzamosan lesz kötve, a 2,3k még mindig nem túl alacsony. A túl magas érték okozhat problémát, mégpedig sebességcsökkenést, illetve a túl alacsony okozhat megnövekedett fogyasztást, illetve nyilván bizonyos határ fölött leégnek a portok.
Nem tudom, mi az igazság, én azt gondoltam, hogy csak azokon a kijelzőkön van gyárilag felhúzó, amik shield-ek, tehát egyszerűen összedugva a lappal működnie kell, de lehet, hogy ezen is van, nem tudom, ki kéne mérni.
Az is lehet, hogy az ESP az i²c buszra alapból bekapcsolja a beépített felhúzó ellenállást (ami egyébként magas, 10-30kΩ). -
#70211840
törölt tag
Hát nem tudom... Biztosan kellenek ezek a pull-up ellenállások?
And fórumtárs itt éppen azt említi, hogy nem szükséges, mivel ezek gyárilag rajta vannak a kijelzőn, illetve több eszköz esetén jelenthet problémát is.Gyorsan összedobtam a Wemos D1 Mini-t, direktben rákötöttem a kijelző SDA/SCK lábait a D2/D1 lábakra és 3.3V-ról hajtva azonnal működött.
ESP-01 esetében sem használtam felhúzó ellenállásokat. Kellene? Több darab is így üzemel már egy ideje.
-
ViZion
félisten
válasz
Wolfram #18638 üzenetére
Nekem ilyen van, ahogy írtam, a képtől eltér a lábkiosztás, figyelni kell a panelon.
Nem tudom merre laksz, a meglévő kijelződ valaki a közeledben ki tudja próbálni? Egy ESPEasy-t megnéznék, h mit ír ki rá. Esetleg nem másik vezérlő, vagy a sebesség nem megfelelő a kommunikációnál?ReFleXx: fain. Akkor megint a semminél tartok...
LOD feszstab-ból pont az nincs Hestore-ban, ami tényleg brutál alacsony droppal dolgozik. Ami ~0,45 dropot tud, annál meg 4,5 V-től indul az input. Ha jól kerestem.
Te végül mivel oldottad meg?#18640 Wolfram: nem 5 V kell, 3,3 V körül kell neki. Igen, kicsi kell, nem mintha nem lenne hely
-
ViZion
félisten
ESP-01 akkus tápolására van vmi ötletetek (ami bevált)?
9 V elem + minitáp, vagy 3,7V lipo - neten azt láttam, h ezt rákötik, annyi, de én max 3,6 V-t olvastam neki, esetleg valami feszstab dolgot nem vettem észre? -
ViZion
félisten
Nem azt mondtam, h a kijelző a sok fogyasztásban, hanem azt, h esetleg más is van ott és együtt sok. Mivel 5 V-al is elketyeg, szvsz egy próba belefér. Megpróbálnám nem saját progival, hanem az ESPEasy-vel is megnézni, ott több library is van, scan is van és minden műXik is, hiszen userek használják. Ezzel az FW hibát lehetne kizárni.
-
#70211840
törölt tag
válasz
Wolfram #18627 üzenetére
Írják is, hogy 10k ellenállás az SDA-3.3V és SCL-3.3V közé.
Nekem ugyan nem Wemos D1 Mini, hanem ESP-01 van (ESP8266EX chip mindkető), de sem felhúzó ellenállás, sem 5V nem kellett.
(Amúgy az ESP-01 + SSD1306 nálam ~80mA-t fogyaszt együtt. Nem tudom ebből mennyi az OLED, de kizártnak tartom, hogy a Wemos D1 3.3V-ja ne bírná el.)Itt sincs felhúzó ellenállás és itt sincs. Szerintem nem kellene hozzá.
-
ReFleXx
addikt
megjöttek az esp12f-ek tegnap ki is probaltam es sokkal stabilabbnak tunik a WiFi csatlakozasa, eddig mindig elsore becsatlakozott mig a esp32-es moduloknal volt hogy nem tudtak elsore becsatlakozni csak egy restart utan.
-
ViZion
félisten
jah, WLED... "keverni" tervezem a ledeket:
Vezérlés PC sync, Prismatik.
1 pin: vezérelhető ledszalag a monitoron, másik 3 pin: RGB ledszalag, ez ambient lenne a plafonról, egy átlag érték a képernyő nagy részéről.
A vezérelhetőt külön külön hajtja a Prismatik (eddig van kész a dolog), de ott egy instance egy szalag. Ha kettőt futtatnék, ahhoz kettő ESP is kellene...
Viszont a jelenlegi ESP-hez ha rakok RGB szalagot, ezt egy szegmensbe vagy group-ba rakva lenne ez a Prismatik-nak a +1 vagy 2 led, adatait kiküldi a többivel az ESP-nek, kész.Valaki használja így? Ahogy olvasgatom, elméletileg tudja, de konkrétat nem találok rá, hogy ez működne.
-
-
onagyi
csendes tag
Jelenleg egy PC-n (Win 10) fut egy általam írt karakteres TCP server (C##) egy ACCESS adatbázisba lepakolja a kapott adatokat. A kliensek jelenleg D1 Mini adatgyűjtők (hőmérséklet, páratartalom mérése), amik a TCP serverrel kommunikálnak és küldik az adatokat (10 percenként). Ez működik.
Gondoltam, ha lehetne ESP32-ről közvetlenül írni egy MYSQL/MARIA DB-be, akkor az adatbázis lehetne egy Raspberry-n és nem lenne szükség a PC-re és a TCP serverre.Üdv: Nagy István
-
onagyi
csendes tag
Találtam ESP32-höz Maria DB közvetlen kapcsolati libraryt. Sajnos a minta példák sem működnek.
Próbálkozott már vele valaki?
Nagyon megköszönnék egy működő kódot.Üdv
agy István
-
#70211840
törölt tag
Nos, próbálgattam kicsit a powerbank adaptert, de valami nincs rendben. [így néz ki]
Azt játssza, hogy amikor elindul a "kütyüm" (esp-01s + 0.96 oled + aht20 szenzor) akkor bekapcsol a powerbank, ezt vizuálisan egy piros led is jelzi, majd pár másodperc után kikapcsol és leáll a "kütyü". Majd kezdődik elöről az egész folyamat. Van, hogy még a netkapcsolatig sem jut el. Alkalmanként 20-30 másodpercet is üzemel, szépen mutatja a szenzor értékeit aztán ugyancsak lekapcsol.
Nem értem a dolgot, hol csúszhat ennyire félre valami. Elméletileg 800mA-t folyamatos üzemben tudnia kellene. Ugyan nem mértem (majd megteszem), de szinte biztosan nem lépheti ezt túl. -
#70211840
törölt tag
válasz
#70211840 #18523 üzenetére
Na, közben meg is lett a válasz. Van lehetőség PL2303-al programozni az ESP-01S modult.
Manuálisan kell az PIO-0 portot GND-re zárni és így elfogadja működik.Elnézést a topic "szemetelésért", de gyakran történik velem olyan, hogy mikor leírok egy problémát, nagyon hamar beugrik a megoldás. Vagy éppen azt követően, hogy leírtam amit szeretnék megtudni, nagyon hamar rátalálok a neten arra, amire addig nem.
Szóval ... elnézést. -
#70211840
törölt tag
Van egy ESP-01S modulom. Még nem használtam ilyet és szeretném kipróbálni. Ha beválik több projectben is felhasználnám majd. (pl: több ilyennel, érzékelőtől gyűjtött adat központi szerverre továbbítva)
Úgy látom ehhez létezik egy kimondottan ehhez való USB programozó, amibe szépen beleilleszthető a modul. Nekem most ilyen nincs a kezemben sajnos, erről megfeletkeztem.
Az volna a kérdésem, hogy ez kizárólag ezzel programozható vagy megoldható a PL2303 Serial adapterrel is? (esetleg 3V3-ra moddolt CH341A van még)
Más:
Tudnátok ajánlani olcsó, apró, itthon beszerezhetó MCU-t amivel annyi lenne a feladat, hogy I2C hőmérséklet érzékelő értékét I2C OLED kijelzőre kiírjam? Csak lenne a feladata, az olcsóság és az apró méret a szempont ennél a projectnél. -
t72killer
titán
Lehet nem új már, ha valakinél téma lenne: esp8266 altatása.
-
tibi-d
tag
válasz
Wolfram #18478 üzenetére
Lehet, hogy rosszul tettem fel a kérdést. Egy olyan készülékhez kéne, amit, önállóan is kell tudni kezelni, mobil, tablet nélkül. Természetesen lesz mobilos lehetősége is.
Másik kérdés. Van-e olyan mobilos applikáció, amellyel az ESP32-ről érkező adatokat diagram formájában fel tudja rajzolni a telefon, tablet kijelzőjére (online). -
tibi-d
tag
ESP32-höz milyen kb. 5' kijelzőt javasoltok. (Ár-érték)
-
ViZion
félisten
Milyen project? Erről annyi van, h talán ESP-t RF-el, falon túlról is irányítani. Nem tudjuk hány funkció, vagy mit miért. Linkeltünk RF modulokat, volt tutorial, ahol távirányító jelét dekódolták és rendeltek hozzá funkciót (ez vicces volt, valami ledvezérlő RF távirányítót alakítottak át az ESP irányítására, amivel azután led szalagot vezéreltek. OK, lehet csak a tutorial miatt volt).
-
its_grandpa
tag
válasz
Wolfram #18436 üzenetére
Infrával is lehet arduinót vezérelni (olyan távirányítót linkeltél az elején), én sem értem igazán miért bonyolítod túl - https://www.instructables.com/Arduino-IR-Remote-receiver/
Tudom wemos-t akarsz, a lényeg szempontjából mindegy, hogy ESP vagy Arduino.
A wemosra eNeS megoldása jó lehet - https://bitekmindenhol.blog.hu/2019/02/21/egyszeru_433mhz-es_vevo_modul . -
válasz
Wolfram #18424 üzenetére
A wifi protokoll nem alkalmas távirányítónak.
- Vagy csinálsz egy weboldalt, amit wifin keresztül megnyitsz mondjuk egy mobiltelefonnal, és akkor arra annyi gombot teszel, amennyit csak szeretnél.
- Vagy az ESP32-n van Bluetooth is, ahhoz bármilyen Bluetooth távirányítót vagy billentyűzetet párosíthatsz.
- Vagy egy másik esp-vel esp-now kapcsolaton l kapcsolódj, annak a GPIO-inak a felhasználásával építs egy saját távirányítót.
- Vagy vegyél egy RF modult, azt kösd rá egy tetszőleges Arduino lapra, és lásd az eggyel korábbitValójában rengeteg féle távirányítót lehet és szoktunk is használni, csak pont olyan nincs, amit te keresel.
Az RF frekvenciája fix? Egy tetszőleges (pl.: [link] ) RF távirányító jelét el lehet kapni és dekódolni
Nem, sokféle frekvencia és mégtöbb protokoll létezik.
-
ViZion
félisten
válasz
ReFleXx #18417 üzenetére
Nem mutat az semmit... Nem látszik a kódon, mert azt a devices vezérli -nem foglal helyet itt, "gyárilag" ESPEasy tudja. A kódban frissülnek az adatok, de a kijelzőt gombbal tudom bekapcsolni és hogy ne felejtsem úgy, 35 sec után kikapcsolja.
Normális esetben nem kell nézegetni, teszi a dolgát. De azért ott van, fűtés debuggolásraWolfram: "Legalább lélekben támogatnak a fórumon." Bátya, ha elmondanád, h mit szeretnél, mire használnád, stb... akkor már a progit is megírta volna rá valaki. Fél, sőt negyed információkkal találjuk ki, h mi lenne a megfelelő.
Ha visszaolvasol pár héttel, a kazán projecthez volt itt egy konkrét leírásom, aki olvasta az értette a problémát, a feladatot és hogy én milyen megoldásra gondoltam. Úgy lehet segíteni. Pár hete telepítettem az első ESPeasy-met (előtte én is arduino-s tutorialokkal hadakoztam, WLED működik, a többit összeraktam-szétkaptam), most meg várja a 2. hogy összerakjam...
-
ViZion
félisten
válasz
t72killer #18413 üzenetére
Nem tudom mi hajCSa... de nekem van 2 kinti hőmérőm, AA és AAA elemesek, kb. évente csere. Az bírja. Nem tudom, h mi lenne jobb ennél.
Fenti kódhoz:
Thingspeak-ot ebből kiszedtem, nem nézegetem. Tervben volt külső hőmérő is, de igazán nincs jelentősége. A timerek így is adnak munkát a kis Wemosnak. A korábbi verzió 14-18% load-ot sikerült 22-25-re tolnom.
A LET ciklusok az ESPEasy-n 1 sec-esek, de az halálos, ezzel már vállalható. Sajnos a timer value-t nem tuja máshogy kiírni, elvileg tervben van, talán majd valamelyik frissített verzióban. Ahogy a változók értéke sem lehet szöveg és még az oled clear-t sem lehet csak sorokra vagy oszlopokra alkalmazni. Vannak korlátai, de nagyon jól használható, ha tudunk a hibáival együtt élni. -
ViZion
félisten
válasz
Wolfram #18401 üzenetére
RF-el sokkal nagyobb távolságok hidalhatóak át, de ált. egyirányú a kommunikáció.
Nem tudjuk most sem, h mire kell, felvázoltak több lehetőséget is. Ha az energiatakarékosság + mobilitás is kell, akkor RF a jó sztem. Ha van wifi, és ritkán kell, akkor telefonos megoldás is jó. Ha két eszköz között kell adatcsere, akkor ESPNOW is jó, vagy MQTT, de ezek az RF-nél macerásabbak szerintem. A felébred, kapcsolódik, adatot küld és alszik az tipikusan szenzoros ESP, ahol X percenként mér, küld.
Wifis távirányító: a mobilod... BT távirányító és kis szerencsével akár IR távirányító is. -
ViZion
félisten
-
Tankblock
aktív tag
válasz
Wolfram #18396 üzenetére
Szia,
Mit szeretnél? Opcióból nincs hiány....
- Hostolhatsz weblapot/websocketet amin keresztül tudod GPIO vezérelni --> onnan a rádiódat
- készíthetsz másik távot ami ESPNOW protokollon keresztül küld üzenetet az elsőnnek amelyik gombot lenyomtad kiküldi mint üzenet aztán ha nem jön több gombnyomás deep sleep....
- IR receiver boardot már látom belinkeltékezeket egyszerre is meg lehet csinálni....
-
ViZion
félisten
opto leválasztás után csak úgy tudtam bekötni, h a 3.3 V-t adja rá az opto a gpio-ra. inputra sok helyen a pull up (0) és gnd-re kapcsolást (1) írják . optoval olyen volt a példa is, működik is, a kérdésem hogy ezt az esp mennyire tolerálja, kapjon-e soros ellenállást? telo, azé a typo...
-
Janos250
őstag
válasz
janohi #18370 üzenetére
Akinek írtam, annak ESP32-je van, és azon van printf, a Te Megádon nem tudom, van-e. :-(
De - ha jól emlékszem - a Serial.printf ugyanezt teszi, de rég volt már a kezemben Mega. Ha hülyeséget írtam, majd javítanak, akik jobban ismerik a Megát.
A printf a szabványban benne van, és az ESP32 a szabványos fordítót használja, tapasztalatom szerint mindent lefordít, ami szabványos a C++11-ig. -
t72killer
titán
válasz
t72killer #18365 üzenetére
Nno, előre izgi, ekkorát még nem vásároltam
Azért rakom ki, mert pár darab még ardus viszonylatban is nagyon jó árúnak tűnt:
- 2db arduino nano USB-c, forrasztott
- 2db NEO-8M GPS-modul (egyelőre a saját antennájával, erre a projektre sztem elég)
- 2,5mm-es jack végű kábel (végülis egy marék 2,5->3,5mm-es átalakítót vettem fél gombnyi összegért, jó lesz az még másra is)
- egy kazal male-to-female DuPont kábel (F-F van itthon)
- 3 marék 55pontos mini-breadboard*
- méretre vágható "neapirosatvágdelhanemakéket! - dehát itt minden kábel barna#&&#@!" 20centis breadboard kábelek*
- 5db 16340-es tápegység, +bele kék akksik
- DHT22+ESP-01s "hányfokvankint" szenzorok ("projekt B")
- Egyelőre 2db 0.96"-os OLED kijelző
- Primitív blankoló fogócska (nemröhög, eddig késsel nyestem a kábelszigeteléseket)
Itthon van pattintott kőkorszaki kőbalta forrasztó (kétlem, hogy ezzel az ardus cuccokhoz akarok majd nyúlni), egy fazék ellenállás, tranyó és még MOSFET-eket is találtam a pár évvel ezelőtt feladott projektből.
*iigenigen, első körben nemröhög nem szeretnék forrasztgatni
-
t72killer
titán
válasz
Ton-ton #18361 üzenetére
, szem előtt tartom ezt is. Közben visszatereltem magam a 16340-es megoldáshoz. Összességében kicsit drágább, de ezzel usb-tölthető kütyüket tudok generálni.
ON: ESP-01s programozásához USB-s kütyüt használnátok vagy az arduino nano is ugyanolyan jó lesz? (uno-s példa itt a 6-7.oldalon)
-
t72killer
titán
Az ESP-01s wifije kb meddig "lát el"? Wifis hőmérőkön gondolkozom DHT22-vel párosítva, lenne egy egység a a kertben kb 20méterre a házban lévő routertől, ott, ahol telefonnal még éppen-éppen látok wifit. Van esély rá, hogy működni fog, vagy nézzek antennás lapkát?
-
ViZion
félisten
Jah, ESP32 mindenben IS jobb. Nem tudom mi a project, mivel én Wemos fan vagyok (sőt már nem is fan, hanem split klíma
), így azt javasoltam a korábbiakra, alapvetően az Uno helyett.
Wolfram: nah, ez tényleg fain hely, gratula. Árak is jók, főleg ha küldenek külföldre is, ócón.
-
Janos250
őstag
válasz
#70211840 #18319 üzenetére
Ha mindenféléket tudni akarsz a lapodról, akkor futtasd le:
void setup() {
Serial.begin(115200);
delay(3000);
printf("Internal RAM:\n");
printf("HeapSize = %d , 0x%08X \n",ESP.getHeapSize(),ESP.getHeapSize());
printf("FreeHeap = %d , 0x%08X \n",ESP.getFreeHeap(),ESP.getFreeHeap());
printf("MinFreeHeap = %d , 0x%08X \n",ESP.getMinFreeHeap(),ESP.getMinFreeHeap());
printf("getMaxAllocHeap = %d , 0x%08X \n\n",ESP.getMaxAllocHeap(),ESP.getMaxAllocHeap());
printf("SPI PSRAM:\n");
if(psramInit()){
printf("PsramSize = %d , 0x%08X \n",ESP.getPsramSize(),ESP.getPsramSize());
printf("FreePsram = %d , 0x%08X \n",ESP.getFreePsram(),ESP.getFreePsram());
printf("MinFreePsram = %d , 0x%08X \n",ESP.getMinFreePsram(),ESP.getMinFreePsram());
printf("MaxAllocPsram = %d , 0x%08X \n\n",ESP.getMaxAllocPsram(),ESP.getMaxAllocPsram());
}else{
Serial.println("PSRAM not available");
} ;
printf("ChipRevision = %d \n",ESP.getChipRevision());
printf("ChipModel = %s \n",ESP.getChipModel());
printf("ChipCores = %d \n",ESP.getChipCores());
printf("CpuFreqMHz = %d \n",ESP.getCpuFreqMHz());
printf("SdkVersion = %s \n",ESP.getSdkVersion());
printf("FlashChipSize = %d, 0x%08X \n",ESP.getFlashChipSize(),ESP.getFlashChipSize());
printf("FlashChipSpeed = %d \n",ESP.getFlashChipSpeed());
printf("FlashChipMode = %d \n",ESP.getFlashChipMode());
printf("SketchSize = %d, 0x%08X \n",ESP.getSketchSize(),ESP.getSketchSize());
printf("FreeSketchSpace= %d, 0x%08X \n",ESP.getFreeSketchSpace(),ESP.getFreeSketchSpace());
printf("EfuseMac = %d, 0x%08X \n",ESP.getEfuseMac(),ESP.getEfuseMac());
printf("SPI_FLASH_SEC_SIZE = %d, 0x%08X \n\n",SPI_FLASH_SEC_SIZE,SPI_FLASH_SEC_SIZE);
printf("\nPartition table:\n");
esp_partition_iterator_t it;
esp_partition_t *pPart;
it = esp_partition_find(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_ANY, nullptr);
while (it != nullptr)
{
pPart = (esp_partition_t *) esp_partition_get(it);
printf("main: partition type = %d.\n", pPart->type);
printf("main: partition subtype = %d.\n", pPart->subtype);
printf("main: partition starting address = %x.\n", pPart->address);
printf("main: partition size = %x.\n", pPart->size);
printf("main: partition label = %s.\n", pPart->label);
printf("main: partition subtype = %d.\n", pPart->encrypted);
printf("\n");
it = esp_partition_next(it);
}
it = esp_partition_find(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_ANY, nullptr);
while (it != nullptr)
{
pPart = (esp_partition_t *) esp_partition_get(it);
printf("main: partition type = %d.\n", pPart->type);
printf("main: partition subtype = %d.\n", pPart->subtype);
printf("main: partition starting address = %x.\n", pPart->address);
printf("main: partition size = %x.\n", pPart->size);
printf("main: partition label = %s.\n", pPart->label);
printf("main: partition subtype = %d.\n", pPart->encrypted);
printf("\n");
it = esp_partition_next(it);
}
esp_partition_iterator_release(it);
}
void loop() {
} -
válasz
ViZion #18339 üzenetére
Én már írtam neki az ESP-s hanglejátszást, mondjuk hónapokkal ezelőtt és ESP32-t javasoltam, mert azon van dedikált sztereo i²s kimenet, de ha a 8266 is tudja, akkor csak még jobb.
Mondjuk ha egy UNO-val is lehet wav-ot lejátszani, akkor logikus. Alacsony bitrátájú, mono mp3-ból szerintem simán befér néhány a 4MB flash-be.
-
válasz
#70211840 #18319 üzenetére
Ha a chip-en Esp wroom van, akkor nyugodtan állítsd be annak, aminek vetted (pl ESP32 NodeMCU).Akár Generic ESP32-t is beállíthatsz, legfeljebb a lábak elnevezésével lehet némi zavar, de belül az összes ugyanaz.
Igen, ha van rajta usb csatlakozó, az alapvetően pont a feltöltés miatt van rajta. Feltöltésnél előfordulhat, hogy nem tudja magát automatikusan resetelni (nem mindegyik tudja), akkor valamelyik gomb (talán a boot?) nyomvatartása mellett kell majd gépre dugni a feltöltés előtt.
-
#70211840
törölt tag
Urak.
Van egy 38pin-es ESP32 MCU-m. Pontosan nem tudom melyik típus, mert feliratot nem látok rajta, a webshopban ahol vettem, pedig nem pontosan olyan kép van, mint amit kaptam. [link]
Hogyan tudnám kideríteni, hogy milyen verzió és az ArduinoIDE-ben mit kell beállítanom?
Illetve ehhez is szükséges USB-UART átalakító a feltöltéshez vagy a microUSB tud adaportként is működni?(Mondjuk elég bosszantó, hogy a pin-ek is úgy voltak beforrasztva, hogy befele álltak a lábak kicsit. mindet ki kellett szednem és újraforrasztanom)
-
ratkaics
senior tag
Sziasztok!
Tudtok olyan kész panelt/eszközt ajánlani, aminek van minimum 3db reléa kimenete és minimum 2 db digitális bemenete? Lehet ESP és Arduino meg más mikrokontroller is. A lényeg az lenne, hogy ne kelljen nekem NYÁK-ot készíteni, meg forrasztgatni.
-
Szancsó
aktív tag
Sziasztok!
Lenne egy kis méret problémám: túl nagy lett... a kódCsak próbálkozom egyelőre a témával (hobby projekt), egy ESP32 -t kezdtem nyüstölni.
Amiket használok: TFT kijeltő, flash memória, RTC modul, WiFi, Bluetooth, apróságok (rotary encoder, pár kimeneten MOSFET -ek, stb - viszont ezek nem sok vizet zavarnak kód szinten).
Library -k, amiket egyelőre használok:
RTClib (pontos idő, hőmérséklet)
TFT_eSPI (kijelzőhöz)
ArduinoJson (beállítások mentése-visszatöltése, adatátvitel)
PNGdec (flash -en tárolt saját ikon/animáció megjelenítéshez)
SPIFFS.h (adatbetöltés)
BluetoothSerial.h, WiFi.h (kommunikáció majd app -hoz)
stb.A gondom az, hogy még várhatóan lesz más (egyelőre csak magamnak csináltam a kiejlzőre animációt, hogy legyen valami, de később menü lenne rajta) és UI -hoz kell majd még telepíteni + OTA is lenne, de már most 1.47MB a fordított release. Már átpartícionáltam, így felfér, de tényleg ekkora helyet foglalnak ezek? (Mikor elkezdtem használni a Bluetooth-t levett vagy 4-500kB -t)
Vagy valaki tud zsigerből ezeknél jobb megoldást? -
válasz
t72killer #18303 üzenetére
Mi a baj ezzel, amit linkeltél? Elég jó árban van, és nem kell hozzá külön μC, mert rajta van egy esp8266. Ami különben elég jó választás lenne, mert nem kell neki külön 5V táp, mivel 3,3V-ról megy, viszont a bemenetei 5V toleránsak.
az 5V/0V digi jel nem túl erős-e a mikrofonbemenetnek
Miféle mikrofonbemenetről van szó? Aktív, mint a PC mikrofonbemenete, vagy passzív, mint a telefon headsetje?
Nem a saját mikrofonjába akarsz kívülről belecsipogni?Vételi oldalon egy opamp-ból kialakított sávszűrő kell, például a fent említett 1200-2200Hz sávra, és megpróbálhatod szoftverből számolni a frekvenciát megszakítással. Valami GCR kódot használnék hozzá.
-
ReFleXx
addikt
válasz
ViZion #18264 üzenetére
az arduinos sketchekbol olloztam ossze egy kodot.
wifi kereses nincs, megadom az SSID , password parost es megy ki a wifi.begin()
ezen a devkit boardon is D2 labra van kötve a builtin LED de az nincs bekapcsolva.
neked espeasyben mennyi ido a wifi csatlakozas deepsleepbol ebredve? -
ViZion
félisten
válasz
ReFleXx #18263 üzenetére
A saját lednek is van "GPIO-ja". Wemosnál GPIO2-t kell high-ra állítani.
Nem tudom mit használsz rajta, de van olyan ESPEasy-ben, h ne keressen wifit, hanem az utolsóra jelentkezzen be. Jó esetben ez rövidebb idő, mint előről kezdeni a folyamatot. ms ez is, de lehet, h számít. A másik a wifi power, amit lehet szabályozni, ha jó a vétel, akkor limitálni kell. Power led az ilyen, kéri a power-t. -
ReFleXx
addikt
esetleg mérte itt valaki az ESP32 modul aramfelvetelet deep sleepben? neten biztos talalnek de engem a helyi kozosseg tapasztalata erdekelne.
Erdekessegkepp itt egy mérés development boardon, ez egy kozel 2.5perces arammeres ahol 1 percenkent felébred a mcu feljelentkezik wifire es visszamegy rogton deepsleepbe.
ebredes utan wifi csatlakozassal kb 110mA az aramfelvetel atlagosan de vannak ilyen 500mA-t meghalado par miliszekundumos kiugrasok is.
Sajnos deepsleep aramfelvetelt nem tudok mondani, mert a devkit boardon folyamatosan eg a power led ami miatt olyan 2.6mA volt a deepsleepben is. Leforrasztani nem szerettem volna csak emiatt. power leddel felejtos az elemes üzemeltetes -
Wolfram
aktív tag
válasz
ViZion #18254 üzenetére
Írtam hogy nano-t akarok,
ezért jó minden ami legalább a nano szintjét hozza,
de szempont hogy előforrasztott legyen.
Amiben nem vagyok biztos az a kompatibilitás, ezeket az ESP32, wemos cuccokat ismeri az ard ide? Egy ard tutorial-t milyen könnyen tudok átültetni ezekre a nextgen lapokra? -
ViZion
félisten
Hestore jó, de picit drágább. Kérdés, h mire lenne szükség?
Wemos D1 mini szint, több IO, picit magasabb ár: [link]
ESP 32-vel, ami erősebb, szintén pici méretben: [link] [link] STM-et nem linkelek, nem ismerem, h UNO-hoz képest mit tud. Nano klón, sok IO-val: [link]
Ez csak az első link. Szal. van választék szerintem. A SOC-ot nézd, a többi csak körítés. Persze visszajutunk oda, h mi a terv? Mennyi, milyen IO kell rá? Csak pár szenzor, vagy valami komolyabb a feladat?Janos250: agyalok, h wemos helyett a pici ESP-01-et és valami ESP32-t is kipróbálok. Nem mintha a feladat igényelné...
De tényleg durva már a Wemos tudása is, az ESP32 meg mindenből több, jobb, erősebb... Ezt nézegettem, mert lenne egy tervem, h több RGB zónát vezérelni egy eszközzel. Csak ez nekem ismeretlen, de majd utánaolvasok, h mi is kellene.
-
Amit szeretnél az egyrészt már eléggé scifibe hajlik, másrészt GDPR illetve személyiségi jogokat sért(het).
Szoba szinten automatikusan működő és olcsó jeladó/vevő szerintem infravörös alapokon lehetne megvalósítható, esetleg Bluetooth LE, mert az zsebből is működik, míg az IR optikai rálátást igényel. De legjobb, ha router szinten próbáljátok megoldani, ahogy fentebb javasolták.Illetve még egy eszembe jutott, ha minden laptop wifivel kapcsolódik, egy esp (wemos) figyelhetné a közelben lévő laptopok/eszközök Mac címét.
-
ViZion
félisten
igen, ezt találtam, kiosk mode browser.
Wolfram: magyar boltok, amiket próbáltam és megbízhatóak:
https://www.microcontroller.hu/termekkategoria/mikrokontrollerek/
https://modulshop.hu/
https://www.elektrobot.hu/ itt kevés ESP cucc van
https://www.wireless-bolt.hu/ itt se sok az ESP, de néha van brutál ócó bármi
https://www.hestore.hu/ mindenhez van adatlapEzeken túl is vannak, pl. conrad, rs online, emag, stb... de drágábbak.
-
válasz
#70211840 #18211 üzenetére
De, szerintem jól gondolod. Az IO pinek közvetlenül a chipre vannak vezetve, ami 3,3V-ot kap, valószínűleg visszafelé nem fog 5V menni egyiken se.
A touch részét viszont majd faragni kell, mert a library az UNO analóg bemenetére van megírva, ami 10bites, 0-5V közt 0-1023 értéket ad vissza, ebből ugye csak a 0-3,3V közti értékeket használja ki, ami 0-675 közti értékeket jelent, az ESP-n viszont 12bites az analóg bemenet, ami azt jelenti, hogy a 3,3V jelszint 4095 értéket fog jelenteni. 6tal osztani kell majd mindent.
-
#70211840
törölt tag
Persze, lib-et hozzáigazítom majd, ha szükséges.
Ezen a képen nézve a TFT 5V pin mintha közvetlenül a 3.3V fesz.stabhoz menne.
Ha ez tényleg így van és máshol nem jelenik meg a shield-en, akkor szerintem nem lehet gond akkor sem, ha esetleg megjelenik az ESPduino-32 pinen az 5V.
Vagy nem jól gondolom? -
válasz
#70211840 #18205 üzenetére
Lábkiosztásban csak akkor, ha a D0-D13 A0-A5 lábakat értelmezni tudja / lefordítja automatikusan IO26, IO25 stb lábakra, ellenkező esetben át kell írnod a library-ben a lábak nevét.
Jelszintben van rá esély, hogy az alapvetően 5V jelszintre felkészített shield működni fog 3,3V jelszintről is konverzió nélkül is, de lehet vele probléma, ez csak teszteléssel derül ki.
Viszont arra vigyázni kell, hogy ha az ESPduino-32 5V pinjén megjelenik az 5V, akkor azt megkapja a shield, és azon keresztül esetleg megjelenhet valamelyik I/O pinen is, amit az ESP32 nem szeret. Ezt adott esetben füstjelekkel adhatja tudomásodra. -
ViZion
félisten
válasz
Izeka82 #18201 üzenetére
Szia! Mivel használod? ESPEasy, vagy Arduino-ból írtad és töltötted fel a programot? Kijelző folyamatos üzemben van, vagy ki-be kapcsolod? Mindkettő I2C busz, lehet ott néha beakad a dolog. Próbáld másik táppal, de erős a toippem, h inkább kijelző nélkül, hogy úgy is fagyogat-e.
-
#70211840
törölt tag
"Nincs szükség ellenállásra, a belső felhúzó ellenállás önmagában is elég magas."
Ez csak STM32 esetében igaz vagy jellemző már az összes hasonló eszközre?
Azért kérdem, mert példákat nézve látni ilyen-olyan megoldásokat.
Ezen az oldalon például használnak ellenállást a nyomógombhoz.
Tehát elég csak bekötnöm egy gombot egy pin-gnd közé? Ennyire egyszerű volna?"... lehet készen is kapni ellenállás létrát"
Ez nagyon jó tipp és helytakarékos is. Ki fogom próbálni mindenképpen."... én szoftveres debouncingra gondoltam, ..."
Ezen a lehetőségen átsiklottam. Természetesen ha kényelmesen megoldható, akkor az lesz a megfelelő nekem. Ennek a lehetőségnek még akkor utánna kell olvasnom.
Köszönöm a tippeket, a segítséget.
-- off begin --
Más:
Jelenleg igen komoly szoftveres problémával küzdök a fejlesztőkörnyezettel.
Az első és talán legfontosabb dolog, hogy STM32 használathoz az eddig ArduinoIDE-hez használt STM32 Board Core nem megfelelő. A Roger Clark helyett az STM32duino Core-t kell használnom. Egyszerűen azért, mert több Library-ba is belefutok, amelyek nem fordulnak a másik core-al.
Úgy tűnik az kevésbé van optimalizálva STM32-höz, mint a másik.Példa:
TFT_eSPI Library : [link]1. http://dan.drown.org/stm32duino/package_STM32duino_index.json
Ezzel nem fordul a könyvtár.2. https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
Ezzel minden probléma nélkül.Csak kiragadva egy lényeges momentumot:
STM32-n szépen beállítható az SPI1 és SPI2 sebessége. Ez a könyvtár használja is STM32 esetében ezt. Azonban az első Core SPI moduljából hiányzik a setSpeed lehetőség, míg a másodikban megvan. Az első fix 8MHz-ez használ (gondolom Arduino örökség lehet)
Egy SPI kijelző esetében látványos a különbség.Van viszont egy komoly probléma ezzel a maggal.
1. Windows - ArduinoIDE
Iszonyatosan lassan fordít!!! Ez azt jelenti, hogy egy üres setup()+loop() percekig tart neki.
Egy képernyőre kiírt "hello world" 3-8perc. Minden módosításnál az egészet újrafordítja.
Neten kutakodva más is ezzel küzd.2. Windows - SloeberIDE
Hibába fut, nem fordul semmi. Nem egyedi gondom van ezzel, másnál is ez van. A probléma egyelőre feloldhatatlan.3. Linux - ArduinoIDE
Itt nincs gond. Gyorsan fordít és apróbb kódot is csinál, mint a másik core.4. Linux - SloeberIDE
Nem tudom elindítani. Érthetetlen, hogy miért nem indul, miközben JDK11 mellett más Eclipse alapú cucc simán fut.A probléma viszont az, hogy nekem a Sloeber kellne, mert az ArduinoIDE nagyon hiányos a fejlesztési funkciókkal.
-- off end --
-
ViZion
félisten
ESPEasy gyorsjelentés: ~4 nap uptime, semmi hiba vagy magas CPU használat. 99%, h a rules cache a betegség oka.
-
Janos250
őstag
válasz
#70211840 #18155 üzenetére
Akkor miért nem rakod össze csak C-t, és a hivatkozott libraryt használva Arduino IDE-ben.
Megtanulsz egy csomó dolgot STM32-re, ami máshol nem úgy lesz? Ezért jó ez az Arduino, hogy a C/C++ fölött egy egységes "szabványt" ad, hogy mit hogyan használj.
A C dolgok teljes egészében mennek Arduino alatt is. Nekem legalábbis az ESP32-n, de gondolom máson is, bár mást már jó ideje nem használtam.
Régebben, mikor STM32-t használtam, akkor még nem merült fel bennem ilyen kérdés, így nem próbáltam.
Én - ha épp olyan kedvem van - pl. simán használom a C fájl kezelését. Ha az alapokra kell leennem valamiért, az interneten (WiFi) keresztüli kezelést is C fájlként oldom meg.
Igaz, hogy a Cube-ban grafikusan látod, hogy mit hova, de az holt tudás lesz, ha másra akarsz áttérni. -
ViZion
félisten
ESPEasy cucc webes felületét megnyitod, tools, advanced és ott van, h rules enabled, ha ezt kattintod, akkor alatta az enable rules cache is bekapcsol, na ezt kapcsoltam ki, bódottság van, 14% körül a load, amikor nézegetem. 24+ óra uptime, másikkal ilyenkor már harcoltam bőven.
Ahogy írtam is, ez az ok szerintem, de alaposan nem jártam körbe, viszont alig változott a rules-ban vagy eszközökben.
-
-
ViZion
félisten
ESPEasy-t használ valaki?
Az új verziónál (ESPEasy-mega-20221105) pár óra után felmászik a CPU használat, nincs webes kapcsolat. A dolgát teszi szépen. Restart is sokáig tart. Most egy Wemost töröltem, újra flasheltem, csak úgy natúrban is ez a jelenség, szal. nem hiszem, h a programom kavarja meg. Mintha a régi gyorsabb lett volna. Normal, 302 és VCC verziókat is próbáltam. Többi okosbizbasz csatlakozik a routerre, elérhetőek. Már kicsit a Wemos klónra gyanakszom. Mert ilyenem még nem volt:
Mondjuk a 4.0-ás verzióval is ez van...
Valaki más tapasztalt ilyesmit? -
ViZion
félisten
Csak hogy biztos legyen, mert egyértelműen nem találtam ESPEasy-n... Wemos D1 mini gombbal GND-re reseteli a wemost. Ide kell vmi ellenállás, vagy mehet direktbe GND-re? A reset az nem factory reset, csak rebootol, ugye? Flash-t nem fogja piszkálni?
Táp megvonással néha hülyeségeket írnak a szenzorok, reboot után jók. Most kikapcsoltam az ECO módot, szerintem az okozta a bánatot, de azért pattintanék rá reset gombot is.
-
vegyszer
addikt
Sziasztok!
Gondoltam megosztom veletek első igazi, számomra átütő érzést hozó esp32 projektem örömét.
M5STACK Core2 ASW-sel egyszem infra érzékelő segedelmével egy kartonozó gép végére sikerült egy doboz számlálót kreálnom, ami az adatokat a felhőbe fel is tolja, hogy percenként hány tranzitot érzékelt, illetve (elvileg, mondjuk ezt épp nem teszteltem) logolja is egy SD kártyára ugyanezt. Felhő szolgáltatás gyanánt az io.adafruit.com szolgáltatásának az ingyenes verzióját használom. Nagyon tetszik, (a főnökömnek is) hogy az adatok valós idejű grafikonon szemlélhetőek.
A dolog hétfő óta teszi a dolgát. De érdekes módon délután kettő-három körül minden nap hálózati gondok lépnek fel. Ki-ki marad egy-egy pont(csoport) a grafikonon. Vagyis, mondjuk 9 percig nem jön semmi, majd 5 adat egyszerre egy másodpercen belül.
Sajnos az ingyenesség ára az, hogy a percenkénti MQTT üzenetek száma van korlátozva. Viszont mivel posztgraduális képzésen veszek részt, a Microsoft Azure education opcioja nekem is nyitva van. Viszont az még idegenebb, mint ez volt. Ebbe esetleg mélyedt el valaki?
Van esetleg olyan felhő, illetve MQTT szolgáltatás az ismeretekben, ami mondjuk két-három mondjuk pontosvesszővel tagolt string értékeket szét tud szedni, és berajzolni hasonló grafikonon? Pl így nézne ki a küldött üzenet:
ÉÉÉÉHHNNÓÓPPMM;donozperperc;ÖsszeElhaladtDoboz
Mert ha késik az adat csomagom, az nem gond (hisz ebben benne van az időbélyegző). És itt az idő az x tengely, a két másik adat meg egy egy külön függvény (vonaldiadram). Tudom, hogy QOS 2 lenne az igazi, de ezt se tudja az adafruit.Illetve nem kerek, de ha két külön feedet indítok, akkor nem jönnek az adatok stabilan. Ez az adafruit sajátja lehet, vagy más se szereti, ha egyszerre két moszkító feedet indítok egy eszközről. Mondjuk szerintem ennek nem kellene gondnak lennie.
-
ViZion
félisten
válasz
ViZion #18086 üzenetére
Nah, megtaláltam ESPEasy leírásában, ez szerint volt belőve:
"The function of the pull-up is to activate the internal pull-up Resistor of the ESP. A pull-up Resistor connects the GPIO to VCC(=3.3V) through a relativly high Resistor (ie 10KOhm). This makes sure the GPIO reads a stable 1 when not connected to GND (it could float).When using a normal switch or tactile switch, it should be activated. That should be all for a default switch."
Vagyis a belső pull-up ellenállást használta -egy ideig... utána nem volt stabil, ekkor váltottam active high-ra és kap 3,3 V-ot, ha a relé zárja az áramkört. Megpróbálom külső ellenállással, hátha jobb lesz. -
ViZion
félisten
Sziasztok!
Ehhez kell pull-up ellenállás? [link]
Az oldalon is hibásak az adatok, lábakon nem ez van. Rengeteg helyen a modulhoz is raknak ellenállást, másik oldal azt írja, h nem kell. Egy helyen meg azt olvastam, h a frissített library-val egyáltalán nem kell. ESPEasy írja, h kell. Ha a modulon van, akkor viszont több modul párhuzamos kötésénél már változik az ellenállás, szal. szvsz nem lenne logikus rápattintani a modulra alapból. -
Gergosz2
veterán
Sziasztok!
Milyen ESP32 boardot ajánlatok? Stabil és minél egyszerűbb megoldás érdekelne.
-
ViZion
félisten
válasz
ekkold #18057 üzenetére
Hmmm... van egy régebbi, marha nagy "kockám", ami nyomtatóé volt talán. Eddig nem találtam a helyét, mert 19 V és 9V DC talán a kimenetei (meg kell keresnem, de vmi ilyen ma már nem járatos feszek voltak, meg fura csatlakozó).
Tankblock: a korábbi ESPEasy programra is ránéztél? Vélemény, javaslat?
-
Tankblock
aktív tag
válasz
ViZion #18040 üzenetére
Szia
Őszintén ESPEasy vel sohasem foglalkoztam, szerintem egy csőtermosztáttal többre mész.
Az se biztos hogy csak 1 hőmérőre bíznám magam.
Ugye nem gázkazán?Ha sima kályha én az előremenő víz hőmérsékletét nézném és 50 fok felett keringetném, hogy ne hűtse le, mert akkor kátrányosodik gyorsan.
-
ViZion
félisten
válasz
Tankblock #18039 üzenetére
erre az ESPEasy programra is ránézhetnél. Kicsit azóta reszeltem még rajta, de nem a lényegi részen.
Már ez vezérli a keringetőt, meleg van, szal... egyelőre OK.
Következő a statisztika, ESP Home, meg ilyesmik. De egyelőre a csöveket kell szigetelnem, csak már az is hiánycikk.
Köszönöm a javaslatokat és Grandpa-nak is a segítséget. -
ViZion
félisten
válasz
its_grandpa #18001 üzenetére
Szia!
Takarítottam a puffert, nem volt vészes, radiátor cserénél a régi meglepően tiszta volt.
Vegyes kazán, fával fűtve, annak meg 70°C alatt nem jó, mert kátrányosodik, ami savas és "megeszi" a lemezt.Köszönöm, rohanok most, káosz van. Csak az ESPEasy ami új a programozásban, mást már használtam, valahol a Basic-tól indulva, javascript, webes mindenfélék, kicsi ez, kicsi az. Villanyos részhez meg műszerész vagyok, a gyenge áram is olyan, mint a nagyobb, csak a fogása más...
-
ViZion
félisten
válasz
ViZion #17999 üzenetére
Alap probléma: keringető szivattyú 35-45W fogyasztás redukálása, mert sokat pörög feleslegesen. Nem nagy a ház, jól szigetelt, vegyestüzelés+puffer. De a csövezés, meg az egész rendszer nagy átfolyásra van tervezve (szándékosan), emeleten termofejek, lent meg kb szaladhat, amúgy is minden egyben van.
Elvileg okos keringető mehetne, de mint megtudtam, az az átfolyást nézi, tehát nálunk automatán visszavenné a teljesítményét (másnál is ez a tapasztalat, okos keringetőt manuálban használnak), nem jutna/sokára jutna meleg víz a távolabbi pontokra.Visszatérő mérése differenciál termosztátos megoldással: ez sem jó, mert a fürdő (szándékosan) külön kör, ahol gyorsan megfordul a víz, a visszatérő így meleg hamar. Megbontani nem akarom, lehetne mágnesszelep, vagy másik szivattyú... drága az ESP-hez képest.
Akkor mérjünk... időt. A legtávolabbi radiátor a kihűlt állapotból a forróra kevesebb, mint 5 perc alatt melegszik fel, ha megy a keringető. Itt a hőleadás sebessége és a kis légköbméter/radiátor miatt van egy durva túllövése a rendszernek, ha a keringetőt a belső termosztát kapcsolja. Erre is lett volna alternatív megoldás, különböző okok miatt elengedtem ezeket.
A programról: boot-nál idők és hőmérsékletek dummy változóba mentve, ha meghalok, akkor is tudják kezelni...
Min hőmérséklet: kazán/puffer a kimenőnél ha eléri, csak akkor keringethet.
mid hőmérséklet: átlagos üzeni alsó határa
max: 90°C-nél minden mindegy, valamit elkeféltem a kazánnál, túlfűtöttem, keringessen hamar.
rögtön indítja is a vége ciklust, ami 2 percenként nézi, h mi a szituáció a hőfokokkal.
A fűtés még az érdekes, ha a minimum-optimum közé esik, akkor hosszabb keringetés (mert a kazán vagy hűl, vagy melegszik), majd szünet. Utána ha még a termosztát "be" állapotban van, akkor ismételje meg, keringetés hosszan, szünet.
Ha az optimális felett van a hőfok, akkor fűtésnél elég, ha ~5 percig keringet, majd vár, ha termosztát még aktív, akkor újra.A lényeg, h sokkal kevesebbet megy a szivattyú, a "túllövések" is ritkábbak lesznek, ehhez az időket finomítani kell, tapasztalat szerint. 3 szenzor van, az egyik a külső hőre, a másik csak infó a pufferről. A külső hőmérséklet kód nincs még benne, ez annyi, hogy mint pl. ma, ha 18°C felett van kint, akkor ne fűtsön 23-ra, mert minek, tutira szellőztetünk is ilyenkor. Akkor az a meleg maradjon estére inkább.
-
ViZion
félisten
ESPEasy kérdés, rules-ban mi a különbség ha event,csinádeztnév vagy ha csak simán csinádeztnév van megadva?
on akármi do
csinádeztnév
endon -
ViZion
félisten
Nah, kezdő gyakorlatként leprogramoztam egy gombot, ami bekapcsolja a kijelzőt. Ma már végleges(ebb) a HW, át kell írkálni GPIO-kat, stb. Akkor vettem észre, h a display-nál kérdezi, h melyik pinre kapcsoljon be... OK
Sok dolgot tud a progi, pl. változóknál agyaltam, h mi lesz a tizedesekkel (számolnia is kell velük kicsit), de az is beállítható, nem kell rules-t írni rá.Eddig nagyon tetszik,elkezdtem az alapokat összeírni, vázlatolni, h mikor mi legyen. Ezt meg már csak bele kell pötyögni, h értse is. Hihetetlen az ESPeasy, rules méret miatt aggódok, de majd kiderül.
...és a relémodulon van led. -
its_grandpa
tag
válasz
ViZion #17981 üzenetére
Nem teljesen jó de kiindulási alapnak....
Kell egy dummy device name=Rel_1, és State nevü változó.on System#Boot do
Monitor GPIO,15 //Relay1_GPIO-ja
timerSet,1,600 //Set Timer 1 for the next event in 600 seconds
Rel_1#State = 0
endon
On Rules#Timer=1 do //When Timer1 expires, do
Rel_1#State = 1
endon
on GPIO#15=0 and Rel_1#State = 1 do //Relay1 low
Rel_1#State = 0
http://<espeasyip>/control?cmd=LongPulse,Relay2_GPIO,1,300 //Relay2 5 minute on
endon
A GPIO-kat és az IP-t konfigodnak megfelelően kell beállítani.
ESP nélkül írtam, nincs tesztelve. -
ViZion
félisten
válasz
its_grandpa #17978 üzenetére
Olvasgatom, meg a randomnerds-et és az espeasy.readthedocs.io-t is nézem.
A HW rész már majdnem kész, de ma megint nem lesz időm szenzorokat forrasztgatni. Finder relét is kaptam "olcsón", ami a neten 1100 Ft, itt egyik boltban csak tartóval van ~4900 Ft, másikban kaptam tok nélkül 2800 Ft-ért... Hát annyi, h ez itt van, de a postaköltséget "beépítették" az árba.
Kérdésem is lenne:
az egyik bemenetre active low switch-et állítok, ezt a relé (relé 1) zárja GND-re.
Ehhez a szabály, h ha low, akkor indítson egy másik relét (relé 2) egy időzítővel meghatározott időre (timerset mittomén 5 perc). A kérdés az, h ha letelik az 5 perc, de a relé 1 még low-on tartja a pin-t, akkor a timer újrakezdi?
Mert amit szeretnék az kb ez:
relé 1 low -> 5 percig relé 2 be -> 10 perc szünet -> relé1 újra figyel -
its_grandpa
tag
válasz
ViZion #17971 üzenetére
Rendben de előbb ezt a két oldalt nézd át.
https://www.letscontrolit.com/wiki/index.php/Tutorial_Rules
https://www.letscontrolit.com/wiki/index.php?title=ESPEasy_Command_ReferenceÉn ESPEasy-vel kezdtem a saját eszközök építését (kapcsoló,hőmérő).
Ma már vannak Tasmotás eszközeim is de talán az ESPEasy nekem jobban kézre áll.
Ha vége lesz a kerti szezonnak ismét neki látok. -
ViZion
félisten
válasz
Dißnäëß #17974 üzenetére
wat? Ez local (ESP saját weboldalába lépsz be, a belső hálón. Kifelé router nem is engedi, ahogy pl. nas vagy a nyomtató sem tud kifelé kapcsolatot létrehozni, mert nekik nincs net), nem tuya vagy ilyesmi, amitől az okosotthon topikban rettegnek. Magam is aggódom, h a kínaiak tudják, h valami fogyaszt a konnektorokban, meg kapcsolgatom a villanyt... veszélyes. És igen, működnek net nélkül is.
-
ViZion
félisten
UP!
nah, ezt a topikot kerestem...
ESPeasy-vel valaki foglalkozott már? -
Tomika86
senior tag
Csináltam képeket, hogy mit is csinál, hátha észrevesz valaki valamit benne, pastebinre feltettem a kódot.
- ip cím/nextion beírásakor bejön az index oldal
- aktív lesz a feltöltés gomb is(kód szerint csak akkor ha az esp megkapja a fájl méretet)
- ha rányomok akkor megjelenik a fájl méret tehát belép a soros kiiratáshoz
- mivel nincs rákötve a kijelző, így a hibához lép a programban(statusmessage is megjelenik a soros monitoron), de a failure_html már nem töltődik be. 102. sor
- a weboldal elkezd gondolkodni és hibát ad egy idő után (soros monitoron pedig odalép ahol meghívná 105.sor soros kiiratás)Innét viszont a böngészővel hiába lépek az index oldalra, mindig az Error-t írja csak.
(csak .tft fájl hibaüzenet működik, de itt is megáll a server, hiába lépek a kezdőlapra)Köszönöm a segítséget!
Itt a pastebin:
teljes kód[hiba üzenet soros monitoron]
[gomb megnyomva]
[index és fájl kiválasztva]
[index kép] -
Tomika86
senior tag
Sziasztok!
Átírtam és kommenteztem a Nextion webserveres feltöltést. Az átalakítás oka, hogy a programkódban legyen a 3db html oldalkód, eredetileg SPIFFS-re volt feltöltve.
Lenne kérdésem ezzel kapcsolatban:
- Mi a különbség, hogy send vagy sendHeader (csak mert eredetileg a sendHeader küldte)
- Ez így jó e?
Eredetileg így volt://server.sendHeader(F("Location"),"/failure.html?reason=" + nextion.statusMessage);
Erre írtam át (itt is látni, eredetileg senHeader volt):nextion_update_server.send(200, "text/html", "failure_html?reason=" + nextion.statusMessage);
- Ez így a kiválasztott fájl méretét adja a programnak át, jó így?// Fogadjuk a fájl méretét egyszer, amikor kiválasztjuk a fájlt.
nextion_update_server.on("/fs", HTTP_POST, [](){ // Ez mit jelent? "/fs"
fileSize = nextion_update_server.arg(F("fileSize")).toInt(); // "fileSize" a weboldalról jön
nextion_update_server.send(200, F("text/plain"), "");
});Köszönöm a segítséget!
Itt a teljes kód, loop nélkül:
#include <WiFiClient.h>
#include <ESPmDNS.h>
#include <WebServer.h>
#include <ESPNexUpload.h>
/*
ESP32 használja a hardveres soros portot RX:16, TX:17
Soros port pinek ESPNexUpload.cpp fájlban vannak definiálva
*/
// Wifi adatok
const char *host = "ezaz"; // Host név beállítása
const char *ssid = "ESP"; // Hálózati azonosító név beállítása
const char *password = "xxx"; // Kapcsolódáshoz jelszó
IPAddress local_ip(192,168,10,150); // ESP32 IP cím beállítása
IPAddress local_mask(255,255,255,0); // Maszk cím beállítása
IPAddress gateway(192,168,10,150); // Átjáró cím beállítása
// used only internally
int fileSize = 0;
bool result = true;
// Nextion objektum létrehozása
ESPNexUpload nextion(115200);
// Webserver objektum létrehozása a megadott portszámmal
WebServer nextion_update_server(100);
// Hiba oldal
char failure_html[] = R"=====(
<!DOCTYPE html>
<html lang="en">
<head>
<title>Nextion kijelző frissítő</title>
<script>
function getUrlVars() { // Ez mit csinál?
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
function setReason() { // Ez adja át a reason értékét a weboldalra?
var reason = getUrlVars()["reason"];
document.getElementById("reason").innerHTML = decodeURIComponent(reason);
}
</script>
</head>
<body onLoad="setReason()">
<h2>Frissítés sikertelen!</h2>
Üzenet: <strong><span id="reason"></span></strong>
</body>
</html>
)=====";
// Index oldal
char index_html[] = R"=====(
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Nextion kijelző frissítő</title>
</head>
<body>
<h3>Válaszd ki a .tft fájlt a feltöltéshez</h3>
<form method="post" enctype="multipart/form-data">
<input type="file" name="name" onchange="valSize(this)">
<input id="button" type="submit" value="Feltöltés és frissítés" disabled>
</form>
<script>
function valSize(file){ // megszerezzük a kiválasztott fájl méretét és elküldjük az ESP-nek
var fs = file.files[0].size;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200) { // Ha az ESP megkapta a fileSize-t akkor engedélyezzük a gombot(Feltöltés)
document.getElementById("button").disabled = false;
}
};
xhttp.open("POST", "/fs", true); // Ez a 3 sor mit csinál?
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fileSize="+fs);
}
</script>
<p>A frissítés sokáig tarthat, ha nagy a .tft fájl. Ellenőrizd a feltöltés folyamatát a kijelzőn.</p>
</body>
</html>
)=====";
// Sikeres oldal
char success_html[] = R"=====(
<!DOCTYPE html>
<html lang="en">
<head>
<title>Nextion kijelző frissítő</title>
</head>
<body>
Frissítés sikeres!
</body>
</html>
)=====";
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Fájl feltöltés kezelés
bool handleFileUpload() {
HTTPUpload& upload = nextion_update_server.upload(); // HTTP alapú fájl feltöltés
if (!upload.filename.endsWith(F(".tft"))) { // Ellenőrizzük, hogy a fájl .tft végű-e
nextion_update_server.send(500, F("text/plain"), F("CSAK .TFT FÁJL ENGEDÉLYEZETT!\n")); // Ha nem akkor hibaüzenet kiiratása
return false; // Visszatérési érték flase
}
if (!result) { // Ha result értéke hamis
nextion_update_server.sendHeader("Connection", "close"); // Átirányítjuk a failure.html oldalra a klienst
nextion_update_server.send(200, "text/html", "failure_html?reason=" + nextion.statusMessage); // reason hogy megy innét át a html fájlba? Így jó?
//server.sendHeader(F("Location"),"/failure.html?reason=" + nextion.statusMessage); // Ezt hogy tudom a felső sorba beírni?
return false; // Visszatérési érték false
}
if (upload.status == UPLOAD_FILE_START) { // upload.status értékét vizsgáljuk, értéke 0
Serial.println(F("\nFajl fogadva. Nextion frissitese..."));
result = nextion.prepareUpload(fileSize); // Előkészítjük a Nextion kijelző soros küldéshez és elküldjük a fájl pontos méretét
if (result) { // Ha készen áll a Nextion kijelző a fogadásra
Serial.print(F("Feltoltes inditasa. A fajl merete: "));
Serial.print(fileSize); // Fájl méretének kiírása
Serial.println(F(" bytes"));
}
else {
Serial.println(nextion.statusMessage + "\n"); // Ha végzett akkor kiiratjuk a státusz üzenetet
return false; // Visszatérési érték false
}
}
else if (upload.status == UPLOAD_FILE_WRITE) { // upload.status értékét vizsgáljuk, értéke 1
result = nextion.upload(upload.buf, upload.currentSize); // Írjuk a fogadott byte-kat a Nextion kijelzőbe
if(result) {
Serial.print(F(".")); // Amíg a feltöltés tart, addig pontokat iratunk ki
}
else {
Serial.println(nextion.statusMessage + "\n"); // Ha végzett akkor kiiratjuk a státusz üzenetet
return false; // Visszatérési érték false
}
}
else if (upload.status == UPLOAD_FILE_END) { // upload.status értékét vizsgáljuk, értéke 2
nextion.end(); // Soros kapcsolat bontása és Nextion szoftveres újraindítása
Serial.println("");
Serial.println(nextion.statusMessage); // Kiratjuk a státusz üzenetet
return true; // Visszatérési érték true
}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
void setup(void) {
Serial.begin(115200);
WiFi.mode(WIFI_AP); // WIFI Access Point módba állítása
WiFi.softAP(ssid, password, 1, 0, 1); // WIFI konfiguráció: SSID és Jelszó, csatorna, rejtett ssid, maximum csatlakozható eszközök
delay(500); // Késleltetés
WiFi.softAPConfig(local_ip,gateway,local_mask); // IP címek beállítása
Serial.print("AP neve ");
Serial.println(ssid); // SSID kiírása
Serial.print("IP cim: ");
Serial.println(WiFi.softAPIP()); // IP cím kiírása
if (!MDNS.begin(host)) {
while (1) {
delay(1000);
}
}
// Szerver inicializálás
nextion_update_server.on("/", HTTP_POST, [](){
Serial.println(F("Succesfully updated Nextion!\n")); // Sikeres Nextion frissítés kiiratása soros monitoron
nextion_update_server.sendHeader("Connection", "close");
nextion_update_server.send(200, "text/html", success_html); // Átirányítjuk a klienst a sikeres oldalra, miután kezeltük a fájl feltöltést
return true;
},
handleFileUpload // Fogadás és fájl mentése kijelzőre
);
// Fogadjuk a fájl méretét egyszer, amikor kiválasztjuk a fájlt.
nextion_update_server.on("/fs", HTTP_POST, [](){ // Ez mit jelent? "/fs"
fileSize = nextion_update_server.arg(F("fileSize")).toInt(); // "fileSize" a weboldalról jön
nextion_update_server.send(200, F("text/plain"), "");
});
nextion_update_server.begin();
Serial.println(F("\nHTTP szerver elinditva"));
} -
válasz
Krilehor #17928 üzenetére
Ha jól gugliztam utána, nem túl komplikált/sok funkciós a távirányítója, esetleg meg lehetne próbálni a távirányítót szétszedni és a kontaktusokra egy-egy vezetéket forrasztva egy ESP32-ről közvetlenül vezérelni azt (emulálni a gombnyomásokat).
Tudsz esetleg szerezni hozzá egy másik távirányítót (hogy ne az eredetit tedd tönkre)?
Új hozzászólás Aktív témák
- ÚJ HP OmniBook Ultra Flip 14"OLED 2,8 K 120Hz - Ultra 7 256V - 16GB - 1TB - 2,5 év gari - MAGYAR
- BESZÁMÍTÁS! MSI B760 i7 13700K 32GB DDR4 2TB SSD RTX 4080 16GB be quiet! 500DX Seasonic 750W
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 8GB I 128GB SSD I 14" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest