- Gurulunk, WAZE?!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Argos: Szeretem az ecetfát
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Luck Dragon: Asszociációs játék. :)
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Parci: Milyen mosógépet vegyek?
- gban: Ingyen kellene, de tegnapra
- Kempingezés és sátrazás
-
LOGOUT
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
-
vargalex
félisten
válasz
its_grandpa #19446 üzenetére
Az
nvs_get_str
hívásnál alen
változó címe van átadva, azért, hogy aznvs_get_str
adja vissza benne abuffer
tényleges hosszát.Ha jól olvasom, az
1102
-es hiba azESP_ERR_NVS_NOT_FOUND
: "A requested entry couldn’t be found or namespace doesn’t exist yet and mode is NVS_READONLY" -
vargalex
félisten
Így van, ez esp32 esetén mindig elérhető lesz, ahogy esp8266 esetén az ESP8266WebServer, ahol szintén elérhető az
arg
metódus. -
vargalex
félisten
válasz
ViZion #19119 üzenetére
A Telenor eszközön biztos nem, de rendes routeren meg tudnád csinálni, hogy a DNS kéréseket a saját (vagy tetszőleges) DNS szerverre irányítod. Hiszen a DNS kérések cél portja az 53, így az alapján irányíthatod... Ezzel mindegy lenne, hogy milyen DNS szerver van beállítva a klienseken.
-
vargalex
félisten
válasz
ViZion #19109 üzenetére
Nem arra gondoltam, hogy a szűrés megvalósítható-e. Hanem arra, hogy fel tudsz-e venni saját hostname-t privát IP címmel (hogy arra oldja fel), hiszen ez volt a kérdés.
Ha az eszközeidnek a saját DNS szerveredet hirdeted, akkor olyan nincs, hogy a telenor szervere old fel valamit. Hacsak a te DNS szervered nem oda forwardolja valamiért a kérést. Illetve nyilván lehet olyan alkalmazás, ami IP alapon ér el valamit, ezen nem fog segíteni.
-
vargalex
félisten
Én szeretem tudni, hogy mi miért és hogyan van beállítva...
-
vargalex
félisten
válasz
Tomika86 #17599 üzenetére
Így van és a legnagyobb probléma az, hogy hiába írod át ezeket, úgyis lemennek kliens oldalra. Ezért érdemes egy POST, vagy GET endpointot létrehozni a loginhoz (és persze akkor még egyéb feladatok, pl. session cookie létrehozás is van, amivel ellenőrizni tudod, hogy az adott kliens már authentikált-e). Így az authentikációs adatok csak az arduino kódban vannak meg.
-
vargalex
félisten
válasz
gaborvezer18 #17451 üzenetére
Szerencsére régen windows-oztam, de mindig szívás volt a soros driverekkel (is). Linux alatt a legtöbb cucc alapból támogatott a kernelben. Ezen videó szerint Digistump Driver kell.
-
vargalex
félisten
válasz
Janos250 #17385 üzenetére
Az jogos is lenne, de ez a forráskód részlet:
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "\n Hello, World!\n <br>\n" ;
htmlstring += " ide jonnek a feldat szerinti dolgok\n <br>\n" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body>\n</html>" ;
semmivel nem tagoltabb, mint ez:
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "Hello, World!<br>" ;
htmlstring += " ide jonnek a feldat szerinti dolgok<br>" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body></html>" ;
-
vargalex
félisten
válasz
agent_k #15853 üzenetére
Ha jól olvastam, a többiek már írták: developer board-al (ilyen ugye a wemos s1 mini is) nagyon nagy lesz a deep sleep fogyasztás egy csupasz esp8266-hoz képest. Ha jól láttam, a kolléga az én kódomat (is) linkelte. Nálam percenként van ébresztés, 10 percenként wifivel (addig csak RTC memóriába tárolja a mért hőmérséklet és feszültség adatokat) és küldi a szervernek HTTP POST-al. Így 1 db 18650-es cellával átlag 4-5 hónapot elmegy. 3 V alatt a szerver oldal e-mail-ban riasztást küld, hogy cseréljem a cellát.
-
vargalex
félisten
válasz
Tomika86 #15682 üzenetére
Utóbbira írtam, hogy mivel a változó értéke egy másik változótól függ, így az ne változó, hanem függvény legyen. Most csak telefonról vagyok, de nagyon csúnyán:
unsigned long PeriodBetweenPulses() {
return ZeroTimeout+1000;
}
Majd, ahol használod, ott a
PeriodBetweenPulses
-t lecseréledPeriodBetweenPulses(
)
-re. -
vargalex
félisten
-
vargalex
félisten
Ott van az Arduino IDE-ben a lehetőség: Vázlat -> Lefordított bináris exportálása (Sketch -> Export compiled binary). Gyorsbillentyű: Ctrl+Alt+s. A forrás mellé létrehozza a binárist, de elérheted a könyvtárat szintén Arduino IDE-ból a Vázlat -> Vázlat mappa mutatása (Sketch -> Show Sketch Folder) menüpontból. Gyorsbillentyű: Ctrl+k.
Lehet, hogy rosszul értelmezem amit írsz, de nekem az jön le, hogy később, ha board-ot cserélsz (akár más típusra), akkor ezt a binárist akarod feltölteni. Ez nyilván nem fog menni, board típusonként külön binárist kell fordítanod, nem fog egyik a másikon futni... Éppen ezért az Arduino IDE az így exportált bináris file nevébe bele is teszi okosan a fordításkor kiválasztott target board nevét.
-
vargalex
félisten
válasz
Janos250 #15302 üzenetére
Ha erről a kódról van szó, akkor nem csoda, hogy nem jelenik meg semmi a serial monitoron... Nincs is inicializálva a Serial. Mondjuk az ESP8266 inicializálásának azért látszania kellene.
Az AP nevének meghatározása sem ördögtől való, egyszerűen felhasználja a MAC címből az utolsó 2 octetet azért, hogy egyedi legyen az SSID több eszközön egymás mellett futtatva ugyan ezt a kódot.
Egyébként maga az AP létrejön, én eddig teszteltem.... -
vargalex
félisten
-
vargalex
félisten
válasz
Janos250 #14916 üzenetére
A console.log csak a javascript console-ra (böngészőben F12-t nyomva a Console fül) ír logot.
Ajax hívásra válaszolni kell (azt hittem, hogy ez világos), hiszen azt szokás figyelni a callback függvényben (ugye aszinkron hívás). Összességében valami ilyen kellene:
var sliderValueForraloFutes = document.getElementById("csuszkaErteke").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function()
{
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("folyamatosKiiras").innerHTML=xhr.responseText;
}
}
xhr.open("GET", "/?F="+sliderValueForraloFutes, true);
xhr.send();
Itt láthatod, hogy az onreadystatechange callback függvényben vizsgálhatod a visszatérési értéket, sőt én ott most direkt az ajax hívásban visszaadott responseText-et állíttotam be a folyamatosKiiras elem innerHTML-ének. -
vargalex
félisten
válasz
Gyula84 #14692 üzenetére
Szia!
Simán ASCII kódként jön át a buffer-ben (ahogy az a működő kiírás alapján sejthető volt). Én ezt a részt:
for (i = 0; i < buflen; i++) {
lcd.write(buf[i]);
}
lecserélném valami ilyenre:
char received[10];
for (i = 0; i < buflen; i++) {
lcd.write(buf[i]);
received[i] = char(buf[i]);
}
received[buflen] = '\0';
double data;
data = atof(received);
if (data>riasztasi_homerseklet) {
tone...
}
Akkor egy lépésben meglenne az LCD kiíratás és a char tömb feltöltés. A cikluson kívül pedig konvertálunk, majd lehet vizsgálni az értéket.
-
vargalex
félisten
válasz
Drótszamár #14232 üzenetére
A Xiaomi power bankon elvileg van low power charging mode. Igaz, ha jól olvasom, csak 2 óráig. Duplán kell megnyomni a power gombot hozzá.
-
vargalex
félisten
-
vargalex
félisten
válasz
gyapo11 #12075 üzenetére
Akkor már nagyon közel vagyunk az ESP8266 deep sleep fogyasztásához (ha túl nem léptük), így felesleges vacakolni vele. Az rf modult és a hőmérőket szerintem nyugodtan lehet GPIO-ról hajtani (én is azt teszem), így csak akkor terhelik a tápot, ha nincs deep sleep. Sőt, ha ESP8266, akkor nyilván az RF modul is felesleges...
-
vargalex
félisten
válasz
Victoryus #11231 üzenetére
Ha jól értem, akkor lenne egy ilyen szöveg érkezne pl: abc123. Ebből ugye az abc a csatorna neve, az 123 pedig az érték. Ansi C-nél ez azért elég egyszerűen kezelhető (ha tudod a csatorna név hosszát). A korábbi példánál maradva, ha a packetBuffer-be érkezik, akkor ennyi:
int iValue = atoi(packetBuffer + 3);
És így máris int-ként ott van az érkezett érték az iValue-ban.
-
vargalex
félisten
válasz
Victoryus #11224 üzenetére
Most néztem meg igazán az eredeti kódodat. Nem használtam eddig a WiFiUdp könyvtárat, így most néztem utána, hogy a read függvény második paramétere a maximális buffer méretet adja vissza, amin a te kódod végig is ment, így nem egyezett a vizsgálatnál. Viszont a read függvény visszaadja a beolvasott karakterek számát.Valamint UDP-n egy újsor (\n) is érkezik, így ezért sem jó a vizsgálat. Erre módosítottam (a vizsgálatot is átírtam, mert teljesen felesleges egy String-be is bemásolni). Nálam a Wemos R2 mini-n HIGH állásban kapcsol le a beépített LED és LOW állásban világít, de egyébként helyes a LED_BUILTIN értéke.
-
vargalex
félisten
válasz
Victoryus #11224 üzenetére
Pontosan milyen boardra build.-eled? Mert ugye a Wemos D1 R2 / mini esetén 2 a LED_BUILTIN értéke.
0 szerintem nem érkezik, csak azért megy bele az if-be, mert üres String esetén a toInt 0-t ad vissza. Így én vizsgálnám a packetSize értékét is.
-
vargalex
félisten
válasz
Victoryus #11212 üzenetére
Nem jól értelmezed és ebből adódik a problémád is. A station mode az, amikor egy wifi Access pointhoz csatlakozik az ESP8266. Azaz a kód hibátlanul működik, csak nem tud csatlakozni a megadott SSID-vel rendelkező hálózathoz (mert ugye nincs is).
Az viszont továbbra is érvényes, hogy biztos, hogy nem csak pontokat ír a soros konzolra. Előtte ott kell lenni a Connecting szónak is. -
vargalex
félisten
válasz
gyapo11 #11173 üzenetére
Szinte biztos, hogy szerveren keresztül megy a teljes kommunikáció, ellenkező esetben legalább az egyik tagnak kívülről elérhetőnek kellene lennie...
Értettem, hogy nem a TeamViewert akarod mikrovezérlőn futtatni, de azt gondoltam, hogy konkrétan arra gondoltál megvalósítani. Az pedig a zártsága miatt lehetetlen. Persze, hasonló elven működő saját interface-t ki lehet találni, de akkor kell egy mindkét oldalról elérhető szerver. -
vargalex
félisten
-
vargalex
félisten
válasz
Janos250 #10885 üzenetére
Én is használom több helyen. Többek között zseblámpákban is (Convoy S2+) és ESP8266-okkal is. Előbbi villogással jelzi a merülést, utóbbiak a hőmérsékletek mellett a beérkező feszültséget is post-olják, amire szerver oldalon egy riasztást írtam. (Nyilván az alkalmazott HT7333 miatt csak azt érzékelem, ha 3.3V alá esik).
Csak notebook akkukból bontott, illetve 8 db, az említett eladótól beszerzett celláim vannak. -
vargalex
félisten
válasz
Teasüti #10166 üzenetére
Szia!
Az include ugye a definíció előtt szerepel a kódban? <> és a "" include között csak a keresés sorrendjében van különbség. Előbbi esetében az IDE-ben definiált search directory-kban keresi, ezt használjuk a lib-ekben definiált header-ek include-olásához. A "" módon megadott pedig először a programod forrás könyvtárában keresi a header file-t, ezt a saját modulok include-olásához használjuk.
-
vargalex
félisten
Szia!
Ha a piros gombot megnyomod, utána sem megy az enkóder alapú vágás? Amiért kérdezem:
- nincs inicializálva a currentpulse változó (és a voros sem egyébkén), így akár az is lehet, hogy annak értéke a kezdéskor (bár nem olvastam utána, hogy arduinoban van-e automatikus változó inicializálás, így csak a C-ből indulok ki) valami kicsi negatív szám, így jó későn fogja elérni a pulzus értékét.
- én a currentpulse változó értékét a loop if-jének legelején nulláznám, ugyanis így elvesztesz 300 ms-nyi interrupt-ot (ugye addig az interrupt tovább növelgeti az értéket, de utána nullázod - persze lehet, hogy az a cél, hogy a vágás vége és a következő vágás eleje közötti idő legyen állandó).Egyébként nézted a volatile leírásában az "int or long volatiles" bekezdést? Ugye a 8 bites olvasás pont okozhat gondokat.
-
vargalex
félisten
Station mode-ban (gondolom úgy használod) az ESP8266 esetén automatikus Modem-sleep van, így ha éppen alszik a wifi modul, akkor szerintem teljesen normális a 100-500 ms válaszidő. Ilyenkor a router által megadott DTIM Beacon interval lejárta előtt ébreszti automatikusan a wifi-t. Ez kb. 100 ms általában.
A modem-sleep üzemmódot ki tudod kapcsolni awifi_set_sleep_type(NONE_SLEEP_T);
hívással. Itt is van a témáról egy kis olvasnivaló.
Új hozzászólás Aktív témák
Hirdetés
- Lenovo ThinkPad X13 G2 multitouch
- BESZÁMÍTÁS! ASUS ROG STRIX Z270G GAMING WiFi alaplap garanciával hibátlan működéssel
- AKCIÓ! ASUS PRO WS W790E-SAGE SE alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASRock A520M R3 3100 16GB DDR4 512GB SSD RX 6500XT 4GB BitFenix Neos Thermaltake 500W
- MacBook, Apple M1 / M2 kompatibilis dokkolók, DisplayLink 4K, USB-C, Type-C
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest