-
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
-
válasz
its_grandpa #15203 üzenetére
Miért ellenjavallt? Ő esp32-re írta a kódot, ahol kimondottan elvárt a delay-ek használata, tekintve, hogy ott adja át a vezérlés a többi szálnak, pl. wifi.
-
its_grandpa
tag
válasz
Janos250 #15192 üzenetére
Belenéztem a kódba kíváncsiságból. Abba most nem megyek bele mennyire szépen van megírva, én pár dolgot másképp csinálnék, pl. túl sok benne a "magic number".
A gond a delay-el van ami ebben az esetben vélhetően nem okoz gondot, azonban az ESP-n ellenjavalt ilyen hosszú delay-ek használata, számtalan helyen leírták, egy példa a sok közül: https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/using-the-arduino-addon
Nem kötözködésből írtam, a jobbító szándék vezérelt, peace. -
Janos250
őstag
Az alapvető gond az volt, hogy összekevertem a PN532 (ami nekem van) chipet egy 522 leírással, így az egyszeri inicializálás miatt volt a gond.
Ez a verzió ESP32-n működik a PN532 chippel.
Van egy 522-es is, de az ugyanezzel a programmal nem megy, majd ha lesz kedvem, tökölök azzal is.
Az egy kisebb téglalap alakú, ez, amit most használtam, az meg egy piros négyzet alakú.
Van persze a komplett Adafruit szoftver, ami jó, és elég sok mindent tud, de hát az ember meg akarja ismerni a részleteketAkkor is, ha az nem lesz olyan univerzális.
Elvileg tud a panel soros és I2C protokollt is, de azt nem próbáltam.
Ez 15.36 Mhz-es, van korábbról 125 kHz-es, de azoknak a megbízható használata nem ment.
Azzal elvileg semmit nem kéne csinálni, mert feltalálták a spanyol viaszt: semmit nem kell vele csinálni, ha közelíted a kártyát, UART-on küldi a kódot. Semmi mást, csak a kódot.
Az első példány, amit vettem, hol küldte, hol nem.
Vettem másikat, gondolván, gyári hibás. Az meg egyáltalán nem küld semmit.
Más:
Ha már megvan, megnéztem pár dolgot:
1. magyar személyi: olvassa, de randomos, azaz mindig mást ad. Ezt a módszert , ha jól tudom, az amerikai útleveleknél vezették be először. Kell hozzá ismerni a titkosítást, hogy visszanyerd a tényleges infót. Csak a kód első jegye állandó:08, ez jelzi, hogy random titkosított.
2.bankkártya: olvassa, és mindig ugyanazt a kódot adja vissza, nincs rajta randomizáló titkosítás (Erste és Revolut kártyákkal próbáltam.) -
Janos250
őstag
Ha valakit később érdekel, tettem fel egy mintaprogramot a PN532-es chipen alapuló 13.56 Mhz-es RFID panelok használatára ESP32-n, hardver SPI-vel megoldva:
https://arduinouser.hu/esp32/PN532_RFID/ESP32_RFID_PN532_SPI_Arduino_Budapest2021apr24.ino -
válasz
ekkold #15190 üzenetére
Ez a piezo-s lifehack nagyon eredeti ötlet, megjegyzem későbbre!
A hall szenzorhoz annyit tennék hozzá, hogy az esp32-ben beépített hall szenzor van (hogy milyen célból, arról fogalmam sincs), ha feltétel a vezetéknélküli működés, akkor egy ilyennel egymagában is meg lehet oldani.
-
Janos250
őstag
válasz
Tomika86 #15180 üzenetére
Kirészletezve:
ESP321 SPI vonalai összekötve a 13.56 MHz-es olvasó megfelelő lábaival, közben a madzagok "megcsapolva", hogy a SALEAE digitális analizátoron lássam a forgalmat. SALEAE is, és ESP is USB-n gépbe.
Adafruit programját feltöltve az ESP32-be, rendesen működik. Kikapcsolás nélkül feltöltök az ESP32-re egy programot, ami az ESP saját SPI hardverjét használja. Szintén működik.
Kikapcsolás után ugyanez a program nem működik, úgy, mintha az Adafruit valamit átállított volna a slaven. Viszont digitális analizátoron nézve, az Adafruit, és a saját UGYANAZOKAT a jeleket küldi, ugyanolyan időzítéssel. Mi a fenét kellene még vizsgálni, hogy kiderüljön, mi állítódik át az Adafruit hatására, hogy utána a kikapcsolásig működik a másikkal is. -
Janos250
őstag
válasz
Tomika86 #15177 üzenetére
Valaki használta már ESP32-n a saját SPI-vel valamilyen 13.56 MHz-es olvasót? Van két olvasóm. Az egyikbe eddig nem sikerült életet lehelni, de a másik hibamentesen működik az Adafruit programjával, viszont ESP32-n vannak gondok. Saleae-n nézve PONTOSAN ugyanazt küldöm ki, időzítések is pont ugyanazok, mégsem tudja olvasni. Érdekes, hogy ha előtte az Adafruit programmal olvastam, akkor jó az ESP SPI driverrel is, de áramtalanítás után már nem. Tanácstalan vagyok. Mit lehet még nézni, ha az analizátor ugyanazt mutatja?
-
gyapo11
őstag
válasz
WinZol #15172 üzenetére
Kijelzőre ötlet a régebbi Nokiák közül valamelyiknek a kijelzője. Nem túl nagy és fekete-fehér, de legalább olcsó ha sikerül találni. Hogy pontosan melyik azt nem tudom, de google biztos segít.
Amúgy esp-hez a web felület jó, amit János250 szokott ajánlani, és akkor bármivel nézheted, amin fut egy böngésző. -
WinZol
aktív tag
Hi,
Egy szauna vezérlést akarok magamnak összerakni.
A vezérlő egy ESP8266 / ESP32 lesz.A "vezérlő" képernyővel vagyok bajban.
Két variáció jutott eszembe:
1. Nextion 4,3
2. Egy androidot futtató kijelző, amin az MQTT DASH app futna.
Minta project hozzá.A második mellett szólna, hogy telefonról is ua. a felület működhetne.
Persze egy kiszuperált telefon is jó lehetne erre a célra, ha esztétikusan tudnám rögzíteni. (de szerintem az nem megy)Valami más ötlet?
Arduinót futtató kijelző ember áron (max 20 eHUF)?Köszi
WinZol
-
nessh
tag
Sziasztok,
Rávettem magam hogy próbálkozzak, kinéztem magamnak ezt a projektet [link]
Amikor feltölteném a kódot, azt a hibát dobja hogy:
TFT_eSPI.h: No such file or directoryHova kéne tennem ezt a file-t hogy megtalálja?
Közben megoldottam... Úgy álltam neki a dolgoknak hogy be se lőttem rendesen a library-kat...
-
Janos250
őstag
válasz
gazso75 #15037 üzenetére
Most kell feltölteni a tartalékokat, mert ha 1-2 héten belül nem rendeljük meg, az már tébolyda lesz a drága és elhúzódó adminisztráció miatt. Ha egy párszáz forintos tételre ki kell fizetni az 1-2 száz forint ÁFA mellé még a többezer forintos adminisztrációs díjat, az bizony kellemetlen lesz. Lehet mondani persze, hogy vedd meg a hazai kereskedőtől, de rengeteg olyan dolog van, ami nincs a hazai kereskedelemben. Lesznek persze továbbra is olyan netes áruházak, amik EU raktárról küldik az árut, de ott jóval kisebb a választék, és amit ott nem találsz meg, kénytelen leszel továbbra is kinnről rendelni. Szóval csinálj leltárt, és amire szükséged lehet, azt gyorsan rendeld meg. Nekem is most vannak útban még ilyen-olyan stiftek, csavarok, szenzorok, dugdosós kábelek, csatlakozók, IC-k, modulok, ESP32-k, tápegységek, FET-ek, miegymás.
-
Janos250
őstag
Az egyik ESP32-n olyan WEB szerver van, ami a 80-as porton kommunikál, hosszú, hogy miért. Mivel itthon is próbáltam, a routeren a kintről jövő port 80-as lekéréseket ráirányítottam
az ESP32-re, és kb egy órát magára hagytam. (ebéd)
Meglepődve láttam, hogy ez alatt az idő alatt 22 alkalommal próbáltak belépni, 12 IP címről:
27 224 137 17
45 45 10 45
46 245 22 225
101 200 204 55 3x
118 89 65 15 3x
128 14 134 170
167 71 39 182 7x
180 252 124 7
184 105 139 68
194 50 14 21
200 107 89 157
205 185 122 102
Ezekkel az URL "toldalékokkal":
/_ignition/execute-solution kétszer
/boaform/admin/formLogin
/config/getuser?index=0 kétszer
/login
/manager/html
/TP/public/index.php
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
/wp-login.php
admin/login.asp
Az IP címeket a http://geoiplookup.net/ -en megnézve, a legkülönbözőbb helyeken vannak. Főleg Ázsiában, de Amerikában, Németország, Oroszországban is. Még szerencse, hogy az ESP programja, ha számára értelmezhetetlen adatot kap, egyszerűen eldobja.
Ezek szerint az Arduinos megoldásoknál is bizony számítani kell arra, hogy megpróbálnak betörni, ezt le kell kezelni.
-
Janos250
őstag
Valaki kérte pár hónapja, hogy a string kezelésről az ESP32-n dologról írjak le neki pár dolgot.
Ami úgy hirtelenjében eszembe jutott, azt lefirkantottam. Terveztem, hogy majd egyszer rendbe teszem, de az elmaradt.
Én alapvetően lusta ember vagyok, és a lustaság - mint tudjuk - fél egészség, és az egészség manapság nagyon fontos
Ezért aztán így maradt, de felteszem, hátha valakit érdekel.
Ha éppen nincs jobb dolgod, belenézhetsz, ha érdekel.
Ne tessék morogni, hogy fésületlen, tudom. :-)
stringekről valami ESP32-n -
gyapo11
őstag
válasz
RAiN91 #14972 üzenetére
Ha a nagy impedancia a probléma, akkor 20 mA-ben kellene gondlkodni, ami 3.3 V-on 165 Ω, tehát jóval kisebb, mint amiről beszélgettek. Vagyis a hosszú vezeték egyik végén a nyomógomb, a másik végén az esp, a D7 közelébe forrasztott 165-200 Ω-os ellenállás a pozitívra és esetleg párhuzamosan egy kondi, de szerintem 20 mA nagyságrendű jelet nem fog egy 4 m-es drót összeszedni, de ha mégis, akkor a kondi azt megeszi, ezzel kicsit lassítva a H szint megjelenését a bemeneten.
-
PBA
aktív tag
Igazság szerint itt arról van szó, hogy mondjuk van 5 ember az adott WIFI AP közelében, mindegyiknek van egy-egy ESP boardja mikrofonos fülessel, az ESP-k a WIFI-n keresztül csatlakoznak egy SIP szerver konferencia szobájához, és így mindenki hall mindenkit oda-vissza.
Próbálkoztam mobilos kliensekkel, nem igazán váltak be. Lefogyott, az app háttérbe került és leszakadt, és ezer egy probléma merült fel. A célom egy faék egyszerűségű és megbízható megoldás kialakítása, és szerintem ez az ESP-s cucc pont ez tudná:
kicsi a fogyasztása, elvileg megbízható, egyszerű a használata, és teljesen testre szabottan alakítható ki (olyan dobozba teszem, ami nekem a legjobb, olyan akkut teszek mellé, amilyen kapacitású kell, stb).
Már csak infót/embert kell találnom, hogy meg tudjam valósítani az elképzelést.
-
PBA
aktív tag
-
-
PBA
aktív tag
Köszönöm!
Természetesen szívesen leírom majd, hogy mire jutottam, ha sikerül kibogozni a szálakat. Az a baj, hogy ESP-vel nekem sincs tapasztalatom, a kis fogyasztás miatt tetszett meg a dolog, meg ezek egész jó kis "all-in-one" boardoknak tűnnek, első ránézésre simán össze lehetne kalapálni belőlük egy jó megoldást, persze ez még csak az elmélet... -
Semmi gond!
Ha mégis úgy alakul, a hardverapró állás rovatában tudsz ezzel kapcsolatban hirdetni, de az itt kapott segítséggel szerintem egyedül is menni fog!
Nem kell ezzel privátba menni, erre való a topik. Engem is érdekel ez a projekt, mindenképp írd be ide, hogy mire jutottál vele! Én személy szerint nem vagyok túlzottan otthon esp témakörben, de hál' istennek sok hozzáértő jár itt, valaki biztosan segít. -
PBA
aktív tag
Sziasztok,
remélem, jó helyen járok a kérdésemmel... ESP32 alapon szeretnék egy lebutított SIP klienst üzembe állítani. Azt látom, hogy a kínai webshopokban vannak olyan boardok, ami kvázi fel vannak erre készítve, azaz kezelnek akkut, van benne WIFI, füles ki- és mikrofon bemenet, stb.
Leegyszerűsítve a cél az, hogy az az ESP32 board bekapcs után automatikusan fellépjen egy meghatározott WIFI hálóra, és csatlakozzon egy SIP szerverhez. Így megvalósulna a kétirányú audio kommunikáció.
Nem vagyok otthon a fejlesztési részben, így ehhez keresnék valakit, aki tud ebben segíteni. Nyilván a fáradozását honorálnám. Előre is köszönöm és elnézést, ha nagyon off-topic a dolog. Privát üzenetben elérhető vagyok!
-
Tankblock
aktív tag
válasz
Janos250 #14905 üzenetére
Bocs, épp mindennel el vagyok foglalva csak fórumozni nincs időm...
Na szóval javascript ugye...
elemnek legyen id ja és akkor scriptből lehet a tulajdonságait módosítani. pl láthatóságot, bármit.lenti példában egy slide switch van
myonoffswitch
néven és loggol is az oldalra vissza."<!DOCTYPE html><meta charset=\"utf-8\" /><title>ESP8266 Test Server</title><style> .onoffswitch { position: relative\; width: 90px\; -webkit-user-select:none\; -moz-user-select:none\; -ms-user-select: none\; } .onoffswitch-checkbox {display: none\;} .onoffswitch-label {display: block\; overflow: hidden\; cursor: pointer\; border: 2px solid #8F8989\; border-radius: 20px\;} .onoffswitch-inner {display: block\; width: 200%\; margin-left: -100%\; transition: margin 0.3s ease-in 0s\;} .onoffswitch-inner:before, .onoffswitch-inner:after { display: block\; float: left\; width: 50%\; height: 30px\; padding: 0\; line-height: 30px\; font-size: 14px\; color: white\; font-family: Trebuchet, Arial, sans-serif\; font-weight: bold\; box-sizing: border-box\;} .onoffswitch-inner:before { content: \"ON\"\; padding-left: 10px\; background-color: #C21515\; color: #FFFFFF\; } .onoffswitch-inner:after { content: \"OFF\"\; padding-right: 10px\; background-color: #C21515\; color: #999999\; text-align: right\;} .onoffswitch-switch {display: block\; width: 18px\; margin: 6px\; background: #A1A1A1\; position: absolute\; top: 0\; bottom: 0\; right: 56px\; border: 2px solid #8F8989\; border-radius: 20px\; transition: all 0.3s ease-in 0s\; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0\;} .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0px\; background-color: #CC262C\;}</style><script language=\"javascript\" type=\"text/javascript\"> var wsUri =\"ws://"; <ide az IP címe kell>
":81\"\; function init(){ output = document.getElementById(\"output\")\; testWebSocket()\;} function testWebSocket(){ websocket = new WebSocket(wsUri)\; websocket.onopen = function(evt) { onOpen(evt) }\; websocket.onclose = function(evt) { onClose(evt) }\; websocket.onmessage = function(evt) { onMessage(evt) }\; websocket.onerror = function(evt) { onError(evt) }\; } function onOpen(evt) {writeToScreen(\"CONNECTED\")\; doSend(\"CONNECTED\")\; document.getElementById(\"myonoffswitch\").disabled = true\;} function onClose(evt){ writeToScreen(\"DISCONNECTED\")\;} function onMessage(evt){ var received_msg = evt.data\; writeToScreen('<span style=\"color: blue\;\">RESPONSE:' + received_msg +'</span>')\; if(received_msg == \"Connected\"){document.getElementById(\"myonoffswitch\").disabled = false\; document.getElementById(\"myonoffswitch\").checked = false\; doSend(\"GS\")\;} if(received_msg.startsWith(\"GS\")){ var l_tempSwitchStatus = received_msg.split(\":\")\; writeToScreen(\"Medve \" + l_tempSwitchStatus[1])\; document.getElementById(\"myonoffswitch\").checked = (l_tempSwitchStatus[1] === 'true')\; document.getElementById(\"myonoffswitch\").disabled = false\;} } function onError(evt){writeToScreen('<span style=\"color: red\;\">ERROR:</span> ' + evt.data)\;} function doSend(message){writeToScreen(\"SENT:\" + message)\; websocket.send(message)\;} function writeToScreen(message){var pre = document.createElement(\"p\")\; pre.style.wordWrap = \"break-word\"\; pre.innerHTML = message\; output.appendChild(pre)\;} function checkedChanged(message){doSend('WS:'+document.getElementById(\"myonoffswitch\").checked)\;}window.addEventListener(\"load\", init, false)\; </script><h2>WebSocket Test</h2><div class=\"onoffswitch\"><input type=\"checkbox\" name=\"onoffswitch\" class=\"onoffswitch-checkbox\" id=\"myonoffswitch\" onchange=\"checkedChanged(this)\" checked ><label class=\"onoffswitch-label\" for=\"myonoffswitch\"><span class=\"onoffswitch-inner\"></span><span class=\"onoffswitch-switch\"></span></label></div><div id=\"output\"></div>";
Nem kell oldalt töltögetni számomra az idegesítő.esetleg a CNLohr csatornáját ajánlom [link] esp8266 on tol valami 700Hz el weblapot és FFT vel zenéből RBG ledszallagot színez.....
-
válasz
gyapo11 #14934 üzenetére
Hát ezért írtam, hogy külön fájlba kell tenni, külön a programkódtól, amit csak include-ol az ember, de nem szerkeszti az IDE-n belül.
Én nem várnám, hogy olvasható legyen, de LCD kijelzőkhöz, ahol lookup table-ökben vannak bitmap-ben a karakterek, tényleg praktikusabbak az 1byte-os karakterek.
Esp+webes kezelőfelületekhez igazából mindegy, hogy utf-8 vagy más. -
Janos46
tag
Sziasztok!
Van egy kis meterológia állomásom NODEMCU-val (ESP8266). Kérdésem, hogy elkészítehetem-e ezt a WiFi ESP-12E chip ESP8266-el. Valamint ezt hogyan tudom programozni? A másikat könnyű a porton keresztül, ezen nincs.
Koszi a segítséget. -
válasz
Janos250 #14913 üzenetére
Leírnád pontosan még egyszer, hogy mi az elvárt működés onnantól, hogy betöltődött a weblap?
Addig világos, hogy van rajta egy csúszka, amit ha állítasz, egy értéket küld az esp felé. Innentől nem világos, hogy a csúszka mozgatása után minek kellene frissülni és milyen okból.
Ugyanazon a weboldalon máshol is megjelenik ez az érték? Vagy másik böngészőben kellene látszódni a változásnak? -
Janos250
őstag
válasz
Dißnäëß #14902 üzenetére
A websocket a fizikai és a http (vagy egyéb) között van. Persze ez elég nagyjábóli megközelítés. A neten a kommunikáció IP alapon történik, viszont például ugyanazon a gépen egyszerre több program is használhatja a netet, pl. több böngésző is lehet újra megnyitva.
Ezért nem elég, hogy egy szerver csak a cél IP címét adja meg, meg kell hozzá adni még egy 2 bájtos egyedi azonosítót is, hogy a válasznál lehessen tudni, hogy melyik alkalmazásnak kell továbbítani az üzenetet. Ez a plusz 2 bájt a port. Amikor egy böngésző elküld egy kérést egy szervernek, akkor küld hozzá egy port számot is, amit a küldő gép határoz meg úgy, hogy olyat választ, amit ugyanazon a gépen másik alkalmazás éppen nem használ. Ezt az IP+port együttest, mint socketot kezeli egy egység. Tehát pl. ESP32-n: Ha WEB szervert használsz, az kapcsolatot tart egy alacsonyabb szinttel, ami olyan elérést ad, mintha pl. soros port lenne. Lehet rá írni, lehet róla olvasni. Ez a szint egy socketban adja tovább a kérést egy alacsonyabb szintnek. Ez a nem profi rendszereknél gyakran az lwIP szabad felhasználású egység. Ez aztán összerakja a továbbítandó csomagot (legalábbis egy részét), és beteszi egy memória részbe. Utána szól a hardvert legalacsonyabb szinten kezelő résznek, hogy ott van ebben a tárolóban egy csomag. Az fogja, átmásolja a hardver
saját tároló területére, és utasítja a hardvert, hogy küldje el.
Ebben a csomagban már benne van, hogy a választ melyik socket (IP+portot kezelő egység) részére kell visszaküldeni. A hardver még ehhez a saját MAC címét hozzáadva, egy adott MAC címre küldi, amit az ARP nevezetű rész határoz meg. Ezt úgy teszi, hogy egy mindenki számára szóló üzenetben kérdezi az összes, ugyanazon a madzagon lévő gépet, hogy ez az IP cím kié. Ha senkié, akkor a routernek küldi. A user által használt legalacsonyabb szint a socket szokott lenni, azaz megadott szisztéma szerint összekészítesz egy csomagot, és azt adod át neki. ESP32-n én nem használom, mert a serializált szint kezelése sokkal egyszerűbb, de gyakorlatilag ez socket szintű programozás, csak megúszom a csomag összekészítésének a melóját. -
dew28
aktív tag
par linux disztron alapbol FF van fenn. most akkor meg az op.rendszert is meg kell szabni?
safarin anno volt ugy, hogy elkezdtem manualisan beirni az esp ip-jet a cimsorba a megfelelo valtozo ertekevel, es ha az elozmenyekben mar benne volt, akkor automatikusan be is toltotte a hatterben, igy pl felkapcsolta a vilagitast pedig meg vegig sem irtam amit akartam..
-
Janos250
őstag
Sajnos nem oldotta meg a problémát. :-(
Érdekes, hogy ha a router mögötti lokális hálón lévő gépről lépek be,
akkor gyakorlatilag nincs probléma, de ha a "világból", akkor marad a gond. Nem tudom a fejlécből kiszűrni, mert csak felépíti a kapcsolatot, de egyetlen huncut bájtot se küld. Majd azt próbálom meg, hogy ha a kapcsolat felépült, és rövid időn belül nem jön adat, akkor törölje a kapcsolatot. (client.stop). Az lenne jó, ha a html kóddal (pl. valami CSS) tudnám ezt a dolgot letiltani.
A neten vannak cikkek arról, hogy az ESP32 néha rosszul kezeli a netet, de ezek állítólag a most februári 1.0.5 verzióval megszűntek. Meg egyébként se valószínű, hogy az ESP csinálja, mert honnan tudná magától kitalálni, hogy ott a távolban a FF lapján a user a cursot a link fölé vitte. Meg csak a FF-ban van ez a gond. -
Janos250
őstag
Köszi mindkettőtöknek. Lehet, hogy jó lesz, hogy újraindítottam az FF-t. Viszont most valami már zűr van, mert most meg nem éri el az ESP-t semmi, ennek az okát majd keresem.
-
válasz
Janos250 #14856 üzenetére
Ezzel magán az ESP-n tudod szűrni a lekérést:
As a server admin, can I distinguish prefetch requests from normal requests?
Yes, we send the following header along with each prefetch request:X-moz: prefetch
Of course, this request header is not at all standardized, and it may change in future Mozilla releases. Chrome uses "X-Purpose: prefetch" or "Purpose: prefetch" header.Ezzel meg a böngészőben tudod kikapcsolni:
Is there a preference to disable link prefetching?
Yes, there is a hidden preference that you can set to disable link prefetching. Add this line to your prefs.js file located in your profile directory (or make the appropriate change via about:config):user_pref("network.prefetch-next", false)
-
Janos250
őstag
Tud erre valaki magyarázatot? És megoldást,
ESP32.
WEB lap.
Vannak benne linkek, amik működnek is, sőt épp az a baj, hogy nagyon is működnek Firefox alatt.
Elég, ha a linkre ráviszem a cursort, akkor ugyebár alul megjelenik az URL, de nem csak megjelenik, hanem küld egy kapcsolódás kérést a szerverre. Az asztali gépen lévő Firefox is, és a telefonon lévő is ugyanezt csinálja. Crome nem.
Hogyan lehet megoldani, hogy ha Firefoxon a link fölé viszem a cursort, ne cseszegesse az ESP szervert, mert kapcsolódik hozzá, de ha nem nyomom meg, akkor nem küld adatot, de blokkol, míg le nem jár az idő.
A linkekben én semmi kifogásolni valót nem látok:<a href="http://86.xxx.xx.xxx:50000">frissít </a>
<a href="?k=-10">-10</a>
-
Janos46
tag
Heuréka, műküdik! megkaptam a megoldást a TP-LINK -re a Windows 10 fórumon.
Lehet, hogy csak annyi a gond, hogy nem jó tartományban "dolgozik", azaz a régi router-ed alapértelmezett belépési címe pl. 192.168.1.1 (ezáltal a DHCP tartomány 192.168.1.100 és 192.168.1.199 közé esik), míg az új router-é meg 192.168.0.1 (ezáltal a DHCP tartomány 192.168.0.100 és 192.168.0.199 közé esik) és ezért nem látja.
A régi routerben nézd meg milyen IP-t osztott ki/ kap az ESP8266 és annak megfelelően állítsd át az új router-ed belépési címét(a DHCP tartomány automatikusan átáll) -
válasz
its_grandpa #14798 üzenetére
A linksys-ed a 192.168.1.* , a TP-LINK meg 192.168.0.* , persze hogy nem látod az esp-t, át kellene konfigolni.
Ennek semmi jelentősége, ha DHCP-vel kapja az IP-t.
-
-
Janos46
tag
válasz
Janos46 #14791 üzenetére
Szemléletesen. Tehát mint látható a felső képen - linksys router - az ESP eszköznek a PC USB-be való csatlakozását látni lehet a routerben. Ezzel szemben az alsó képen - TP-link - esetében ez nem látható, annak ellenére, hogy a PC mindkét esetben érzékeli a csatlakoztatást. A TP-LINK minden routerbe dugott és wifis eszközt felismer kivéve az usb-st. Arra dondoltam, hogy a routerben még valamit paraméterezni kellene, hogy az usb-st is felismerje. Remélem így már érthetőbben írtam le. -
Janos46
tag
Sziasztok!
Van egy öregecske LinkSys WRT54GSrouterem, amit lecseréltem egy valamivel jobb TL-WR845N-re. Amikor a PC USB portján keresztül csatlakoztattam az ESP8266-ot, akkor a routerben láttam a MAC és IP számát is és igy wifin keresztül ki tudtam olvasni a beírt program által küldött adatokat. A PC észreveszi a csatlakozást, de a mostani routerban ezt nem találom sehol sem. A portszám ismerete nélkül nem tudok csalakozni hozzá. Azt sem tudom, hogy egyáltalán beírja-e, mert látszólag igen. Ha van valakinek hasonló routere és programoz 8266-ot vagy MAC és IP címmel ellátott eszközt, megírná hogy a routerben milyen beállításokon kell változtatni? Mert egyébként mindene jól működik. -
Janos250
őstag
Szevasztok html-hez értők!
Az ESP32 WEB lappal akadt egy problémám.
Egy html fejében ez van:<meta http-equiv=refresh content=50 >
Vagyis 50 másodpercenként frissítsen.
A baj az, hogy GET-el értéknövelések (link, és beírva utána a növekmény) vannak a lapon, pl.:<a href="?kolo=+10">+10</a>
Ha ezt megnyomjuk, utána minden frissítésnél ezt küldi el.
A kérdőjel elé nem írhatom be az IP címet, mert az hol ennyi, hol annyi.
Nem akarom más módon megoldani href helyett, mert nagyon sok helyen kellene átírni, igazgatni, miegymás.
Mit írjak a href, vagy a content után, hogy frissítésnél ne legyen ott kérdőjeles rész?Kösz, ha van ötlet.
-
-
Victoryus
addikt
#Tankblock: a 16 lábú ic sérteténnek tűnik
Most rádugtam a laptopra az ESP8266-os lapot, és ott sincs már port az eszközkezelőben. Valami gebasz van. 2 napja pedig az ment normálisan, írt neki portot is.
Akkor letörlöm az egész arduinót, újratelepítem, aztán meg lesz valami.
szerk: hoztam egy xiaomi teleontöltős kábelt, és van port minden lapnál... akkor ez a nyamvadék kábel a baj.Működik a Wemos lap is. Pedig ezzel arövid kis fehér kábellel használtam régebben, biztos megtört valahol.
-
Janos250
őstag
-
Janos250
őstag
Ezek a könyvtárak hol vannak?
#include <sys/mount.h>
#include <dlfcn.h>
#include "inkview.h"
Abban a lefordított fájlban?
Mert akkor csak olyan rendszerrel tudod lefordítani, amin azt is fordítotték.
Nyelvi szempontból semmi különös nincs benne, akár egy ESP32 alá is simán le lehetne fordítani, de - úgy látom - vannak benne spéci dolgok (pl. karakterek kezelése), azok - gyanítom- egy adott rendszerhez vannak, mert azok nem részei a nyelvnek.
Akkor muszáj ahhoz fordítani. -
dew28
aktív tag
Én azt hittem valóban irányítani szeretnéd (gáz, fék, kormány stb)
Detto.
Ha központi zárat, meg ülésfűtést szeretnél távolról kapcsolni, ahhoz elég lenne egy-egy ESP8266 az autóba és a távirányítóba, a kettő között WiFi kapcsolattal.
50m-re nem biztos#14731 PC4200
Ha leirnad a kokret feladatot, jobban tudnank segiteni. Az ado reszet is szeretned epiteni? vagy az egy 433MHz taviranyito? Biztos, hogy kell MCU? -
válasz
PC4200 #14731 üzenetére
Csak "Arduino" nevű kontroller létezik vagy tíz féle, ehhez jön még több tucat Arduino IDE-be integrált vezérlő, mint az ESP-k, meg különböző ARM alapú lapok. Szóval ez így nem szűkítette le.
Arduino alatt az UNO-ra gondolsz?
Az sem volt eddig világos, hogy "távirányítás" alatt mit értesz. Én azt hittem valóban irányítani szeretnéd (gáz, fék, kormány stb) de a 3 gomb alapján nem ez a terv. Akkor mi?
Ha központi zárat, meg ülésfűtést szeretnél távolról kapcsolni, ahhoz elég lenne egy-egy ESP8266 az autóba és a távirányítóba, a kettő között WiFi kapcsolattal. -
Janos250
őstag
válasz
its_grandpa #14713 üzenetére
A 12F-eket én is forrasztgattam, a "fehér" panelokra (még mindig van néhány ilyen üres panelom), de annak nagyobb a lábtávolsága, mint az ESP32-nek. Persze, egy drónnál (is
) lényeges a méret, de nálam csak olyan használatok fordulnak elő, ahol tökmindegy mekkora, sőt, ha nagyobb, könnyebb vele bánni. Régen kevés panelt csináltam, mert macerás volt. Fekete szalaggal ragasztottuk az átlátszó fóliát 2:1-ben, aztán ment a fotóshoz, majd a panel gyártóhoz, akik igen erőteljesen megkérték az árát. Nem is igen gyártattam, inkább univerzális panelokra raktam az alkatrészeket, és madzaggal összeforrasztgattam őket. Meg a dugdosós panelon csináltam. Aztán az Eagle ingyenes verziójával csináltam pár panelt, amit itthon legyártattam, de többnyire maradt a vezetékes forrasztgatás, amatőr szinten ez is megteszi.
Aztán mostanában rákaptam az easyEDA programra.
Online bejelentkezek, megrajzolom a kapcsolási rajzot, majd egy gombnyomás, és PCB készítés. Persze ide csak felhányja - szokás szerint - az aljára az alkatrészeket, nekem kell elhelyeznem, és a vékony vonallal légvonalban bejelölt összekötéseket megcsinálni. Állítólag nagyon gyenge az autoroute funkciója, én nem is használom. Aztán amikor kész, egy PCB rendelés gomb, és átirányít a jlcpcb oldalra, ahol már minden be van jelölve, nem érdemes változtatni. Aztán fizetés. Pár hónapja még 5 panelért fizettem 5 $-t, de most már 10 db. 5$. Kiválasztom a szállítási módot az éppeni sürgősség, és a "mennyit szánok rá" függvényében, mert a szállítás elég drága, ugyanis ezeknek a paneloknak bizony van súlyuk.
A legutóbbi rendelésemnél kettő 10x10 cm-es panel 10-10 db, így a gyártás összesen 10 $, de a szállítás 20 $, viszont a múltkor is 8 nap alatt megjött. Ha meg ráér, akkor jöhet a lassabb, olcsóbb szállítás. Leggyorsabb a DHL, de az jócskán megkéri az árát.
Ezeket nem is neked írtam, hanem azoknak, akik foglalkoznak amatőr szinten ilyesmivel. Én saját tapasztalatok alapján nagyon javasolom a panel gyártását, nagyon megkönnyíti az ember dolgát, sokkal kevesebb hibalehetőség, több sikerélmény, mint ha dugdosnánk. A dugdosós panelon!
Ui.:
A drónnál RTK GPS-t használsz, vagy csak simát?
Ha csak simát, mekkora a visszatérési pontossága? -
its_grandpa
tag
válasz
Janos250 #14712 üzenetére
Én forrasztgatok, főleg 12F-et, csak körben kell. A modulok túl nagyok, rajtuk az usb csatlakozó meg mindenféle "felesleges" ic
ami csak a kód feltöltés miatt kell.
Az ESP forrasztása nem nehéz, utolsó forrasztási küzdelmem a drónom zárlatos FET-jének cseréje volt, arra ment el idő gazdagon. A sot-32 tok mérete 1,2*2,8 mm, a 3 láb még ennél is kisebb helyen van. -
MPM
tag
#14680 aryes (Szerk: véletlenül új hozzászólásra nyomtam)
Köszi a választ!Megosztod az IMU-d típusát, ami bevált neked?
A vezérlés egyébként már kész, Arduino-val működik, már csak az ESP32 érkezésére várunk.
(Amúgy sejtettem, hogy valami ilyesmi lesz a válasz, abból kiindulva hogy egy gyors.+giro Kínában 1$, itthon meg 6000 Ft
)
-
ESP32 mesterek! RX lábra kell ellenállás? Néhány lapon láttam, néhányon meg nem, és nem tudom mennyire kritikus. Ill. GPIO0-t fel kell húzni, ha a RTS/DTR-es mókát használom? Huzzah32-őn ezt sem látom. Elvileg van belső felhúzója, ennek ellenére láttam már olyan tervet is, ahol ennek ellenére volt külső felhúzó.
-
ekkold
Topikgazda
>Most jól leírtad a PID szabályozás lényegét.
Pont ezt akartam én is leírni. Még egy nem túl tökéletes PID szabályozás is jobb, mint egy sima hőmérsékletfüggő ki/be kapcsolgatós működésű megoldás. Ugyanis a PID szabályozás egy idő után megtalálja azt a nagyjából állandó vízhőmérsékletet, ami a kívánt helyiség hőmérsékletet tudja tartani. (Ezt esetleg meg lehet támogatni a külső hőmérséklet mérésével, hogy a rendszer beállási ideje rövidebb legyen - de nem muszáj, mert enékül is működik a dolog). Magyarul egy idő után akár úgy kapcsolgat ki/be a fűtés, hogy a hőmérő által mért hőmérséklet nem , vagy csak alig változik. Az ESP számítási teljesítménye pedig bőségesen elegendő egy PID szabályozás megvalósításához is, max egy kicsit több programozást igényel. -
Janos250
őstag
Még nem. Tetszetős. Viszont van hasonló kategóriájú elég sok. Az STM32 szériából sok van, ami ténylegesen kapható is, a Pi meg jelenleg beszerezhetetlen. Mellesleg a magyar disztributort valamiért törölték is a listájukról. Én egyszer zerot vettem, de az is kész tornamutatvány volt, és annyi plusz költség rakódott rá, hogy úgy már elég borsos volt az ára. Én az ESP32 nagy kedvelője vagyok, és az beszerezhető nagyjából ugyanezen az áron. Igaz, hogy a Pi az ARM, akár csak az STM32.
-
JulianSinulf
őstag
válasz
kesztió #14617 üzenetére
Köszi!
Így már érthető.
Viszont, ha csak a relatív hőmérséklet a lényeg, akkor értelmét veszti az alvó/wifi módos problémád és teljesen fölösleges a referenciahőmérő is.
Hiszen érzés után mész és nem tényleges értékek után.
Vagyis, ha az ESP folyamatosan megy és tartja a kapcsolatot a wifi routerrel, akkor talán még egy konstans melegedést is produkál, ami bár eltolja a szenzor által mért "szoba" hőmérsékletet, de ez ugye nem is lényeg. Ha nem lenne elég konstans, akkor meg kell oldani, hogy az legyen. Egyenletes terhelés mellett egyenletes lesz a hőleadása is.Valamint, ha a termosztáton átjár a levegő - másképp nem lenne képes mérni a szoba hőmérsékletét - és a komfortérzésnek ennyire fontos a tizedhőmérséklet (teljes mértékben elhiszem, csak én nem követem tizedpontosan a magam számára, de 1-2 fok különbséget észreveszek), akkor nagyon meg kell választani a helyét. Hiszen az értéket a lakásban járkálva már el lehet tolni, emellett adott esetben az sem mindegy, hogy épp milyen idő van kint. Akármennyire is le legyen szigetelve a ház, a nyílászáróknál akkor is más értékek lesznek, amik már eleve légmozgást generálhatnak a helyiségben.
De ez majd talán egy későbbi probléma lesz. Vagy lehet, hogy nem lesz, csak én gondolom túl. -
Janos250
őstag
válasz
kesztió #14567 üzenetére
"aminek megfelelő nyereségű antennával meg lehet növelni a hatósugarát úgy, hogy lefedje az összes hozzá tartozó termosztátot. "
Elvileg az ESP32 antennába préselt energiáját is meg lehet növelni.
Ha jól emlékszem, 78-at kell beírni valahova, de már nem emlékszem, hova. -
kesztió
aktív tag
Ez első látásra valóban ijesztőnek tűnik, de
1) max. 20–25 méterekről beszélhetünk, semmiképp nem 100-ról. Tipikusan 10 vagy kevesebb, mégsem Putyin palotájáról van szó. Mondjuk, ezt 2-vel kell szorozni, mert oda-vissza, de akkor is.
2) az ESP32 gyakorlatilag csak tizedmásodpercekre fog számottevő áramot fogyasztani (> 100 mA), az idő túlnyomó részében aludni fog. Ilyen körülmények között, ha az átlagfogyasztása bár megközelíti a 10mA-t, akkor akaszthatom az egészet a szegre. Így egy tökösebb kondenzátor bizonyára megoldja a problémát.
3) Az ESP32 működőképes 3,6V-tól egészen le 2,2 V-ig. Így, ha eleve 3,5 V-os tápban gondolkozom, nem 3,3V-osban, akkor azért van tartalékom bőven.
4) Ha nagy gáz van még így is, akkor még mindig lehet kompenzálni tápból, ha érzem, hogy túl nagy az áram. De ide remélem már nem fogok eljutni.Mindenképpen kösz, hogy felhívtad a figyelmem.
-
dew28
aktív tag
válasz
kesztió #14567 üzenetére
A termosztátok táplálása pedig azon a két szálon történne, ami eredetileg a relének volt fenntartva. 1,5 mm²-es szabvány világításdrót, teljesen kizárt, hogy akár több 10 m-en is annyi feszültség essen rajta, hogy ne tudja betáplálni a fali termosztátokat. A 230V-os fázis és null pedig marad dísznek.
3.3V 0.2A terhelessel 100m-en 532mV fog esni nagyjabol
0.3A-nel mar 798mV(esp32: Wi-Fi Tx 13dBm~21dBm = 160~260mA)
-
kesztió
aktív tag
válasz
its_grandpa #14572 üzenetére
Aktuátort, a padlófűtéshez.
Mielőtt rámvetnéd azt a rosszalló pillantásodat, 10 klasszikus termosztából 9-ben ott van a relé, ami a hőmérséklet függvényében vagy a padlófűtés aktuátorait kapcsolja, vagy a fűtőellenállást, vagy a keringetőpumpákat, whatever. Most az lesz a különbség, hogy a relé fizikailag is ott lesz, ahol lennie kellene (a szerelvényblokkhoz közel), és nem a termosztát kapcsolja közvetlenül, hanem a master ESP32.
Ja, és azért SSR, mert eredetileg ugye a dobozban volt, és ott piszokul nem mindegy, hogy éjszaka kattog-e vagy sem. -
gyapo11
őstag
válasz
onagyi #14543 üzenetére
Az ESP-NOW lenne a wifi direct? Nem tudom az esp32 támogatja-e.
Vagy ha minden termosztáthoz megy vezeték, akkor lehetne azon kommunikálni.
-
kesztió
aktív tag
NA, élctársak, úgy néz ki, hogy megszületett a végleges megoldás (ami egyben a legészszerűbb is).
A szikra dew28 kollégától érkezett, aki kissé szarkasztikusan rávilágított arra, milyen idióta ötlet volt betenni a 3,3V-os tápot a termosztát mellé, a falidobozba. (És mennyire igaza volt, mert én abban a meggyőződésben éltem, hogy a kapcsolóüzemű tápok nagyon jó hatásfokúak. Napersze, csak nem a 3.3V-osak.) És arról ugye mélyen hallgattam, hogy a milliamperéhes solid state relé is ott ült volna a dobozban.
Szóval. ha a táp és a reléegység úgyis kikerül a falidobozból egy külön vezérlődobozba, a padlófűtés egyik szerelvényblokkja mellé, mibe kerül még megtoldani az egészet egy külső antennás ESP32-vel, aminek megfelelő nyereségű antennával meg lehet növelni a hatúsugarát úgy, hogy lefedje az összes hozzá tartozó termosztátot. És akkor jöhet az ESP-NOW a percenkénti gyors kommunikációval, egyébként a termosztátok mélyen alukálhatnak, ha nem jön közbe semmi. Az átlagfogyasztás így Deep Sleep-pel (vagy akár Light Sleep-pel is) nevetségesen alacsony lenne, legrosszabb esetben sem több, mint pár milliamper, a kijelzővel és jelző LED-del együtt. Nem fog melegedni ott semmi. (Ha mégsem lesz elég jó a jelerősség, még mindig lehet tenni pluszba valahová egy ESP32-es modult, átjátszóállomás szerepre. De arról az ötletről sem mondtam le, hogy megfelelően okos szinkronizációval a termosztátok egymás között is kommunikálhatnak.)
Így a szerverszámítógépet is megspóroltam, az összes adat ülhetne a vezérlő ESP32-ön, és a mobilalkalmazás is ezzel kommunikálna (mármint a ház WiFijén keresztül).
A termosztátok táplálása pedig azon a két szálon történne, ami eredetileg a relének volt fenntartva. 1,5 mm²-es szabvány világításdrót, teljesen kizárt, hogy akár több 10 m-en is annyi feszültség essen rajta, hogy ne tudja betáplálni a fali termosztátokat. A 230V-os fázis és null pedig marad dísznek.
Az az ötlet, hogy a szenzort a doboz fele teljesen leszigetelem, illetve teszek szellőzőlyukakat az előlapra, hogy keringjen a levegő az ESP32 körül, természetesen marad.
Még egyszer köszi az ötletekért, esetleg ha még van valamilyen megjegyzés?
Megj. Még egy fontos dolog: így az egész 3,3V-on működne, tehát fürdőszobába is lehetne szerelni, max. tönkremenne egy adag ráloccsantott víztől, de nem ütne agyon senkit.
-
kesztió
aktív tag
válasz
its_grandpa #14556 üzenetére
Azért mert sleep alatt gyakorlatilag nem melegszik az ESP32? És ha még kompenzálom is a hőmérséklet-mérést, nem mindegy, hogy pár tized vagy pár fok a különbség.
-
kesztió
aktív tag
válasz
its_grandpa #14553 üzenetére
Gondolom, fix tápegység az fix feszültségű tápegységet jelent. De nem teljesen világos, hogy fix tápegységnél miért ne lehetne altatni az ESP32-t. Főleg, ha kapcsolóüzemű tápegységről van szó, amelyek általában kifejezetten jó hatásfokúak, tehát ha még szivárogtatnak is áramot, az még mindig jóval kevesebb, mint amennyi altatás nélkül lecsorog az ESP32-n.. Mire gondoltál konkrétan?
-
its_grandpa
tag
válasz
kesztió #14554 üzenetére
Amit írtál a ..
#14493 kesztió
Direkt 3,3V-ot kap, nem használom a Wemos D1 mini ESP32 beépített tápját (még csak az hiányozna :DD ). A transzformátor ugyancsak a szerelődobozban van de jó mélyen, és be lesz „falazva” PUR-habbal.
Ha tényleg ez a megoldásod, minek a bármilyen sleep ? Mert akku esetén még megértenem de így ? -
its_grandpa
tag
válasz
kesztió #14551 üzenetére
Az én infóm szerint az ESP belső hőmérő funkciója 2019 óta deprecated mert annyi chip verzió született, ezzel ma szerintem már nem tudsz mérni. Amennyiben 1%-os eszközökkel dolgozol nem kell termosztátonként mérni csak a delta táblázatot másolni.
Változatlanul nem értem (#14552), hogy ha fix tápegységed van miért altatod az ESP-t. -
kesztió
aktív tag
válasz
its_grandpa #14550 üzenetére
Az ESP32-nek lehet maximalizálni a CPU freq-jét (80 Mhz-ig).
Gondolhatod, hogy ezzel kezdtem. De ha nem tudom az idő nagy részét altatásban töltetni vele, megette a fene az egészet. Egyelőre úgy néz ki, hogy szerencsére lehet.
-
kesztió
aktív tag
válasz
its_grandpa #14550 üzenetére
Az ESP32-nek van belső hőmérője, tehát elvileg valóban lenne lehetőség a kompenzálásra, és még csak nem is kellene akkor NTC, csak azzal van a gond, hogy termosztátonként felszerelés után külön kellene bíbelődni a kalibrációval. Tehát az ötletet figyelembe veszem, de kurvára remélem, hogy nem lesz szükség rá.
-
its_grandpa
tag
válasz
kesztió #14548 üzenetére
its_grandpa #14540-ben:
Nem az SHT35 cseréjére utaltam, hanem arra, hogy mérd az eszközöd hőmérsékletét, ahelyett, hogy hűtőbordát akasztanál rá.Az ESP32-nek lehet maximalizálni a CPU freq-jét (80 Mhz-ig).
Esetleg megpróbálhatnád a kódodból, bár tovább fog tartani a kommunikáció viszont nem fog pörögni.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/power_management.html -
kesztió
aktív tag
Egy kapcsolóüzemű táp mennyit melegedhet, amikor pár milliampert kell szolgáltatnia az idő nagy részében egy alvó ESP32-nek és egy kis fényerejű, 4 digites kijelzőnek?
Amúgy a táp már biztonsági okokból is egy nedvességálló zselés dobozban lenne, ha nincs PUR-hab. És az se az ördögtől való, hogy a szerelődobozba már eleve 3,3 V érkezzen.
-
dew28
aktív tag
Igazabol, amennyiben kereskedelmi termek lesz belole, akkor eleve rossz az irany, bar elkepzelem, ahogy benne van a manualban:
"Amennyiben 50mm-nel kisebb melysegu dobozod van, fogj egy dobozmarot, es hajra. Kovetkezo lepeskent johet a PUR hab."
nem lehet ignoralni az tapegyseg okozta hot. ilyen forman pedig az ESP fogyasztasa gyakorlatilag mellekszal -
kesztió
aktív tag
Az tiszta, hogy a routerben engedélyezni kell. De mi történik, miután felébresztem az ESP-t az alvásból? (Amúgy nem hiszem, hogy hibernációról lenne szó, max mélyalvásról, de nekem ide pont a light sleep lenne a jobb.) Arra kellene könyvtár, hogy ilyenkor mit kell csinálnom, hogy megkapjam a csomagot, mit kell válaszolni az AP-nek, hogy elküldje stb.
-
onagyi
csendes tag
válasz
kesztió #14510 üzenetére
Szia!
Ha az ESPNOW-t használod nem kell feljelentkezni a routerre, tehát ha altatod azután sem kell. Igaz így azESP32-k egymással kommunikálnak MAC cím alapján, router nélkül.
Minden "kapcsolód" elküldi az adatait egy központi ESP32-nek, ami aztán tovább feldolgozza.
https://randomnerdtutorials.com-on találsz hozzá mintapéldákat is.
Nagy István -
its_grandpa
tag
válasz
kesztió #14539 üzenetére
aryes #14524 Ez jó volt :)
Lehet én hagynám a fenébe az átalakítást hűtőbordával+szigeteléssel.
Megoldható egy NTC és ellenállás osztóval az ADC lábra, 1 % pontosságú NTC 10 darabtól 70 huf, az ellenállás meg fillérek. Szépen megírod a kódot, kompenzálz az ESP chip aktuális hőmérsékletével, átlagolsz, satöbbi.
Egy tizedes pontosság szerintem elég, a gyári termosztátok hőmérséklet mérési pontossága ±0,5°C. -
kesztió
aktív tag
Apropó!
Van ez a WMM Power Save mode, ami a 802.11n-ben biztosan benne van, de lehet, hogy a régebbiekben is.
Ez – ahogyan értettem – arról szól, hogy az AP akkor is fenntartja a kapcsolatot a station-nel, ha az éppen alszik. A station polling intervalluma teljesen független a DTIM-től, akkor ébred fel, amikor akar, és egyszerűen csak lekérdezi, hogy az utolsó ébredés óta van-e „félretéve” számára csomag. Ha igen, lekéri.
Magyarán, nincs szükség új bejelentkezésre minden ébredéskor, a kapcsolat fennmarad akkor is, ha valóban percenként ébresztek és a másodpercekig tartó bejelentkezés helyett villámgyorsan le lehet zavarni a kommunikációt, majd vissza lehet aludni. Mintha az én projektemhez találták volna ki!
Erről a dologról itt olvastam.A gond az, hogy nem találok Arduino könyvtárat ESP32-höz, ami támogatná ezt a WMM PowerSave lehetőséget, holott teljesen nyilvánvaló, hogy mind az ESP3866, mind az ESP32 támogatja. Tudsz erről valami bővebbet?
-
kesztió
aktív tag
Az ESP8266 nem termelne kevesebb hőt? 1 magos CPU, talán kisebb órajel... Ugye azért vetetted el, mert kevés az I/O lába?
Eredetileg valóban azért vetettem el, de azóta többször is átterveztem az egészet, és talán boldogulnék annyi lábbal is. De a neten sehol nincs meggyőző adat arról, hogy az ESP32 többet fogyasztana, ugyanis, amennyivel gyorsabb, annyival korszerűbb is az architektúrája. És – nem utolsósorban – fejlettebbek a power save módjai, ami végső soron a legfontosabb a mi szempontunkból.
-
válasz
kesztió #14535 üzenetére
lehet, hogy ipari termék is lesz belőle
Hát akkor szerintem próbáld meg a percenkénti kommunikációt + MQTT vagy más elterjedt smart home protokoll integrációt, mert akkor nem kell külön szervert is csinálnod a rendszerhez, fel lehet pattintani a már esetlegesen meglévő MQTT brókerre. A szabványos dolgokat mindig könnyebb eladni.
Az ESP8266 nem termelne kevesebb hőt? 1 magos CPU, talán kisebb órajel... Ugye azért vetetted el, mert kevés az I/O lába?
-
Janos250
őstag
válasz
kesztió #14531 üzenetére
Néhány megjegyzés:
"billeg az utolsó tizedes jegy"
Billeg ott néhány tized mindenképp. Most, az asztalon lehet,
hogy tartja tized fok pontossággal az értéket, de a falon biztosan nem fogja. Egy helyiségben mindig van hőveszteség. Ha nem volna, nem kellene fűteni. Így mindenképpen vannak hidegebb felületek: fal, ajtó, ablak, mennyezet, padló, stb. Biztosan van légáramlás is, ami bizony bekavar. Ha elmész a szenzor előtt lesz akkora légáramlás,
hogy pár tizedet biztosan mozdul. Vagy elmegy alatta a kutya, vagy a macska.Az ESP32 WiFi jele nem éppen erős. Ha routerrel tartja a kapcsolatot, az kiegyenlíti, de egymás között már gyengébb. Hogy is működnek ezek? Hogy megy egy adatcsomag átvitele?
Az adó összekészít egy csomagot, és beleírja a cél címét, ami a MAC cím. Egy borítékba berakja a csomagot, és ráírja a címet.
Aztán ezt a csomagot belekiabálja az éterbe (vagy a madzagra) azzal a logikával, hogy "itt egy levél, kapdossátok el, és akinek a címe van benne az használja, a többi dobja el!" És így tesznek. Ez az alap, minden forgalom alapszintje ez. Erre az ESP-n az ESP-NOW van. Nem kell semmi általános szabályt követni, mert egyedi. Ennél lentebb nem lehet menni, a dolgok lényege miatt. Ilyenkor nem kell se WiFi AP, se semmi. A fogadó ESP-nek persze fogadó állapotban kell lenni.Magasabb szint, ha IP szinten kommunikálsz. Ebben az esetben mindenképpen a WiFi AP-hoz kell küldeni a csomagot, mert ő tudja, hogy ki van bejelentkezve, azaz ki jogosult, és a bejelentkezetteknek mi az IP címük, és ahhoz milyen MAC cím tartozik, mert az alap továbbra is az, hogy a csomagot MAC cím alapján küldözgetik, de már bele van csomagolva az IP cím is. Ezért neked is bejelentkezve kell lenni az adott hálózatra, közvetlenül nem tudsz állomásra küldeni csomagot.
(A madzagosnál némileg másként megy, mert a "mask" alapján eldöntöd, hogy azon a madzagon lóg-e, amin te is. Ha igen, akkor bekiabálsz a madzagra, hogy helló fiúk, akinek ez az IP címe,
az küldje el nekem a MAC címét, hogy tudjak neki levelet küldeni. Mert ott is MAC cím alapján történik a forgalom. Ha nem egyazon madzagon vagytok a címzettel, akkor küldöd a gateway-nek, aki tudja, hogy melyik kapu a kijárat a világ felé, és arra küldi tovább, sorsára bízva.)
Az IP szinten két módon kommunikálhatsz:
UDP: hasonló az alap szinthez. Beleírod a csomagba az IP-t, és szintén bekiabálod az éterbe, de a router/AP MAC címével.
Ő erre lecsap, kikeresi a címzett IP-hez tartozó MAC-et, és annak elküldi. Vagy saját maga feldolgozza, ha neki szól. Összesen ennyi a forgalom, nincs se visszajelzés, se semmi. Soha nem tudod meg, hogy megérkezett-e hibátlanul a csomag.TCP: ez a protokoll már tartalmaz visszajelzést is. Ha pl. hibásan érkezett, mert közben más is kornyikált, akkor újraküldést kér, ha meg minden rendben, akkor ezt jelzi vissza. Ez egy picivel több adatforgalom, de biztonságosabb.
Tehát, ha nem ESP-NOW-t akarsz használni, akkor mindenképpen bejelentkezve kell lenni egy WiFi AP-re. Ez nem akkora gond, mert ez a bejelentkezés élve marad egy ideig akkor is, ha nincs forgalom.
Viszont, ha egy másik ESP AP-nak küldesz adatot, akkor bizony fel kell építeni a kapcsolatot. Ez nekem is okozott problémát: netre kapcsolódik egy ESP, WiFi routeren keresztül, ami küldi folyamatosan az adatokat, és valahol máshol szintén WiFi routerhez kapcsolódik a cél állomás ESP AP. Úgy tűnik, hogy talán sikerült lerövidítenem az időt, de ez a projekt egyelőre félre lett téve, majd folytatom. Ha mégse sikerül, akkor átállok UDP-re.
Volt régebben egy másik projekt, ahol egy központi ESP-nek küldözgettek a viágból adatokat, és ő minden bejelentkezettnek tovább küldte. Ott - úgy tűnt - nem volt hosszú késleltetés.Hát, ezek alapján kell eldöntened, hogy mit akarsz.
ESP-NOW-nál gond a távolság.
UDP-nél, TCP-nél valamivel nagyobb forgalom, több idő, több meleg. UDP-nél egy kicsit kevesebb, mint TCP-nél. -
kesztió
aktív tag
300+ négyzetméteres ház, csupa beton, 15 termosztát.
Legalább 3 router fogja kiszolgálni a ház WiFi igényét, ha nem négy.
Az teljesen kizárt, hogy egy pucér ESP32 ki tudja szolgálni mind a 15 termosztátot, ha egy erős router se tudja lefedni.
Tehát a lefedettségről szól az egész, semmi egyébről.
Az „igazi” wifi sajnos kurva lassú, hogyha ciklikusan fel-és le kell kapcsolódni. Hacsak nincs valami olyan technika, amiről nem tudok. -
dew28
aktív tag
válasz
kesztió #14520 üzenetére
Bocsanat, de szerintem egy ilyen projektnel az rohejesebb, hogy ha van pl 6 termosztatod esp alapokon, akkor meg x darabot hozza akarsz adni 'szervernek', es amugy meg nem is ertem ezt a koncepciot
ha mar ugyis wifiznek, akkor miert is nem eleg 1 kozponti egyseg?
vagy most akkor mar nem wifin akarunk kommunikalni az alegysegekkel? vagy elvesztettem a fonalat teljesen(?) -
válasz
kesztió #14520 üzenetére
Még egy ötlet a dizájnnal kapcsolatban: az esp-re ragassz egy olyan pici, 1x1cm-es alu hűtőbordát, asszem VGA-kon szokták használni RAM hűtőnek (legutóbb egy számtech boltban kaptam ilyet), a bordák függőlegesen álljanak, ezzel gyorsul a hőleadás és talán a légmozgás is. A hőmérséklet szenzort pedig úgy kellene felszerelni, hogy ne érintkezzen az akril előlappal, mert az is vezetheti a hőt.
-
kesztió
aktív tag
Hát, valóban, ennél rosszabbat el sem tudok képzelni. Emlékszem, gyerekkoromban hetekig nem bírtam aludni éjszaka, mert billegett a tizedesjegy.
Mondjuk, pont erre egyszerű a megoldás: mérek 10 másodpercenként, kiértékelem percenként 6 mérésből és akkor lépek fel egyúttal a wifire. És még azt se lehet mondani, hogy elavult lenne a régi érték.
Miért, talán anélkül gondoltad megvalósítani a távirányítást?
Tehát lesz egy mobil alkalmazás, amivel direktben próbálsz kapcsolódni az éppen alvó esp-hez?
A szerverszámítógépet az ESP NOW-wal megúsztam volna, de közvetlen wifi kapcsolattal valóban nem. Egyre inkább úgy néz ki, hogy ez az ötlet marad, de azért lehet, hogy UDP-vel vagy valamilyen más trükkel fogom megoldani, hogy ne kelljen mindig nulláról kezdenem a bejelentkezést.
-
válasz
kesztió #14520 üzenetére
az az elkerülhetetlenül bosszantó jelenséget fogjuk produkálni, amikor az utolsó tizedesjegy billeg két egymás melletti érték között.
Hát, valóban, ennél rosszabbat el sem tudok képzelni. Emlékszem, gyerekkoromban hetekig nem bírtam aludni éjszaka, mert billegett a tizedesjegy.
Ja, nem.
lesz még egy külön szerverszámítógép, ami a routerhez kapcsolódik, és ami tükrözi az adatokat?
Miért, talán anélkül gondoltad megvalósítani a távirányítást?
Tehát lesz egy mobil alkalmazás, amivel direktben próbálsz kapcsolódni az éppen alvó esp-hez?
-
kesztió
aktív tag
„Aludjon 1 percig az ESP. Mikor felébred, mér egyet, ami talán pontos lesz”
Nem lesz pontos. Pontos mérésnek azt nevezzük, amikor 5 vagy 10 mp-enként mérjük és ezt percenként átlagoljuk. Másként az az elkerülhetetlenül bosszantó jelenséget fogjuk produkálni, amikor az utolsó tizedesjegy billeg két egymás melletti érték között.Távolról pedig nem mindegy, hogy 1 perc múlva kapcsol fűtés vagy 5mp múlva?
Nem erről van szó.
Egy smarthome-os mobilalkalmazásnál roppant illendő, hogy, ha nem is azonnal, de legalább pár másodperces késéssel minden termosztát értékét le tudom olvasni. Egy perces késés viszont röhejes. És még nem beszéltünk arról, hogy mi lesz az állítandó paraméterekkel: lesz még egy külön szerverszámítógép, ami a routerhez kapcsolódik, és ami tükrözi az adatokat? Necces, és csak piszkálja a büszkeségemet, hogy 200 bájt átviteléhez 3 másodpercig főzöm a procit.Egyelőre az a legészszerűbb megoldás, hogy annyi esp32 szerver lesz, ahányra szükség van a teljes lefedéshez, és ezek – mivelhogy itt nulla teljesítménymegkötés van – a ház wifijén is tudnak kommunikálni egymással, ha történetesen egymást már nem látják, csak a termosztátjaikat.
-
válasz
kesztió #14515 üzenetére
A 2. teljesen lehetetlen, hogy működőképes koncepció legyen. Arra nem lehet számítani, hogy az RTC pontos lesz (nem az), a szinkronizálás pedig több energiát fog felemészteni, mint amennyit az altatással megspórolsz. És ha mondjuk két hét múlva az egyik kiesik a láncból, mert nem ébred fel időben?
Én egyébként egy 3. lehetőséget választanék: minek 5mp-enként ébreszteni? Aludjon 1 percig az ESP. Mikor felébred, mér egyet, ami talán pontos lesz. Utána felcsatlakozik a kiszolgálóra, lekéri az aktuális parancsot, majd elmegy aludni. Kb. 50mp marad, hogy kihűljön a doboz.
Ha helyben, gombbal van állítgatva, fontos a gyors reakció, de ez a megszakítás miatt garantált is. Távolról pedig nem mindegy, hogy 1 perc múlva kapcsol fűtés vagy 5mp múlva? Milyen gyakran állítja az ember a hőfokot a szobában? Egy évben kétszer? -
JulianSinulf
őstag
A Nano-nak 1 KB az EEPROM-ja.
A csipek változóak.
A programnak decimális számok kellenek, az olvasó viszont hexadecimális értékeket olvas ki.
A program képes a hexadecimális értékeket átváltani decimálisra és kiírni a soros monitorra.
Viszont míg a hexadecimális érték 4*2 karakter, addig decimálisban ez változó.
Úgyhogy nem tudom, mennyire lenne elég az 1 KB-t.
Kezdetben 3 csipet akarok felprogramozni, később még nagy esély van további kettőre.
ESP32-vel egyelőre nem akarok foglalkozni. Az extra tanulnivalóval és utánanézéssel jár, de még ez sem megy úgy, ahogy jó lenne. Bár mondjuk az adatok fájlba való írása sem rossz, ha értékeket akarok tárolni. De ez a projekt odébb van. -
kesztió
aktív tag
Valami azt súgja nekem, hogy ez lesz a tuti megoldás?
Két lehetőség van:
1) egy kurva erős antennájú ESP32 szerver, amin az összes termosztát adatai megtalálhatóak tükrözve. A mobiltelefonos alkalmazás valójában nem a termosztáttal fog kommunikálni, hanem ezzel a szerverrel, amikor meg kell változtatni a beállításokat. (A felhasználónak nem is kell tudnia, hogy ezek nem updételődnek azonnal.) És minden termosztát a maga nyugis tempójában, 5–10 másodpercenként vagy whatever, amikor hőmérsékletet olvas be, egyúttal frissíti is magát a szerverről. Ez persze nem biztos, hogy fog működni egy 300+ m²-es, csupabeton házban, tehát lehet, hogy több szerverre lesz szükség, melyek egymással is kommunikálnak.
Vagy:2) ugyanaz, mint az 1), de nem kell a kurva erős antenna, mert a szerver nem az összes termosztáttal kommunikál, hanem csak a legközelebbiekkel. Így a termosztátok fel lesznek fűzve virtuális láncokra. Magyarul, egy termosztát nem csak a saját cuccával foglalkozik, hanem továbbítja is a többiek adatait, hogyha nem a lánc végén van..
Itt az a nagy baj, hogy rendkívül pontos időzítés kell, hogy az összes termosztát ugyanabban a pillanatban ébren legyen. De remélem, hogy az RTC timer van annyira pontos, hogy 5–10 mp-enként garantálja a szinkronizált ébredést.Mi a véleményed?
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- Gamescom 2025 - Az összes bejelentés egy helyen
- gban: Ingyen kellene, de tegnapra
- exHWSW - Értünk mindenhez IS
- Fejhallgató erősítő és DAC topik
- Bambu Lab 3D nyomtatók
- Apple MacBook
- A lemondást javasolja az Intel vezetőjének Donald Trump
- LordAthis: Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja az aktuális trendeket...
- 3D nyomtatás
- További aktív témák...
- Kingston FURY 64GB KIT DDR4 3200MHz CL16 Beast Black
- PlayStation Portal 2026.12.03-ig gyári garanciával eladó!
- ASRock B560 Steel Legend + i5 11500 + ID-Cooling + 16 Gb Corsair Vengeance RGB Beszámitok!
- Samsung Galaxy A26 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Asus PRIME B450M R5 2600X 16GB DDR4 512GB SSD GTX 1060 3GB AeroCool Quantum Mesh V3 400W
- Több mint 70.000 eladott szoftverlicenc
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- Surface Laptop 7 Business edition - Intel Core ultra 5 236V energiahatékonyabb az intelnél! -olvass
- Eladó iPhone 12 mini 64GB bevizsgált, hibátlan készülék
Állásajánlatok
Cég: FOTC
Város: Budapest