- Bejutott az európai 5G-be az Amazon
- Még több AI-generálta reklám jön a Facebookra és az Instagramra
- Egyre nagyobb a hatása a választásokra az AI-generálta képeknek
- Visszavonta az Intel és a Qualcomm Huawei-hez kiadott exportlicencét az USA
- Több stúdiót is bezár költségcsökkentésként a Microsoft Xbox részlege
-
IT café
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
-
-
nagyúr
válasz Janos250 #13245 üzenetére
Ehhez jó lenne tudni azt is, hogy hogyan épül fel a kommunikáció, milyen weboldalt vagy mit szeretnél folyamatosan elérni, mert az a gyanúm, hogy nem az ESP oldalán van a difi, hanem a kapcsolat nem jól van felépítve (pl http fejlécek).
Ha gondolod írj privit, elég sokféle webes applikációt írtam már, hátha meglátom a hibát.[ Szerkesztve ]
-
Dißnäëß
veterán
válasz Janos250 #13245 üzenetére
Szia, részleges válasz:
- TCP megszakadás passz, ezt lehet az ESP csinálja így ? (Nem hiszem, nem lehet hogy vmi programozási izé ?)
- UDP: tipikus streaming/gaming jellegű protokoll, a küldő fél nem vár választ a fogadó féltől, hogy ő megkapta a csomagot, hanem csak küldi észnélkül. Ha a fogadó fél fogadta őt, fogadta, ha nem, nem. Nincs visszacsatolás csomagvesztésnél a küldő fele, emiatt adatfolyam megakadás sem (ami TCP-nél lenne, mindaddig, míg helyesen át nem ment a csomag és erről a visszaigazolót meg nem kapta a küldő fél).
Ha a csomagvesztés nem gond, lehet udp-zni. (Játékban ez nem gond, video-ban sem, mert max. sérül egy képkocka kicsit, na bumm, viszont a forgalom folyamatossága garantált, hibák esetén sincs akadás).
Mobilnetes megosztáson: komplex kérdés, több részre bontom.
1. szolgáltatófüggő, hogy egy SIM kártyával és adatcsommagal rendelkező eszköz, legyen az akár mobiltelefon, akár egyéb, publikus ip címet kap-e, vagy a szolgáltatónál is helyi hálón lévőt, mert spórolnak a nyilvános ipv4 címekkel. A pirosoknál biztos, hogy van ilyen trükk, a kékeknél-rózsaszíneknél nem tudom, de ott eddig mindig nyilvános publikus ip-t láttam magamról.
2. ipv6 mindezen segíthet, ha a szolgáltató, az eszköz és az ESP tudja, de hozhat be plussz bonyikat is.
3. Kék vagy magenta mobil internet kütyüt lőnék, nem telót. [link] Ehhez hasonló (ez csak példa) kütyükkel is lehet kérni, vagy hasonlót megveszel külön és megy bele a SIM, megeteted egy USB portról, vagy akksin keresztül bír vagy 10 órát, sacc.. ezeknek van web-es kezelőfelülete, ahol be tudod állítani a port forward-okat és minden egyéb okosságot, mint egy otthoni router-en. Én egy ilyet használok ha úton vagyok, annak ellenére, hogy a telóm is jóféle motyó, ... tökéletesen teszi a dolgát. Beépített antenna, amit a műanyag doboz nem árnyékol le, szóval a vétel (térerő) is jó, eddig nincs panaszom rá.
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
nagyúr
válasz Janos250 #13251 üzenetére
Ja, azt hittem valami php/szerver oldali script/apache szerver a küldő.
Én akkor is a küldő oldalt nézném át először, a client class-ban milyen timeout, buffer méretek vannak megadva.
Olyat próbáltál már, hogy nem csak másodpercenként küldesz adatot, hanem a kettő közt folyamatosan néhány byte-os dummy adatcsomagokat küldesz megszakítás nélkül? A másodpercenkénti adatküldés holtbiztosan bekövetkezik mindig, nincs olyan, hogy kimarad egy-egy csomag és olyankor szakad meg a kapcsolat? -
nagyúr
válasz Janos250 #13254 üzenetére
A TCP szerintem nem is való ilyen folyamatos kapcsolatra, bár nem megoldhatatlan, én régen csináltam push szerverhez hasonló folyamatos kapcsolatot PHP-val, böngésző felé, úgy emlékszem mobilneten keresztül is működött órákon keresztül. Én eleve azt hittem, hogy weblapot küldesz. Talán egy "Connection: keep-alive" header-ön múlik az egész, vagy a küldő oldalon egy buffer flushing beállításon, ezeket nézd meg a küldő oldalnál, hogy van-e ezekre beállítás a library-ban.
Weblap törzsben bináris adat küldésére a legegyszerűbb a base64 encoding.[ Szerkesztve ]
-
Dißnäëß
veterán
válasz Janos250 #13253 üzenetére
Fájlátvitel: tökéletes arra a HTTP is. (Vagy HTTPS). (Jobb lenne FTP, SFTP). A http szerver kilistázza a könyvtárban található fájlokat, ezt az aloldalt frissítgeti a túloldali script, ami elhozza innen őket, vagy ilyesmi, sima wget, egyéb.
B opció, hogy VPN csatornát húzol ki a kliensről a vezetékes gépig, valami halálegyszerűt, gondolom úgysem szempont a titkosítás, ne egye a CPU-t. Az így felépült folyosóban már direktben ip alapon látják egymást a végpontok, tehát a vezetékes küldő gép tudja a VPN-es IP alapján címezni a fogadó felet.
Most nem vagyok benne biztos amúgy, hogy (tekintettel a bonyodalmakra) elég-e ide egy ESP, vagy nem-e lenne jobb egy marék Raspberry Pi (1-eseket, olcsón).
Az alap dolgot meglépi egy ESP is, de ha a fura hálózati dolgok miatt ilyen-olyan-amolyan kompromisszumokat kell kötni (és ezeket kezelni), passz.
A konkrét feladat ismeretében lehetne többet nyilatkozni (persze érthető, ha nem írja le az ember).
[ Szerkesztve ]
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
weiss
addikt
válasz Janos250 #13258 üzenetére
Bocs, lehet, hogy félreértem, de ahova küldöd, az fel tud dolgozni HTTP POST-ot? Ha igen akkor kb. ennyi a küldés:
String l_post_data = "az adataid";
HTTPClient l_http;
int16_t l_result = -1;
if(l_post_data.length())
{
l_http.begin("szerver címe");
l_http.addHeader("Content-Type", "application/x-www-form-urlencoded");
l_result = l_http.POST("data=" + l_post_data);
l_http.end();
}I did nothing, the pavement was his enemy!
-
Tankblock
aktív tag
válasz Janos250 #13258 üzenetére
Websocket? Anno ESP8266 használtam, több eszközre is tudtam syncelni adatokat, ha jól tudom egész komoly projectek vannak vele....
LEtöltesz egy weboldalt a connecttel és a böngésző megnyitja a websocketet az ESP32 vel és az ESP32 feedeli az adatokat..... Droiddal és win 8.1 telóval is ment nekem anno.
Release the Beast....
-
Dißnäëß
veterán
válasz Janos250 #13379 üzenetére
Sziasztok, kis segítséget kérnék nálam tapasztaltabbaktól: egy Leonardo-val eltelt idôt szeretnék mérni.
Azaz "bekapcsolt órák száma". Amolyan futásteljesítményt.
Ha elér az eszköz bizonyos óraszámot, valamit jelzek egy LED-el, és ha cserélve az alkatrész újra, egy gombbal ezt nullázni lehet és ismét nulla óráról számol.
Mivel a kerek órák fontosak, ne legyen sok bukás az órák közötti perceken, igazából percekben mérnék, nem is órákban, tehát minden megkezdett percnél billentsen egyet a számlálón a kütyü.
Kell egy ilyenhez RTC, vagy anélkül is megy vajon ?
(Egy olyan Leonardo kompatibilisem van, aminek aljába tehetô egy lapos gombelem, van rajta RTC, de ez a nagy modul, én inkább picivel oldanám meg, ami akkora, mint a hüvelykujjam körme. Jó a nagy is, csak ágyúval veréb ennyire egyszerû dologra elhasználni a rengeteg kimenetet, bemenetet).(Szerk: bocs, nem Neked, új hsz lenne).
Az Arduino-t egy pici nyák trafóról és diódahídról hajtanám. Érzékelné, amikor a fô eszközt kikapcsolom és megszûnik a saját tápja is. Az egyenirányítás után kellôen "nagyra" választott pufferkondival adhatok neki még bármennyi másodpercet, míg frissíti ezt a számlálót vmi flash-be vagy ilyesmibe és utána ô is kikapcsol. Ez az elmélet. Ezeket megoldom, az óra kérdéses számomra, hogyan számolom a perceket és hogyan, hova érdemes letárolni ôket, hogy következô indulásnál azt kiolvasva ott folytassa, ahol abbahagyta.
(Tehát elég kikapcsolásonként 1x írni, nem percenként, ez kíméli a flash-t is).
[ Szerkesztve ]
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
Tankblock
aktív tag
válasz Janos250 #13379 üzenetére
Szia,
Annyit pontosítanák, hogy a "C string" jelen esetben egy constans char tömb.
const char[4]
lesz. Ami fordítási időben kerül lefoglalásra. Erre próbált meg a kolléga castolni egy String osztályt, és ezért kapott null pointert.Az Arduino String osztály létrehozásakor a const char * ból egy a String osztályban lévő tárolóba másolódik a tömb tartalma.
String::String( const char *value ){
if ( value == NULL ) value = "";
getBuffer( _length = strlen( value ) );
if ( _buffer != NULL )
strcpy( _buffer, value );
}
van = operátor, a definíció szerint az csak String osztályt képes String osztályal hasonlítani.
const String & String::operator=( const String &rhs ){ if ( this == &rhs ) return *this; if ( rhs._length > _length ) { free(_buffer); getBuffer( rhs._length ); } if ( _buffer != NULL ) { _length = rhs._length; strcpy( _buffer, rhs._buffer ); } return *this;}
Forrás : [link]
Jó feladat operátor overload megírása const char * ra
Szerk: code szétcsúszott.
[ Szerkesztve ]
Release the Beast....
-
nagyúr
válasz Janos250 #13396 üzenetére
Nem gondoltam, hogy valaki használja a Windows beépített keresőjét bármire is. Ajánlom a Total commandert ilyen célokra (is).
Nem Te linkeltél régebben egy oldalt, ahol arduino-hoz készült, újraírt/memóriatakarékos String class-ról írnak? Csak úgy eszembe jutott, hogy régebben szó volt róla, hogy nem ajánlott Arduino alatt a String osztályt használni. -
Tankblock
aktív tag
válasz Janos250 #13396 üzenetére
Google a barátod :-)
Lassan azt érzem, hogy az Arduino library jelen konceptciója mellett az emberek elfelejtenek programozni (Minden plug&play), ezért elmegyünk abba az irányba hogy uPython és mivel a sok egymásra halmozott réteg végett nagy az overload ezért egyre drágább uC kellenek... Pont a lényege fog elveszni az egésznek...
EPS32 hez nem is nagyon használtam Arduino IDE-t, csak 1-2 példa programot használtam.
Release the Beast....
-
zsolti_20
senior tag
válasz Janos250 #13498 üzenetére
Ezek egész jónak tűnnek. Főleg a második az automata érzékelő miatt, pont amilyen nekem is kellene. Nem tudom ez össze hangolható vagy sem arduinóval, esetleg olyan megoldást kell keresnem, hogy először wndowsra szkenneli be mondjuk egy excel fileba aztán abból dolgozik az arduino a továbbiakban.
-
tonermagus
aktív tag
válasz Janos250 #13528 üzenetére
Wow, tudtam én hogy te vagy itt a GPS mester
Nagyon szépen köszönöm az elég hasznosnak bizonyult írásod!
A leírás szerint a 8M önmagában is tudja a dm-es pontosságot, egy vevő esetén is.
- Hát ennek szívből örülnék. Viszont pont nemrég raktam össze az Ardu+Neo M8N párost és sajnos 10-20 métert sétál. Régebben is hasonló volt az eredmény, akkor TinyGPS++-t használtam, most átálltam NEOGps-re de nem javult a dolog. Bár hozzáteszem én házak között városban, az erkélyről próbálgatom. Elképzelhető hogy ezért a nagy pontatlanság? Élesben persze nyílt-sík terepen lenne használva.
Növelhető a pontosság olyan vevővel, ami a műholdak által sugárzott hibajelet is fel tudja dolgozni, ezzel dm-es pontosság érhető el. Azt hiszem, az 8M ilyen.
Ezt nem tudom elképzelni. Hogyan tudom ezt a hibát kiszámolni? És a Rover oldalon mit kezdek ezzel a hibával? Ez a hiba egy gps koordináta vagy távolság? Ez a hibajel feldolgozás hogy működik? Van erre valami függvény, funkció, parancs? Akkor az nem megoldás, hogy a "bázis" által lekért GPS koordinátát és a "rover" koordináta közötti távolságot számoltatom? Azt szeretném hogy a "bázistól" mindig ugyan olyan, vagy lehetőleg 1 méteren belüli távolságra álljon meg a "Rover"
Ha egyszer lesz időm, kipróbálom két olcsó GPS csippel, mekkora lesz a hiba. Ha Te előbb próbálod ki, kíváncsi vagyok az eredményre!
Hát ha megteszed akkor azt megköszönném! Elvileg pár napon belül lehet nekem is sikerülne összeállítani a bázis állomást, és a kettő közötti kommunikációt, de az nem biztos hogy olyan pontos mint a te mérésed Pontosságról: ahogy olvastam az Ardu platform miatt, illetve a 32bit miatt alapból nem pontos a koordináta amit megkapunk. Ez nálad nem zavar be? Vagy ez jelentéktelen? -
tonermagus
aktív tag
válasz Janos250 #13539 üzenetére
Szerintem arra gondolhatott, hogy egy gps koordináta így néz ki:
11 . 22 33 44 5
Viszont az Arduinon ha dolgozni akarsz azzal a koordinátával (kiiratni, átküldeni RF-en, stb...) az utolsó számjegy elveszik és ez lesz belőle:
11. 22 33 44
Fogalmam sincs hogy ez az utolsó számjegy mennyire fontos -
-
tonermagus
aktív tag
válasz Janos250 #13568 üzenetére
Ha már így szóba jött az ESP32: az én GPS projektemhez most jobban járnék ha ESP32-t használnék Mega helyett? Ugyebár A vevő oldalon RF-en adatot olvasok be, tárolok le, majd GPS adatot nyerek ki, számolom a kettő közötti távolságot, majd kiíratom a távolságot. Ebben az esetben lehet szűk keresztmetszet a Mega?
-
tonermagus
aktív tag
válasz Janos250 #13572 üzenetére
Janos250: Sajnos mind a két koordinációra pontosan kell hogy beessen
Tankblock: Nem tudom miről beszélsz, azt se tudom ki- vagy mi az a Nordic, STM32-ről már ne is beszéljünk Jó, ki tudnám googlizni És pont ezt szeretem ebben a "hobbiban" (mert nekem ez csak az) hogy én csak hobbi "programozó" vagyok, sokszor az alapokkal sem vagyok tisztában, az elektronikával is csak fél éve ismerkedem de mégis mindent megvalósítottam eddig, még ha nem is elegáns módon Fél éve még azt se tudtam mi az az áramerősség, mi az a Serial port, azt meg pláne hogy lehet oda adatot kiíratni/beolvasni -
gyapo11
őstag
válasz Janos250 #13601 üzenetére
Igen, ezt úgy hívják hogy internetes alkalmazás. És így minden internet képes eszköz, ami tud html oldalakat megjeleníteni képes lesz megkapni vagy küldeni az információkat.
[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Janos250 #13604 üzenetére
Elég a html forrást küldeni, a GET vagy POST küldéseket feldolgozni és kész? Láttál-e megoldást soros porttal? Úgy képzelem, hogy a pc össze van kötve az arduinoval soros porton, és fut valamilyen program a pc-n, ami átrelézi a routerre, innentől ugyanaz (persze sebesség nem) mintha wifi kapcsolat lenne.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
zsolti_20
senior tag
válasz Janos250 #13635 üzenetére
Nincs semmi probléma, csupán ismeretlen volt az UART számomra, de pár információ után már megértettem így tudok vele dolgozni.
Köszönöm szépen a manualt és a példa kódokat is mindenkinek.
Innentől már feltudom építeni azt amit szerettem volna.
AZ új modulokkal mindig problémám van a kezdetekkor de amint ráérzek minden sima.
Köszönöm nektek még egyszer, innen már boldogulok.
Ez a szkenner pedig a lehető legjobb választás volt a következő projektemhez, mivel elég pontosan,gyorsan tud szkennelni hozzá. Pont amire szükségem volt/van/lesz. -
And
veterán
válasz Janos250 #13673 üzenetére
Ez nem jó elképzelés. Mindkét (A, B) jel minden szintváltozására megszakítást kell kapni, és ezekből ideális esetben négy, de minimum három vagy kettő darab szükséges az irány egyértelmű detektálásához (ha nincs meg a 3 db. él, akkor 'félútról' visszatekerve kaphatunk egy ellenkező irányú jelzést is, ami nem feltétlenül korrekt). Amíg nincs meg az irány, addig nem lehet / szabad felhasználni a beérkezett éleket, mert addig csak annyi bizonyos, hogy az enkódert megmozdították, de még nincs feldolgozható és egyértelmű (üzembiztos) működtetés valamelyik irányban. Az nem elegendő, hogy az első megszakításban olvassuk a másik fázis jelét, mivel ha a futás kellően gyors és/vagy a rotary-t lassan tekerik, akkor nagyságrendekkel gyorsabban fut le az IRQ, mint ahogy az összes szükséges él beérkezne az inputokra.
Van rotary enkóder olvasásra bevált kódom, de nem arduino-ra, hanem más uC-re. -
Imy
veterán
válasz Janos250 #13714 üzenetére
Köszi szépen. A kamerás dolog is elég érdekes, és nagyon olcsó, éppen valami nagyon kis kamerát is keresek, és jó lennne, ha fel is venné a dolgokat. Majd utána nézek, hogy mit is tud.
Esetleg van róla valami jó infó, hogy hogyan érdemes nekiállni ezen boardok programozásának? Arduinoban is kezdő vagyok, egy két apró dolgot megcsinálok, ami éppen kell.
-
Janos250
őstag
válasz Janos250 #13734 üzenetére
Téboly!
Egyszer megnéztem annak a bizonyos cégnek a honlapján ezt az eszközt. Azóta a FB-on jön a hirdetése. Honnan tudja a FB, hogy megnéztem ennek a cégnek a honlapját?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
repvez
addikt
válasz Janos250 #13806 üzenetére
ezt az opciot is megnéztem, de nem tudom, hogy hogy tudjam ugy beállitani, mint a panelositásnál, hogy csak el kellljen pattintani a panelt a szétválasztáshoz, mert ha egybe marad akkor ugy elég csunya lesz a végeredmény vagy esetleg sérülhet a tübbi , mivel nincs itthon semmi eszköz , dremmel vagy más, igy a fürész meg a satu nem lenne jó opcio, kés meg szike megint megcsuszhat és vagy magamban vagy a panelban okozok kárt.
-
evilskati
aktív tag
válasz Janos250 #13815 üzenetére
Köszönöm!
Összeszedek akkor egy bevásárló listát, hogy megfelelőek lesznek-e a kinézett cuccok.
Ha külön tápról mennek a ventik, akkor is szükségem lesz a FET-re?
Illetve, még egy dolog, amit a keresgélés során találtam. A ventik PWM-je elméletileg 25 kHz frekvenciával működik. Ez konfigurálható?
(#13818) Gergosz2:
Köszönöm! Szeretnék ismerkedni a mikrokontrollerek világával, ezért is gondoltam az ESP32-re, jó lenne valami logolást is beépíteni majd a dologba.Viszont a legnagyobb akadályozó tényező, hogy ezek számomra elég idegen dolgok. A FET-et sem tudom mi Olvastam most róla, de valószínűleg valahonnan -1-ről kellene kezdenem, mert nem értettem a cikket.
Van esetleg valamilyen jegyzet, könyv, bármi, ami mentén el lehet indulni?
(#13816) gyapo11, (#13819) aryes:
Ha ez a tompítós ötlet nem válik be, akkor ezzel is elszöszölök majd, köszönöm az ötletet.
Új hozzászólás Aktív témák
- Parci: Milyen mosógépet vegyek?
- Melyik tápegységet vegyem?
- Kormányok / autós szimulátorok topicja
- A fociról könnyedén, egy baráti társaságban
- AMD GPU-k jövője - amit tudni vélünk
- Jövedelem
- Konzolokról KULTURÁLT módon
- Android alkalmazások - szoftver kibeszélő topik
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- Samsung Galaxy S23 Ultra - non plus ultra
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen