- Azonnali VGA-s kérdések órája
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Apple MacBook
- AMD Navi Radeon™ RX 6xxx sorozat
- Akciókamerák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Bluetooth hangszórók
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- Projektor topic
- Milyen billentyűzetet vegyek?
-
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
-
Tankblock
aktív tag
Hello,
Mit reportol a fagyáskor?
Nekem sosem volt ilyen boardom, az ezen lévő komponensekkel szerintem nem lehet alacsony fogyasztást elérni. ESP12-E használok, ha ESP8266 ról van szó.Honnan kapja a Vcc-t? Ha az USB kábelről akkor az legyen jó minőségű pl valami jófajta mobil töltőkábele.
Nekem általában ezzel volt problémám. -
_q
addikt
Sziasztok!
Tudtok ajánlani kijelzőt? Ahogy olvastam érdemes SPI kijelzőt keresni, ha nem akarok kicseszni magammal. Olyan lenne jó, amihez van minta kód, bekötési segédlet. Jó lenne 3.5" méretben és nem horror áron. Ezen paraméter alapján egyet találtam: Raspberry Pi-hez ajánlott verzió, ami támogatott esp32 által, ehhez minta itt. Esetleg 2.8" méretben ILI9341 IC-vel, minta itt.
Az érintő kijelző nem kell jelenleg, elegendő lenne egy olyan kijelző aminek a felbontási, képminősége a lehetőségekhez mérten szép. Esetleg ezen kívül lenne valakinek ajánlása, tapasztalata kijelzővel vagy maradjak a linkeltek közül valamelyiknél?
-
_q
addikt
válasz
Teasüti #9097 üzenetére
Igen beszéltük, hogy ugyan azon a csatornán kell legyen mindent. Előtte minden a kettesen volt, router + mind a kettő ESP, de az nem jó. Tehát ugyan azon a csatornára csatlakozás kevés, kimondottan az 1-es csatornán megy csak.
Igen pipa, úgy néz ki, de azért még tesztelem, hogy mennyire stabil és tényleg megy-e. Ezt leszámítva már csak kijelzőre kell küldeni az információt, illetve PCB-t tervezni hozzá. Köszönöm a segítséget mindenkinek
(Plusz opció: lehetne olyat, hogy a mért adatokat thingspeekre küldeni vagy más módon monitorozni, még meglátom.)
-
Teasüti
nagyúr
A megoldás az volt, hogy nem elég a két ESP-t 1-es csatornára tenni, hanem még a routert is 1-es csatornára kellett állítani. Más kombinációval sajnos nem működött.
Igen, azt hittem ezt már megbeszéltük korábban. ESPNow adhoc hálózatának és a WLAN-nak is egyazon csatornán kell lennie!
Így akkor ez most jó? Működik? Kipipálva ez a rész?Kíváncsi lennék egy BLE vs ESP-Now összehasonlításra, melyik lehet az energiatakarékosabb vajon.
-
_q
addikt
válasz
Janos250 #9095 üzenetére
Sajnálom, ha nem voltam követhető
Lényeg, hogy működik ESPnow + wifin keresztül routerre csatlakozás, onnan adat lekérés. A megoldás az volt, hogy nem elég a két ESP-t 1-es csatornára tenni, hanem még a routert is 1-es csatornára kellett állítani. Más kombinációval sajnos nem működött.
Jó a webserver-kliens is, ha nem kellene fix IP címmel dolgozni, ahol már UDP is szóba jön, legalább is NTP adat lekérésnél kell UDP is. Onnantól, hogy fix IP cím van és UDP függvényeknél is megjelenik az
IPAddress
osztály, onnantól nem működik sajnos az NTP. Legalább is nekem nem sikerült megoldani. -
Janos250
őstag
Én már rég elvesztettem a fonalat, csak egyetlen megjegyzésem lenne:
Saját tapasztalat alapján az ESP32 8 (nyolc) clientet tud párhuzamosan kezelni.
Mondom ezt anélkül, hogy valaha is lementem volna a socket programozás szintjére. Én maradtam a WiFiServer, WiFiClient szintjén, oldják meg ők a socketek kezelését. -
_q
addikt
válasz
Teasüti #9093 üzenetére
Jaa értelek már, akkor 3 db ESP32 kellene
viszont ez így már jónak kellene legyen, csak nagy helyet foglalna el a panelen.
Akkor ezért nem nagyon találok Wifi+Bluetooth példákat, mert nem nagyon megy együtt a kettő
. Akkor ez is kilőve
pedig szép és jó lenne ,ha menne együtt. Kezdem érezni az ESP korlátokat, pedig olyan jól hangzik, hogy mennyi mindent tud, viszont nagyon sok esetben ott van egy képzeletbeli vagy valóságos apró betűs rész, hogy "kivétel ebben és ebben az esetben nem tudja".
ESNow esetén egyik eszköz STA másik AP módban van. Az STA esetemben a külső ESP lenne, ami alszik és 15 percenként felébred, adatot küld AP, benti ESP-nek majd visszaalszik. A router mint AP eszköz, arra csak az STA eszköz tudna csatlakozni, de ő meg egyszerre két helyre nem képes vagy a "szerverre" vagy a routerre csatlakozik. Legalábbis kommentek alapján, illetve próbálkozásaim alatt erre jutottam, hogy ez lehet az oka. Egy példát találtam, ahol MQTT szervernek küld adatot egy ESPnow eszköz. Lehet, hogy csak Channel 1-en működik ? A routerem 2-es csatornán kommunikál. Megnézem majd mi van, ha átteszem azt is 1-re. Igaz tesztelni NTP klienssel tudom csak, amúgy is az lenne a lényeges nekem.
Ahogy nézem akármilyen vezeték nélküli eszközt választanék, nem úszom meg olcsón, akár RF, BT vagy egy 3. ESP32 is legyen az. Lehet jobban járnék az RTC modullal.
(Vicces mert az elején úgy indultam el, hogy valami összetettebb feladatot szeretnék, ne végezzek vele 2 hét alatt. Erre jött ez a hőmérő-óra projekt, gondolván nincs más jó lesz ez, nem baj ha hamar végzek vele. Erre....a legegyszerűbb dolgok tartanak legtovábbPersze nem haszontalan amiket próbáltam, azokat is jobban ismerem legalább most már, de nem számítottam rá, hogy ennyi fejtörést okoz 2 ESP32 közötti kommunikáció.)
-
Teasüti
nagyúr
Úgy értettem, hogy egy ESP32 duóval megoldani a gateway-t. Szenzor alatt meg a vezetéknélküli másik ESP-t értettem. Vagy használhatsz egy külső BT modult a gateway-en, pofon egyszerű programozni sima UART-vel kommunikál. A belső wifi-t meg netre ráállítani. Így nincs RAM limit se, mivel sima UART használat van csak, nem kell betölteni a BT könyvtárat. Igaz ez már nem BLE, hanem classic BT.
(Ha meg BLE modult használsz, annak meg lesz saját könyvtára amit megint csak be kell tölteni és vagy befér a ram-ba, vagy nem.)
Passz. BLE+Wifi ram korlátba ütközik, ez nem működik még natívan sem jelenleg.
ESPNow+Wifi viszont érdekes, annak elvileg mennie kéne. -
_q
addikt
válasz
Teasüti #9085 üzenetére
Mindenképpen 2 db ESP32-t akarok használni. Egyik kinti hőmérséklet mérésre, másik benti mérésre + kijelzésre. Sajnos a vezetékes kommunikáció ezért nem lehetséges. Ha nem akarnék NTP időadat alapján dátumot, akkor nem lenne gond egyik megoldással se amit eddig próbáltam (socket szerver, ESPnow), de nem szeretnék RTC modult pluszban, ha megoldható az NTP adat lekérése is. Így jelenleg a bluetooth maradt amit javasoltál, megpróbálom így. (RF modul vagy külső BT modul lehetne még opció, de ott is plusz elektronika kellene,. Ha már az ESP tudja a bluetooth wifi kombót, jó lenne ki is használni
).
-
Teasüti
nagyúr
válasz
Tankblock #9080 üzenetére
Nem figyeltem erre, viszont úgy veszem észre lassan a beágyazott rendszereknél is kezdődik, hogy egyre olcsóbbá válik az erőforrás, ami a programozás rovására megy. Pl egy Uno esetén a 32KB Rom-ot és 2KB Ram-ot alaposan be kellett osztani, viszont egy ESP32-nél azért a 4MB flash-nél és az 512KB Ram-nál annyira mindegy szerintem, hogy használunk-e String-eket, vagy sem.
-
_q
addikt
Teasüti javaslata alapján utána néztem az ESPNow-nak. Sajnos nem tud egyszerre két eszköz kommunikálni + még netre is csatlakozni. Külön 2 eszköz kommunkációja ment. AP+STA mód kellene, de azt írták, hogy az ESP32-be egy rádió adó van, tehát ugyan azon a frekvencián tudja szórni az AP és STA jelet is. Ezért is SoftAP a neve annak amire képes. AP+STA mód estén, ha van egy router akkor STA módba lesz konfigurálva és úgy megy, ha nincs akkor pedig AP módban. Esetleg menet közben lehetne AP és STA között váltogatni, de azt nem próbáltam.
Megpróbálkozok még a bluetooth wifi kombóval hát ha megy. -
Janos250
őstag
"Akik minimum 2 db ESP32-t használnak és ezek egymással kommunikálnak (hogyan teszik, Bluetooth, ESPNow, más?), plusz netre is akartak csatlakozni esetleg, ők milyen lehetőséget tudtak használni? "
Mint már többször írtam, nekem neten lóg egy szerver, ahova be lehet jelentkezni az egyik porton, és egy másik porton megy a http lekérdezés, hogy kiféle, miféle van épp bejelentkezve. Ez nem javaslat, csak infó.
-
_q
addikt
válasz
Tankblock #9072 üzenetére
Arduino alatt is lehet használni az idf függvényeket, miért jobb szerinted ha arduino teljesen ki van hagyva? Az IDE sajnos nem a legszélesebb körben használható program. Azt sajnálom én is hogy egy STM32-es Kiel-hez vagy AVR studiohoz képest "butább" program. Sok hasznos funkciót elbírna még, de valószínű annyira hobbistáknak van kitalálva, hogy egy komolyan fejlesztőkörnyezet adta lehetőséget aki hobbi szinten programozik, ők nem hiányolják. Igaz én is hobbi szinten vagyok még is hiányolok sok funkciót
(#9068) Teasüti
Nézegettem a bluetooth + wifi használatot. Erre is azt írják githubos kommentek, hogy sajnos nem nagyon megy együtt, mert elfogy a RAM.
Valamit ki kell találjak, mert jelenleg a socket szerver még se lesz jó. NTP szerveren keresztül akartam dátumot lekérni, ami UDP-n keresztül kommunikál. Ha a socket szervernek statikus IP-t adok, akkor arra jutottam, hogy bezavarhat az UDP-nek, mert nem frissül az idő adat. Ha nem statikus IP-t használok akkor jó, viszont a socket kliens ki tudja mikor gondol egyet és nem tud csatlakozni. Jelenleg fix IP-t adok a szervernek, a kliensbe beírom erre csatlakozzon és megy is. Ha kihagyom ezt a fix IP dolgot, félek bármikor előjön egy csatlakozási probléma, amikor nem tudja a kliens hova csatlakozzon. Nem gondoltam, hogy ennyi problémás lesz.Akik minimum 2 db ESP32-t használnak és ezek egymással kommunikálnak (hogyan teszik, Bluetooth, ESPNow, más?), plusz netre is akartak csatlakozni esetleg, ők milyen lehetőséget tudtak használni? Nem gondolnám, hogy én vagyok az első aki ilyet szeretne csinálni.
-
Tankblock
aktív tag
Hello,
nem örültem meg, még,
esp-idf használom és néha megyek a development pathra néha meg a latest release pathra. Van róla rendes guide meg How to.... Nem oly ördöngős. Gitről meg lehet vadászni eléggé jó könyvtárakat is hozzá.
De igen volt rá példa h nem volt driver és hát nem maradt más hátra csak a technical reference....
Amúgy annyira nem kínai, sztem még az aurduino core is belerakható. Van kódkiegészítés, C++ hoz függvényekhez support. Refraktorálahtod a kódot. Megmuattaja hány helyen használod. Próbál írási időben segíteni.... (csak nem nekem :-P)
Az arduino ide-nek itt még van hova fejlődnie. -
_q
addikt
válasz
Teasüti #9068 üzenetére
Itt írnak róla. Van ahol azt írják ugyan azon a csatornán kell legyen ESPnow és a wifi csatlakozás, de a kommentek nagy része arról számol be, hogy nem megy együtt a kettő. Én nem próbálkoztam, így saját tapasztalatom nincs. Lehet egy próbát megérne. A bluetooth-t nem tudtam mennyire működőképes jelenleg önmagában, illetve wifivel együtt. Tehát ezt a kettőt meg lehetne próbálni még, azért a socket server-client irányba mentem, mert ehhez egyből volt minta kód mindenféle negatív komment nélkül és biztosra akartam menni.
(#9069) Tankblock
Bizony arduino core, illetve idf függvényekkel néha kiegészítveEclipse alatt regiszter szinten programozod?
Köszi a tapasztalatot,úgy látom érdemes áttennem másik csatornára a routert, de akkor be kell látni, hogy sok wifi között előfordulhat veszteség.
-
Teasüti
nagyúr
válasz
Tankblock #9069 üzenetére
Szerintem itt te vagy az egyetlen, aki natívan programozza az ESP-t.
Annó én is csak azért akartam megpróbálni, mert akkoriban az Arduino Core-ban még nem volt benne, ami nekem kellett. Viszont én már megakadtam a programozó környezet beállításánál. Arduino IDE után egy Eclipse nekem kínai. Hobbi szinten nem is tartok rá igényt. Persze gondolom más lenne a helyzet, ha lenne IT végzettségem. -
Tankblock
aktív tag
válasz
Teasüti #9068 üzenetére
ugye nem az arduino esp32 core-t használjátok?
Én azt csak feltettem hogy éegyen, de 1 példánál többnél nem töltöttem vele időt. Inkább eclipse alatt küzdök.
nekem ment minden a 0 magra , akkor sem volt problémám....
Van egy elméletem, hogy az arduino implementációban van valami kehe.....A kapcsolat sosem lesz tökéletes ezzel együtt kell élni, és kezelni kell. Azt a design során kell eldönteni, hogy az adat fontos-e annyira h újrküldjük vagy sem. Ha igen akkor azt tárolni kell, amíg ki nem ment.
A BlueFi implementáció még nem tudom milyen formában van. Én a MESH networköt várom mint a messiást és a MQTT brokert, ha 1 implementációba bekerül és kapunk még 1 gateway nodot is akkor mindenre gombot vartunk......
Addig marad a BLuetooth mesh akinek nagyon kell NRF chippekkel.....
az említett hálózati túltelítettség végett nálam a router is a gyenge láncszemek közé tartozik, hajlamos eldobni az összes Wifi kapcsolatot és reportálni h minden jó. A wirelessben meg 0 becsatlakozott elem van.......
-
Teasüti
nagyúr
ESPNow miért nem jó? Úgy olvastam, ha ugyanazon a csatornán megy, mint a normál wifi, akkor tud párhuzamosan mindkettőn kommunikálni.
Amúgy BLE-re nem gondoltál még? Sztem adja magát, gyakorlatilag erre van kitalálva, hogy szenzor adatokat küldözgessünk vele elemes kis fogyasztású eszközöknél. Mondjuk azt nem tudom, hogy a BT és a Wifi együtt működik-e. Wifi-s projektem még nem volt.Amúgy Core 0-s hibákat nálam a nagyobb delay() oldotta meg, de újabban inkább csak olyan műveleteket indítok azon a magon, ami egy meghívásra csak egyszer fut le. Minden ciklikus folyamat az 1-es magon van.
-
_q
addikt
válasz
Tankblock #9066 üzenetére
Van esetleg javaslatod, ami stabilabb kapcsolatot tud vagy ez nem a websocet miatt van? 2 eszköz lenne, a szerver lekér NTP adatot netről, mér, kijelez. A másik eszköz a kliens, aki csak mér és küldi a szervernek az adatot. ESPNow sajnos nem jó a szükséges netről adat letöltés (később lehet adat feltöltés) miatt. Vagy törődjek bele, hogy ez nem lesz olyan stabil, mint egy SPI vagy I2C kommunikáció és inkább jobban járok, ha lekezelem az említett kommunikációs problémát egy adat újraküldéssel mondjuk?
-
_q
addikt
válasz
Janos250 #9064 üzenetére
Megpróbálom majd a delay-t magasabbra tenni. Nem AP módban hozom létre a szervert, hanem fix ip és router beállításokat használva (socket server kiegészítve fix IP-vel), így szerintem a linkelt függvényt nem tudom használni. Ha jól sejtem, akkor wifi socket szerver-kliens esetben a routeren tudom átállítani a csatornát, mivel jelen esetben az az AP.
"Nálam az egyik projekt egy erősen "zajos" wifi környezetben gyakran hibázik, de kisebb forgalmú helyeken hibátlan. "
A zajos környezet jelentheti azt, hogy kb. 9-10 elérhető wifi hálózat van körülöttem? Megnézem majd hogyan alakulnak a wifi csatornák, lehet az ESP pont egy sokak által használt csatornán kommunikál és ebből adódik időközönként a kommunikációs probléma. -
Janos250
őstag
"Ezt úgy érted, hogy mindegy hogy én a bemásolt task-ot core 0 vagy core 1-re teszem, a wifi fogadása mindenképpen a core 0-án, a háttérben történik? Tehát ha én egy client.read vagy client.readStringUntil meghívást csinálok, akkor már nem a klienstől fog olvasni, hanem egy már háttérben beolvasott bufferből szedi ki az adatot? "
Igen, én így tudom.
"a core 0-ra nem tehetek semmit?"
Én szoktam, ez csak egy ötlet volt, hátha..
Vagy szintén csak ötlet, a delay(10) megnagyobbítása mondjuk 100-ra. Tudod, kísérletes tudományKözben itt töprengek.
Ha jól emlékszem, az ESP az 1-es csatornán forgalmaz. Esetleg más csatornán? Úgy rémlik, valahol azt is meg lehet adni, de nem emlékszem pontosan, hol.
Nálam az egyik projekt egy erősen "zajos" wifi környezetben gyakran hibázik, de kisebb forgalmú helyeken hibátlan. Tudod, csak ötletek, kellő kritikával fogadd!Közben megtaláltam:
bool softAP(const char* ssid, const char* passphrase = NULL, int channel = 1, int ssid_hidden = 0, int max_connection = 4);
-
_q
addikt
Sziasztok!
Úgy alakult, hogy kellene freertos kódot használjak. Van 4 task, ebből 1 db fut core 0-n a többi core 1-en. Jelenleg a 0-ra tettem egy wifi-s részt, ami figyeli a klienstől jön-e adat, ha igen akkor fogadja. Tettem bele delay-t is, de sajnos mindig előjön valami, ami miatt restartol az ESP32. A hiba ez lenne:
A kód ahol előjön a hiba:
void wificlientTask( void * parameter)
{
while(1)
{
String clientData;
char raw_data[11];
int i = 0;
int idxBatLevel = 0;
int idxTemp = 0;
WiFiClient client = wifiServer.available();
if (client) {
unsigned long CLIENT_TIMEOUT = millis();
while (client.available() == 0) {
if((millis() - CLIENT_TIMEOUT) > 10000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
delay(10);
}
while (client.available()) { // if there's bytes to read from the client,
char c = client.read();
if(c != 'W')
{
raw_data[i++] = c;
}
Serial.print(c);
delay(10);
}
}
}Lenne ötletetek, hogy mit kellene csináljak? Valami a
while (client.available()
résznél lehet, valamiért mint ha beakadna. -
tvamos
nagyúr
-
-
Teasüti
nagyúr
A jegyzőkönyv kedvéért: ESP8266 és az ESP32 is 5V toleráns a GPIO lábakon.
A mikrovezérlő mondjuk ha 8266-ot használsz és bírja az 5V-ot, akkor úgy leosztani hogy az AD konverterre max 5 V kerüljön de inkább kevesebb.
Erre írtam, hogy bírni bírja, de az AD konverter 3,3V felett nem mér. GPIO használatban nincs különbség a 8266 és 32 között.I2C kapcsán meg mérés nélkül nem lehet rá mondani semmi értelmeset. Amiben biztosak lehetünk, hogy abban a beállításban nem működik. Nekem úgy tűnt tényszerűen kezelted, ezért ugrottam rá.
Korábban is azt hiszem az én esetemben került szóba a dolog, azóta kellően utánajártam a dolognak. Főleg ha már 2 méteres buszt tervezek rajta 6 slave-vel. -
_q
addikt
válasz
Teasüti #9038 üzenetére
Nem ismerem az ESP8266-ot. Itt azt írták többen, hogy 5 V-ot tolerál, ebből indultam ki. De megjegyeztem, az ESP32-nél hogy ott 3.3 V a max. Én ESP32-t használok, oda írtam példának, hogy én 2 V-ra állítanám be az ellenállásosztót. Vagy én írtam kétértelműen vagy neked volt az, de a lényeg, hogy én csak viszonyszámokat írtam, hogy a max tolerálható feszültséghez képest hogyan válassza meg az ellenállásosztó értékét.
Máskor az ESP8266-ot inkább kihagyom példa esetén, nehogy hasonló félreértés legyen.I2C: alapból 10k felhúzó ellenállások voltak, a plusz random ellenállás csak egy próba volt, mert nem értettem miért nem jó a mérés és gondoltam felhúzó ellenállás pluszban segíthetne. A konklúzió szó helyett úgy mondanám, hogy leírtam egy tapasztalatot, ahogy azt már te is többször tetted. Mivel korábban szóba került az I2C és annak hatótávja ezért most egy friss tapasztalat alapján gondoltam megosztom, hogy akárhogy is van én hatótáv korlátba ütköztem. Nem mértem semmit, így igaz hogy a probléma okát nem tudom biztosra. Örülök, ha neked 10 méter se okozott gondot.
-
Teasüti
nagyúr
Már ne haragudj, de honnan veszed ezeket a blődségeket?
ESP32 és ESP8266 portjai 5V toleránsak, ez igaz. De ez nem azt jelenti, hogy üzemszerűen rá kell küldeni az 5V-ot egy 3,3V-os logikára. Az meg hogy éppen egy ADC-re kötnél be 4V-ot, az meg külön vicces: ugye az tiszta, hogy 3,3V-ig tud csak mérni az ADC?I2C-hez visszatérve: I2C amúgy nem igazán plug&play protokoll, a buszt minden esetben méretezni kell egyrészt vezetékezés szempontjából, másrészt a buszon lógó eszközök szerint.
Az, hogy próbapanelen random összedugdosol vmit random felhúzókkal, random vezetékekkel az vagy működni fog, vagy nem. Az meg hogy mérés nélkül egyből konklúziót vonsz és olyan kijelentéseket teszel, hogy 10 cm felett nem működőképes az I2C, az még jóindulattal is megmosolyogtató.Mellékesen nekem sikerült értelmezhető jelet kicsikarnom egy SI1145-ös szenzorból 10 méter vezetéken keresztül.
A SCL-re kellett berakjak külső felhúzót, ami kb 3k-s eredővel rendelkezik. SDA-ra nem is kellett külső felhúzó, illetve inkább csak rontott a jelen, mint javított volna.
Ami viszont fura, hogy 1k-s felhúzóval meg se mukkant a busz.Ha vki hozzáértő megnézi az alábbi képet, akkor a sárga jelnél mi az a két lépcsős emelkedés? Ha erősebb felhúzót rakok rá, akkor magasabb feszültségre fut ki a feltölés. Aztán vmiért meredeken ugrik fel a tetejére. Ezt a hirtelen ugrást nem értem. Lehetséges vmi áthallás a két csatorna közt? Mintha az SCL húzná magával az SDA-t, úgy tűnik.
-
_q
addikt
Én ebayről vagy aliexpress-ről rendelném. Esetleg lehet keresni hasonló paraméterekkel alternatívát. ID, VGS, VGS(th), rDS(on) ezeket figyelve.
A feszültség osztót úgy értettem, hogy ha mondjuk laptop aksikat használsz akkor lehet lesz 6 V-od is akár. A mikrovezérlő mondjuk ha 8266-ot használsz és bírja az 5V-ot, akkor úgy leosztani hogy az AD konverterre max 5 V kerüljön de inkább kevesebb. Ha ESP32-t akkor meg max 3 V körül. Ellenállásosztó képlettel kiszámolható, hogy Ube = 6 V esetén, pl. Uki = 4 V, hogy véletlen se érjük el a GPIO-ra kapcsolható max feszültséget, marad R1 és R2, R1-et tetszőlegesen megválasztva mondjuk 10k, akkor R2 kiszámolható a belinkelt képlet átrendezésével.Az, hogy a max GPIO-ra kapcsolható feszültséghez képest mennyit választasz nem számít szerintem most, mivel nem uV az amit mérni szeretnél (persze 0.5 V-ot nem biztos érdemes). Lényeg hogy a végén a feszültség számításakor vedd majd figyelembe. Tehát ha számolod a feszültséget alapból úgy kellene, hogy (6V-os aksi esetén) 6*mért érék/4095 (12 bites AD-nél). Viszont az AD nem fog 6 V-ot mérni mert az ESP tegyük fel 5 V toleráns, le lesz osztva feszültség osztóval. Ezért az előbbi számításban a 6 V helyett 4 V-al kell számolni (vagy amit szeretnél), mivel ez lett beállítva az osztón, majd arányosítani a 6 V-hoz, azaz 6/4 V -os viszonyszámmal vissza kell szorozni, így a mért értéket a 6 V-hoz képest kapod meg, tehát 4*6/4*mért érték/4095. Ez viszont ugyan azt adja vissza, mint ha 6 V-nak vennénk az AD által max mérhető feszültséget így ezt külön nem kell leprogramozni. Max könnyebb megérteni vagy jobban összezavar
Ha valakinek van kedve végigkövetni a logikát és nem jól írtam javítson ki
-
válasz
Teasüti #9015 üzenetére
& Janos250:
Mivel esp8266-ot fog vezérelni, aminek a kimenetei 5V toleránsak, a védődióda helyett beépített snapback áramkör pedig csak 6V-nál nyit ki, ezért jó eséllyel meglesz a gate-en az aktuális akkufeszültség, tehát tökéletesen fog zárni.
Vagy tévedek, és esp32 lesz a páciens? Mert akkor nem mondtam semmit...
-
Hát akkor elég rosszul értelmezted.
Az a két ellenállás nem feszültségosztó, ráadásul nincs rajta az ábrán az analóg bemenet bekötési pontja. Ha a [Load] helyére gondoltad a bemenet bekötését, akkor az szépen rákapcsolná a teljes akkufeszültséget a bemenetre, amiből szépen kijönne a füst. Bár az esp8266 i/o lábai 5v toleránsak, ha jól tudom az adc-re ez nem vonatkozik.
-
_q
addikt
Én úgy értelmeztem, hogy az ábrán látható 2 ellenállás adja magát a feszültség osztót nem kell plusz ellenállás. A FET feszültségre nem gondoltam, de akkor csak annyi hogy a max 2 V helyett mondjuk 2.6 V lesz amit arányosítani kell az aksi max feszültségéhez (ha 0.6 V esik a FET-en). De cáfoljatok meg ha nem így van.
Viszont mivel asszem 2.8 V lehet a minimum feszültség amin még biztonsággal működik az ESP32, így az aksit nincs értelme teljesen lemeríteni. Lényeg hogy meg kell nézni mekkora feszültség esik a FET-en, azt pedig hozzáadni az ADC mért feszültségéből, így meg van a tényleges aksi feszültség. Vdd ahogy írod az aksi.Deepsleep módban 10 uA a fogyasztása az ESP32-nek, egy AMS1117 3v3 LDO 5-10mA körül van terhelés nélkül.
-
válasz
vargalex #8993 üzenetére
Azért írta xboy89 a fettel vezérelt feszültségmérést, mert így csak a mérés ideje alatt fogyasztanak az ellenállások.
Mondjuk ha jól számolok, 3,6V névleges akkufeszültség mellett 2db 10k ellenálláson 0,2mA folyik el, kapcsolgatás nélkül. Az esp deep sleep alatt mennyit fogyaszt? És a boost-buck konverter? -
AcCEsS
senior tag
válasz
Janos250 #8987 üzenetére
Nem jutottam előbbre, de többen írnak hasonló problémáról. Tuti a BH1750 lib lehet a ludas, mert ha a nem működő cuccra feltöltök egy ESPEasy firmware-t, rögtön életre kel a BH1750, azonnal érkeznek a lux értékek. De ha visszarakom a BH1750 example fordítását, nem éled fel a szenzor.
Az összes lehetőséget végigjátszottam...
-
-
Attix70
aktív tag
Szeretnék majd csinálni egy villanyos bicikli monitorozó egységet ami Bluetooth-on kommunikál egy androidos eszközzel és ezzel kapcsolatosan az lenne a kérdésem, hogy ESP32-vel lenne ez a legegyszerűbb (vagy nano+HC-05) ?
Áram, gázkarállás, feszültség, sebesség lenne monitorozva. -
_q
addikt
válasz
Janos250 #8968 üzenetére
Na ez az amit el akarok kerülni, hogy a router egyéb paramétereit is meg kelljen adni. Sajnos korábban se sikerült rájönnöm arra, hogy mi a gateway és subnet szám. Ha a router beállításaiban megnézem, ott ezt látom.
Ha viszont ESP-vel lekérem, a következővel:Serial.print("IP: "); Serial.println(WiFi.localIP());
Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());akkor meg 192.168.2.1-et kapok IP-nek, amivel a router beállításait is elérem, illetve 255.255.255.0 subnet címet.
Ha összehasonlítjuk az ESP-vel lekért és a router beállításai alatt látható címeket, látható hogy különbözik. Na most melyik a jó és miért látok teljesen mást?(#8967) vargalex
Köszi, megpróbálok keresni ilyen beállítást a routeren. -
_q
addikt
válasz
Tankblock #8962 üzenetére
Jól tippelted, mert ismeretlen eszköznek látja a 2. csatlakoztatott ESP32-es modult. Megpróbálom felrakni a drivert újra.
A MAC címes megoldás hogyan működne. Ha meg van a MAC cím, akkor az mindig fix, mert hardverhez van rendelve, tehát sose változik, így ezt kell megadnom a kliens eszköznek? Azaz MAC cím alapján csatlakozna a kliens a szerverhez hasonlóan mint ha IP-t adnék meg?
(#8964) Janos250
Köszi(#8965) tvamos
Nem szeretném mindig újra megadni a kliensnek, hogy melyik IP-re csatlakozzon. Az lenen a jó, ha bekapcsolom akkor az ismert cím alapján a szervert egyből felismerje mindenféle plusz felhasználói beavatkozás nélkül. -
Teasüti
nagyúr
Megérkezett ez a Sim808-as modulom, azzal játszogatok most.
Azt kell mondjam nagyon király kis cucc ez!
Egy UART kell hozzá, meg egy-egy gpio port a be-/kikapcsoláshoz, valamint az alvó üzemmódhoz (ezeket fel/le kell húzni és tartani egy kis ideig, kvázi gombnyomást szimulálva).
Powerkey gombbal kézzel is lehet kapcsolni. De ha fixen földre húzzuk ezt a lábat (vagy áthidaljuk a gombot), akkor automatikusan boot-ol amint tápot kap és parancsra le is lehet kapcsolni. Megspórolva egy portot. Akkus üzemhez ez szerintem nem ajánlott, hisz Vbat-ról húzza fel ezt nem tudom mekkora ellenállással. De akkus üzemnél e nélkül is boot-ol magától, ha az akkufesz elég magas. CV/CC töltőáramkör integrálva a modulba.
BT3.0-át tud a modul, külső antenna kell hozzá.
És mindent AT parancsokkal lehet elérni, a BT SPP profilnál van transzparens kapcsolati mód is, amikor nem kellenek az AT parancsok, hanem egyszerűen fogad és küld UART portra mindent, mint egy sima HC-06 modul.
Előnye az ESP32-vel szemben, hogy beállítható pin kód a csatlakozáshoz és ugye sima UART, vagyis nem kell betölteni 800 KB-nyi library-t programozáskor. Valamint az erősebb antenna.
GPS-t rém egyszerű használni, igazából van rá kb kettő AT parancs ami sűrűn kell (bekapcs, pozíció lekérdez), NMEA mondatokkal próbáltam, de többféle protokoll szerint tud kommunikálni. Tökéletesen működik, még az USB portról is az ESP32 mellett (elvileg 2A-es táp kéne neki). GSM részét nem próbáltam még, kéne vennem egy feltöltős kártyát bele.
Valamint kéne szerválnom hozzá egy mikrofont és egy hangszórót.AT parancsfeldolgozásra tudtok vmi könnyű módszert? Sima text parsing jut csak eszembe.
Jah és Janos250 köszi a hardware serial tippet, valóban odatehető a port arra a lábra, amelyikre tetszik.
-
_q
addikt
válasz
Tankblock #8959 üzenetére
Lehet majd erre is sort kerítek, szerencsére jelenleg nem kell még ennyire elmélyednem.
Sikerült socket szerverrel megcsinálni, hogy routeren keresztül küld egymásnak a két ESP32 egy egyszerű "hello word" stringet.
Az a gond, hogy egyszerre ha bedugom a 2 ESP32-es dev board-ot akkor hiába külön USB porton van, még se ismeri be két külön COM portnak. Régebben TI mikrovezérlőknél nem volt ilyen gondom ott ment 2 panel is külön USB portról. ESP32 dev board (DOIT board ha minden igaz) esetén nem lehet megoldani? Elég rossz így egyesével mindig lehúzni cserélni cilust játszanom.Még egy kérdés, hogy ESP32-nek fix IP címet lehet adni úgy is, hogy a router gateway, subnet dolgait nem keverem bele, ne kérje? Amit találtam kódot, ott a router paraméterekkel együtt állította be a szerver ESP32 fix IP címét. Másik megoldás, hogy megnéztem serial monitoron az IP címét a szervernek, és manuálisan ezt megadtam a kliensnek. Azt nem tudom viszont, hogy idővel ez az IP vajon változhat-e, azt sejtem igen, attól függően a router milyen IP-t oszt ki.
-
gyulank
addikt
Szeretnék (főleg) NET nélkül, Wi-Fi-n át weblapon keresztül jelszó beírása után ki-be kapcsolni 1 relét.
Esetleg másodpercben megadható beállítható négyszögjellel. Esetleg időzíteni automatikus visszakapcsolását.
Van hozzá: Arduino Nano V3; Arduino Pro Mini; ESP-07; NRF24L01
Konkrétan 1 mozgásérzékelő által kapcsolt riasztó autókürtöt akarok kikapcsolni, mielőtt engem dudálna, úgy, hogy akárki ne tudja állítgatni. Melyikkel lehet megcsinálni, és hogy? -
Janos250
őstag
MQTT szerver része - tudtommal - nincs megfelelően kidolgozva ESP-re, csak linux alá, pl. Pi-re.
Küldés:
Én a következőt csinálom:
Van egy ESP32 szerver, amire neten (akár helyi WiFi-ről, akár az ország másik feléből) lehet küldeni adatokat, és minden bejelentkezett kliensnek továbbküldi, azok meg értelmezik, hogy kell-e ez nekik. Nem azt mondom, hogy ez Neked jó, ez csak egy példa, amit én használok. A bejelentkezettek küldhetnek is, és elküldésre kerül a bárki által megosztott adat (Pl. másik ESP32-ről, windows alól putty-al, stb) -
_q
addikt
válasz
Tankblock #8946 üzenetére
MQTT értelemzésnek többzör nekifutottam már, de kicsit bonyolult volt nekem. Esetleg egy jó leírást tudsz javasolni hozzá?
Alternatív megoldásnak esp32 socket server ami még jó. Ettől független annyi helyen olvasni MQTT-ről hogy érdekelne az a verzió is, hogy mi ez, mire jó, miért érdemes használni stb.
-
_q
addikt
válasz
vargalex #8944 üzenetére
Elhiszem én is, de nem látom hogy tényleg jól írtam-e meg a kódot addig, amíg aksiról nem megy hosszabb ideig.
Másik kérdés mindenki felé.
ESPnow tényleg nem megy WIFI-re csatlakozással együtt? Adott 2 db ESP, egyik mér, küld adatot a másiknak, aki netről fogad/küld adatot. Ha nem ESPnow, akkor mivel lenne érdemes a két eszköz közötti küldést megoldani, hogy WIFI-re is tudjon az egyik csatlakozni? -
AcCEsS
senior tag
Ha az ESP8266 WAKE_RF_DISABLED beállítással lett deepsleep-be altatva, akkor a következő feléledési ciklusban van bármiféle lehetőség az RF modul bekapcsolására? Vagy csak a WAKE_RF_DEFAULT paraméterrel történő altatás utáni ébredés során fog működni ismét?
-
Teasüti
nagyúr
De, ugyanaz a kiosztás. Csak nyilván olyan panelt nem használhatsz külső modulhoz, amin már rajta van egy.
Az UART busz hülyét kap, ha két modult kötsz rá.(#8934) Janos250
A linkelt programozón nincs rajta az a két tranyó, ami kell az invertált logikához. Így az auto letöltés bukta.
Valamint ránézésre a 3,3 voltot valszeg feszültségosztóval állítja elő egyéb hijján, ami meg hááát...
Azok a 0603-as ellenállások nem úgy néznek ki, amire szívesen rákötnék akár csak 100 mA-t.
Az 1/10W-os korlátjukba legfeljebb 68 mA fér bele 1,7V-os drop-nál, ezzel meg nem biztos, hogy meg lehet hajtani egy ESP32-t. (Nem jártam utána.)
Szóval az UART kommunikáción kívül konkrétan semmire nem jó.
A devkit panelje meg semmivel nem kerül többe, vagy talán még olcsóbb is mint egy tisztességes FTDI programozó. És szerintem bekötni is ugyanannyi, mint egy FTDI programozót: usb az egyik végén, dupoint a másik végén. -
_q
addikt
válasz
Teasüti #8922 üzenetére
ESP32 WROOM32 adatlap 14. oldal 7-es fejezet, oldal közepe:
"Note:
Soldering Pad 39 to the Ground of the base board is not necessary for a satisfactory thermal performance. If users do want to solder it, they need to ensure that the correct quantity of soldering paste is applied"Solder pad alatt szerintem arra gondol, amiről mi is beszéltünk. Ha megnézed az adatlap 14. oldalán a schematic-ot, akkor látszik hogy jobb oldalon a GND3 fölött van a P_GND. Ha ezt összehasonlítod a PCB-vel, akkor látszik, hogy a P_GND nincs a GND3 fölött. Tehát ezek szerint a P_GND, ami a 39-es láb, illetve a megjegyzés az adatlapban engedményt ad arra, hogy nem muszáj beforrasztani, habár a schematic úgy mutatja még is. Tehát a felhasználótól függ be akarja-e forrasztani. Én szerintem hagyni fogom.
-
_q
addikt
válasz
Teasüti #8926 üzenetére
Tényleg már látom. A reset gomb mindig jól jöhet mondjuk a panelen szerintem, ha nem akarsz aksit/elemet vagy hálózati resetet.
Ezen a devkit panelen ahogy nézem ki van hagyva a forrasztási helye az ESP32 wroom modulnak. Ha nem akarod ráforrasztani akkor nem látom még hogyan lehetne programozni.
(#8927) DopeBob
ESP32 Gateway. Ezen van ethernet. -
DopeBob
addikt
Sziasztok,
tudja esetleg valaki ESP8266 létezik LAN csatis kivitelben? Vagy bármilyen hasonló kis méretű dev board amin van ethernet és Arduino kompatibilis?
-
Teasüti
nagyúr
Nem tudom ez a programozó mennyivel jobb mint egy FTDI
Ha megfigyeled az ESP32 programozót, akkor azon rajta van az auto letöltéshez szükséges két tranyó is, ami lehúzza az EN és IO0 lábakat. Gyakorlatilag a Devkit áramköre egy az egyben CH340g-vel. Így mint írtam volt megspórolható még a két gomb is a NYÁK-ról.
Ezzel konkrétan nem kell semmi kiegészítő a modul mellé az EN felhúzó ellenállásán kívül. Kivezeted 6 tüskére a Vcc, GND, RX, TX, EN, OI0 lábakat, rá erre a programozóra és uccu neki!
Mondjuk a CP2102-es programozó szimpatikusabb lenne, ilyen van a devkit-en is, de az mellé kell egy auto-program áramkör még pluszban vagy a NYÁK-ra, vagy vhova (vagy hát különben nyomogatod a gombokat).
Talán az volna a legideálisabb, ha gyorsan összeraknék magamnak egy ilyen programozót a fenti mintájára CP2102-vel.szerk: hmm ami azt illeti nem is kell saját, találtam hozzá "eredeti" devkit programozót!
(#8925) tvamos
Nem lehet, hogy a fura program nyelv miatt?
Állítólag nem rég jött hozzá ki egy C fordító.
8 független mag azért elgondolkodtató.
De tényleg nincs elterjedve egyáltalán. Teljesen véletlenül találtam rá. -
_q
addikt
válasz
Teasüti #8922 üzenetére
Ja igazad van a gombokhoz ajánlott a 100nF, kicsit belekeveredtem már
. Nem tudom ez a programozó mennyivel jobb mint egy FTDI vagy CP2102-es USB-TTL konverter. Én az utóbbival tervezem használni. Ha jól tudom 8266-nál is soros vonalon lehet programozni. Így oda ez is szintén használható. RESET gombot érdemes használni, akkor már csak max a boot gomb-ellenállás-kondi 3-as a plusz alkatrész.
Sőt egy FTDI vagy CP2102 esetén csak RX, TX, VCC és GND kell. Bár ahogy nézem amit linkeltél is ugyan az lenne, csak kicsit drágább eszköz.
Egyébként arra a hűtőfelületre nem tudom tényleg mennyire lehet szükség. Persze ha melegszik akkor jó dolog, de egyébként nem vagyok biztos benne, hogy azt tovább muszáj forrasztani még, már mint az hűti alapból az ESP32-es IC-t. Az hogy ezt még egy további panel részhez forrasztod olyannak tűnik nekem, mint ha egy CPU-n lévő hűtőbordára még egy másik hűtőbordát tennénk, esetleg ventilátort. Az alap hűtőbordával is jó a többi már csak plusz lenne ami ha kivitelezhető jó, de nem biztos hogy kell is használni. -
Teasüti
nagyúr
válasz
Tankblock #8914 üzenetére
Nem, ez megdöglött. Piros Led folyamatosan villog rajta, kivéve USB-re kötve.
Se 3V3-ról, se 5V-ról nem megy. Az UART0 nem válaszol se boot-oláskor a Serial monitoron, se a program feltöltésnél nem kapcsolódik (EN és IO0 vagyis a Reset és Boot gombok lenyomva előtte). Jah és melegszik az ESP modul maga is USB-ről. Ez kuka.Amúgy nem értem miért, a DevkitC tervrajzán rajta van a védődióda a Vbus-on ( D3 1N5819), így elvileg nem kellett volna tönkremennie. Hacsak a kínai nem spórolta le róla. Nem igazán tudom visszakövetni a vezetősávokat a panelen. NYÁK tervet meg nem találok róla.
-
Teasüti
nagyúr
Igen, az MPU-6050 library példaprogramja ami a Process-nek küldi ki merre áll az 3 poligonból álló repülő, az éppen DMP-t használ.
-
_q
addikt
válasz
Teasüti #8904 üzenetére
Igen, így van ez egy sokkal egyszerűbb megoldás amit én szeretnék. Órát nem akartam újra feltalálni még akkor se ha érdekes feladat lenne
. Mindenképpen kellene egy fali óra, ezért gondoltam, hogy vigyünk bele valami pluszt amitől kicsit egyedibb lesz. Igen ez inkább egy időjárás állomás lesz ESP oldalról, csak a körítés másabb.
Egyelőre még nagyon az elején vagyok az egésznek. Hobbinak és érdekességnek jó ilyennel foglalkozni ezért kezdtem ezt. Kicsit bele kevertem a külső hálózatról történő belső hálózat elérését. Tényleg jóval egyszerűbb kiküldeni szerverre. Ezt a részét még átgondolom, ha oda érek. Most minden funkciót beletenné legszívesebben, de annak meg nem sok értelme van -
_q
addikt
válasz
Teasüti #8900 üzenetére
Sajnos nem sok rálátásom van a követelményekre, előírásokra amit elvártak, elektronika rész nem hozzám tartozik, én a mérés - kiértékeléssel foglalkoztam. Gyorsulás érzékelővel álló helyzetben tiltás körül 50-80 g körülieket mértünk Z irányban, de X és Y-ban is voltak azért nagy kimozdulások. A mértékére nem emlékszek mekkora volt, csak hogy van csavarodása a NYÁK-nak. Nem mondom hogy mm-es, de pont elég volt ami az elég érzékeny gyorsulás szenzort egy olyan frekvencián rázta, ahol érzékeny az érzékeny volt és ez a mérés miatt nem volt szerencsés. de csavarodása volt a panelnek ez biztos. Az se volt mindegy hogy a gyorsulás érzékelő hol helyezkedik el a panelen, milyen ragasztóval van beragasztva a NYÁK, mert nem csavarozva volt. Tehát minden apróság amit nem is gondolnánk számít. Egyébként ez céges projekt, szóval túl sok mindent nem is tudok mondani hivatalosan, lehet ez is több mint amit szabadna
ESP32 nem sokkal nagyobb mint egy ESP-01. ESP32-vel van tapasztalatom, illetve abból van is modul/development board, ezért ebben az irányban indultam el. Ez az egész projekt a tiédhez képest jóval egyszerűbb, maga az analóg óra részét nem is akartam túlbonyolítani, így ott egyszerűbb a helyzet. Lehet kapni kész mechanikát: [link]. Lesz egy fa lap abba bele lesz marva a mechanikának és a kijelzőnek + elektronikának a helye. ESP32 órában és egy kinti egységben, mind a kettő méri a hőmérsékletet, páratartalmat, Real time clock modul kiírja a dátumot. A két ESP32 kommunikál egymással, az órában lévő pedig még pluszban küldi egy honlapra az adatokat, ahol látszódna grafikonon az adat. Múltkor szóba került a kívülről való belső hálózat elérése, na most emiatt még nem tudom hogy belső hálózaton legyen az egész vagy külsőn. Esetleg thingspeak-re menjen az adat. De valami ilyen lenne az elképzelés.
Az se hülyeség amit írtál, léptetőmotor óra szerkezet, de oda akkor kellene áttétel a kismutató-nagymutató miatt, nem tudom a pontos mechanikai megvalósítás mennyire lenne komplikált, így ezt a részét inkább a profi "kínai mechanikára" bíznám -
Teasüti
nagyúr
LOL, kicsi a világ.
A hajlik résznél kicsit ráncoltam a homlokom. Mekkora nagyságrendekről beszélünk? Század, tized milliméter? Van ennek jelentősége? Tudnál mutatni ilyen automotive előírásokat? Én csak AS szabvány szerint készítem a dolgokat, de ha volna ilyen támpontom, az biztos javítana rajta.Amúgy ahogy nézem van egy rakat ilyen mini barebone ESP. Még válogatni is tudsz.
Úgy tűnik mindnek a 8266 az alapja.
Hogy oldod meg a mutatók működését? Jó nyilván léptető motorral, de honnan tudja majd hogy áll a mutató? Mi lesz a nullpont? -
_q
addikt
válasz
Teasüti #8898 üzenetére
Foglalkozunk szimulációkkal, illetve motoron (főleg 3 hengeres) csináltunk csomó vibrációs mérést. Mi esetünkben a nyák mérete kb 5x5 cm mindenféle automotive előírásokkal. Meglepő milyen vibrációkra képes a nyák, sőt mindenféle megtámasztásokkal is próbálkoztunk. Rezonál, hajlik amit csak lehet. Persze ha csak a nyákot nézzük jobb az eredmény szemben ha a nyákot berakjuk egy házba. Na ott a ház tud csak igazán szép eredményeket mutatni (nálunk üvegszálas házban van a nyák), nagyon sokat hozzá ad a vibrációhoz. Sokkal rosszabb az eredmény mint ház nélkül. Legjobb eredmény akkor van, ha konkrétan rá lenne ragasztva a nyák motor vázra, de a gyakorlatban ez nem annyira kivitelezhető dolog a külső behatások miatt se. Mivel nálad nincs ekkora jelentősége, így valószínű minden rendben lesz. Ha még se, akkor érdemes visszatérni a vibrációra ismét.
Analóg (mutatós) óra lenne. Valami ilyen: [link]
Annyi módosítással, hogy dátumot és hőmérsékletet mutatna a kijelzőn, lenne egy kinti egység, így kinti-benti hőmérséklet látszódna. Ezt pedig valahogy feldolgoznám, hogy látszódjon minimum 1 évre visszamenőleg a hőmérséklet, esetleg valamilyen telefonos hozzáférést az adatokhoz lenne még.
ESP-01 kisebb mérete miatt lenne jobb szerinted? -
Teasüti
nagyúr
Az egy accelero + gyro szenzor. Egy gyorsulásérzékellő önmagában tényleg szar erre a felhasználásra. Eleinte a féklámpát szerettem volna működtetni vele, de megtapasztalva mennyire szarul működik más termékekben ez a koncepció éppen az általad felsorolt problémák miatt, így azt inkább a sebességszenzorból okoskodom ki. Ebben az accelero csak segéd szenzor lesz, a kettő adattal együtt már lehet érzékelni hiba nélkül az intenzív gyorsítást és lassítást. (Többek közt ezzel válik majd interaktívvá a ledszalagos világítás is.) Önmagában egyik sem ideális - előbbi a megcsúszó kerék miatt adhat fals adatot, utóbbi meg a zaj miatt.
Amúgy a nyers G erőt csak egy tengelyen olvasom, a rázkódás meg általában nem a motor hosszanti tengelyén keletkezik. Persze hatásosan lehet szűrni is a jelet.
Amúgy menet közben inkább a DMP-t fogom használni, a gyro-t meg nem zavarja a rázkódás a pontos szögelfordulásoknál. Ez wheeli és stoppie érzékeléshez, valamint dőlésszög monitorozáshoz lesz használva.
Álló helyzetben meg nincs rázkódás, ekkor a nyers szenzor adatok tökéletesek védelmi funkciókra, DIY riasztóként. Ezt megtámogatva a GPS+GSM modullal telefonra kapom majd az értesítést, ha vmi történik. Ekkor ez a szenzor megint csak fő szerepet fog játszani, hogy meg lehessen állapítani viszik-e a gépet vagy csak meglökte vki. A beavatkozás is ez alapján történik majd.Az meg hogy a nyák rezonálni fog... Azért egy tüskesor elég stabilan tud tartani. Az alaplap meg le lesz csavarozva. Ennek a merevsége meg nem is kérdéses. Főleg, hogy relatív kicsi méret és 1,6 mm vastag üvegszálas lap.
De ha nagyon megerőltetem magam, akkor olyan burkolatot nyomtatok neki, hogy a szenzor a fedlaphoz lesz hozzácsavarozva, ha muszáj.Az órához kapcsolódóan:
Gondolom NTP szerverről veszed majd a pontos időt. Ehhez nem volna célszerűbb egy ESP-01? -
Janos250
őstag
válasz
Teasüti #8890 üzenetére
"a flash memóriának fixen le vannak fogva azok a portok, amin pl az UART2 is van."
Az UART2 (más elnevezéssel UART1, ha 0-val kezdjük, ahogy a manual is teszi) mehet a default lábakra,
de Te is megadhatod, hogy hova menjen. Tehát az UART portok (is) azon a lábakon vannak, amelyiken akarod.
Ezt szoftverből tudod megadni, de a fkash memória külön IC, tehát az definiált, hogy a modulon belül melyik lábhoz van kötve.
A perifériák irányítgatásáról (GPIO matrix) is van egy félben lévő leírásom, majd ha kész lesz, felteszem a netre az egyéb ESP32-es szösszeneteim sorába."ki honnan veszi az ESP32-ket?"
Én is mindenkinek azt javasolom, hogy az ESP-WROOM32 alapút vegye!Apropó, nyák! Úgy alakult, hogy nekem is kell sajátot csinálnom. Te egyszer leírtad, hogy hol csináltatod, de nem találom. Küldenél egy linket újra,
Kösz. -
Teasüti
nagyúr
válasz
Janos250 #8873 üzenetére
Nem egészen. Hanem, hogy a flash memóriának fixen le vannak fogva azok a portok, amin pl az UART2 is van. AZ UART3 használata adott, csak azt hittem a feladathoz kettő UART port fog kelleni külön a GPS-nek és külön a SIM-nek, plusz a programozó port ugye. De ez a 2in1 modulokkal nem játszik szerencsére.
Apropó, kinyírtam az egyik vezérlőmet fordított usb polaritással, így felmerül a kérdés ki honnan veszi az ESP32-ket? Ali-n a legolcsóbb rev1-es lap amit eddig találtam 7 font.
Mindenképp ez a WROOM32 DevKitC-vel megegyező lábkiosztás kell, vagyis a kevesebb lábú NodeMCU jellegű ESP32S lapok nem jók.
(Hmm vagyis hát már van kész nyák tervem és legyártott nyákom a DevKitC-hez, de nagyon szemezek a Wemos Lolin32-vel is, amin van Lipo akku töltő és keskenyebb is.)
Köszi! -
Teasüti
nagyúr
Viszont a minden periféria "erre" az mcu-ra lesz bekötve, így nem volna praktikus egy másik vezérlőre kötni a gps-t. Azon filózom kihagyom a külső akkut és inkább a jármű akkujáról oldom meg vmi programozható öntartó relével.
ESP8266 nem játszik, a wifi ide haszontalan.(#8869) Tankblock
Használatban; de nem lesz szükség a második UART portra végül. Így hogy vannak 2in1 modulok, így elég egy port is. -
Janos250
őstag
válasz
Teasüti #8865 üzenetére
Erre gondoltál?
/* ESP32 3 UARTs */
// HardwareSerial Serial(0); ez nem kell, mert a HardwareSerial,cpp fájlban benne van,
// automatikusan pédányosítódik
HardwareSerial Serial1(1);
HardwareSerial Serial2(2);
// Choose two free pins
void setup() {
Serial.begin(115200);
Serial1.begin(9600, SERIAL_8N1, SERIAL1_RXPIN, SERIAL1_TXPIN);
Serial2.begin(4800); // pin 16=RX, pin 17=TX
}A begin-ben lehet lábat megadni.
-
Teasüti
nagyúr
Jó reggelt! Szeretnék egy gps és gsm modult, viszont csak egy UART portom van szabad (minden egyes egyéb port felhasználva az ESP-n). Van ilyen 2in1 modul, ami képes egy csatornán kommunikálni mindkét egységgel?
Mondjuk esetleg ez?Illetve filózok még azon, hogy akkuval kéne megtámogatni a projektet éppen a tracking miatt (amúgy gyújtásról megy a táp), ebben tudnátok segíteni? Ez lenne az első akkus kísérletem, se hardver terén, se programozásban nem ismerem a feltételeket.
Köszönöm! -
Teasüti
nagyúr
ESP32-nél a flash-hez kapcsolódó lábak mindig minden esetben foglaltak a háttértár műveletek számára?
Az SD2, SD3 lábakon lévő UART portot nem lehet felszabadítani vhogy? Nincs vmi olyan üzemmód, amikor csak fele csatornán megy a flash memória? -
Janos250
őstag
válasz
Teasüti #8862 üzenetére
Elővettem egyet (doit , ESP32 devkit V1, mert ez van kéznél)
Van rajta egy sárga 107J tantál kondenzátor (https://www.ebay.com/itm/10PCS-6-3V-100UF-B-case-107J-10-SMD-Tantalum-Capacitors-3-5mm-2-8mm/391354380476?hash=item5b1e89f0bc:g:y5QAAOSw5dNWhitt)
Mellette két kisebb kondi felirat nélkül
Az USB csati kozelében látok egy kondit, egy fekete nemtudommit, egy csomó ellemállót, 2 db. J3Y tranyót, és két ledet.
A tokozott hibridben (ESP-WROOM-32) a kapcs. rajz alapján van több mint egy tucat kondi. -
Teasüti
nagyúr
válasz
Janos250 #8861 üzenetére
Táp szűrő kondikként is szoktak rá hivatkozni. Igen, a Vcc és GND közé rakott kondik a chip Vcc lába előtt.
Ha ezt nézem, akkor e szerint tele van bypass/táp kondikkal a devkit az LDO előtt és után, az usb-uart chip-nél és az esp modulnál.
Viszont ránézésre a kéznél lévő modulomon és a rajzon nem egyenlő számú kondit vélek felfedezni.
És be se tudom azonosítani a Vdd33-on lévő kondikat. -
Teasüti
nagyúr
ESP32 dev lapokon vannak bypass kondik, ugye?
-
tvamos
nagyúr
válasz
dangerzone #8854 üzenetére
Szerintem vedd meg, nagyon szep dolog tamogatni az alapitvanyt! En is vettem toluk nehany Uno-t, meg Leonardot.
Amugy meg kene neked par szervo, meg tobb motor, mint ami ebben van!
Ahogyan aryes is javasolja, erdemes ESP32 alapu vezerlot venni, szerintem azt a verziot, ami van kis LiIon tolto, meg OLED display is. Akkor minden megvan, ami kell, es meg a szunetmentes tap is megoldott.
-
válasz
dangerzone #8854 üzenetére
Ezt és ennyiért semmiképpen.
Vegyél egy esp32 alapú vezérlőt, ott rögtön wifi és bt vezérlési lehetőséget is kapsz külön eszközök nélkül, plusz kis méretű és pl a wemos lolin32 vagy annak klónjaiba az akkus táplálás is bele van építve töltő elektronikával. Hozzá lehetőleg i2c alapú motorvezérlő, és motorok. Ha érdekel, tudok adni pár linket azokról, amiket én rendeltem (AliExpressről). -
Teasüti
nagyúr
Ez egy 4 MB-os ESP8266 usb csatlakozóval és ch340 vezérlővel? Hmm, tetszik.
Nem találok infót, hogy miben különbözik a V2 és V3. Nem feltételezem, hogy más lenne a lábkiosztás, de azért ellenőrizd, hogy az adatbusz ugyanúgy van-e bekötve! Van másik eszköz is az adatbuszon, vagy csak a hőmérő? A felhúzó ellenállásokban talán lehet eltérés, meg kéne nézni szkóppal milyen minőségű jelet ad az egyik és a másik. Ha programozható, akkor kikapcsolnám és csak a külső felhúzókat használnám. Ha több eszköz is lóg a buszon, akkor ott lehet, hogy túl feszesek a felhúzók így együtt. Vagy pont ellenkezőleg. Mérés nélkül nem fog kiderülni.
Esetleg próbáld meg 100 kHz-en járatni a buszt! -
Janos250
őstag
Nem kell megijedni az IDF, freeRTOS függvények használatától arduino rendszerben, mert az is ezek felett dolgozik, általában használhatók a függvényei. (Általában, mert pl. a vTaskList() nem)
Pl.:
"The I2S peripheral supports DMA meaning it can stream sample data without requiring each sample to be read or written by the CPU."
https://espressif-docs.readthedocs-hosted.com/projects/esp-idf/en/latest/api-reference/peripherals/i2s.html -
Találkoztatok olyan ESP32 boarddal, amelyiken van USB /a könnyebb programozhatóság végett/, de le is lehet kapcsolni mindent az SoC-n kívül, ha valami low power cuccok akarok csinálni?
-
Tankblock
aktív tag
Hello
Tárolva hogy mekkora MHz működjön azt a sdkconfig-ban van.
MSYS32 ben / Linux alatt ha betallózod akkor
make menuconfig
paranccsal tudod editálni relatíve egyszerűen.Nem javaslom kezdőként hogy ehhez hozzányúljon bárki is, főleg ha 3rd party Arduino libeket futattok amik függnek az órajeltől.
DMA más kérdés Technikal reference és a példaprogramok mutatják az utat. Én az ESP-IDF drivereit használom mert ahhoz van dokumentáció, és működik a DMA is --> RTM jó példa.
-
Janos250
őstag
" a 2 mag egyben 240 MHz-e, tehát külön 120-120 MHz-en fog menni?"
Mindkettő külün-külön 240-en jár. Ez biztos, használtam.
"órajel pontosságról nincs információd?"
Sajnos nincs.
"Jó lenne ha fejlesztenék a kevésbé használt részeket is ESP32-nél."
Fejlesztegetik azt,
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
A legutóbbi májusi. Ez az ESP32-re a biblia.
RTC: 0x3FF4800C, 0x3FF48010 ? 634. oldaltól
A DMA-ról is van valami, a 115. oldaltól.
Ne feledd, hogy az AHB bus csak 80 Mhz-es! Mivel az összes periféria bármely pinhez kapcsolható, ezért egy - számomra - szokatlan megoldást használ, de ha beleéli magát az ember az ESP32 gondolkodásmódjába, elég jól használható.
Időzítésre én az órajel ciklusok számlálóját használtam, az a 240 Mhz miatt nagy felbontású. -
_q
addikt
válasz
Janos250 #8827 üzenetére
Köszi a részletes kifejtést.
Azt nem tudod esetleg, hogy a 2 mag egyben 240 MHz-e, tehát külön 120-120 MHz-en fog menni?
Én is olvastam, hogy 32 kHz-es kristályt 2 GPIO feláldozásával hozzá lehet kötni az ESP32-höz. Viszont fórumon azt írták, hogy kicsit bugos, illetve annyira jó minta kód erre sincs. Úgy érzem el kell engednem ezt a részt
Egyébként amit meg szeretnék valósítani, annak egyik részét az óra kiíratása képezné. Mivel nekem nem kell semmilyen dátum, csak egyedül az óra, perc, másodperc kiíratás, ezért nem szeretnék külső RTC modult használni. ESP32 időzítővel generálok másodpercenként egy megszakítást és ebből számolom a percet, órát. Na és itt jön a kérdés ami miatt keresgéltem honnan veszi a CPU az órajelet és az mennyire lehet pontos (erre még mindig nem találtam sajnos választ a neten, órajel pontosságról nincs információd?
), mert a timer a CPU órajelet osztja le és generál megszakítást. Eddigi 1 napos teszt alapján másodperc alapon úgy látom, hogy pontos és nem késik. Persze 1 nap az kevés, ha mikrosec vagy kisebb késés van akkor ahhoz jóval több nap/hónap kell hogy kiderüljön.
Bizonyos részeket egyszerűbb volt STM32-vel megvalósítani, de igazad van ott is kell azért sokszor adatlapozni. Jó lenne ha fejlesztenék a kevésbé használt részeket is ESP32-nél. Vagy ha másként nem, akkor STM-el kell megvalósítani, az általánosabb dolgoknál mehet ESP32. -
Janos250
őstag
"ESP32S az melyikhez tartozik,"
Egyikhez se! 240-en megy. Az ESP32S az ESP32WROOM hibrid leánykori neve, ami tartalmazza magát a procit, + memóriát, és pár egyéb alkatrészt.
https://c.76.my/Malaysia/ai-thinker-esp32-esp-32s-wifi-wlan-bluetooth-module-varsembedded-1703-21-varsembedded@9.jpg
https://pbs.twimg.com/media/Cuf9fLzVIAEdzo_.jpg"Ha nem RTOS-t használok"
Tudtommal bárhogy is használod - extrém alacsony szintet kivéve - mindenképpen RTOS felett dolgozol, legfeljebb nem látod, de használható a teljes apparátusa.
Ha Arduino alatt használod, akkor a WiFi a 0-n megy, a saját programjaid az 1-en, de megszabhatod, mi hol menjen. Hogy a loop hol menjen, azt a main.cpp-ben állíthatod.
"DMA-val nem nagyon találtam mintákat sajnos, kíváncsiságból pedig jó lenne." Én se, pedig én is kíváncsi ember vagyok :-)
"Ezek közül jelenleg csak az órajel a kérdéses, illetve az, hogy azt honnan veszi"
Nem tudom honnan veszi, de 240Mhz. Egyik módszerrel LED meghajtásnál én ebből számoltam az időzítést, és szkóp szerint is jó lett.
"nehézkesebb egy STM32-höz képest." Így igaz! :-(
Az RTC, azt hiszem tud használni külső 32kHz-es kristályt, de az KÜLÖN PROCESSZOR,SAJÁT UTASÍTÁS KÉSZLETTEL, SAJÁT MEMÓRIÁVAL! Azt assembly szinten programozni szintén macerás.
Egyébként az STM32-nél is muszáj megnézni a manuálban a regisztereket, ha érteni akarod, hogy mit csinálsz.
A hardver manualja már az ESP32-nek is elég jó, bár messze nem teljes, sőt, hibát is találtam benne. -
_q
addikt
Nekem ESP32-nél volt hogy nem használtam 2-3 hetet. Most ismét elővettem és vagy eltűnt a drivere az USB-TTL chipnek vagy nem tudom mi történt, de újra kellett telepíteni. Igaz nálam nem volt ilyen hibaüzenet, de egy próbát megérhet az FTDI chip driver újratelepítése, ha van újabb verzió akkor azzal.
-
_q
addikt
válasz
Janos250 #8820 üzenetére
Adatlap szerint: "7-stage pipeline to support the clock frequency of up to 240 MHz (160 MHz for ESP32-S0WD and ESP32-D2WD)" Nem tudom ESP32S az melyikhez tartozik, mert így lehet 160 MHz is, illetve egyenként 160 vagy 240, esetleg a kettő együtt adja ki. Utóbbira gondolok amiből jön a következő kérdés.
Ha nem RTOS-t használok, akkor nem lehet tudni melyik cpu-t használja a program futtatására? Lehet csak egyik, de lehet akár mind a kettő is? Ezt jó lenne tudni, mert nem mindegy egy számításigényes program esetén.
DMA-val nem nagyon találtam mintákat sajnos, kíváncsiságból pedig jó lenne.Ezek közül jelenleg csak az órajel a kérdéses, illetve az, hogy azt honnan veszi. A többi csak érdekelne, mert ki tudja mikor jöhetne jól. Viszont kezd körvonalazódni, hogy a gyakori feladatokra van megírva az arduino IDE, egyébre mint a DMA vagy órajel változtatás már nehézkesebb egy STM32-höz képest. Mivel nem rég szóba került, hogy egy 2 éves hardver esetén még mindig nincs meg minden támogatottság szoftver oldalról, vagy teljesen vagy részben pl bluetotoh mesh, de most az órajel és a DMA is nekem úgy tűnik hasonló cipőmen jár, kicsit sajnálom, mert egyébként jó eszköz az ESP32.
(#8819) Tankblock
Köszi, ez így szimpatikus. Ha eljutok eddig a projektemben, akkor rá fogok nézni jobban és lehet akkor lesz majd még kérdésem. -
Janos250
őstag
CPU órajele 240 Mhz. Van valahol egy fájl - úgy emlékszem - ahol lehetne csökkenteni, de nem emlékszem mi, nem próbáltam.
A prifériák órajele 80 Mhz.
"Ha nem rtos-ban programozok". Tudtommal nincs kidolgozva az RTOS nélküli lehetőség ESP32-re magasabb szinten.
"DMA-t támogatja az ESP"
Úgy tudom, hogy az SPI, UART, I2S ezt használja, de mintha külön engedélyezni kellene, nem használtam.
A DMA mindenképpen csak az iRAM-ot tudja használni, tehát amit használni akarsz, oda kell helyezni.Minden, ami benne van használható, csak egyik-másik elég macerás. A Technical Refrence már elég jó, abból lehet kibogarászni, de munkás dolog regiszter szinten állítgatni az egyes biteket.
Én az RMT használatát bogarásztam ki, és tanultam meg, de bizony idő kellett hozzá. -
_q
addikt
Nézegetem az órajeleket, timer-t. Kíváncsi voltam, hogy mit használ alapból a timer-hez. Adatlap szerint a cpu órajelét használja. Azt hogy a CPU mit használ elvileg be lehet állítani de arduino alatt nem találtam meg, hogyan lehet változtatni, hogy mit használjon a CPU. Ahogy néztem van egy 40 Mhz-es kristály a shield alatt. Tehát lehet belső 8 MHz, külső 40 MHz és ha külsőleg csatlakoztatni 32 kHz-es kristály.
Azt, hogy ezeket hogyan lehet beállítani, melyiket használja, ne menjen mondjuk 160 MHz-el, hanem csak 80 MHz-el a cpu arudino alatt hogyan lehet beállítani? Közben pedig még egy kérdés jutott eszembe. Ha nem rtos-ban programozok, akkor magától választja ki melyik mag dolgozza fel a kódot vagy csak egyiket használja? A 160 MHz ki van használva valahogyan?
Még egy dolog, a DMA-t támogatja az ESP, de arduinora szintén nem találtam kódot. Erre sincs példa?
Így hirtelen sok a kérdés, remélem sikerül mindre választ kapni. Egyre inkább előjön, hogy lehet még se mindenre a legjobb arduino-ban a programozás és korlátokba ütközök?
-
tvamos
nagyúr
Ebbol a LED-bol gondoltam rendelni otthoni projekthez: SK6812 RGBNW . Van pozitiv, vagy negativ tapasztalatotok? Eddig csak WS2812B-t hasznaltam. (Gond nelkul...)
Ja igen... ESP8266EX-szel hajtanam meg. -
-
Janos250
őstag
válasz
choco01 #8793 üzenetére
Így?
ESP8266WebServer WEBserver ( WEBport );
vagy ESP32WebServer WEBserver ( WEBport );
uint8_t ServerIPlocal[4] {192,168,1,140} ; //Node static IP kinek mi
uint8_t gatewayIPlocal[4] {192,168,1,1} ; // ami neked
uint8_t subnetIPlocal[4] {255,255,255,0} ;
const char* ssid = "mySSID";
const char* password = "1234567890";
void setup(void) {
WiFi.begin(ssid, password );
delay(1000); // min 1000
WiFi.config(ServerIPlocal, gatewayIPlocal, subnetIPlocal) ;
delay(1000);
WEBserver.on("/", handle_index);
WEBserver.begin();
} ;
void handle_index() {
String s = "<html>\r\n";
s += "<!DOCTYPE HTML>\r\n";
s += "<head>\r\n";
s += "<meta charset=\"UTF-8\">\r\n";
s += "<title>minta</title>\r\n" ;
s += "</head>\r\n";
s += "<body>\r\n";
.
.
.
.
.
s += "</body>\r\n";
s += "</html>\n";
WEBserver.send(200, "text/html", s);
} ; -
Janos250
őstag
válasz
choco01 #8790 üzenetére
"milyen lehetőségeim vannak"
Pl. a legegyszerűbb:
ESP32 AP, WEB szerver, és erre kapcsolódnak a szenzorok is.
Rálépsz az ő wifi hálójára telefonnal és látod.Ha kintről is akarod látni: Egy Wii routerhez kapcsolódik az ESP 32. WEB egy adott portra, amit a routerben átirányítasz az ESP-re. Így Ausztráliából is látod.
-
dew28
aktív tag
Arra mi lehet a megoldas, hogyha esp32 alol kiesik az AP, akkor legalabb probaljon meg ujracsatlakozni? se wifi.reconnectre nem reagal, se semmire se nagyon..
Új hozzászólás Aktív témák
Hirdetés
- EVGA SuperNOVA 750W GT 80 Plus Gold full moduláris tápegység / 53 hónap Alza.hu garancia
- Surface Laptop 4 Touch 13.5 Retina Ryzen7 4980U 4.4Ghz 16GB 512GB Radeon RX Vega8 Win11 Pro Garancia
- Gigabyte AORUS B550I PRO AX ITX Rev 1.2 / Beszámítás OK!
- HP 15 Zbook Studio G8 FHD IPS i7-11850H vPro 32GB 512GB SSD Nvidia A2000 Studio Win11 Pro Garancia
- Dell 14 Latitude 7420 FHD IPS i7-1185G7 4.8Ghz 16GB 512GB SSD Intel Iris XE Win11 Pro Garancia
- BESZÁMÍTÁS! Lenovo Legion 5 17ACH6H Gamer notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3060 6GB WIN11
- HP Omen - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB-C - KVM Switch
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest