- OLED monitor topic
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Milyen monitort vegyek?
- Azonnali VGA-s kérdések órája
- Azonnali alaplapos kérdések órája
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- Milyen notebookot vegyek?
- Videós, mozgóképes topik
- Nem tetszik pár profi eSport játékosnak, hogy Intel CPU-val kell játszaniuk
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
-
ecaddsell
aktív tag
válasz
Gergosz2 #10562 üzenetére
Nem tudom az ESP-ből, hogy lehetne klónt használni
Persze már ma is vannak területek, ahol kínai másol kínait...
Egyébként érzésre az ESP mintha nyugati cég lenne, van rendes doksi, van rendes fórum ahol ha értelmesen kérdez az ember gyakran válaszolnak is. Szokatlan. -
szuszinho
őstag
Sziasztok,
Felteszem ESP-01-re az Easy ESP-t USB to TTL segítségével (GPIO0 GND-re rakva). Sikeresen felmegy, leveszem a tápról, majd vissza és nincs ott az AP. Mi lehet a gond?
-
tvamos
nagyúr
Ilyesmi modulja van már valakinek? [link]
Milyen ez az ESP32 PIco D4? -
brickm
őstag
válasz
Atamano #10543 üzenetére
Szia, a kondenzátor nem véd túlfeszültségtől! Más szerepe van az áramkörben.
Ha védelmet tervezel rá tenni, azt mindenképp a kiementre tedd, (vagy oda is) ugyanis (bár az IC pontos típusát nem látni) ezeknek a dc-dc konvertereket egy feszültégosztóval állítják be, a kiementről visszacsatolva, aminek ha az egyik tagja sérül(megnyúlik, vagy szakadáshoz közelít) felviszi a kiementi feszültséget, akár táp közelig.
Az ESP-k érzékenyek erre, 3.6-4V körüli csúcsfeszültséget képesek elviselni. -
Janos250
őstag
-
válasz
tvamos #10535 üzenetére
Lesz még jócskán annyi kihívás ebben a projekben, hogy nehezítsem a saját dolgomat.
Egyébként most, hogy így mondod, lehet, hogy tényleg érdemesebb lenne először megnéznem a softwareserial lib-et, hátha tudom úgy módosítani, hogy egy tranyóval is működjön az egész. Mert én forrasztani sem szeretek, viszont az esp-vel még nem kötöttem olyan szoros barátságot szoftveresen, mint az uno-mega lapokkal...Ha nem lenne jóval több ram-ja az esp-nek, és nem akarnám wifi-n keresztül programozni, inkább egy nano-val csinálnám az egészet.
Jó ide jönni, mindig kap az ember jó ötleteket!
-
Tankblock
aktív tag
Hello
Milyen ESP32 használsz?
Ha Devboardot akkor az nem lesz kevesebb,Ha egy sima ES32 használsz nyákra forrasztva az működhet sokkal kisebb felhasznált energiával is deepsleep mellett....
pl vannak időzítő aramkörök set / reset lábakkal amik vezérelhetnek sima lineár regulátort enabled pinjét, így [nA] tartományban is tartható az ESP32.
-
ESP32 mellé milyen 3,3 V-os regulátort ajánlotok, amelyik nem szívja le az akksit? Sajnálattal konstatáltam, hogy ami a lapon van, azzal 27 napot ment a projektem 4 db. 2000 mAh AA-ról, ami kb. 2,5 mA nyugalmi fogyasztás
Nézegettem Mouseren /csak mert jól lehet keresni/, de nem nagyon van semmi regulátor, ami low Iq, de tud 500 mA-t is /és kapható Pesten/. LiFePo4-et nem erőltetném, félek a lítiumtól, ha nem vagyok a közelben.
-
tvamos
nagyúr
Ti probaltatok mar az ESP32 DAC-ot DMA-val, Arduino framework alatt? Kene egy jo referencia sw, amit tudnek hasznalni.
-
Neem
Én nagyon szívesen összerakom, csak nem tudom mennyire ütköznék kompatibilitási gondokba, hogy nem passzol pl egy motor a lego elemekhez, emiatt eléggé elcsúnyítaná az egészet. Főleg akkor, ha az a lego nem is vezérelhetőre lenne tervezve hanem csak egyszeri összerakásra, így nem férne el egy motor, egy esp32 és egyéb meghajtó áramkörök helyhiány miatt.
Amit küldtél sajnos nem olcsó, emellett jóval másabb mint egy lepin wall-e, kevésbé tűnik minőséginek.
Összefoglalva azért gondolkoztam el egy már motorizált mozgó lego/lepin eszközön, mert ott már ki van alakítva a motor és meghajtás. De te azt mondod, hogy egy sima összerakásra tervezett verziót is simán át lehetne alakítani úgy hogy a helyhiány ne okozzon gondot még akkor is, ha nem asztal méretű porsce-ben gondolkozok 100 ezer Ft-ért, hanem csak egy kisebb pl. wall-e vagy hasonló méretben?
-
Valami kész lego/lepin járműre gondoltam, amit át lehetne építeni esp-t felhasználva valamivé
Mondjuk telefonról nyomkodni az irányokat, vagy automatizálni magától menjen. A vázát adná a lego/lepin, a motorok és a felfogatás is adott lenne, így könnyen átépíthetővé válna és ráépíthető lenne a vezérlő, ami ESP32.
-
Na úgy néz ki mégsem kell újra feltalálnom a meleg vizet.
Addig olvastam, amíg kiderült, hogy a mintának tekintett Lego Spybotics egyszerű soros kommunikációt használt, 4800baud sebességgel, 72kHz-es infra jelre ültetve, nem a távirányítóknál használt protokollt. Tehát elméletileg 1 hardveres + 2 szoftveres serial meg is oldja a 3 infra vevő egyidejű használatának problémáját. Legalábbis a lib leírása szerint az avr software serial-lal szemben az esp változatnak nem okoz gondot két példány egyidejű működése.
Ráadásul a küldés is leegyszerűsödik (legalábbis a kód része), és nem kell használnom azt a hatalmas és komplikált irlib-et, ami nem is kimondottan erre való.
Viszont ahhoz, hogy a soros kimenetet tudjam használni, kelleni fog egy AND kapu, vagy egy hasonló működésű logika + egy 38kHz pwm-met kell valahogy előállítani. -
tvamos
nagyúr
Nem tudjatok hogyan lehet Center Aligned PWM-et csinalni az ESP32-vel? Sokat segitene, ha tudnam a frekit ketszerezni. (Asszem...)
Amugy ezt a projektet probalom utanepiteni: [link] Jopofa dolognak tunik. -
Nem a dolog egyszerűsége, hanem pont a bonyolultsága miatt gondoltam.
Van a LEGO Spybotics rendszer, jó régi, az eredeti Mindstorms-szal egy idős. Az egyik tulajdonsága, hogy ha van két ilyened, meg tudják egymást keresni infra sugárzók és vevők segítségével, és le tudják egymást lőni. Gyakorlatilag lézerharc, robotokkal.
Érzékeli a másik robot irányát és távolságát. Hátránya, hogy nekem csak egyet sikerült szereznem, csak soros porton át lehet programozni, és csak egy fény és egy ütközésérzékelőt lehet rá tenni, ami eléggé lekorlátozza a lehetőségeket.
Na ilyet szeretnék csinálni, rögtön kettőt is, csak wifi-n keresztül lehetne őket programozni és több szenzort szeretnék rá tenni, amivel a külvilágot érzékelik.
Most éppen ott akadtam el, hogy az esp ir lib csak egy ir receivert fog támogatni, szóval erre kellene még kitalálnom egy multiplexert, amivel egy pin-re 3db ir vevőt rá tudok akasztani... -
Victoryus
addikt
Köszönöm! Hát a D9 meg D10 az máshol van mint az uno-n.
Az elgondolás az volt, hogy a servo motor megy a servo1-es csatlakozóra, meg lesz még 1-2 sima motor. (vagy csak 2 motor, servo nélkül)
Lego alkatrészekből készült távirányítós teherautó a cél. A motorok direktbe az arduino motorvezérlőre kötve,mert nem lego motorok. 3d nyomtatóval majd lesz nekik keret nyomtatva.Plusz ledek, első körben ennyi, aztán tervben volt még okorsítani kicsit, mondjuk ütközés védelem, vagy sávkövetés. De úgy látom ehhez nincs elég használható lába.A wemos alapból tud wifit, meg bluetoothot, ezért lett volna jobb, de alig van szabad pinje. Van uno-m is bluetooth modullal meg L298N-nel, abból már építettem 2 motoros "autót".
A múltkor motorvezérlő nélkül már simán tudtam a servo motort irányítani wemos-szal wifin kersztül, de a másik két motornak csak kéne valami vezérlő... 3x3,7V lipo cellákról menne.
Lehet a L298N jobb választás ebben az esetben.
Jön még egy ESP12e+L293 shield hozzá, azok kisebb helyen is elférnek. Ez is szempont lenne. -
Janos250
őstag
válasz
Pubszon #10406 üzenetére
Nem egy olcsó megoldás, de kényelmes. Én mostanában ezekkel játszom.
https://www.ebay.com/itm/Sonoff-T1-WiFi-RF-Panel-Touch-1-2-3Gang-Switch-Smart-APP-Remote-Timer-UK-EU-Plug/323323099082?hash=item4b478ef7ca:m:mMQyXvai39vS-ojsAMvugFQ:rk:80:pf:0ESP8266/1M van benne. Arduino alatt úgy programozható, ahogy csak akarjuk, de a "Tasmota" rendszer is nagyon kényelmes, szintén Arduino alatt viszem fel az első variációt, utána OTA (azaz WiFi-n keresztül) lehet frissíteni, változtatni. Célszerű hozzá valami legolcsóbb lapra (valamelyik pi, vagy hasonszőrűek, vagy egy olcsó TV box) felrakni egy Mosquitto ("visszhang", jel ismétlő, szétosztó) szervert, aminek ha üzenetet küldünk bárhonnan (pl. az előbbi kapcsoló, telefon, internet), az továbbítja a megfelelő eszközhöz. Például kapcsolja a kapcsolót. Aztán, ha belekóstolunk az ízébe, akkor jöhet mindenféle egyéb szenzor, Sonoffok, miegymás. Ha még jobban megtetszik, akkor továbbléphetünk, valami okosotthon vezérlő szoftver felé, és akkor már teljes az örömünk.
-
tvamos
nagyúr
válasz
Teasüti #10380 üzenetére
"Csúnyán benéztem egy tervet: ESP32-n IO0-ra tettem egy MPU6050-es interrupt lábát, ami mint kiderült áram alá helyezve alapból pulldown módba kapcsol és ez download módba teszi a vezérlőt."
Ezert erdemes breadboarddon kiprobalni. (Persze, akkor meg orokre ugy marad...) -
Teasüti
nagyúr
Csúnyán benéztem egy tervet: ESP32-n IO0-ra tettem egy MPU6050-es interrupt lábát, ami mint kiderült áram alá helyezve alapból pulldown módba kapcsol és ez download módba teszi a vezérlőt.
(Open-drain módban csináltam a tervet, be is lehet konfigurálni a modult erre, de azt nem tudtam, hogy push-pull módban hajlandó csak inicializálni.)
Sajnos a nyákot átkötni nem tudom, egyelőre kiforrasztottam a modulból ezt a tüskét.
Kérdés: át tudnám hidalni ezt a problémát egy ellenállással? Invertáláshoz túl sok alkatrész kellene és én csak arra gondoltam légszerelve ráakasztok egy 1M-ás ellenállást a nyák és a modul közt. Ez elvileg nem engedi lehúzni az IO0-át a saját felhúzójával szemben boot-kor (ami asszem 50k körül van). Viszont működésében ez vajon mennyire zavarja be a megszakítást? Lesz egy fel- és lefutása azoknak az éleknek, vagy ettől a komparátor még nem jön zavarba?
INT nélkül is megyeget a dolog polling-gal, viszont INT-el szeretnék ébreszteni majd alvó módból. -
#define TIME_COMP_SEC_PER_HOUR 25
void go_to_sleep(const uint32_t sleep_length_in_sec)
{
uint32_t sleep_length_comp_in_sec = (3600 * sleep_length_in_sec) / (3600 - TIME_COMP_SEC_PER_HOUR);
Serial.print("Requested sleep duration: ");
Serial.println(sleep_length_in_sec);
Serial.print("Compensated sleep duration: ");
Serial.println(sleep_length_comp_in_sec);
esp_sleep_enable_timer_wakeup(sleep_length_comp_in_sec * 1000000);
esp_deep_sleep_start();
} -
-
LógaGéza
veterán
Ma érkezett egy csomag, két ESP32-vel. Az egyik egy TTGO, aminek szerintem hibás a kijelzője. Csináltam egy videót, olyan mintha csak minden második sor menne talán.
Ugyanez a kód a másikon tökéletesen lefut, és a kijelzőnek is tökéletes képe van.
Én szúrok el valamit, vagy mehetek reklamálni? -
Janos250
őstag
válasz
tvamos #10342 üzenetére
Szó nincs arról, hogy leszólnám, aki eredetit vesz. Egy félmilliós projektbe nem illik 800 Ft-os kínai alkatrészt rakni. (Vagy ha igen, akkor legalább olyan "gyártótól" vegyük, aki átcimkézi valami nyugati brandre
)
Viszont, aki a gyereknek játszani veszi, vagy az okosotthonos lámpa kapcsolgatásra, annak jó a kínai is.
Tápkocka:
12 V-ot nem bírja? Meg a 230-at se!Én már a régi időkben sem terveztem 12 V-os megtáplálást a 7805-nek. Minek megtáplálni egy arduinot 12 V-al?
Mellesleg számomra nem túl lényeges az ügy, mert már jó ideje csak ESP, STM kontrolleres lapokat használok. Persze kínait. -
Teasüti
nagyúr
válasz
Janos250 #10325 üzenetére
Egy ilyen zárt rendszerre jó lehet még a BLE is. Tulajdonképpen ilyen jellegű kommunikációra találták ki.
ÉsESP_PWR_LVL_P9
max. teljesítményen elvileg 100 méteres hatótávolsága van ESP32-nek nyílt terepen. (Gyakorlatilag meg 30 métert ért el a fórumozó egy garázsajtón/falon keresztül.)
Persze ha ki akarja vinni a netre az ember, akkor kell a hálózatba egy AP is, ami fordít a BLE és a TCP-IP közt. -
tvamos
nagyúr
válasz
Teasüti #10290 üzenetére
Nem tudom, hogy a "esp32 kernel panic" dologrol van-e meg szo, de nekem volt problemam azzal, hogy task-ok kozott volatile globalokkal akartam adatokat atadni.
A megoldasthoz ezt a doksit hasznaltam: [link]
Az adatokat ennek a pvParameters mautatonak a segitsegevel adtam at.
Bocs, ha mar nem errol van szo! -
válasz
Teasüti #10285 üzenetére
Nem értek annyira hozzá, de a taskok nálam is furán működtek. Már korábban lehet írtam, de most hogy szóba került leírom megint hát ha van összefüggés vagy ötlet.
Task nélkül tökéletesen fut a program: ESPNow, I2C, Wifi(Webserver + NTP), SPI. Ezeket használom. Taskokkal megoldva már kevésbé. I2C-n olvasva nem mindig kérte jól le az adatokat az ESP. Próbáltam prioritásokat állítani, próbáltam 0 és 1 mag között ide-oda pakolászni a taskokat. Néha jól olvasta az I2C adatokat, néha nem, néha meg többször egymás után rossz adatok jöttek. Néha reset segített, néha az se. Emellett volt még a wifi-nél NTP-vel is gond, bár ott nem emlékszek, hogy kimondottan a task okozta-e, de azóta hogy nem task-al oldom meg nincs egyikkel se baj.
Tehát ahogy kezdtem nem értek hozzá, tapasztalatot írtam le, de gyanúm az lenne, hogy az ESP nem teljes értékű 2 magos eszköz mint egy számítógép processzor. 0. magon mennek a perifériák, 1. magon meg nem véletlen van a loop is. Tehát lehet próbálkozni taskokkal, de valójában 1 magos az eszköz, 0. mag a sok periféria elem miatt van, hogy ne akadjon össze. Szerintem.
Szívesen fogadok bármiféle észrevételt.
-
Sziasztok!
ESP32 SPIFFS-el foglalkozott valaki? Csak olvasgatás szinten néztem rá és felmerült kérdésként a működése. Ez ha minden igaz a 4MB flash-ből foglal le egy bizonyos méretet fájl tárolására, így kevesebb hely marad a fő program számára ha jól értem. Tovább menve az elv is kérdés számomra:
Since if SPIFFS was never formatted it will fail mounting and we need to format it, then we will pass this flag as true. In my case, I already had my file system formatted, so this flag has no effect.
Eszerint hasonló mint egy winchester partícionálás? Ha egyszer lefoglaltam az SPIFFS-nek egy bizonyos méretet (leformáztam), akkor később hiába töltök rá egy egyszer LED Blink programot, nem fogja az egészet letörölni, programot rátölteni és a fentmaradó részt üresen hagyni? Tehát ha többé nem kell a fájlrendszer akkor le kell valahogy törölni az SPIFFS partíciót?
-
Tankblock
aktív tag
válasz
Teasüti #10277 üzenetére
Hello,
Miért az összes file végződése .ino?
Azt nem értem, hogy miért van a fps_cap paramétered a Setup függvényben kiszámolva, de a task már rég fut mire odaérne a számolásban???
A taskok közötti változók kezelésére volatile kellene ha nem lehet máshogy muszáj. Ha meg csak 1x kell
futnia inkább tedd a Task elejére mielőtt a végtelen ciklus futna.....ez inkább C kód mint C++...
Amit tanácsolok, dekomponáld a projectet kisebb részegységekre majd egyesével integráld vissza.
NE használj változókat különböző taskokban főleg ha az csak egy konstans --> arra van a #defineMinimalizáld a változóidat és funkcionlításokat rendezzd classokba...
Task elején class init majd végtelen ciklusba számolja amit kell. Taskok közötti communikációra FreeRTOS is van ajánlása xQueue vagy xEventGroup ha szignálozni kellene,A debug üzeneteket is mentsd le, mert sokat segítenek abban, hogy merre kellene nézelődni. Pluszban most egy MQTT C++ dolgozom és memory leak után nyomozok.
Itt pl a
ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
használom a szabad memória fellelhetőségének. -
XP NINJA
őstag
Sziasztok, ESP32-höz szeretnék oled kijelzőt rendelni. Ez működne? [link]
-
Teasüti
nagyúr
válasz
Janos250 #10253 üzenetére
Valamint tőled kérdezném még, mint ESP32 gurutól, hogy találkoztál-e már olyan hibával, hogy pánikol a CPU 1 a sok task miatt, viszont olyan 5-6 reset után végül csak képes elindulni a oprendszer?
Jelenleg 6-7 taskom van, amit szétszórtam a két mag közt (0. magon a gyors függvények, 1. magon a hosszabb programok), prioritásnak alacsony 10 alattiakat adtam meg és mindegyik task-nak eltérőt.
Ha csökkentem a taskok számát, akkor nem pánikol a proci. Van erre vmi ötleted mi lehet?
Minden task-ot szabályosan írtam meg: végtelen ciklusban futnak valamennyi delay()-jel a végükön. -
Victoryus
addikt
#include <ESP8266WiFi.h>
WiFiServer server(80); //a szerver a 80-as portot figyeli
int LED_PIN = 2;
void setup() {
WiFi.mode(WIFI_AP); //access point
WiFi.softAP("Hello_IoT", "12345678"); //ssid plusz jelszó
server.begin(); //192.168.4.1
//Looking under the hood
Serial.begin(115200); //Start communication between the ESP8266-12E and the monitor window
IPAddress HTTPS_ServerIP= WiFi.softAPIP(); // Obtain the IP of the Server
Serial.print("Server IP is: "); // Print the IP to the monitor window
Serial.println(HTTPS_ServerIP);
pinMode(LED_PIN, OUTPUT); //GPIO16 is an OUTPUT pin;
digitalWrite(LED_PIN, LOW); //Initial state is OFF
}
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
//Looking under the hood
Serial.println("Somebody has connected :)");
//Read what the browser has sent into a String class and print the request to the monitor
String request = client.readString();
//Looking under the hood
Serial.println(request);
// Handle the Request
if (request.indexOf("/OFF") != -1){
digitalWrite(LED_PIN, HIGH); }
else if (request.indexOf("/ON") != -1){
digitalWrite(LED_PIN, LOW);
// THE HTML document
String S = "HTTP/1.1 200 OK\r\n";
S += "Content-Type: text/html\r\n\r\n";
S += "<!DOCTYPE HTML>\r\n<html>\r\n";
S += "<br><input type=\"button\" name=\"b1\" value=\"Turn LED ON\" onclick=\"location.href='/ON'\">";
S += "<br><br><br>";
S += "<input type=\"button\" name=\"b1\" value=\"Turn LED OFF\" onclick=\"location.href='/OFF'\">";
S += "</html>\n";
//Serve the HTML document to the browser.
client.flush(); //clear previous info in the stream
client.print(S); // Send the response to the client
delay(1);
Serial.println("Client disonnected"); //Looking under the hood
}
}Ezt a példát tettem fel a Wemos-ra. Ha simán az url mögé írom (192.168.4.1/ON vagy OFF) akkor megcsinálj. OFF esetén bedobja azt a honlapot is, ami bele lett írva a kódba. De tetű lassú, ezzel hogy lehet egy autót távirányítani? Rég nekiment volna már bárminek, mire veszi a következő utasítást.
-
Victoryus
addikt
Wemos D1 R2-alapon készítenék távirányítós autót. Uno+bluetooth-tal csináltam már ilyet, de esp8266-tal még nem. Egyáltalán mivel lenne jobb: wifivel vagy bluetooth-tal? A wifinek nagyobb a hatótávolsága, így akár egy sportpályán is lehetne játszani. Telefonon keresztül irányítanám.
-
-
Teasüti
nagyúr
válasz
ecaddsell #10236 üzenetére
ESP32 floating-point performance
És a hozzá kapcsolódó Espressif fórum téma.Lényegében csúnyán kikap az ARM procitól.
-
ecaddsell
aktív tag
Lehet, hogy az esp32 lebegőpontos képességei túl gyengék lennének a feladathoz.
Nekem nem úgy tűnik vsz. jobb mint bármi más ebben a kategóriában...
http://www.robinscheibler.org/2017/12/12/esp32-fft.html -
-
Teasüti
nagyúr
válasz
ecaddsell #10226 üzenetére
ESP32 kimenetein egyébként ha jól tudom több fokozatú meghajtás van. Vannak kisebb és gyorsabb FET-ek, és vannak erősebbek, de lassúbbak. ESD kár tipikus példája amikor a kicsi FET-ek elszállnak, de a nagyok még működnek. Az egészből annyit veszel csak észre, hogy nem hozza a specifikációkat a port nagyobb sebességen.
Épp mostanában olvastam erről, már nem tudom minek a kapcsán.
-
tvamos
nagyúr
Ezt aprojektet szeretnem lemasolni nemi valtoztatassal: [link]
Lenne a projektben meg egy ESP32 is.
Meg lehet valahogy szerezni ezt az arm_math.h-t ESP-re, vagy veszett fejsze nyele? (En nem talaltam meg. LEhet, hogy rossz kereso szavakat irtam a google-be.)
Mert ha nem lehet, akkor teszek egy-ket Teensy-t az ESP melle, csak jo lett volna elkerulni ezt. -
ecaddsell
aktív tag
válasz
Amarton #10225 üzenetére
Pedig tényleg nagyon kicsi a valószínűsége, hogy hibás legyen, különösen nagy szériás cuccnál ahol minden automatizálva megy beleértve a tesztelést.
A chip-eket pl. a legtöbb esetben gyári szalagból kivágva kaptam.
Pl. DC-DC konverternél meg a panelizált (géppel) beültetett NYÁK-ból nem törték szét az egyes darabokat, hanem egyben küldték a min egységet amit árultak.
Persze nem mindig ez van, pl. csatlakozósoros panelt sose kapsz panelizáltan.Egyébként ilyen esetek elkerülésére (különösen, ha nem túl drága) min. duplán szoktam venni. Amellett, hogy lesz tartalék (és nem kell hónapot várni míg megjön a másik ha valami gond van), ilyenkor megnézem, hogy minden darab ugyanúgy működik és ha igen élek azzal a feltételezéssel, hogy valahol máshol van a gond.
Nem mondom, hogy sose fordulhat elő, hogy hiba van és ha valami akkor az ESD bárhol tönkre tudja vágni a cuccot.
Egyébként az ESD az egyik legalattomosabb hiba, mert ez az ami nem feltétlen teljesen teszi tönkre egyből a cuccot és ez ami nagyon rossz mert nehéz észre venni, mert pl. SPI még simán megy, de valahol már nem tudja a speckót a CMOS chip.
Pl egyszer ESP32 valamelyik pinjére véletlenül 5V jutott. Egyből tönkrement és annyira nagy áramot vett fel, hogy a stabi IC majdnem kiégett. Rögtön látszott kuka. Másik ESP32 egyik pinjénél meg azt vettem észre, hogy nem bírja a nagyobb frekvenciás jelet. Vsz. olyan ESD-t kapott amit már nem teljesen kezelt a védelem (valami minimális védelem van ezekben) és az a pin bizonytalanná vált. Legalább fél órám ment rá (de lehet jóval több), csere más pinre, csere más ESP32-re stb mire megtaláltam mi lehet a gondja.Szóval lehet a cuccod pont ott ment tönkre amikor bekötötted.
Aztán még van olyan storym is amikor a CMOS chip (ADF4351) EN pinje nem lett felhúzva, de csak 1 másképp tervezett panelnél vettem észre a hibát (bizonytalanná vált a lock), mert az elsőnél olyan volt az elrendezés, hogy annyi áram odakúszott, hogy elég volt neki (ugye CMOS bemenet több 10 MOhm tip.). Ha nem kapok egy másképp tervezett panelt, lehet sose veszem észre...
Röviden: El lehet hobbizni ezekkel az Arduino kompatibilis cuccokkal, ahol a hibák/veszteségek nem nagy ügy (pláne, ha rátolod az eladóra), de az ipari kategória nagyon más. Nem véletlen, hogy nagy-szériás gyártás ma már szinte csak Kínában fordul elő. Nem mellékesen szokás szidni a minőség-ellenőrzést. De azért nézzük meg, hogy pl. a jlcpcb-nek 20 cent/hobbi paneles árba (szállítás nélkül értendő) belefér automatizált optikai és elektromos ellenőrzés. Ezek után nem csoda, hogy ennek a szakmának se nálunk se nyugaton sem rózsásak a kilátásai. Hobbizni persze OK.
-
Teasüti
nagyúr
válasz
Janos250 #10200 üzenetére
Olyan túl sok mondanivalóm nincs a PCNT-vel kapcsolatban. Működik a példa alapján.
Inkább matematikai fejtörést okoz a frekvencia mérése. Ugye másodperc az alapegysége, viszont nekem ennél gyakoribb frissítés kellene. Mondjuk olyan 200 ms-os frissítés már elfogadható. Ez viszont azt jelenti, hogy fel kell szoroznom a mért értéket ha SI mértékegységet szeretnék látni. Ez meg precizitás csökkenéssel jár, így már csak a(z 5-ös) szorzó többszörösét kaphatom eredményül. Ráadásul így az 5 Hz a legkisebb mérhető egység, ez alatt inkonzisztens eredményt ad nulla és öt között váltakozva. Ezt így egyelőre csak szűréssel tudom áthidalni.
Nincs vmi jobb matematikai módszer a gyakoribb frissítésre? Kíváncsi lennék vajon egy hall szenzoros jeladóból hogy számol pontos értékeket gyors frissítéssel egy km óra?Hogyne használtad volna a PWM-et, vagy sose írtál még be egyetlen ledcWrite() parancsot se?
RMT-t meg én nem használtam még direktben sose, csak könyvtárból. RMT-vel hogy csinálnál mondjuk 100 Hz 50% PWM jelet?
RMT bemenetként is érdekelne, állítólag azzal periódusidőt is lehet mérni vhogy. Na ha vmi, akkor az precíz és gyors lenne!Meg most láttam a Technical Reference doksiban, hogy vannak natív Motor Control funkciók is a PWM perifériában ESP32-ben.
Na erről nem is tudtam. Van benne egy Capture Unit is, ami meg beérkező PWM jelet tud mérni, vagy mi a szösz. Ezt megtartom harmadik lehetőségnek, ha a PCNT és az RMT nem válna be. -
Teasüti
nagyúr
válasz
ecaddsell #10196 üzenetére
Most néztem át ezt, de ebben nincs megszakítás kezelés.
Itt csak kiolvassa a függvény a számlálót a loop()-ban.
Természetesen már szoftveresen számolom ki a frekvenciát, vagy ezt hogy érted? Ha jól értem ezt a programot a számlálás maga nem szoftveres. Nem változóban számolja a megszakításokat, hanem regiszterben. És függetlenül attól mit csinál a cpu, legalábbis remélem. Ennyiből áll a pulse counting, nem? Vagy van rá hardveres gyorsítás, ahol a pulzusok számából frekvenciát köp ki eredményül? Meglepne...Nem akarom túlbonyolítani a dolgot. Nekem elég annyi, hogy a program blokkolása nélkül tudjon számolni és igény szerint kiolvasni ezt az értéket.
Ezt hogy kell elképzelni? Vmi olyasmi, mint ESP32-nél a tetszőlegesen beállítható GPIO mátrix?
-
ecaddsell
aktív tag
válasz
Teasüti #10184 üzenetére
Az első az ESP-IDF-hez íródott, miközben én Arduino IDE-ben vagyok.
Nekem még soha nem okozot gondot ESP-IDF-et használni az Arduino IDE-ből...
Többek között a második kód esetén sem.
De mindegy, te tudod mire kell és mit vállalsz be ehhez.Én elég sokat vállaltam ebben a témában (talán túl sokat is) pl. VHDL kód írása és tesztelése (működni látszik) Xilinx CPLD-re, nyáktervezés (kétfajta progit is bevetettem) stb. Nagyon sokat tanultam belőle, annak ellenére, hogy lehet ez is a befejezetlen projectek sorát fogja gyarapítani.
-
Teasüti
nagyúr
válasz
ecaddsell #10183 üzenetére
Hát mondjuk megszakítást használni és programból számolni. Az szoftveres és sokat elvesz a cpu időből, ha nagy a frekvencia.
Értékelem a segítséget, de sajnos nem tűnik számomra használhatónak egyik sem.
Az első az ESP-IDF-hez íródott, miközben én Arduino IDE-ben vagyok.
A második meg egyáltalán micsoda? Nem fogom tudni visszafejteni azt a kódot, ahhoz túl nagy és bonyolult.
Főleg, hogy egy rakás hardver közeli függvényt hív be, amikről fingom sincsen.Vmi Instructables.com színvonalú példa nincs véletlen? Én nem találtam...
-
Janos250
őstag
válasz
gyapo11 #10172 üzenetére
Az ilyesmik miatt (is) kedvelem én az ESP32-t. Egyik szál nem csinál mást, csak figyeli a gombot, a másik szál meg..., a harmadik meg.. és így tovább, ahány kell. A szálon belül nyugodtan lehet "várakozás", mert az nem igazi várakozás, hanem a másik szálnak adódik át a vezérlés.
-
Teasüti
nagyúr
Kérhetnék egy kis segítséget a PCNT-vel ESP32-n? Nem találok egyetlen egy példát sem.
-
ecaddsell
aktív tag
válasz
Tankblock #10148 üzenetére
Ha csak ez az egyetlen gondja lenne az ESP32 ADC-jének, akkor igen, de sajnos több sebből vérzik.
A nemlinearitás egyébként máshol jobban vesézve van:
https://github.com/espressif/esp-idf/issues/164Amit linkeltél meg van említve a zaj is, amibe már korábban is belefutottam és amit sokkal nehezebb kezelni.
Amit ajánlgatnak az vicc, 100nF-os kondit csak az tehet oda, aki valami lassú szenzort olvas. Eleve az ESP32 ADC-je nem valami gyors, szóva tipikusan a multisampling se opció.Visszatérve a zajra: A zaj forrása tipikusan a digitális kapcsolási zaj és erősen függ attól, mennyi kimenet változik szimultán módon. Na erről nem szól az ábra.
Ma (meg már 1 ideje) a komolyabb analóg és digitális részt is tartalmazó chipek több tápfeszt igényelnek. Azaz külön kellhet szűrni és stabilizálni a digitális mag tip. alacsonyabb tápfeszét (1V tól 1.8V környéke), a digit interface-t (tip. 1.8-3.3V) ill. az analóg részeket. Ez persze megdrágítja a dolgot és ott spórolnak ahol tudnak.
Kb. ennek az eredménye, hogy a spec szerint 12 bites ESP32 ADC kb. 7 vagy max. 8 bites valójában...Amivel ezzel kapcsolatban mostanában küzdök: Miután az ESP32-vel a 8 digit/s reciprok freki mérőt megcsináltam, elkezdtem áttérni a 10 digit/s-es interpoláló reciprok freki mérőre. Ennek az a lényege, hogy nemcsak azt mérjük, hogy a jel egy adott egész számú periódusára hány egész referencia jel periódus tartozik, hanem a referencia jel tört periódus idejét is mérjük.
Ez úgy történik, hogy a tört periódus ideje alatt 1 kondenzátort töltünk konstans árammal és a töltés végén megmérjuk a kondenzátor feszültségét (ennek a digitális részét CPLD adja nem az ESP32).
Mivel nálam a referencia periódusa 10ns (100MHz) max. ennyi ideig tölt a kondenzátor, ami túl nagy nem lehet, mert akkor nagyon nagy tötlő áram kellene. Szóva a kondenzátor kb. 1 nF, és 30mA körüli töltőárammal kb. 280mV feszültség emelkedést lehet elérni max (azaz normálisan 0-280mV emelkedés, ami nem nulláról indul, szóval lényegtelen, hogy kis értékeket nem tud az ESP32 mérni).
Azaz a két digithez kb. 3mV felbontással kellene mérni. Viszonylag gyorsan, mert a kis kondenzátor gyorsan veszti a töltést még nagy impedancián is.
Na itt az ahol az extra 100nF nem opció.
Oszcilloszkópon frankón látszik a jel. A filléres Aneng 8008 multiméter is konzisztensen tudja indikálni az feszültség emelkedést.
Csak az ESP32 küzd a jellel a saját maga által generálta zajban...Szóval messze nem csak a linearitás a gond. Zajos és a sebessége is megérne 1 külön github részt, hogy mi a teendő, ha normális sebességet szeretnénk (erre is elég sok fórumbejegyzés van már). Talán mégsem véletlen a sok panasz.
-
válasz
Tankblock #10151 üzenetére
Igen, emiatt vettem külső ADC-t. Költségbe így rosszul jöttem ki.
Az ESP 3v3 regulátorából jövő feszültséget használtam és egy potit, közben multiméterrel mértem. 0-3V között 10-15 pontot vettem fel. A multiméter ami elvileg pontos, ahhoz képest tized voltokat tért el az ESP ADC-jével mérve az érték. 3-3.3V között talán 1 értéket mért az ADC, 3.1 V körül már 3.3V-ot mért, miközben multiméterrel láttam, hogy nem annyi az érték. Közel 0 V-nál is hasonló volt, bár ott pontosabb. Tehát a 0 és 3 V körül levágta az értékeket és nem pontosan mérte, a kettő között pedig tized-század V eltérések is előfordultak. Ahol esetleg a tized V eltérés belefér ott még használható lehet talán.
Sajnálom, mert az uno-n lévő atmel ADC-je elég pontos és általános mérésekre szépen használható, ami nem mondható el az ESP32-ről.
(#10153) tvamos
Én mikor keresgéltem arduinos könyvtár support-ot, akkor az ADS1115-ot találtam, így nekem az lett. -
Attix70
aktív tag
válasz
Tankblock #10148 üzenetére
Teszteltem de nem lineáris, és nem is 0-tól indul a mérés ez a grafikonon is látható (persze attól még lineárisnak tüntetik fel). Ha használni akarom akkor kell egy tartományt keresnem amin belül lineáris (egyéb hardveres trükkökkel). Ez egy nagy hibája az ESP32-nek, remélem megjelenik valami hasonló amin az AD konverter jól működik
-
Attix70
aktív tag
válasz
rsanya87 #10134 üzenetére
A tápnak nem az áramával van gond, hanem a stepper motorokkal. Mivel induktív jellegű ezért lehet, hogy az adott alkalmazásban (12V-ról) csak pár tized ampert vesz fel. Ahol erő is kell ott minimum 24V-os táplálást használnak, csak tanácsot szerettem volna adni (szerintem ez lenne az egyszerűbb, egy próbát megér).
Más:
Korábban kérdeztelek titeket, hogy mivel oldanátok meg elektromos bicikli diagnosztikáját (HC-05+arduino vagy ESP32). ESP32-őt ajánlottatok. Próbálkozásaim alapján tapasztaltam, hogy nagyon NEM lineáris az ADC benne ami egy akkus eszköznél fontos lenne. Valami tanácsotok lenne? -
válasz
XP NINJA #10108 üzenetére
Ezzel próbáltad? [link] Én legutóbb ezzel sikeresen felraktam.
Amúgy ha nem megy a rátöltés, akkor a gomb nyomkodásnál annyit kell, hogy a töltés közben mikor kiírja, hogy "....." ott lenyomni a boot gombot az ESP board-on, reset-et nem kell nyomkodni.
Belinkeled milyen ESP32 board-ot vettél?
-
XP NINJA
őstag
Megérkezett az ESP32 nekem is, de nem tudom összehozni a géppel..
Felraktam a könyvtárat hozzá, CP210x_Universal_Windows_Driver is meg van, de upload-nál: A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
Ha a boot gombot nyomom hosszan, közben megnyomom az EN-t akkor pedig A fatal error occurred: Invalid head of packet (0x65). Keresem, de nem találok megoldást
Valakinek ötlete esetleg? -
brickm
őstag
Sziasztok!
Atom és platformIO modullal küzdök jelenleg. A Problémám az, hogy építettem egy szoftvert egy hardverre, amit windows alól buildelve feltöltöttem éshazsnálok jelenleg is, viszont most MAC-en sajnos nem sikerül a buildelés.
Egy ESP8266 NodeMCU-0.9es devboardra menne a program. a main.ino tartalmazza a vezérlést, az index.h pedig a webes megjelenést. Viszont feltöltés után nincs weblap. Látom a mikrokontrolleren, hogy érkezik kérés, (handle kezelőm van) de nem küld vissza lapot. Az az első gyanúm, hogy mac-en nem buildeli automatikusan hozzá az index.h file-t (ez amúgy stringbe töltődik be a programban) Meg tudom valahol nézni, hogy miket buildel? Esetleg más ötlet?
Aruino IDE alól ugyan ez a jelenség, amúgy error mentesen lefut a compile.
-
válasz
tvamos #10077 üzenetére
Vettem egy wattmérőt, ebben van egy BL6523GX chip, ami soros porton keresztül kommunikál, és ezt szeretnék elkapni. Az a célja az egésznek, hogy egy ESP8266-segítségével espurna FW-rel, webes felületen is tudjam figyelni az aktuális fogyasztást. Perpill a FW nem támogatja ezt a chipet, és látni akarom, hogy egyáltalán kinyerhető-e valami az adatfolyamból.
-
tvamos
nagyúr
Hello!
Az a kinom, hogy az egyik taskbol szeretnem triggerelni a masikat.
Csinaltam egy valtozot, ami "volatile".
Raallitottam az egyik taskot, hogy figyelje, ha a valtozo 1, csinalja meg, amit kell, es utana allitsa 0-ba.
A loop-bol sikerul is triggerelni a taskot, szepen vegrehajtja, amit kell.
Sajnos a masik taskbol nem megy ez.
Mi lehet a problema?Jut is eszembe...
ESP32
Arduino framework
xTaskCreate-tel vannak letrehozva a taskok -
Teasüti
nagyúr
válasz
kbhuinfo #10006 üzenetére
Megpróbáltad leválasztani az összes egyéb eszközt - ha van - és csak az esp-t és a modult beüzemelni?
Az ESP 5V vagy 3V lábáról (LDO-nak bírnai kell) megtáplálni a modult. Így a feszültségek tuti jók, hisz ugyanarról megy a vezérlő is.
Amúgy úgy méred, hogy a vezérlővel össze van kötve, vagy méréshez leválasztottad az ESP-ről? Ha utóbbi, akkor a vezérlő húzza le GND-re. Akkor viszont még a szoftver is kérdőjeles.(#10007) Amarton
Az, h "jobb", az elég relatív. Milyen tulajdonságban jobb? -
ecaddsell
aktív tag
válasz
kbhuinfo #9998 üzenetére
A kérdés pedig: mire van szükség (ellenállás, kondenzátor, stb.), hogy jól működjön az áramkör? Feltételezem, hogy valami hiányzik és a mérés az, ami ezt az űrt betölti
Jó eséllyel árnyékolás az ami hiányzik. De ha nem is ez kellene legyen az első lépés. Az ESP32 nekem pl. bezavarta a GPS vevőt amíg jó távol nem tettem a GPS vevő antennáját.
-
kbhuinfo
tag
Elnézést a korábbi szűkszavúságért. A microwave radar (RCWL-0516) lábai VIN (5V), GND, és az OUT (ezen a lábon érzékelés esetén megjelenik 3,3V a GND-hez képest). Az ESP32-re kötve csak akkor jön 3.3V az OUT kimeneten (és jelzi a mozgásérzékelést a GPIO bemenetén az esp32-nek), ha az ESP32 GND pinje és az OUT között mérem a feszültséget egy multiméterrel. A kérdés pedig: mire van szükség (ellenállás, kondenzátor, stb.), hogy jól működjön az áramkör? Feltételezem, hogy valami hiányzik és a mérés az, ami ezt az űrt betölti... Köszi!
-
tvamos
nagyúr
Probalt mar valaki Nikon fenykepezogepet vezerelni Arduinoval (pontosabban ESP32) IR-en keresztul? Van par pelda, nem tudom, hogy melyiket probaljam.
-
Janos250
őstag
válasz
Tankblock #9981 üzenetére
"HW azért van hogy használjuk"
A kiváncsi ember meg azért. hogy mindent kipróbáljon.
Igen, vannak rá kész könyvtárak az RMT-re, de...
Kiváncsi voltam, hogy elég gyors-e az ESP32, hogy szoftveres időzítéssel kezelje ezeket az 1 mikro alatti időzítéseket. Igen, elég gyors. Akkor persze nem a millis és micros függvényeket használjuk, hanem a 240 MHz-es órajeleket számláló SFR regisztert. Igaz, hogy ez csak 32 bites, és tizen.. másodpercenként átfordul, de lehet 64-bites eredményt is kapni, ha elég sűrűn olvassuk.Az RMT-t is végigpróbálgattam. Nem a kész könyvtárakat - bár azt is megnéztem persze - hanem közvetlenül az egyes regisztereket. Így azokat is sikerült azonosítanom, ami - akkor legalábbis - dokumentálatlan volt.
link
Ha nem -
Janos250
őstag
Leírom a saját tapasztalatomat, bár az eléggé különbözik az ESP32 miatt.
Ha a jel hosszát elég jól lőttem be, akkor rövid szalaggal símán ment. Ha növeltem a ledek számát, akkor a tiédhez hasonló jelenséget tapasztaltam. Digitális analizátorral derült ki az ok:
Az ESP32 1 ms-enként megszakít, akkor adja át a vezérlést - ha szükséges - másik tasknek. Amíg a kevés led miatt a magot megkapott processz 1 ms-en belül el tudta végezni a dolgát, addig minden símán ment. Ha ezt meghaladta a ledre "feltöltési" idő, akkor ha közben megszakított egy jel közben, akkor a rövig jel helyett hosszú lett véletlenszerűen, és bolondságokat csinált. Ha éppen egy alacsony helyiértékű bit lett hibás, akkor éppen nagy gond nem volt, de ha egy magasabb helyiértékű bit szaladt túl, akkor az galibát okozott. Nem azt akarom mondani, hogy nálad is ez a gond, hanem csak azt, hogy nálam ez volt, vedd esetlegesen számításba az időzítési hibát is. Egy digitális analizátorral kéne megnézni.(Ja, még mielőtt az ESP32-t használók felkapják a fejüket, ez annál a verziónál volt, amikor nem hardverből vezéreltem a ledeket, hanem símán C++ programból. Az ESP32 ugyanis elég gyors ahhoz, hogy ezt meg lehessen csinálni. Az interruptok megfelelő tiltásával kezelhetővé vált a probléma. A hardveres vezérlésnél ilyen gond nem volt, mert ott van elég idő az egyik pufferbe töltéshez, amíg a másik puffert nyomja kifelé a hardver)
-
Janos250
őstag
Nekem gyanús ez a 3.3V ügy! Tudtommal az első led már "feldolgozva" adja tovább a következőnek, tehát az első kivételével - gyanítom - nem villoghatnának emiatt. Én egy éve körül sokat játszottam ezzel a leddel és ESP32-vel. Az volt a tapasztalatom, hogy az általad is leírt hibajelenség időzítési hiba volt. Ha túl rövid, vagy túl hosszú volt a jel, vagy a két pixel közötti idő túl nagy volt (8 us, vagy több) interrupt miatt, és elölről kezdte.
Persze lehet, hogy nálad egész más a gond. -
kbhuinfo
tag
Tud valaki segíteni ESP32 SPIFFS használatában?
-
XP NINJA
őstag
válasz
Janos250 #9916 üzenetére
Amit linkeltél 5Voltos, nem is találtam 3.3-ast. Ahogy olvasgatok akkor ahoz hogy egy ESP32-vel használhassam, kell egy Logic Level Converter?
-
Janos250
őstag
válasz
XP NINJA #9914 üzenetére
Arduino választás:
A korszerűbbek 3.3 voltosak (STM32, ESP), de sok szenzor meg 5 voltos. A régi lapok 5 voltosak, de SOKKAL kevésbé hatékonyak. Én korábban mindenkinek az STM32-t ajánlottam, az ESP32 megjelenése, és a támogatás felfutása óta meg ESP32-t. De lehet régit is használni. Pap/papné. -
ecaddsell
aktív tag
Ne viccelj ilyen könnyen feladod?
Pl. megnézted, hogy kompatibilis a jeladód szintje a kontrollerével? Az, hogy a jeladón villog a LED semmit sem mond arra vonatkozólag, hogy tényleg megtörténik-e az interrupt.
Pl. a loop-ból kiírathatnád a számlálót ha az változik. stb.Emlékszem rád a Fedorás topikból, olyan dolgokban tudtál segíteni nekem (meg kb. mindenki másnak) amit már rég feladtam(unk), itt meg hozzá sem kezdtél a debughoz... Ki kell íratni dolgokat a soros porton.
ESP32-vel még az interruptból is kiírattam, pedig elvileg azt nem szabad (lehet itt nem is menne) mert mi történhet alapon, max újra fel kell töltenem a módosított kódot.
Ha nincs soros portra lehetőség akkor rá teszel valamelyik pinre egy ellenálláson keresztül 1 LED-et amit ki be kapcsol az interrupt stb.Kevesebből mint az általad írt összeg tervezek 10digit/s-es frekvenciamérőt csinálni, Arduino környezetben ebből a pénzből már egy egész hobbi labort lehet építeni. Persze, ha eléggé motivált vagy...
-
mprrpm
tag
Sziasztok!
Szerintem DS3231-el jössz ki a legjobban.
Hozzáteszem csináltam DCF77-el templomtorony harangvezérlőt. Előny: pontos ha tökéletes a vétel nem kell vacakolni téli/nyári átállással. Hátrány: csak Conrádnál fogsz kapni vevőt aranyárba 4000Ft környéke.
Valamint készült melóhelyre ESP32 NTP-vel óra is.
NTP is jó de ahol nincsen használható WIFI ott nem jöhet számításba.DS3231 és NTP kombó már elég jó páros tud lenni (előny: elég egyszer egy hónapban szinkronizálni WIFI-ről és viszonylag pontos időt kapsz olcsón sokáig. Hátrány hogy ha nem LIR32 aksit használsz hanem CR2032-t elemet a DS3231-hez akkor kicsit át kell alakítani a töltőáramköri részt (pukkanás elkerülése végett).
És a téli nyári átállás progiba 4sor.
Tapasztalat 4 éve megy DS3231 CR2032-vel évi +2 sec csúszással egy nehezen hozzáférhető helyen fényreklámban, nem kell óraátállításkor vacakolni. -
ngabor2
nagyúr
Köszi a válaszokat. Az a baj, hogy az Arduino egy elég nehezen hozzáférhető, eldugott helyen van, a reseteléshez is szét kell szedni a dobozát. Bár van ESP8266 és ESP32 mcu is a háznál, de eddig még nem sikerült egy szabad délutánt kerítenem, amikor neki tudok állni az egész, Arduino köré épített rendszert áttenni bármelyikre. Ráadásul akkor már kicsit upgradelve pakolnám össze, ami még több idő.
Itt a lényeg a hardverhez nem nyúlás lett volna, de akkor egyelőre marad a félévente egyszeri átírás, vagy az átállás beleírása a programba.
A GPS/DCF77 is érdekes megoldás, de a baj ezekkel is ugyan az: szét kell kapni az egészet és az amúgy is kábelrengetegtől zsúfolt dobozba további alkatrészeket gyömöszölni.
-
Janos250
őstag
"ESP-IDF kell hozzá"
És ha berakod Arduino IDE alá, lefordul? [vagy felfordul?]
Az Arduino IDE is IDF alapokon nyugszik, csak van saját, előre megírt main.cpp, és egy halom könyvtár, hogy meglegyenek az előre definiált dolgok, és passzoljanak az elnevezések az Arduino rendszerhez. Attól még az összes alatta lévő dolog is él, ugyanúgy, mint pl. a freeRTOS dolgai, vagy a méglentebbi driverek.
A C++ az C++ akár IDF, akár Arduino IDE. -
fpeter84
senior tag
válasz
Speeedfire #9848 üzenetére
Milyen autóval játszanál? Én kipróbáltam többek között ezt és más hasonló kódokat - bár úgy tűnt hogy mindnek kb ugyanazok a gyökerei - de egy 2002-es A6-on totál használhatatlan, megbízhatatlan volt: álló motornál még úgy ahogy csatlakozott de járó motornál szemét szemét hátán. A csatlakozó hardver biztosan jó - ez már kiderült egyéb tesztekkel - úgy tűnik hogy zéró hibakezelés van a fenti kódban, plussz lehet az enyém vezérlője is éppen érzékenyebb / zajosabb... Mindenesetre beleástam magam és végül csináltam egy saját lib-et hozzá ami nem soft serial-al megy hanem rendes hardveres sorosporttal. Működik MEGA, DUE és ESP32 platformon is - utóbbival használom végül...
A csatlakozó hardverről: első körben én is szétgányoltam egy VAGCOM 409 kompatibilis kábelt, de hamar rájöttem hogy egyszerűbben is lehet ezt: MCP2021, L9637D vagy bármilyen hasonló LIN driver megfelel a célra... Per pill az utóbbival megy és hibátlannak tűnik a kommunikáció több óra után is...
Ha mégis kész kábelt vágnál szét, akkor erősen a szerencsén múlik hogy jó e: láttam olyat is már amiben egy fekete paca volt csak a csipp a nyákon mint a kvarcórákban, számológépekben, és arra nem nagyon lehet rácsatlakozni... Ha rendes smd alkatrészekből áll akkor cirka bármelyik lehet jó akár tranzisztorokból, akár komparátorból, akár rendes LIN meghajtóból van összerakva, amennyiben be lehet azonosítani az alkatrészeket benne...
Ha érdekel akkor szivesen megosztom azt amire eddig jutottam...
(az lemaradt, hogy a measurement blocks lekérdezésre mentem rá mint a linkelt projekten is - hibakód olvasással nem szórakoztam mert arra van külön VCDS kábelem is) -
Sziasztok! Esp32 specialistákhoz szólnék: állítólag van már megoldás arra, hogy esp32-ből Bluetooth HID billentyűzetet tudjak építeni. De sajnos nem arduino alapokon, amit ismerek, hanem ESP-IDF kell hozzá. Erről viszont annyit sem tudok, hogy eszik-e vagy isszák. Igazából nem is akarok vele komolyabb ismeretséget kötni, mindössze egy firmware-t szeretnék rátölteni, hogy egy speciális beviteli eszközt tudjak csinálni belőle (BT pedál). Valaki ha el tudná magyarázni, hogy hogy fogjak hozzá, és milyen kódot fordítsak/töltsek fel a lapra, az nagy segítség lenne.
Ezt az oldalt találtam: [link], állítólag működik, de azt se találom benne, hogy hogy van bekötve, hogy vannak rákötve a billentyűk... -
fpeter84
senior tag
válasz
Tankblock #9842 üzenetére
A 6+2 az az eredeti SD szabvány 4 párhuzamos I/O lábbal plussz kontrol, a mikrokontrollerekkel viszont általában SPI módot szoktunk használni ami a 4+2 a MISO meg MOSI-val (vagy SDI, SDO stb)...
Kicsit gány, de én még úgy is csatlakoztattam MicroSD-t egyszer jobb híján hogy egy SD>MicroSD foglalat lábaira forrasztottam rá a vezetékeket. Végülis működik ha nem melegíti túl az ember a lábait... A hosszabbtávú 3.3V prototípusoláshoz meg érdemes venni egy marék ilyet. Az 5V kontrollerekhez viszont szigorúan csak ilyen jelszintillesztőset szabad használni!
De érdemes lehet az SPIFFS-t is kipróbálni, mert a több mega belső flash-be rengeteg log elfér és akkor nincsen függelék az eszközön! A fájlrendszer feltöltésére van plugin, letöltésre még sajnos nem találtam így az embernek a programba be kell építenie egy dump opciót is, vagy egy külön programmal intézni ezt. Szerencsére az SPIFFS tartalmát nem érinti, ha más arduino programot töltesz fel ideiglenesen a fájlkezelés idejére...
szerk: ESP32 esetén pullup sem kell, ahol kell ott elintézi a proci belső pullup funkciójával a library!
-
Tankblock
aktív tag
Sziasztok,
Van valakinek egy bevált módszere arra, hogy SD kártyát lehessen olvasni/írni ESP32 vel.
Saját projecten dolgozgatom egy ideje, és most jött el az idő, hogy struktúrákat elmentsem és visszaolvassam....
C++ használok, de bárminek örülök. A ESP-idf ben 1 példa van össz vissz.... Azt ma este elemzem...
-
fpeter84
senior tag
válasz
Janos250 #9828 üzenetére
Annyira nem csúcs ajánlat, ebayen meg alin ennél olcsóbb a picit nagyobb tudású LOLIN32...
@(#9829) csubuka: ESP-WROOM-32 modullal elvileg ugyanannak kell lennie, különbségek ott akadnak inkább hogy pl a LOLIN-en Li-Ion töltő is van, illetve léteznek olyan ESP32-k amelyek mellé több/kevesebb flash-t társítanak, de a WROOM-os elvileg mind 4MB-os
-
Janos250
őstag
Aki most akar ESP32-t venni, 5.24 Euro.
https://www.banggood.com/WeMos-ESP32-WiFi-Bluetooth-Development-Board-Ultra-Low-Power-Consumption-Dual-Core-ESP-32-ESP-32S-p-1175488.html?cur_warehouse=CN
Egy személynek max hármat enged. -
vargalex
félisten
Station mode-ban (gondolom úgy használod) az ESP8266 esetén automatikus Modem-sleep van, így ha éppen alszik a wifi modul, akkor szerintem teljesen normális a 100-500 ms válaszidő. Ilyenkor a router által megadott DTIM Beacon interval lejárta előtt ébreszti automatikusan a wifi-t. Ez kb. 100 ms általában.
A modem-sleep üzemmódot ki tudod kapcsolni awifi_set_sleep_type(NONE_SLEEP_T);
hívással. Itt is van a témáról egy kis olvasnivaló.
-
Janos250
őstag
Melót nem vállalok, de leírom, én hogyan csinálnám.
Nem PI, hanem egy ESP (32, vagy 8266) kezeli a reléket, és a gombot. Az ESP a lakásban lévő WiFi-re kapcsolódik, innentől kezdve egy újabb ESP, vagy telefon WEB-en, vagy bármi tudja kapcsolni. Olcsóbb, és homogénebb.
Ennek módosított változata:
A relé egy Switch ON OFF (SONOFF) basic relé. Ezen fut egy WEB szerver is. Ez a SONOFF kapcsolódik a WiFi-n keresztül a netre. A WEB szerver igen egyszerű: gombbal ki/be kapcs. Telefon, vagy akárhány egyéb eszköz pl. Arduino, PI, PC, stb. tudja kapcsolni.Ez utóbbi nekem a laborban egy készülék fűtésszabályozásán a SONOFF megjelenése óta működik. (Nekem ezen némileg bonyolultabb WEB lap fut, a több funkció miatt)
-
tvamos
nagyúr
Ertem. Koszonom!
Es van erre valami ismert megoldas?
Mukodhetne valami olyasmi, hogy par masodpercenkent megpingetem a kiszolgalot, vagy ilyesmi?Az ujabb kerdesem az lenne, miert van az, hogy az ugyan azon a halozaton levo RPi-t ha pingelem, akkor az valaszol 15-40ms-on belul, ez az ESP32 meg 100-500ms? (Es vica verza, ha az eszkoz pingeli a szamitogepem, ugyan ez a jelenseg.) Lehet ezen "tuningolni" valamit?
-
Ja, vagy úgy. Ilyenkor sajnos a forráskód a legjobb manual. Úgy tűnik, hogy
WL_CONNECTION_LOST
csak timeoutnál van:} else if(reason == WIFI_REASON_BEACON_TIMEOUT || reason == WIFI_REASON_HANDSHAKE_TIMEOUT) {
WiFiSTAClass::_setStatus(WL_CONNECTION_LOST);Utolsóra van nyitott ticket. Bár ESP8266, de gondolom a wifi része hasonló.
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Lenovo Thinkpad Tablet X1 Gen 3
- RÉSZLETRE .OPCIONÁLIS. Lenovo ThinkPad X13 Gen 5 Ultra 5 135U , 16GB , 512GB , Win11 SZÁMLA GARANCIA
- BESZÁMÍTÁS! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- Apple iPhone 14 Pro / Gyárifüggetlen / 128GB / 12Hó Garancia / 88% akku
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest