- OLED monitor topic
- Pendrive irás-olvasás sebesség
- OLED TV topic
- Dobta az OLED kijelzőt a Honor MagicPad 3
- Milyen videókártyát?
- Külső 3,5'' mobil rack-ek topikja
- Monitor hiba topik
- Milyen belső merevlemezt vegyek?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Bambu Lab 3D nyomtatók
-
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
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)? -
Krilehor
tag
Sziasztok.
Kezdő vagyok és segítséget szeretnék kérni. Vagy egy 868.4MHz-en működő rádiós mélyládám (Canton Sub 1200R) amit egy Logitech Harmony Elite távirányítóval szeretnék vezérelni, ami csak infrát ismer. Értelmezésem szerint nekem egy IR-RF gatewayt kellene építenem. Amit kezdésnek gondoltam beszerezni:
- Arduino Uno (Rev3)
- WiFi Module: ESP8266
- Radio module: RFM69HCW vagy AR-LORA-868 vagy egyéb? (itt nekem elég max 10m-es hatótáv)
- valami IR LED és IR receiver
- ha kész akkor mondjuk egy Arduino Nano-ra ráforrasztani és valami házba betenni?WiFi modulet azért gondoltam, hogy weben keresztül is meg lehessen nézni az aktuális állapotot, esetleg még vezérelni is. Ahogy néztem cikkeket, ez evvel a modullal meg is oldható
Rádió modullal valahogy dekódolni is kellene majd a távirányító kódjait, remélem ezt valamilyen libbel meg lehet oldani, legvégső esetben olvastam manuálisan is kivitelezhető
Amiket kinéztem jó irány lenne? Főként a 868MHz-es rádió modulnál vagyok elég bizonytalan, mert mindenhol a 433MHz-ról vannak tutorialok.
-
Tomika86
senior tag
A 3 html fájlt belerakhatom Stringként a forráskódba, át kellene alakítani hozzá. Vagy így a jobb ha fájlként fel van töltve az esp32-re?
Esp32 ota programban benne vannak a forráskódban.
A szerveres dolgot átgondoltam
-
Tomika86
senior tag
válasz
Janos250 #17917 üzenetére
Már szerkeszteni nem tudtam
Szeretnék egyet kérdezni, ha tud valaki segíteni ebben.
Van ebben a könyvtárban webserveres példaprogram.Viszont én már az ESP32 ota feltöltéshez is azt használok, ebbe belezavar ha most a kijelzőét is beletenném a programba?
Ezek első blikkre mindkettőben ott vannak
MDNS.begin(host);
WebServer server(80);
server.begin();
server.handleClient();Nextion upload webserver
#include <FS.h>
#include <WiFi.h>
#include <WebServer.h>
#include <ESPmDNS.h>
#include <SPIFFS.h>
#include <ESPNexUpload.h>
/*
ESP32 uses Hardware serial RX:16, TX:17
Serial pins are defined in the ESPNexUpload.cpp file
*/
const char* ssid = "your_wlan_ssid";
const char* password = "your_wlan_password";
const char* host = "nextion";
// used only internally
int fileSize = 0;
bool result = true;
// init Nextion object
ESPNexUpload nextion(115200);
WebServer server(80);
String getContentType(String filename){
if(server.hasArg(F("download"))) return F("application/octet-stream");
else if(filename.endsWith(F(".htm"))) return F("text/html");
else if(filename.endsWith(".html")) return F("text/html");
else if(filename.endsWith(F(".css"))) return F("text/css");
else if(filename.endsWith(F(".js"))) return F("application/javascript");
else if(filename.endsWith(F(".png"))) return F("image/png");
else if(filename.endsWith(F(".gif"))) return F("image/gif");
else if(filename.endsWith(F(".jpg"))) return F("image/jpeg");
else if(filename.endsWith(F(".ico"))) return F("image/x-icon");
else if(filename.endsWith(F(".xml"))) return F("text/xml");
else if(filename.endsWith(F(".pdf"))) return F("application/x-pdf");
else if(filename.endsWith(F(".zip"))) return F("application/x-zip");
else if(filename.endsWith(F(".gz"))) return F("application/x-gzip");
return F("text/plain");
}
bool handleFileRead(String path) { // send the right file to the client (if it exists)
Serial.print("handleFileRead: " + path);
if (path.endsWith("/")) path += "index.html"; // If a folder is requested, send the index file
String contentType = getContentType(path); // Get the MIME type
String pathWithGz = path + ".gz";
if (SPIFFS.exists(pathWithGz) || SPIFFS.exists(path)) { // If the file exists, either as a compressed archive, or normal
if (SPIFFS.exists(pathWithGz)) // If there's a compressed version available
path += ".gz"; // Use the compressed verion
File file = SPIFFS.open(path, "r"); // Open the file
size_t sent = server.streamFile(file, contentType); // Send it to the client
file.close(); // Close the file again
Serial.println(String("\tSent file: ") + path);
return true;
}
Serial.println(String("\tFile Not Found: ") + path); // If the file doesn't exist, return false
return false;
}
// handle the file uploads
bool handleFileUpload(){
HTTPUpload& upload = server.upload();
// Check if file seems valid nextion tft file
if(!upload.filename.endsWith(F(".tft"))){
server.send(500, F("text/plain"), F("ONLY TFT FILES ALLOWED\n"));
return false;
}
if(!result){
// Redirect the client to the failure page
server.sendHeader(F("Location"),"/failure.html?reason=" + nextion.statusMessage);
server.send(303);
return false;
}
if(upload.status == UPLOAD_FILE_START){
Serial.println(F("\nFile received. Update Nextion..."));
// Prepare the Nextion display by seting up serial and telling it the file size to expect
result = nextion.prepareUpload(fileSize);
if(result){
Serial.print(F("Start upload. File size is: "));
Serial.print(fileSize);
Serial.println(F(" bytes"));
}else{
Serial.println(nextion.statusMessage + "\n");
return false;
}
}else if(upload.status == UPLOAD_FILE_WRITE){
// Write the received bytes to the nextion
result = nextion.upload(upload.buf, upload.currentSize);
if(result){
Serial.print(F("."));
}else{
Serial.println(nextion.statusMessage + "\n");
return false;
}
}else if(upload.status == UPLOAD_FILE_END){
// End the serial connection to the Nextion and softrest it
nextion.end();
Serial.println("");
//Serial.println(nextion.statusMessage);
return true;
}
}
void setup(void){
Serial.begin(115200);
Serial.println(F("\nRunning UploadServer Example\n"));
Serial.setDebugOutput(false);
if(!SPIFFS.begin()){
Serial.println(F("An Error has occurred while mounting SPIFFS"));
Serial.println(F("Did you upload the data directory that came with this example?"));
return;
}
//WIFI INIT
Serial.printf("Connecting to %s\n", ssid);
if (String(WiFi.SSID()) != String(ssid)) {
WiFi.begin(ssid, password);
}
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print(F("\nConnected! IP address: "));
Serial.println(WiFi.localIP());
MDNS.begin(host);
Serial.print(F("http://"));
Serial.print(host);
Serial.println(F(".local"));
//SERVER INIT
server.on("/", HTTP_POST, [](){
Serial.println(F("Succesfully updated Nextion!\n"));
// Redirect the client to the success page after handeling the file upload
server.sendHeader(F("Location"),F("/success.html"));
server.send(303);
return true;
},
// Receive and save the file
handleFileUpload
);
// receive fileSize once a file is selected (Workaround as the file content-length is of by +/- 200 bytes. Known issue: https://github.com/esp8266/Arduino/issues/3787)
server.on("/fs", HTTP_POST, [](){
fileSize = server.arg(F("fileSize")).toInt();
server.send(200, F("text/plain"), "");
});
// called when the url is not defined here
// use it to load content from SPIFFS
server.onNotFound([](){
if(!handleFileRead(server.uri()))
server.send(404, F("text/plain"), F("FileNotFound"));
});
server.begin();
Serial.println(F("\nHTTP server started"));
}
void loop(void){
server.handleClient();
} -
Tomika86
senior tag
Sziasztok!
Ha valakinek kellene:
[link]Nextion kijelzőre .tft fájl feltöltése ESP32-n keresztül, WIFI kapcsolattal
-
Tomika86
senior tag
válasz
Tomika86 #17908 üzenetére
Na így jó:
#define Gyujtas 15
#define Led 2
unsigned long aktualis_millis;
unsigned long mentett_millis;
unsigned long ido = 20000;
unsigned long kulonbseg_millis;
byte ido_futott;
byte beleptunk;
void setup() {
pinMode(Gyujtas, INPUT);
pinMode(Led, OUTPUT);
Serial.begin(115200);
}
void loop() {
if ((digitalRead(Gyujtas) == 1) || beleptunk) {
kikapcsolas();
}
Serial.println("Fut a program");
delay(1000);
}
void kikapcsolas() {
beleptunk = 1;
if(ido_futott == 0) {
mentett_millis = millis();
ido_futott = 1;
}
kulonbseg_millis = millis() - mentett_millis;
if (kulonbseg_millis <= ido) {
if (digitalRead(Gyujtas) == 0) {
ido_futott = 0;
beleptunk = 0;
Serial.println("Kilepes");
return;
}
Serial.print("Ido kulonbseg: ");
Serial.println(kulonbseg_millis);
Serial.println("Idozitoben vagyunk");
}
else {
Serial.println("Esp leallas itt");
// deep_sleep();
digitalWrite(Led, HIGH);
}
} -
Tomika86
senior tag
Lehet az elején rosszul fogalmaztam, bocsi.
Ez lenne a lényege:
A gomb a gyújtás jel(itt a szimulátorban) . Most úgy van a kijelzőm hogy leveszem a gyújtást akkor átáll a kijelző a bejelentkező oldalra, elmentem az eepromba amit kell és kikapcsolom a kimeneteket.
Itt jön a delay, vár 20secet, majd altatom a kijelzőt és az esp32őt is.Minden jó vele, de ha leveszed a gyújtást, majd vissza egyből akkor a delaynél megáll, és meg kell várni. Utána ébred csak fel újra, ha elaludt.
Ha a kikapcsolas függvénybe belépek mindig kezdenie kellene a 20secnek, ha kilépek belőle akkor nullázódik.
A függvényből kilépés a returnal lenne -
Janos250
őstag
válasz
Tomika86 #17890 üzenetére
Hát, én külön task-be tenném a két külön feladatot, ami globális változókon keresztül tartaná egymással a kapcsolatot. Ha nincs tennivalója az adott task-nek, azonnal adja is tovább a vezérlést, így nem foglal le lényeges időt. Ha mellesleg még másik magra is teszed, akkor meg végképp nem!
Ha az ESP32 mellett döntöttél, érdemes megtanulni, amit nyújt a két mag, és a C++11 ! Vagy még a FreeRTOS, ha sok az időd, de ennek zöme a C++ -al megoldható. -
válasz
Tomika86 #17896 üzenetére
Ez eddig nem volt feladat
#define Gomb 15
#define Led 2
unsigned long aktualis_millis;
unsigned long mentett_millis;
unsigned long ido = 20000;
unsigned long kulonbseg_millis;
void setup() {
pinMode(Gomb, INPUT);
pinMode(Led, OUTPUT);
Serial.begin(115200);
}
void loop() {
if (!digitalRead(Gomb)) {
mentett_millis = millis();
kikapcsolas();
}
Serial.println("Fut a program");
delay(1000);
}
void kikapcsolas() {
kulonbseg_millis = millis() - mentett_millis;
if (kulonbseg_millis <= ido) {
if (digitalRead(Gomb)) {
Serial.println("Visszalep");
return;
}
Serial.println(kulonbseg_millis);
Serial.println("Leallas idozitoben");
}
else {
Serial.println("Esp leall itt");
// deep sleep
}
} -
Tomika86
senior tag
Eddig jutottam, de csak addig működik az időzítés amíg a 20sec le nem telik. Utána egyből jön a leállítás. (Wokwiban próbálom szimulálni, azért van így)
#define Gomb 15
#define Led 2
unsigned long aktualis_millis;
unsigned long mentett_millis;
unsigned long ido = 20000;
unsigned long kulonbseg_millis;
void setup() {
pinMode(Gomb, INPUT);
pinMode(Led, OUTPUT);
Serial.begin(115200);
mentett_millis = millis();
}
void loop() {
if (!digitalRead(Gomb)) {
kikapcsolas();
}
Serial.println("Fut a program");
delay(1000);
}
void kikapcsolas() {
kulonbseg_millis = millis() - mentett_millis;
if (kulonbseg_millis <= ido) {
if (digitalRead(Gomb)) {
Serial.println("Visszalep");
}
Serial.println(kulonbseg_millis);
Serial.println("Leallas idozitoben");
}
else {
Serial.println("Esp leall itt");
// deep sleep
}
} -
Tomika86
senior tag
Sziasztok
Szeretnék segítséget kérni hogy tudom megoldani a következőt:
1.Fut a programom
2. Kikapcsolok egy gpiot
3. Átváltok egy oldalra a kijelzőmön és elindul egy időzítő(10sec)
4. Ha letelt a 10sec akkor deep sleep az esp32Ez eddig 1db delayel megy, de a 10sec mindig eltelik.
Azt szeretném ha a 10sec alatt a gpio mégis bekapcsol, akkor lépjen vissza az 1.pontra, meg képernyőt is váltanom kell.
Ha újra kikapcsolom a gpiot, akkor ismét indul a 10sec.Nem jövök rá mivel tudnám megcsinálni ezt. Pedig tuti egyszerű
Köszönöm
-
Tomika86
senior tag
Sziasztok
P sorozatú intelligent nextion kijelzőt próbálta valaki 921600 bps sebességen? Ehhez a típushoz ezt írja a gyártó maxra, olcsóbbaknál 115200baudot.
Esp32 tudja ezt a 921600 bps sebességet, mi lehet a kitétel? Rövid 4-5cm a vezetékem csak.
Köszönöm
-
its_grandpa
tag
válasz
ekkold #17853 üzenetére
És is játszottam ezzel a modullal de nekem nem volt szerencsém, a karadio nem szólal(t) meg. Az ok az első képen látható a modul alján, VS1003/VS1053, azaz AS tűréssel szerelnek (AS = ahogy sikerül). Kicsi belenyúltam az Adafruit 1053-as arduino lib-be, úgy tudtam hangot kicsikarni belőle mert "false" volt a v értéke.
uint8_t v = Adafruit_VS1053::begin();
// return (v == 4); ez a 1053
return (v > 2); ez ha a chip verzió minimum VS1003 =3
A lábak bekötésének publikációja az ESP-khez, végtelen örömmel töltene el
Lehet elővenném ismét a félrerakott projektet. -
ekkold
Topikgazda
válasz
vviktor1 #17855 üzenetére
Nekem 100%, hogy a kijelző miatt akadt, ugyanis ha nincs beállítva a kijelző akkor nincs akadás. A soros porton így is kitol minden adatot ami kell, erre ráakasztok majd egy Arduino nanot, vagy egy BluePill-t, és az kezelheti a kijelzőt akadás nélkül... Egyelőre csak az ESP8266-ra épülő van bedobozolva, az ESP32 verzió csak próbanyákon van kijelző, és gombok nélkül - de teljesen jól működik. Ehhez tervezek majd egy végfokot, külön MCU-t a kijelzőhöz (és a kezelőszervekhez is), és így akarom majd egybe dobozolni.Emlékeim szerint a programozó app képest törölni is a flash-t, utána biztosan lehet a nulláról kezdeni a programozást. Ha mégis megfrissíted akkor írd meg majd légyszíves, hogy jól működik-e, mert még én sem frissítettem.
-
vviktor1
aktív tag
válasz
ekkold #17854 üzenetére
Esp32 és pcm5102 dac van, olyan kijelzővel mint alsó képeiden, működik is jól, csak néha nekem is megakad 1-1 mp-re, ezt kéne valahogy kinyomozni. A routerrel egy helyiségben van, ezért a wifit kizárnám hogy gyenge lenne neki. A mobilos appról tudok, használom is, tényleg jó. Szóval, a lényeg, 2.1 fw van fent de látom hogy van 2.3 már egy ideje, de nem merek rányomni az update-re mert valahol irták hogy valami nem kerek benne, valami kijelző bug van benne, és ha nem lesz jó nem tudom visszacsinálni, ezért kérdezem az alapra állást és onnan újra telepitést. Rádió lista természetesen elmentve. Köszi !
-
ekkold
Topikgazda
válasz
vviktor1 #17851 üzenetére
A karadiot kipróbáltam ESP8266-on, és az ESP32 változatot is. Az utóbbi kicsit gyorsabb, és nem csak az MP3 rádiók menek vele, hanem az AAC stream is. VS1053 modult még a vám mizéria előtt vettem ebay-en. Szerintem kimondottam jól szól.
Minden részletre nem emlékszem, letöltöttem hozzá mindent, felprogramoztam a leírás alapján és működött...
A karadióhoz van androidos app amivel lehet távirányítani mobilról, így akár kezelőszervek (gombok) és kijelző nélkül is működik.
A karadio32-höz próbáltam ILI9xxx kijelzőt illeszteni, működött is, csak a kijelző frissítése néha megakasztotta a hangot, így leszedtem róla, most nincs kijelzője, később majd illesztek hozzá (soros porton) egy külön MCU-val kijelzőt. Lehet, hogy csak egy sima 2x16-os LCD-t (mint az ESP32 esetében) úgy sem nézegetni, hanem hallgatni akarom. -
Janos250
őstag
Már megint bajban vagyok ezzel az Arduino könyvtárakkal :-(
Ha ezt így mindenestül beírom:#include <C:\Arduino\arduino-1.8.19Proba01\portable\sketchbook\libraries\vfs\include\esp_vfs.h>
Akkor jó.
De nem akarom mindig a teljes elérési utat beírni. Mit írjak be, hogy megtalálja a vfs könyvtárat, annak az include könyvtárában az esp_vfs.h fájlt? -
Tankblock
aktív tag
Igen, ha csak 2*128 byte is bőven elfér UNOban is.
STM32 nem volt az eredeti felsorolásban :-)nem olyan vészes project ez....
Ha csak a fogyasztás érdekel akkor akár Sonoff POW WiFi is használhatsz, vagy bármit ami méri a dolgok fogyasztását, általában esp82XX va benne és akár TASMOTA is tudja monitorozni.....Az a kérdés hogy hol kell a segítség...
-
tibi-d
tag
Lenne egy feladat, hátha megmozgatja a fantáziátokat. Két analóg bemenet jelét kéne tárolni, és ha bármelyik értéke meghalad egy beállított szintet, vagy egy digit jel hatására el kéne menteni a trigger esemény előtti 100 és utáni 200 mintát. A mintavétel 10/s lenne. Az adatokkal együtt le kéne tárolni az esemény dátumát, időpontját, tárolás okát (szint, digit). Ha a tárolás a digit jel hatására történne, a további rögzítésre már nem lenne szükség. Ez lenne az utolsó letárolt csomag. A folyamat 24/7 üzemmódban működne. Minden elképzelést, ötletet szívesen fogadok. Jelenleg a következő modulokkal rendelkezem: Arduino UNO, Data logger shield v1.0, ESP13 shield. Köszi.
-
vegyszer
addikt
Szervusztok!
Az a kérdésem, hogy ESP32 (M5Stack) vonalon van lehetőség külső szerverre (EzData, MQTT) írni adatot, de ha egy ciklust csinálok, hogy 60 másodpercig gyűjtse az adott pin-en az on/off jeleket, majd írja ki, és olvassa vissza a szerverről a gyűjtött, akkor ez elég lassú.
Konkrétan azt nem látom, hogy hogyan kell úgy csinálni a dolgokat, hogy több ciklus is úgy menjen, hogy az egyik várakozása nem akadályozza a többit.
Pl az írás olvasás a szerverre ne akadályozza a pin olvasását.
Mert most, hogy egyben van, addig, míg vissza nem olvasta az adatot, addig nem számol... -
válasz
Dißnäëß #17775 üzenetére
Ha már 6V trafó, ne 5V-ra konvertáld, mert 6V-ból stabilizált 5V-ot nem is igen lehet, hanem konvertáld rögtön 3,3V-ra és add neki direktben! A kettős konverzió miatt elfűtöd az összes teljesítményt. Arra vigyázz, hogy a 3,6V-ot semmilyen körülmények közt ne lépd át, mert megsül a flash chip az esp-n, használj zener diódát.
Azt sem értem, hogy bírtál belőle bármeddig is 5V-ot kivenni. Valószínűleg a trafó üresjárati feszültsége jóval 6V fölött lehet. 6V-ból a Graetz-híd maga levesz 1,2V-ot, marad 4,8V. A stab kockán is esik kb ugyanannyi, marad ~3,6V. Mire ez eljutott az ESP-ig, az jó, ha 2,4V-ot kapott. Azzal nem csoda, hogy nem indult el.
-
Dißnäëß
nagyúr
Igaz.. látszik, hogy a logikai (logikus) gondolkodás jobban Benned van. A rutin
Köszi az észrevételt, megfogadom.
- - - - - - - - - -- - - - -- - - - -- - - - -- - - - -- - - - -- - - - -Érdekeset tapasztaltam 10 perce.
Van a kis trafóm, HEStore-os Makrai nyák trafó, 6V szekunder, 4.5VA (750mA). Mögötte egy 6800-as kondi, amögött egy LM317T és a Texas Instruments szerinti bekötés, trim poti, satöbbi. Becsavarva jelenleg 5V-ra üresen. Úúú mondom de jóóó, a NodeMCU-mat ráaggatom, VIN lábán úgyis tud 4.x V-tól egészen 10V-ig fogadni (belső stabin megy át), hát ez kiváló.
Meg se moccan.
Ráakasztom a multimétert, hát úgy cibálja mint az állat a feszt.
Felcsavartam üresen maxra a potival a feszt, 8.7 körül vagy hol álltam meg (még a stabi fesz. ejtése is benne a szekunder után), ez üresen terheletlenül. Ráakasztom az ESP-t (azon meg az OLED kijelző, de ez nem osztott nem szorzott már), megint semmi. Lehúzom, várok pár mp-et pufferkondi teljen meg csurig
, oké, rákötöm, na beröffent. Szépen megy az animáció, de a multiméteren a számok csak úgy cikáznak
és csak úgy nulláról bekapcsolva nem indul.
Egy szó mint száz, nagyon-nagyon-nagyon határértéken minden és meg nem álmodtam volna, hogy ez a picike nyák trafó max egy Arduino micro-hoz lesz elég (ő azonnal indul vele, 5V-ra betekerve a stabit), úgyhogy most néznem kell valami "vadabb" kistrafót
Szóval most ez van (csak Makrai 750mA-es) és azon filózok, hogy ezek közül melyiket szerezzem be: ESP8266 Wifivel, 256x64 OLED, 3 szilárdtest relé (ezek elhanyagolhatók áramban), RTC+EEPROM kombó, illetve 4-5 DS1822+ hőmérő, hát kb.
Arra gondoltam, mivel az ESP-nek van saját belső stabija, és nagyjából minden említett motyót meghajt, nemigen lesz külön áramkörre szükségem, ergo választhatok 6V szekunderest ismét, LM317T nem is kell, meg semmi.. az ebből előállított-simított DC-t úgyis lentebb veszi még a teljes csomag terhelése, a stabizást ő belül elvégzi.. de akkor lehetne mondjuk egy 1667 mA-es ?
Vagy lövök egy 12V-os rendes kis pici toroidot és abból tudom stabistul mindenestül etetni az ESP-t is, egyéb kis fogyasztókat is (3.3-on), mindent, amit akarok.
-
Janos250
őstag
válasz
gordonfreemN #17756 üzenetére
Én a hasonló dolgokat úgy oldottam meg, hogy olyan kész mikrokontrolleres panelt tervezek rá az én panelomra, amin minden szükséges dolog rajta van. Mivel én csak ESP32-t használok praktikus ok miatt, nem teszek fel panel képet, de korábban párat már tettem fel. Ha megnézzük az Easyedán lévő megosztott panelokat, többnyire ott sincsenek a kontrollerek egyedileg ráforrasztva, hanem kész panel van beleillesztve a user panelbe.
-
válasz
Dißnäëß #17740 üzenetére
Nézd meg, hogy mennyit tesz ki, ha egy teljesen üres sketch-et fordítasz le. Az ESP nem egészen úgy működik, mint az AVR-ek, ezen eleve elfoglal valamennyi helyet az oprendszer. Másrészt ha nem használsz filerendszert (FS), valamint úgy tudom az OTA részt is le lehet valahogy tiltani (legalábbis régebben le lehetett), akkor 4MByte felhasználható tárhellyel tudsz gazdálkodni, szemben az AVR-ek kbyte-jaival.
A lefordított program mérete nem csak a beírt sorok számától függ, hanem attól, hogy használsz-e olyan dolgot, amihez be kell fordítani valami standard (vagy 3rd party) library-t. -
Dißnäëß
nagyúr
Kedves Szakik !
Nézzétek el kezdő kérdésem, de egy igen hosszú, tényleg nagyon sok logikát, menürendszerben lépkedést szeretnék megvalósítani ESP8266-al a szobai erősítőmhöz.
Egyetlen gomb lesz előlapon, és ennek nyomkodásával fogok navigálni a menüben, illetve van hozzá egy 256x64 4-SPI OLED kijelzőcske is, amin a menüpontok, státusz, ilyesmik, mikor mi, megjelenik. Rövid nyomások, hosszú nyomások, két rövid, három rövid, ilyennel fogok operálgatni majd a menüben, meg lehet lesz egy visszaszámláló is minden egyes menüpontban a jobbfelső sarokban, ami kidobja az embert mentés és minden nélkül vissza az alapállapotba (vagy akár előző menübe, mindegy is most).
Elég lesz nekem a kódhoz - vélhetően - az ESP8266 ? Belefér vajon ?
Ugye a kis Arduino Leonardo-knál látom mindig, mennyi lett a program és néha elgondolkodom, hogy hűha, ez ilyen pici terület ?
Szóval amikor egy sima gyári Fade 15%-ot elvesz egy Micro-ból, akkor mire van esélyem egy ESP8266-al ? Itt 25%-ot eszik meg, oké, valszeg nagyobb az overhead, de úúúú
Sketch uses 263233 bytes (25%) of program storage space. Maximum is 1044464 bytes.
Global variables use 28004 bytes (34%) of dynamic memory, leaving 53916 bytes for local variables. Maximum is 81920 bytes.Arduino IDE-t használok (Debian Testing legfrissebbet, apt install -al feltoltam), szokásos ESP library, Board Manager-ben pedig Node MCU.. látjátok. (A kütyü is az, ESP-F-em van, de ez az ESP-E-től csak antenna formában tér el, azt olvastam neten, a NodeMCU pedig 1-2 plussz könnyítő elektronikával van ellátva egy sima pucér ESP-hez képest).
Beleférhetek ? Most lehet megmosolyogtok, de na.
Milyen beállításon érdemes Szerintetek dolgoznom vele ?
Most ez van, ezt kaptam, a LED-en kívül semmit nem kellett állítanom, teszi a dolgát.
Új hozzászólás Aktív témák
Hirdetés
- WoW avagy World of Warcraft -=MMORPG=-
- Távcső topik
- Poco F5 - pokolian jó ajánlat
- E-roller topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- OLED monitor topic
- Milyen NAS-t vegyek?
- BestBuy topik
- Pendrive irás-olvasás sebesség
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- További aktív témák...
- BESZÁMÍTÁS! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 16 2024 M4 Max 64GB 2TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple Macbook Pro 13 2020 M1 16GB 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS TUF VG27AQ 165Hz QHD IPS 1ms monitor garanciával hibátlan működéssel
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- LG 38WN95C - 38" Ívelt NANO IPS - 3840x1600 - 144hz 1ms - Nvidia G-Sync - AMD FreeSync - ThunderBolt
- antivirus szoftverek, licencek, Legion Pro 7 RTX GAMING laptopok (RTX 4090), Dokkolók
Állásajánlatok
Cég: FOTC
Város: Budapest