- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- CMF Phone 2 Pro - a százezer forintos kérdés
- Nem túl penge, viszont olcsó az új ZTE Blade
- iPhone topik
- Samsung Galaxy A54 - türelemjáték
- Okosóra és okoskiegészítő topik
- Android alkalmazások - szoftver kibeszélő topik
- 6 év biztonsági támogatást ígér a Motorola
- Fotók, videók mobillal
- Poco F6 5G - Turbó Rudi
-
Mobilarena
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
válasz
Janos250 #7769 üzenetére
Hello,
Eagle-ben terveztem, most KiCad re szeretnék átnyergelni. Anno 5 Usd rendeltem 10 db 50x50 [mm] nyákot kifúrva, furatgalvanizálva, fekete színben fehér silk el. Másik gépemen kellene megnéznem, de ha jól rémlik talán a seedstudio volt. Átfutási idő 3-4 hét volt.
Mivel középsuli óta nem csináltam ilyet, nekem nagy élmény volt a tervezés. Vagy 4x áltam neki hogy beleférjek mindennel rendesen a méretezésbe, meg csináltam saját esp12 alkatrészt eagle ben... Ha lesz annyi feles időm szeretném Kicadet is kitanulni.
-
Teasüti
nagyúr
válasz
Janos250 #7769 üzenetére
EasyEDA.
Rendeltem már tőlük.
Spéci via-k nincsenek, nekem thermal via kellett volna. NYÁK-ból a leggyakoribb méretezés olcsó, az egyedi igények drágák.
Amit tudnak, azt ipari minőségben tudják. Az alapértelmezett opciók szerinti áraik viszont iszonyú jók.
Ez a két tétel, 5-5 db-os mennyiségben szállítási díjjal együtt vmi 23 dollárért jött ki asszem 3 hét alatt.
A webes tervezőprogramjuk nekem nagyon bevált, főleg az alkatrész adatbázis miatt. -
Tankblock
aktív tag
válasz
Janos250 #7761 üzenetére
Hello,
Én most szívtam ESP8266 Arduino val feltettem 2.4.0 simát és nem ment pl NTPClient.....
2.4.0-rc2 már működik.....
Moindjuk a NTPClient 2.5.0 verziója is bugosnak bizonyult
megoldást a Github Issue olvasása adta mind 2 esetben...Van 60 RGBs óra projectem és írtam hozzá új animációt, utána meg nem akart menni az sem ami addig ment.
Szóval azt tanultam, újra és újra, (mint a német kollégáktól is) ami működik ahhoz NE nyúljak....
-
válasz
Janos250 #7697 üzenetére
Miért, nincs azzal semmi gond, ez egy hangszer. Olyan, mint a Hammond orgona. Az egyedi belső felépítéstől egyedi, utánozhatatlan hangja van. Az elektronikus zene pont ettől az, ami.
A probléma ott van, amikor az akusztikus hangszereket szekvenszerrel helyettesítik, mert az olcsóbb... -
tvamos
nagyúr
válasz
Janos250 #7691 üzenetére
Ha van idod olvasd el azt a Microchipes app-note-ot, (tudom, kisse hosszu,) mert nagyon jo, sok okossag van benne. A Wikis nem olyan jo, en azt mondanam, hogy hianyos, ellenben rovid.
Azert, ha nem jo a peak detector, (rosszul meretezett az alulatereszto filter a bemeneten,) es alulmintavetelezel, nagyon meg lehet szivni, arra erdemes odafigyelni! -
tvamos
nagyúr
-
brickm
őstag
válasz
Janos250 #7684 üzenetére
Telorol vagyok ugyhogy röviden, majd kesobb kifejtem.
OA1160 adatlapja szerint uf<1v.tehát a szórás 1volt alatt van VALAHOL. Nem hiszem hogy ezzel előrébb lenne. Mint egy sotkival ami 0.1voltot ejt.... Viszont ottis ottvan a 100mv os ejtés amit konpenzálni kell vagy programmal vagy hardverrel. A buffer erosito nem tul bonyolult. Tuti mukodik mert hasznaltam. Es a program se fogja kiakasztani mire megirja.Az ellenallasos resz pedig.:nem. Minden kisjelű rendszer a lehető legkisebb terhelest szeretne kapni, mivel nincs mögöttes teljesítmény. De majd elolvasom megint es ha kell kifejtem.
-
MineFox54
őstag
-
Teasüti
nagyúr
válasz
Janos250 #7616 üzenetére
Tapasztaltál a hibás pixel után jel torzulást a lánc többi elemén?
Azt gyanítom, hogy a pwm vezérlők halnak le és a továbbítandó adat is csorbul, amit a következő pixel átvesz és onnantól hibásan utazik tovább. Az érdekes az, hogy a jel mindig ugyanúgy torzul így lehet csak egy-egy színcsatorna érintett. Érdekelne hogy működik a vezérlője.
Én sajnos nem tudtam ránézni a hibás szalagra, nem volt a helyszínen mini usb kábel a Nano-hoz... -
_q
addikt
válasz
Janos250 #7620 üzenetére
Köszi. Igazából csak tesztelni akartam az ESP-t és mivel eddig semmi tapasztalatom nem volt vele, ezért próbáltam kideríteni. Fő célom hogy képbe kerüljek a programozásával kapcsolatban meg legyen egy kicsi rálátásom. Bizonyos esetekben megoldható a driver írás, csak ha bonyolultabb szenzort akarunk működésre bírni ott nem biztos hogy neki akarunk állni sajátot írni.
-
itg
tag
válasz
Janos250 #7607 üzenetére
igen, kb. idáig jutottam én is. csak az összes mintapélda a fenti (ezek szerint hibás/régebbi) módszerrel kérdezi le és azt hittem én vagyok a láma.
én egyébként a ESP8266WiFi.h -t hívom meg, de ha ezt megcsinálom, valószínűleg átalakítom push-ra a scriptet és akkor nem fog állandóan a wifi-n lógni.köszi a segítséget!
-
távcsőves
senior tag
válasz
Janos250 #7553 üzenetére
Köszönöm a részletes ajánlást, regisztereket nem szeretném "azonnal" piszkálni.
(Maradnék "Arduino IDE módban") Nagyon csábít a beépített BT, csak pontosan melyik board is ajánlott akkor? Többfélét láttok, a "srác svájci akcentussal" youtube-n ezt a "sárga" board-ot használja. Véleményed szerint ez kezdésnek jó? Vagy van népszerűbb változat?
-
Teasüti
nagyúr
válasz
Janos250 #7547 üzenetére
Felcímkézik a csomagolást. Kibontás után meg beépítésre kerül. A maradékot meg visszateszem a csomagolásba.
Amúgy nem rendelek olyan sokat, hogy ne tudjam követni mi micsoda.
Van, hogy az Aliexpress rendeléseim között keresgélek leírások után hónapokkal később is.Egyébként nem is nagyon érdekelt még a kérdés. Eddig azt hittem mindegyik ugyanolyan protokollt használ, azt hittem csak a szín sorrendben van különbség (GRB vs RGB, WRGB, stb.).
Belenéztem a könyvtárba és valóban van némi differencia mondjuk egy ws2812 és sk6812 között, de nem egyeztettem a doksikat így lehet csak a könyvtár alkotója okoskodott (ws2812 el is van szúrva nálam, ahogy nézem). Most ha nem megy elsőre, akkor majd megy másodikra... -
Teasüti
nagyúr
válasz
Janos250 #7528 üzenetére
Ezt olvastad egyébként?
Meg ezt.
Ez utóbbi tárgyalja a láncba fűzött ledek közti kommunikációt.
Még egy bejegyzés.
Hmm, ha pixelenként változik a T0H és T1H hossza, és a TxL hossza meg az a szünet lesz, ami két TxH között van, akkor tényleg nem nehéz elképzelni hibázó pixeleket, amik némi módosítással beleesnek a specifikációba, ha az előttük lévő pixelnek más az ideális jelhossza. -
brickm
őstag
válasz
Janos250 #7529 üzenetére
Próbáltam a portable-t is már, sajna azzal is ugyan az a jelenség fogadott. Viszont megszületett a compile.
A preference-ben bekapcsoltam, hogy írjon ki mindent a terminál outputra. Így megtapasztaltam, hogy igazából csinálja a dolgát, csak khm.... igen szerény sebességgel. (a blinknek kellett úgy 7-8perc)
Köszönöm a segítséget neked is!
-
Teasüti
nagyúr
válasz
Janos250 #7517 üzenetére
Érdekes a smart home integráció.
Még nem láttam ilyen alkalmazást, bár adja magát.
Legalább lehetne vmi értelmet adni ezeknek az asszisztenseknek a világításon kívül.(#7518) vargalex
Aliexpress. A minőség elég vegyes. Gyakori a pixelhiba, azt ki kell vágni belőle.
Ha szerencsés vagy, akkor üzembiztos lesz. Ha nem, akkor sorra jönnek elő a pixelhibák aktív használat közben.
Ledek száma attól függ mit szeretnél. 60 led/m még megfizethető, a 120-as már túl van árazva a többihez képest és nincs is belőle csak egy-két méteres. Mondjuk ez érthető, már a 60-ason is jelentős feszültségesés van 5 méteren.
Ha ws2812b-ben gondolkodsz, akkor megfontolnám a ws2813-at helyette. -
Tankblock
aktív tag
válasz
Janos250 #7507 üzenetére
Soft WDT reset
ctx: cont
sp: 3fff0330 end: 3fff0550 offset: 01b0>>>stack>>>
3fff04e0: 3ffe8764 3ffef270 3ffef464 40208bb8
3fff04f0: 000001f4 3ffef270 3ffe8382 402022c8
3fff0500: 3ffe8784 3ffef270 3ffef464 402024d4
3fff0510: feefeffe 3ffef270 3ffef464 3ffef520
3fff0520: 3fffdad0 3ffef270 3ffef270 4020252b
3fff0530: 3fffdad0 00000000 3ffef518 402099d8
3fff0540: feefeffe feefeffe 3ffef530 40100718
<<<stack<<<és nem hal meg hanem rebootol és megy a WifiManagerbe ....
Oh My GoD.... valamit benéztem...és megis van a hiba:
delay(1); ez van egyel beljebb mint kellene......
-
Tankblock
aktív tag
-
ngabor2
nagyúr
válasz
Janos250 #7477 üzenetére
Ezt akartam linkelni, csak a vágólapon más maradt
Diódára én is gondoltam az 5 V visszatartásában, akkor megpróbálom azzal.
SRD-05VDC-SL-C típusú relék vannak, olvastam, hogy 3,3V is elég lehet. De az 5 V a biztos.
teasüti: köszi az infókat, asszem ennek akkor jobban utána kell járnom, nem akarom elfüstölni egyből. Tudsz dobni egy linket a technikai megoldásról?
-
modeller
aktív tag
válasz
Janos250 #7411 üzenetére
Köszi ez érdekes. De tudtommal a co-proci utasitáskészlete sem ugyanaz mint a főprocié, mert csak nagyon korlátozott a tudása, de épp ezért a fogyasztása is minimális.
Nem lehet, hogy másról beszélünk? Lehet, hogy kétmagos a főprocesszor és pluszban van a co-proci? Mert ezt a kódot csak igy tudom elképzelni, hogy működjön. -
_q
addikt
válasz
Janos250 #7412 üzenetére
Úgy értettem, ha kell +5 V. Eddigiekben amivel találkoztam fejlesztői kártyán volt 5 V ami jól jött egyes szenzorok esetében. Most hirtelen csak egy szervo motor jut eszembe ahol kellene, esetleg hőmérséklet szenzorok között is akad vagy bizonyos IC-k igényelhetnek 5 V-ot.
Ha jól olvastam az ESP panelen nincs meg az 5 V kimenet.
-
modeller
aktív tag
válasz
Janos250 #7408 üzenetére
Szivesen vennék egy arduino-s példát hogy lehet akár a legtriviálisabb dolgot is a másik magon futtatni.
Simán lehet, hogy valamit elnézek, kb 1 hónapja láttam először esp32-tAzért érdekelne, mert kimondottan fogyasztás-kritikus, elemről (reményeim szerint) akár 1 évig is működő dolgokat próbálok csinálni és ahhoz nagyon jó volna a co-processzort beüzemelni. De asm szintig nem vagyok hajlandó elmenni, IDF-ezni is csak ha muszáj.
-
modeller
aktív tag
válasz
Janos250 #7389 üzenetére
"Arduinoban programozása kényelmes, nagyon gyors, rengeteg a periféria, a két mag más programozási technikákat is lehetővé tesz"
Ezt úgy érted, hogy arduino-ban lehet programozni a co-processzort? Mert én úgy láttam, hogy nemhogy arduino-ban, de még a sima C IDF-ben sem lehet, hanem valami assembly makrós katyvasszal lehet csak.
Csak az IDF példát néztem ahol a co-proci figyeli, hogy egy adott pin bemeneti feszültsége két beállitott érték között van-e és ébreszti a főprocit, ha kivül esik.(ez az "ébresztés" is érdekes, inkább reset-nek kellene mondani, csak éppen le lehet kérdezni, hogy mi is volt a boot oka)
-
_q
addikt
válasz
Janos250 #7392 üzenetére
Régebben nem volt szerintem akkora gond még. Mikor kezdtem az MSP430-as Texas Instruments mikrovezérlőkkel, akkor egyszerűbb volt a portok BIT szinten történő beállítása, legalább is az ESP32-es kóddal összehasonlítva. Persze ott nem is volt lehetőség minden portot mindenféle módban használni.
Ahogy rugalmasabbá válik a programozás (portkezelést mint példa), mellette meg úgy bonyolodik is. Viszont Arduino kerek segítenek megtalálni az egyensúlyt. Egymást kiegészítve jönnek fel párhuzamosan. MSP430 mikor elkezdett terjedni, még nem csak BIT szinten lehetett programozni, ma meg már Arduino keretek között is lehet. Fejlődik ez a terület is, ami nekünk csak jó.
-
_q
addikt
válasz
Janos250 #7389 üzenetére
Én STM32-t keil-be programoztam függvénykönyvtárak segítségével. Regiszter vagy alacsonyabb assembly programozás sose vonzott, nem is terveztem használni, tehát ez ennek dokumentált hiányossága nem zavaró számomra.
Így ha jól értem az ESP32 + Arduino kombó nekem való, ráadásul a bluetooth (BLE vagy minden féle bluetooth nem tudom) kommunikációs hiányosságokat eltekintve mindent meg lehet Arduino környezetben valósítani. Meglátom, ha megjön a valóságban mi lesz.Köszi a részletes leírást.
-
_q
addikt
válasz
Janos250 #7354 üzenetére
Olvasgattam kicsit. Azt íták, hogy az ESP IDF környezetben lehet a leginkább kihasználni az ESP32-t. Arduinot fejlesztgetik, ezzel is használható, de elsődlegesen nem ez az ajánlott.
Én Arduino IDE környezetben szeretném a programozást megoldani. Kérdésem az, hogy mit tapasztaltatok, milyen funkció nem az igazi, mi nincs implementálni ami miatt nem használható ki az ESP32?
-
Teasüti
nagyúr
-
_q
addikt
válasz
Janos250 #7348 üzenetére
Köszi a részletes leírást. Ezek szerint minimális eltérés van, pl.: Wemos tesz rá egy külsö táp csatlakozót is mint ami a lentebb képen látható és 1 reset gombot (ami szemmel látható különbség elsőre). WROOM esetén nincs külső táp csatlakozó, de van egy plusz gomb, gondolom programozható. Szignifikáns külnbség nem nagyon van közöttük. Illeve ide jöhetnek még az OLED kijelzős verziók, ahol már kicsivel nagyobb lábkiosztás vagy egyéb eltérések is felléphetnek.
Arduino-t akartam először a programozási könnyebbség miatt, de mivel ESP32 teljesítményben illetve modulokban is jobb, olcsóbban, így gyorsan tovább is léptem az arduino-n. Köszi a linkeket, valószínűleg ezek közül választok.Tankblock
Neked is köszi az észrevétel. Ha jól értem akkor a képen jelölt külső aksi/táp csatlakozóra érted, hogy fel van cserélve a VCC-GND kivezetés? -
Janos250
őstag
válasz
Janos250 #7348 üzenetére
Még annyit, hogy itt látható, mi van ez ESP-WROOM-32 hibrid chipben:
https://github.com/boseji/ESP-Store/blob/d80a4bafb5d0d2b9f78954681f995429110383d6/Ref-Designs/ESP-WROOM-32/SCH/sch.pdf
De ha magadnak akarsz gyártani, a gerber adatok is megvannak:
https://github.com/boseji/ESP-Store/commit/d80a4bafb5d0d2b9f78954681f995429110383d6 -
-
Janos250
őstag
válasz
Janos250 #7317 üzenetére
Korrekció:
"A priorításokat is hiába variáltam, gyakorlatilag mindegy volt, hogy 1-es, vagy 24-es (25 a max) volt."
Nem 25 a max, hanem 24. (25 db. szint van, de a nullás is beleszámolandó)
Tehát 0 a legalacsonyabb prioritás, 24 a legmagasabb. (lehetne variálni, de minek) -
Teasüti
nagyúr
válasz
Janos250 #7321 üzenetére
És a bit bang módszerrel el is érkeztünk az egyetlen okához, hogy miért nem jó szoftveresen kezelni a ws2812 szalagokat. Atmel-en is ilyenkor kötelezően ki kell kapcsolni a megszakításokat.
Amúgy a semaphore kapcsán láttam rá utasításokat, hogy addig nem adja át a stafétabotot az adott folyamat, amíg erre utasítást nem adsz. Így lehet utánozni az Arduino féle noInterrupts() függvényt szerintem. Bár nem próbáltam, nekem megfelel az RTM-et kiaknázó könyvtár is.
Amúgy az RTM valóban iszonyú precíz. A 48 Mhz-es szkópom mérése szerint a periódus idő az halál pontosan annyi volt, ami be van állítva.(#7322) Janos250
Ezt úgy értettem, hogy nem muszáj freertos-t se használni, ugye? Ebben az alkalmazásban, ha minden egyes ciklusidő számít, akkor le kell menni gépi kódba. A kernelt meg ki kell dobni. -
dzz
aktív tag
válasz
Janos250 #7301 üzenetére
Én linuxon élek már a 90-es évek közepe óta, szeretek mindent parancssorból intézni. Pl. az openwrt-nek megfelelő shell képességei vannak, valami ilyesmire gondoltam ESP32-n, tehát nem a PC oldalról hanem az eszközön magán. Mondjuk kicsi a memória minden ilyesmire, de csak feldobtam a kérdést, még nem jártam rendesen körbe az ESP képességeit csak meglepett, hogy mennyivel több a korábbi Arduino-s kütyüimnél
-
gyapo11
őstag
válasz
Janos250 #7279 üzenetére
Igen, a Saleae másolat, 1200 Ft-ért az aliról vettem. 24 MHz-cel mértem, ami 41.6 ns-enkénti mintavétel, tehát a 6.9 μs-os időt 1 %-on belüli kvantálási hibával méri. Nyilván nem egy pontos valami, de azért kb.
Az újabb sw tud olyat is, hogy vár egy megadott minimum-maximum szélességű H vagy L impulzusra, és csak onnan indítja a mintavételt, sajnos ilyenkor már nem bírja a 24 MHz-et, le kell menni 16 MHz-re, és ha H impulzusra állítom, akkor crash-sel. -
Teasüti
nagyúr
válasz
Janos250 #7274 üzenetére
Pedig elég jó keresője van az oldalnak. A részletes keresőben még felhasználóra is lehet szűrni.
Az asztali verziót használod vagy a mobilt? A mobil verzió viszont botrányosan gagyi. Utóbbi topikon belül nem is tud keresni.
Olvasáson kívül semmire nem való a mobil verzió.Jah amúgy meg köszi szépen a hozzájárulásodat az lapcsalád csődbe viteléhez.
-
vargalex
félisten
válasz
Janos250 #7261 üzenetére
//GPIO FUNCTIONS
#define INPUT 0x01
#define OUTPUT 0x02
#define PULLUP 0x04
#define INPUT_PULLUP 0x05
#define PULLDOWN 0x08
#define INPUT_PULLDOWN 0x09
#define OPEN_DRAIN 0x10
#define OUTPUT_OPEN_DRAIN 0x12
#define SPECIAL 0xF0
#define FUNCTION_1 0x00
#define FUNCTION_2 0x20
#define FUNCTION_3 0x40
#define FUNCTION_4 0x60
#define FUNCTION_5 0x80
#define FUNCTION_6 0xA0
#define ANALOG 0xC0Biztos?
-
dzz
aktív tag
válasz
Janos250 #7244 üzenetére
Ez logikus és nem kifejezetten saját megírt appra gondoltam, hanem a lényeg, hogy terepen adott lesz egy smartphone meg a „kütyü”
Tegnap megrendeltem egy LiPo pigback-es, kijelző nélküli ESP32-t, a jövő héten megérkezik. Kifejezetten tetszik, hogy első körben rajta van minden ami kezdésnek kell, a kimeneteken egyenlőre szimulálom LED-el a perifériákat. A többi majd apránként...
-
Spuri2000
senior tag
válasz
Janos250 #7243 üzenetére
Most így néz ki:
kapcsolo1 = digitalRead (9);
if (kapcsolo1 == HIGH) {
if (currentmillis - previousmillis >= ido1) {
previousmillis = currentmillis;
digitalWrite(led1, HIGH);
if (currentmillis2 - previousmillis2 >= ido2) {
previousmillis2 = currentmillis2;
digitalWrite(led1, LOW);
}
}
}és a program legvégén vizsgálom a 11 pin értékét ami kapcsolgat egy relét.
if (digitalRead (2) == HIGH) {
digitalWrite (11, HIGH);
}
else {
digitalWrite (11, LOW);
}Jelenleg így működik, de ez a millis-t nem tudtam máshogy megoldani a jelenlegi tudásommal. Ezért kérdeztem hogy jó e ez így vagy van egyszerűbb, átláthatóbb.
-
Teasüti
nagyúr
válasz
Janos250 #7209 üzenetére
Jobb híján én is akkor hívom a folyamatot, mikor kell és törlöm ha végzett. Elég elegáns megoldásnak tűnik (hála az isteneknek egy ciklusból csinál mindent). Nem úgy a fix delay, ha kell ha nem.
Kíváncsi lennék hogy melyik scheduler van beállítva, itt azt írják elvileg az, amelyiknek kéne váltania a folyamatok között az idő elteltével.Arra van vmi módszer, hogy monitorozzuk az üresjárati időt? Mint Windows-on a cpu terhelés a Feladatkezelőben.
Jól jönne a mag választásnál a folyamatokhoz. -
szuszinho
őstag
válasz
Janos250 #7201 üzenetére
Nem akarom megtanulni az AT parancsokat, csak az AT paranccsal ellenőrizni, hogy visszakapom-e az OK-t, mert akkor minden jó.
Most odáig jutottam el, hogy felmegy a fw az ESP-re, de az AT parancsra nem kapok választ, így nem tudom, jó-e? Tovább nem haladtam a projekttel. -
szuszinho
őstag
válasz
Janos250 #7196 üzenetére
Ha jól sejtem, akkor a 01-es.
Amiket néztem leírásokat, abban AT parancsokkal tesztelik, illetve állítgatják, ezért szerettem volna és is így indulni, hogy jól működik-e, illetve, hogy jól kötöttem be?
Az UNO meg az usb miatt kell ugye. Utána akkor le is vehetem majd róla?
Egyelőre nem kell sok port, már egyetlen egy relé vezérlésének is örülnék. Persze, később kellene több is.Akkor mit javasolsz? Tudsz útmutatót?
-
Teasüti
nagyúr
válasz
Janos250 #7192 üzenetére
Neeem, bár nem vagyok biztos melyik problémára célzol.
Amivel most küzdök, az egy BLE alkalmazás telefonra.
Mivel nem szeretnék megtanulni Android alkalmazást fejleszteni - nyilvánvaló okokból -, ezért a Play-en keresgélek vmi használható után. A Blynk egy egész ügyes kis alkalmazás lehetne, de nincs kész BLE támogatás egyetlen Espressif MCU-hoz se, hát még az ESP32-höz.
Az UART programok szépen működnek, de nem parancssorból szeretném vezérelni a cuccot.
Most vmi pfodApp nevezetűt próbálgatok.
Ennek sincs ESP32 támogatása - nem meglepő módon -, viszont az általa használt library pofon egyszerű (na jó azért kezdőként kell némi idő míg visszafejti az ember) és a meglévő BLE modulokhoz való UART porton kommunikál. Ezt a library-t akarom módosítani úgy, hogy ne a Serial stream-re tolja ki az adatokat, hanem a Kolban féle BLE UART függvényekbe. Elméletileg nem egy nagy munka átírni a library-t.
Csak mikor megláttam, hogy a Serial-t példányosítja és annak a print függvényeit használja, akkor hirtelen azt hittem elég volna copy&paste módon bedobálni a BLE notify() függvénybe mindent, ami ott megy át.
Persze aztán rájöttem ez se nem praktikus, se nem egyszerűen kivitelezhető.Amúgy okkal csináltam egy topikot ezeknek a témáknak, mert itt mindezt off-ba rakja a nép vmi oknál fogva.
-
Teasüti
nagyúr
válasz
Janos250 #7146 üzenetére
Megcsináltam, működik. Fasza. Azóta életre keltettem a BLE UART-ot is, ami notify() és write() funkciókkal tud csak működni, ami a klasszikus BT-re hajaz, de a fogyasztás nem szempont.
Igazából a hardver több fejfájást okozott, mint a dokumentáció nélküli library.
Ha követed a hobbi elektronika topikot, akkor láthattad mekkorát sz.ptam a szalagok vezérlésével és az állandó boot loop-pal. -
Teasüti
nagyúr
válasz
Janos250 #7127 üzenetére
Idáig már magam is visszafejtettem a demót.
Amit pillanatnyilag nem értek, az a pStrand használata:digitalLeds_updatePixels(pStrand)
Azt próbálom kisilabizálni, hogy ez egészen pontosan mire is hivatkozik és vhogy át kéne neki adnom a saját byte tömbömet, amiben a pixeleket tárolom globális változóként.
Nem szeretném a demóban lévő rainbow-t használni, az csak példa értékű.
A saját függvényeimet kell átírnom, hogy pointer-t használjanak, vagy pedig kell egy apró függvény, ami az általam alkalmazott byte tömbből csinál mutatót, amit át tudok adni adigitalLeds_updatePixels()
függvénynek.
Ha egyáltalán így működik a pStrand. Amíg nem tudom mire mutat... Egy tömbre? Vagy egy objektumra a STRANDS[] elemei közül? Vagy hogy tudom elérni közvetlenül az egyes pixeleket, amire mutat? -
Tankblock
aktív tag
válasz
Janos250 #7118 üzenetére
A demo2 nézem....
strand_t STRANDS[]
ből is kivetted a nem kellő részét?int STRANDCNT = sizeof(STRANDS)/sizeof(STRANDS[0]);
void app_main() ben
while (true) {
for (int i = 0; i < STRANDCNT; i++) {
strand_t * pStrand = &STRANDS[i];
rainbow(pStrand, 0, 2000);
digitalLeds_resetPixels(pStrand);
}
} -
Teasüti
nagyúr
válasz
Janos250 #7111 üzenetére
Elnézést ha túl sok gondot okozok, nem akarlak feltartani a saját munkáddal!
Csak nem tudom hirtelen hová forduljak segítségért, próbáltam keresgélni az adott library-vel kapcsolatban, de semmit nem találtam még a github-os repo-n kívül, meg egy fórum bejegyzésen kívül, ahol a készítő maga kérdezett vmit.Nekem úgy tűnik, hogy a demóban ez volna talán a deklaráció:
strand_t STRANDS[] = { // Avoid using any of the strapping pins on the ESP32
{.rmtChannel = 1, .gpioNum = 17, .ledType = LED_WS2812B_V3, .brightLimit = 32, .numPixels = 93,
.pixels = nullptr, ._stateVars = nullptr},
};
int STRANDCNT = sizeof(STRANDS)/sizeof(STRANDS[0]);Viszont a programozási ismereteim idáig nem terjednek, így nem tudom mi ez:
strand_t STRANDS[]
. Ez egy objektumként deklarált tömb volna? Az object array leírások nem igazán hasonlítanak erre a kódra. A kapcsos zárójelben lévő elemek is elég furák, mi az a pont minden egyes paraméter előtt? Meg hol van melyik változó milyen típus?És ha jól látom, akkor a frissítés az már a rainbow és a scanner függvényekből történik, vagyis eredendően más megközelítést használ mint én eddig. Én ram-ba írtam az eredményt és azt dolgoztam fel, mielőtt burst write-tal kiment a szalagra - és tulajdonképpen az egész library-ből csak annyit használtam, hogy tolja ki a szalagra az általam felállított byte tömböt.
Ha ennyit el tudnék érni ezzel az ESP-n, hogy írja ki a saját byte tömbömet a szalagra, annyi nekem bőven elég lenne. Nem kell semmi más funkció.Ha megnézem a Scanner osztályát (a class használata nekem kicsit magas, régen sem találtam elég bő lére eresztett leírást a szintaktikájáról, a spéci szimbólumok magyarázatáról), akkor ott látok pár parancsot, ami nekem kell ide, mint a
digitalLeds_updatePixels(pStrand);
valamint adigitalLeds_resetPixels(strands[i]);
parancsok. Viszont nem látom, hogy a pStrand az minek van deklarálva. Az egy tömb lenne?MÁS
Mi a probléma a kapcsoló üzemű táppal?
Stabilizált a táp ill. vannak bypass kondik a lap előtt?
Valószínűleg nem ide tartozik, de én PC táppal tapasztaltam hasonló problémákat, amit meg egy a közelében lévő másik fogyasztó csap le állandóan. A táp egy gőzelszívó ventilátor felett helyezkedik el és valahányszor kikapcsolják a ventilátort, a PC táp reset-el vmiért. Először azt hittem a Nano hülyül meg, televágtam bypass kondikkal, meg ESD védelemmel és még alufóliával árnyékoltam.De még így is levágta, aztán rájöttem, hogy nem a Nano reset-el (készenléti áramról kapja a tápot), hanem a táp maga kapcsol ki.
-
Teasüti
nagyúr
válasz
Janos250 #6642 üzenetére
Szia!
Kérhetnék egy kis segítséget ahhoz a led library-hez?
Nézegetem a demo1 példát, ami jár mellé, de nem igazán tudom értelmezni.
Nagyon gyenge vagyok a hardver közeli parancsokból, alacsony szinten nem is tudok programozni.
Azt se igazán tudom kisilabizálni, hogy hogy tudok led szalagot definiálni.
Ez a demo inkább emlékeztet egy library struktúrájára a .h fájlokban (a mai napig nem tudok library-t írni, egyszerűen nem értem a szintaktikáját), semmint egy magas szintű példaprogramra. -
Teasüti
nagyúr
válasz
Janos250 #6642 üzenetére
Köszönöm a segítséget!
Erre a válaszodra visszakanyarodva a ws2812 kapcsán:
az kézikönyvet olvasgatva nekem úgy tűnik az RMT és az Input Capture fejezetek ugyanarra a perifériára utalnak, vagyis ugyanazt a hardvert használja mindkét funkció?
Ugye van 8 csatornám, amit az infrán kívül be lehet fogni többek közt led vezérlésre is, viszont én szeretnék használni input capture-t is. Szerinted megoldható volna párhuzamosan a két különböző feladat?
Természetesen más-más csatornákon.Más: a cpu sebességet nekem kéne állítani, vagy az hardveresen van belőve kristállyal? Nem tudom mi az a flash frequency, ami 80 Mhz-re van állítva, de említést tesznek, hogy a cpu is 80-240 Mhz között állítható.
-
Teasüti
nagyúr
válasz
Janos250 #7077 üzenetére
Szia!
ESP32 WROOM 38pin vezérlőm megérkezett a minap. Most raktam fel Arduino alá az alaplapi meghajtókat.
Viszont lett egy rakás új menüpont az Eszközök menüben. Ezeket te hogy állítottad be? Jó az alapbeállítás? El tudom rontani (téglásítani)?
Köszönöm!Illetve normális az ha melegszik a lap? Olyan 30-40 fokos lehet, pedig semmit nem csináltam még vele csak lóg az usb-n.
-
Teasüti
nagyúr
válasz
Janos250 #6949 üzenetére
Tévedsz.
Atmel324p-vel én 300 db ws2812b ledet vezéreltem mindenféle gond nélkül.
A bonyolultabb effekteknél - mint mondjuk két eltérő effekt számolása + áttűnés a kettő között - az fps bezuhant kicsit, de így is értékelhető eredményt adott. Az egyszerűbb effekteknél, ahol nem kell sokat számolni, ott sok száz fps is elérhető volt. Maga a szalag frissítési ideje az nem akkora időszelet, hogy te szemmel bármilyen formában észrevedd, főleg magasabb fps-nél. Ekkor ugye nincs interrupt, szóval az idő számolása megáll arra a pár ms-ra, de nem vettem észre microstuttering-et az animációban. Pedig jó szemem van a kadenciahelyességhez.
Az meg hogy fizikailag több láncon vannak sorba fűzve a ledek, nem változtat semmit. A ledek számától függ az animáció sebessége, nem attól, hogy hány portra vannak szétszórva. Szép sorban végigmész a portokon a frissítés során. Egy kimenet helyett több kimenet van. Ennyi.
Több példányt kell csinálni abból az objektumból, amivel a led szalagot definiálod. -
szabifotos
senior tag
válasz
Janos250 #6912 üzenetére
Köszönöm mindenkinek a segítséget. Tehát PI+ router helyett elég egy harmadik ESP, amin webszerver fut, és erre kapcsolódunk telefonnal, hogy lássuk az állást.
Én úgy képzelem, hogy amint bekapcsoljuk a klienseket, azok felcsatlakoznak, és automatikusan kiíródik a versenyzők neve a html oldalon a számokkal. Így megoldható lenne, hogy azonosítható az oldalról, hogy ki játszik, nem csak #versenyző1 #versenyző2 lenne.
A jelküldés hogyan oldható meg? pl. Nyomás történik A0 bemeneten, akkor html kéréssel léptet egy számot az oldalon. Valami ilyesmi kellene...
Nem mondom el mihez kellene pontosan, de nem is jut eszembe milyen projektben használhatnak hasonlót, hogy példa kódot keressek
-
Tankblock
aktív tag
válasz
Janos250 #6942 üzenetére
Hello,
Ha lenne annyi időm... már nem lenne
[link] de van akinek sikerül...
Maradtam a jó öreg Raspi 3 Mosquitto / Nodered párosnál, s ha már itt tartunk akkor a SonOff Touch egyet be is üzemeltem ma.
Alexa köszöni jól el van, szobában a fő villany már szépen kapcsolható web/Alexa/touch alapon....
esp32 nél a freeRtos vagyok úgy hogy jó lenne minden részét végigpróbálni, de a TaskNotify még nincs kész. Talán a hétvégén marad némi felesleges időm....
-
válasz
Janos250 #6923 üzenetére
A telnet más tészta, mint a http kapcsolat.
De ha arról akarsz meggyőzni, hogy az esp-n fut egy telnet szerver, és te egy telnet klienssel bejelentkezel rá pc-ről, akkor ezek után az esp kérés nélkül tud adatot küldeni a pc-re a telnet kliensnek, akkor arra csak azt tudom mondani, hogy egy fenét.Ugyanis a kérés a kliens felől akkor kezdődik, amikor bejelentkezel vele a szerverről, és akkor zárul, mikor kijelentkezel. Ha te kijelentkezés után is tudnál az esp szerverről adatot küldeni a pc-s kliensre, oly módon, hogy a célgépen elindul a putty, és felépül a telnet kapcsolat,
akkor lenne igazad. De fogadjunk, hogy erre még Te sem vagy képes. -
válasz
Janos250 #6917 üzenetére
Fogalomzavar. Egy szerver nem attól szerver, hogy Te annak nevezed. Szerver az, ami nyit egy portot a külvilág felé, és azt figyeli, a kliens pedig, ami ezen keresztül a kommunikációt kezdeményezi. Ha a te szervered adatot küld a kliensek felé anélkül, hogy a "kliens" kezdeményezné, akkor ott bizony a szerver a kliens és kliens a szerver. Gondolom ez nem is megy anélkül, hogy a kliensed nyitna egy portot a kommunikációhoz.
Szóval “Ha úgy hápog mint egy kacsa, úgy jár mint egy kacsa, és úgy néz ki mint egy kacsa, akkor az egy kacsa.”A telnet részét nem értem pontosan, azt írtad, hogy telneten keresztül is küld adatot. Pontosan hová?
-
gyapo11
őstag
válasz
Janos250 #6912 üzenetére
A server nemigen küld adatot, csak várja, hogy a kliens, jelen esetben a telón futó böngésző megszólítsa és kérjen valamit. Ezért ha a serverre fut be adat, azt csak akkor fogja látni a kliens, ha lekérdezi. Mivel nem tudja mikor fog jönni, ezért minél sűrűbben kell kérdezgetni, ez meg eléggé leterheli a servert. kicsit lehet javítani a dolgon azzal, hogy egy külön lekérdező oldal legyen, ami semmi mást nem csinál, mint figyeli, hogy jött-e adat, és ha igen, akkor küldi a megjelenítő oldalt, amin már a friss adat van.
Az ajax sem segít ezen, az csak annyi, hogy pl. javascriptből is lehet futtatni egy php kódot a serveren, és az oldal frissítése nélkül lehet az oldal kinézetét módosítani. De ezzel is pörgetni kell a pollozást, ha nem akarunk nagyobb késleltetéssel értesülni a friss adatról.
Fordítva jobb lenne, csak ahhoz a bíró kezében kellene a servernek lenni. Ha a kliensek beküldik az adatot, azt a server azonnal tudja és meg tudja jeleníteni. De nem tudom hogy lehet telón servert futtatni és kijelzést programozni. Mert ha a telón a server és ugyanott egy böngésző a kliens, akkor nem nyertünk semmit. -
robohw
aktív tag
válasz
Janos250 #6906 üzenetére
""Bevált" kit nem nagyon van, mindenkinek más a szempontja."
Egy kezdőnek milyen szempontjai lehetnek?
És ha már az ár.
Amit ajánlasz, az véleményem szerint azért elég sekélyes egy kezdő számára. Ledek villogtatásába hamar bele lehet unni, ha olcsó a készlet, ha nem.
A másik szet viszont - nem azért, mert én ajánlottam, de - tele van minden földi jóval, ráadásul egy DVD is tartozik hozzá, amelyben - gondolom én - vannak - nyilván lepróbált, tesztelt - kész kapcsolások, példakódok, tutorial, netán még fejlesztő rendszer is. Ez önmagában nagyon nagy segítség egy kezdő számára.
A 12 rugó környéki ár pedig abszolút nem sok, pláne ha a dolog azon hozadékára gondolok, hogy mi mindent megépíthet a kisérletező abból a kitből néhány plusz klón UNO vagy NANO megvásárlásával. -
fpeter84
senior tag
válasz
Janos250 #6892 üzenetére
LVCH245A Octal bus transceiver; 3-state
Inputs accept voltages up to 5.5 V
In accordance with the Absolute Maximum Rating System...
VI input voltage [1] 0.5 +6.5 V[1] The minimum input voltage ratings may be exceeded if the input current ratings are observed.
wikipedia.org/wiki/RS-232#Voltage_levels
RS-232 logic and voltage levels
Data circuits Control circuits Voltage
0 (space) Asserted +3 to +15 V
1 (mark) Deasserted −15 to −3 VSemmiképpen nem ajánlott közvetlenül rákötni, mert a pozitív irány is bőven túllépheti a tolerált tartományát, de a jel negatívba is megy ugyanannyit... Fizikailag lehet kibírná, működne, de inkább ne kockáztass ha nem az életed múlik rajta
A leg elegánsabb megoldás természetesen egy MAX232/MAX3232 alapú illesztés, de ha elég alacsonyabb sebesség (félvezető típustól függően akár 19200-38400 baud, de a 4800-9600-ra garantáltan elég) akkor ezt a tranzisztor+dióda+2 ellenállásos kapcsolást másolva is meg lehet oldani:
A negatív jelet levágja a dióda, a pozitívval pedig egy ellenálláson keresztül le-lehúzza az NPN tranzisztorral a felhúzott RX lábat. Ha az általános diódát egy ~3-5V-os zener-re cseréled, akkor akár a tranzisztort is el lehet hagyni! Elég felhúzni a bemeneti lábat 3-5V-ra és azt lerángatni a bejövő negatív jellel földre a másik ellenálláson keresztül... (a zener a negatív és a pozitív túlfeszt is lenyesi, csak az analizátor programban a serial async kiválasztásakor az invertált jelet is be kell pipálni, mert ugye a tranzisztor ezt is biztosítaná)
-
Janos250
őstag
válasz
Janos250 #6892 üzenetére
Most látom, nem is kellett volna saját fényképet csinálni, itt vannak:
http://www.neko.ne.jp/~freewing/hardware/usb_logic_analyzer_cy7c68013a_clone/ -
fpeter84
senior tag
válasz
Janos250 #6880 üzenetére
Feltételezem a rajta lévő kapcsüzemű táp + AMS1117-nél lehet sokkal jobb üresjárati áramú tápot kreálni hozzá. Azt még nem álmodtam meg, hogy 2xAA elemről vagy 1x3.7V Li akkuról menjen e... Annak még utána kell nézni/ki kell próbálni hogy mit szólna az ESP a táp nélkül közvetlenül két AA elemről járatáshoz - gondolok itt a kicsit gyengülő elem állapotra, hogy meddig képes stabilan elindulni még róla. Ha pedig Li akku, akkor kell elé egy 1 fokozatú táp (nem kell 5V), aminek a létező legkisebb az üresjárati pazarlása...
Közben már keresgélek, de konkrét választ még nem találtam a mAh/várható készenléti állapot kérdésre... Régebbről rémlik egy videó, ahol az illető gombelemről járatta az ESP-t, és mintha közel 1 hónapos készenlét lett volna a konklúzió. No ezzel ki tudnék egyezni, akkor két AA-ról járatva nem kellene túl gyakran elemet cserélni
-
tvamos
nagyúr
válasz
Janos250 #6852 üzenetére
Nem nagyobb a valószínűsége, mint mondjuk, hogy a TV-d, villanykapcsolód, konnektorod, hosszabbítód, mosógéped kigyullad.
Lehet, hogy ez igy van, (bar szerintem ezt igy nem mondanam egy random webshop-bol vasarolt barmire,) de abban biztos vagyok, hogy ha vesz egy akarmit (TV-t, mosogepet, akarmit mondjuk a Tesco-ban,) akkor arra van megfelelosegi nyilatkozat, es van gyartoja, vagy importore, aki felelosseggel tartozik a termekert. Ha kigyullad, es viszi a lakasat, akkor lesz felelos. Ha meg vesz valamit kinabol a Banggoodon, akkor o az importor, es a felelos is, ha mondjuk a tuzolto kideriti, hogy a kiani cucc gyulladt ki. Utana meg mondhatja, hogy "Ja, az a sonoff, de Janos250 azt mondta, nyugodtan hasznaljam!" -
gyapo11
őstag
válasz
Janos250 #6852 üzenetére
Nem tudom milyen kommunikáció zajlik a wifin át, és hogy mennyire könnyen törhető, de az androidos appba föl kell venni az eszközt, és azt csak a lokális hálón belül lehet, ha jól emlékszem. Tehát távolról az appal nem lehet csak úgy megszólítani az eszközt.
Én jobban félnék a kigyulladástól. Olcsó kínai cucc, olcsó alkatrészekből, trehány forrasztások, alulméretezett hűtés. Ezt nem a sonoffra mondom, hanem általában.
Új hozzászólás Aktív témák
Hirdetés
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude E5570 - i5-6300U I 8GB I 256GB SSD I 15,6" FHD I HDMI I CAM I W10 I Gari!
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- BESZÁMÍTÁS! ASUS ROG Ally Z1 Extreme 512GB SSD játékkonzol garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest