- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen egeret válasszak?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kormányok / autós szimulátorok topikja
- Soundbar, soundplate, hangprojektor
- OLED TV topic
- Kiterjeszti a Smooth Motiont az új NVIDIA App
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Apple asztali gépek
-
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
-
vegyszer
addikt
válasz
Harcipocok84 #17644 üzenetére
Nekem "csak" két-két esp32, illetve esp8266, és egy uno pihen...
Más:
A minap az amazon oldalána leltem egy jó "kis" könyvet:
Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects 3rd EditionEsetleg az merült fel bennem, hogy magyar nyelvű könyv van egyáltalán a témában?
-
válasz
its_grandpa #17627 üzenetére
Ha weben szövegként megjelenik valami, én simán lekérem az oldalt, és a forrásban regex-el megkeresem a számomra érdekes részt.
xbox360-hoz van ilyen ventillátoros bázis, USB-vel csatlakoztatható, de csak ki-be állás van rajta. Beletettem egy esp-t és az xbox IP-jéről az rgh dashről lekérem a hőmérsékleteket, az alapján pedig pwm-el hajtom a ventit. A feladat más, de a logkia ugyanaz (csak nálad a pwm görbe egy ugrás lesz 0-100 között)
-
vegyszer
addikt
Úgy alakult, hogy új hobbi projektet kell indítanom a meló helyen.
Egy soron lejövő dobozokat kellene megszámolni. Vagyis inkább a nem termelő időt kellene detektálni.
Valami olyan metódust szeretnék kreálni (esp32 alapon), ami ha megy el előtte termék, logol egy időt (amit valami net idő szervertől kér le előtte), ha nem megy, akkor is. Az adatokat meg valami felhőben menti ki.
Azaz csak a fázis váltások érdekelnek. Az, hogy 70 percig egyazon státusz van, nem érdekel. Csak az, hogy ha megy a gép, akkor mennyi a doboz/perc mutató, és az, hogy mikor megy, mikor nem a gép.Találtam egy infra közelségérzékelőt, ami megtetszett.
OMCH M12 Laser Diffuse Photoelectric Sensor 15cm Adjustable min spot 0.5mm detection range 20-300mm HG-J12-D15 PNP NPN 3-wireHa jól értem, akkor ez a kettő típus (NPN, PNP közül az NPN az, amihez nem kell szintilesztés, de az, hogy NO, vagy az NC jelölés mit jelent, nem sikerült elsőre megérteni.
Ennek a megfejtésében esetleg tudnátok segíteni?A működése ezeknek a kapcsolóknak jól értem, hogy kicsit olyan, mint az enkódereké. Csak itt egy csatornán jön ki egy O/I jel, és így nem is kell nézni, hogy merre forog, hisz csak egy jel van.
Volt esetleg hasonló már másnál?
-
Tomika86
senior tag
Sziasztok
Esp32-S3 valaki programozta?
Köszönöm
-
its_grandpa
tag
Egy gondolat kísérlet de az is lehet, hogy megtaláltam a piaci rést
Tegyük fel villannyal fűtök, nincs gázom. Idáig be volt állítva 21 C° de változott a világ.
Van napelem a tetőn, az inverter adatait azonban csak felhőben érem el.
A villany fűtő paneleket átállítom ~ 23-24 fokra - a ház jól szigetelt - de csak akkor működnének ha a napelemek termelése elegendő ehhez, nem akarok a XYZ művektől energiát venni.
Milyen fejlesztéssel lehetne ezt szerintetek egyszerűen, üzembiztosan megoldani ?
Már látom a válaszokat, ESP32 wifi a felhőhöz, Sonoff kapcsoló a fűtőpanelre, azonban a felhő elérése web-es programozást is igényel. PHP ?, JS ? ami (nekem) nem triviális.
Abba az irányba most ne menjünk el, hogy ha november 27.-én nem süt a nap akkor majd 16 C° -ra megyek haza, még mindig jobb min a 6 számjegyű villanyszámla.
(ebből lehet tényleg érdemes lenne terméket csinálni ? ) -
Janos250
őstag
Ezért írtam, hogy "Ha konvertálni kell, arra bármelyik "Arduino" megfelel, a legolcsóbb is."
De megírhatod assemblyben is, valami tinyreÉn mindenre ESP32-t használok, nem keverem :-)
Minden más a padláson, vidéken. :-)
Egyébként soha nem gyártottam HID-et, lehet sokkal egyszerűbben is megoldható, hátha van valakinek ötlete.
BT?
Na, én azt ne ismerem :-(
Ha ismered, írd le neki.
"Arduino pro micro" Hogy lesz belőle USB HID? -
Janos250
őstag
Az Ázsiacenteres ESP32 rendelés:
Május 10-én érkezett az email:******** referenciaszámú rendelésed kiszállításra átadtuk. Szállítási idő 7-50 munkanap a posta függvényében.
Írtam levelet, hogy mikor kapom meg:
Kedves Vásárló,
Levelét rendszerünk iktatta, Munkatársaink 1-9 munkanapon belül válaszolni fognak.
Szállítási idő 7-75 munkanap a nemzetközi posta függvényében.
Előfordulhat, hogy több termék rendelése esetén különböző raktárakból postázzuk, így több levélben érkezhetnek! A szállítási időt a szállításra adástól kell számolni.
Szíves türelmét kérjük.
Üdvözlettel
AzsiacenterHát............... !
-
Janos250
őstag
Mindenki más típust fog javasolni, én (természetesen
) az ESP32-t preferálom, bár ilyen célra még soha nem használtam.
Egyébként kaphatók USD HID panelkák, amik ezt csinálják, de még soha nem próbáltam.
http://wch-ic.com/products/CH9328.html
https://www.aliexpress.com/item/4000262510300.html
https://www.aliexpress.com/item/32894865422.html
Biztosan meg lehet persze szoftverből is oldani, hátha valaki azt is ismeri.Ha konvertálni kell, arra bármelyik "Arduino" megfelel, a legolcsóbb is.
-
válasz
Tomika86 #17594 üzenetére
ha bekapcsolom akkor 1 perc lesz maximum a belépésre és frissítésre, utána kikapcsolom a wifit az esp32-őn, a server handle pedig nem fog futni.
A wifire jelszóval lehet kapcsolódni.
Ez így elég lehet, senki se szeretné, ha egy autó egyszer csak furán kezdene viselkedni, mert vki OTA rátöltött valami random kódot.A böngészőben is belépés van.
Na én erre írtam, hogy olyan, mintha nem is lenne. Akár ki is veheted, felesleges. Bárki megnézi a html forrást, benne van a jelszó. -
válasz
Tomika86 #17592 üzenetére
azért írtad mert odaírtam a kommentben?
Nem tudom milyen komment, csak azt láttam a kódban, hogy a html forrásban benne van a jelszó, ez így nudli. Ha a wifi jelszavas, az OK lehet.
Ha soros portra csatlakoznak akkor letölthető a hexa kód az espről?
Visszafejthető bármivel a kód?Soros portról szinte biztos, hogy nem, de szerintem van mód a kód letöltésére. Nem értek annyira az ESP-hez.
-
Tomika86
senior tag
Vagy azért írtad mert odaírtam a kommentben?
Az autós kijelzőmre tettem a kódot, ha bekapcsolom akkor 1 perc lesz maximum a belépésre és frissítésre, utána kikapcsolom a wifit az esp32-őn, a server handle pedig nem fog futni.
A wifire jelszóval lehet kapcsolódni.
A böngészőben is belépés van.Ez így ehhez a feladathoz mennyire védett? Mit tudnak tenni ha valaki rákapcsolódik? Ha soros portra csatlakoznak akkor letölthető a hexa kód az espről?
Visszafejthető bármivel a kód? -
válasz
Tomika86 #17589 üzenetére
"Akkor az a kérdés hogy mi az a fájl? A js"
A jQuery-re gondolsz? Az egy internetes svájcibicska, megkönnyíti a webprogramozók munkáját.
Az eredeti kérdésedre válaszolva:
"Sikerült egy normálisan kinéző böngészős OTA-t találni, de soros porton dob egy hibát amikor böngészőben megnyílik a felület.
Ezt dobja: [E][WebServer.cpp:633] _handleRequest(): request handler not foundHogy tudom ezt megtalálni miért dobja?"
Próbáld meg azt, hogy egy "/" jelet teszel a cím végére, mikor lekéred az oldalt az esp-ről:
http://192.168.1.100/De ha jót akarsz, módosítás nélkül ne használd ezt a kódot, legalábbis fontos helyen ne, mert elég durva biztonsági hiba van benne (jelszó a forráskódban, kb mintha cellux-szal a bejárati ajtóra ragasztanád a kulcsot
).
-
Tomika86
senior tag
Sziasztok!
Sikerült egy normálisan kinéző böngészős OTA-t találni, de soros porton dob egy hibát amikor böngészőben megnyílik a felület.
Ezt dobja: [E][WebServer.cpp:633] _handleRequest(): request handler not foundHogy tudom ezt megtalálni miért dobja?
String style =
"<style>#file-input,input{width:100%;height:44px;border-radius:4px;margin:10px auto;font-size:15px}"
"input{background:#f1f1f1;border:0;padding:0 15px}body{background:#3498db;font-family:sans-serif;font-size:14px;color:#777}"
"#file-input{padding:0;border:1px solid #ddd;line-height:44px;text-align:left;display:block;cursor:pointer}"
"#bar,#prgbar{background-color:#f1f1f1;border-radius:10px}#bar{background-color:#3498db;width:0%;height:10px}"
"form{background:#fff;max-width:258px;margin:75px auto;padding:30px;border-radius:5px;text-align:center}"
".btn{background:#3498db;color:#fff;cursor:pointer}</style>";
// Bejelentkező oldal Felhasználói név: admin Jelszó: esp32
String loginIndex =
"<form name=loginForm>"
"<h1>ESP32 Login</h1>"
"<input name=userid placeholder='User ID'> "
"<input name=pwd placeholder=Password type=Password> "
"<input type=submit onclick=check(this.form) class=btn value=Login></form>"
"<script>"
"function check(form) {"
"if(form.userid.value=='admin' && form.pwd.value=='esp32')" // webserveren bejelentkezés, Felhasználói név: admin Jelszó: esp32
"{window.open('/serverIndex')}"
"else"
"{alert('Error Password or Username')}"
"}"
"</script>" +
style;
// Server Index Page
String serverIndex =
"<script src='/jquery.min.js'></script>"
"<form method='POST' action='#' enctype='multipart/form-data' id='upload_form'>"
"<input type='file' name='update' id='file' onchange='sub(this)' style=display:none>"
"<label id='file-input' for='file'> Choose file...</label>"
"<input type='submit' class=btn value='Update'>"
"<br><br>"
"<div id='prg'></div>"
"<br><div id='prgbar'><div id='bar'></div></div><br></form>"
"<script>"
"function sub(obj){"
"var fileName = obj.value.split('\\\\');"
"document.getElementById('file-input').innerHTML = ' '+ fileName[fileName.length-1];"
"};"
"$('form').submit(function(e){"
"e.preventDefault();"
"var form = $('#upload_form')[0];"
"var data = new FormData(form);"
"$.ajax({"
"url: '/update',"
"type: 'POST',"
"data: data,"
"contentType: false,"
"processData:false,"
"xhr: function() {"
"var xhr = new window.XMLHttpRequest();"
"xhr.upload.addEventListener('progress', function(evt) {"
"if (evt.lengthComputable) {"
"var per = evt.loaded / evt.total;"
"$('#prg').html('progress: ' + Math.round(per*100) + '%');"
"$('#bar').css('width',Math.round(per*100) + '%');"
"}"
"}, false);"
"return xhr;"
"},"
"success:function(d, s) {"
"console.log('success!') "
"},"
"error: function (a, b, c) {"
"}"
"});"
"});"
"</script>" +
style;illetve setup:
// use mdns for host name resolution
if (!MDNS.begin(host)) { // http://esp32.local
Serial.println("Error setting up MDNS responder!");
while (1) {
delay(1000);
}
}
Serial.println("mDNS responder started");
// return javascript jquery
server.on("/jquery.min.js", HTTP_GET, onJavaScript);
// return index page which is stored in serverIndex
server.on("/", HTTP_GET, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/html", loginIndex); });
server.on("/serverIndex", HTTP_GET, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/html", serverIndex); });
// handling uploading firmware file
server.on(
"/update", HTTP_POST, []()
{
server.sendHeader("Connection", "close");
server.send(200, "text/plain", (Update.hasError()) ? "FAIL" : "OK");
ESP.restart(); },
[]()
{
HTTPUpload &upload = server.upload();
if (upload.status == UPLOAD_FILE_START) {
Serial.printf("Update: %s\n", upload.filename.c_str());
if (!Update.begin(UPDATE_SIZE_UNKNOWN)) { // start with max available size
Update.printError(Serial);
}
}
else if (upload.status == UPLOAD_FILE_WRITE) { // flashing firmware to ESP
if (Update.write(upload.buf, upload.currentSize) != upload.currentSize) {
Update.printError(Serial);
}
}
else if (upload.status == UPLOAD_FILE_END) {
if (Update.end(true)) { // true to set the size to the current progress
Serial.printf("Update Success: %u\nRebooting...\n", upload.totalSize);
}
else {
Update.printError(Serial);
}
}
});
server.begin();Köszönöm!
-
Tomika86
senior tag
válasz
Janos250 #17552 üzenetére
Szia!
Te nagy ESP32 fun vagy, tudsz OTA-ban segíteni?
Létezik olyan, hogy webserveren lehet feltölteni a legenerált bin fájlt és ugyan ez tudja azt is hogy pl VS Code platformio alol a felöltés is wifin megy, de nem kell kiválasztanom fájlt, hanem wifin megy a feltöltés.Köszönöm!
-
Janos250
őstag
válasz
polgcsabi #17551 üzenetére
Ezt az ethernet csatit nem ismerem, nem is tudom kipróbálni, nem akarok hülyeséget írni.
Ha esetleg ESP32-n tennéd, akkor pontos választ tudnék adni.
A megoldás lényege:
A WEB szerverek - már amit én ismerek - megadják neked egy karakter tömbben, amit a 192.168.1.139/ után írtál, és úgy kezeled, ahogy akarod, ez már csak kézügyesség kérdése. De csinálhatsz űrlapot, vagy valami hasonló bevitelt is. -
vegyszer
addikt
Szervusztok!
Had osszak meg veletek némi tapasztalatot az M5stack kütyüivel való szopórorrelezésem kapcsán.
Kezdjük az elején, nincs saját PC-m, se laptopom, amit használni úgy tudnák, hogy a család többi tagját ne akasszam meg a normál életvitelében. Az asztali PC-men nincs monitor, csak a család egyetlen tévéje. Így a melóban holt időben a portable arduinoval "játszok".
A bosszantó az volt, hogy egy rakat kód lelkesen lefutott az únón, de az M5 kütyük az istenért se akartak kódot fogadni. sok kísérlet után találtam egy posztot, miszerint a portable arduinó ha túl hosszú nevű könyvtárban van, hajlamos fordítási hibával kifagyni. nekem is ez történt. az egész mappát a C:\TEMP mappába téve megtáltosodott az eszköz parkom. Mindenre is tudtam végre kódot tölteni nem csak az UiFlow-on keresztül.Viszont egy projekthez az elsődlegesen kiszemelt eszköz (M5Stamp-C3) hibára futott folyamatosan, míg a többi, (M5Atom, M5Sick C plus) gond nélkül magára töltötte ugyanazt a kódot. Ami kb annyiból állt, hogy a két enkóder elfordulás-adatait olvassa ki.
Kiderült, hogy azon túl, hogy nincs elegendő időm a dologra, egy fontos "alkatrész" hiányzik az ESP32 C3 processzorokból, ami a specifikáció szerint ugyan benne van, de mint kiderült, itt a speci a hibás, nem az eszköz.Arduino: 1.8.16 (Windows 10), Alaplap:"STAMP-C3, Disabled, Huge APP (3MB No OTA/1MB SPIFFS), 160MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 921600, None"
C:\TEMP\App\arduino-1.8.16\portable\sketchbook\libraries\ESP32Encoder\src\ESP32Encoder.cpp:9:10: fatal error: soc/pcnt_struct.h: No such file or directory
#include <soc/pcnt_struct.h>
...Ez a hibaüzenet azt magyarázza, hogy a Pulse Counter egység/modul/fícsör nem része a STAMP-C3-nak.
Most annak kell így utána néznem, hogy az első hirtelen felindulásból vásárolt M5stamp pico (amihez persze nem vettem programozót) hogyan programozható az úno segedelmével, mert egyszer láttam erről videót, de most, hogy kellene, persze nem lelem.
Addig megvan, hogy
GND->GND
3V3->3V3
TX->RX
RX->TX
EN->EN
G0->GND
De hogy ez így hogy fog fleshelődni, mit kell még beállítani, na az nincs meg...
Ahogy az sincs, hogy az únó agyát jelentő IC-t ki kell e eközben venni.Ebben tudtok valami támpontot adni? Más nak is kellett már usb csatlakozó nélküli eszközt így, "szélv módban" programoznia?
-
válasz
Tomika86 #17509 üzenetére
Szokás, igen. Az AVR automatikusan tiltja is a további megszakításokat (interrupt enabled bit törlése), talán az ESP is, de ennek utána kell járni. Azért kell a megszakítás rutinba a lehető legrövidebb kódot tenni, hogy minél kisebb valószínűséggel maradjon ki miatta egy másik megszakítás.
-
PeterPH
senior tag
válasz
Janos46 #17505 üzenetére
Gyárilag nem ismeri az ESP8266-ot, hozzá kell adni.
-
Janos46
tag
Sziasztok.
Hosszú idő után ismét felraktam az Arduino 1.8.17-et. Nem tudom az ESP-t indítani, a listában csak Arduinok vannak, pedig a További Alaplap-kezelő URL-ek be van rakva. Mi lehet a gond? -
vegyszer
addikt
Szervusztok!
Ebbe a hibába futottam bele
M5Stamp_C3 eszközöm van, de ami fura, hogy ugyanazon kód az M5StickCPlus-ra rendben fordulTöbbszörös könyvtárak találhatók ehhez: "WiFi.h"
Használt: C:\T\T\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3\libraries\WiFi
Nem használt: C:\T\T\App\arduino-1.8.16\libraries\WiFiEzt hogyan lehetne korrigállni?
-
X_C
tag
Sziasztok,
Nem tudom jó topikot választottam-e a kérdésemhez, de hátha valaki kapásból tudni fogja itt a megoldást.Adott ez a videó, amin egy esp32-t és egy MPU6050 modult és pár apróságot felhasználva készít a srác egy folyamatos sűrűségmérőt. A programozáshoz nem sok közöm van, viszont sört főzni szeretek szóval gondoltam megpróbálom elkészíteni ezt a kis kütyüt.
Aliexpressről érkeztek a következők:
lolin32
mpu6050A forrasztás szerintem gond nélkül ment.
Viszont amikor a leírásban szereplő drive linkről letöltött fájlokkal szerettem volna flash-elni az eszközt, a lenti képeken látható hibára futott a folyamat.
Próbáltam röbbféle adatkábellel, többféle usb portba dugva, kevés sikerrel. Elvileg a driverek is fent vannak a gépen amit a leírásban lévő cikkben találtam.Van valakinek esetleg ötlete, hogy mi lehet a probléma?
-
vegyszer
addikt
Szervusztok!
Valahogy nekem valami nem kerek.
Adott egy PC, amin az arduino uno-val használva a kódokat rendben feltudja tölteni az eszközre.
Jött a családba egy M5StackC Plus, és egy M5 Atom Lite is.
Érdekes módon az arduino IDE segedelmével nem sikerül semmilyen móson a legalapabb kódolat se feltölteni rájuk. Ellenben UiFlow alól igen jól kezelhetőek, akár neten keresztül is tudtam rájuk új kódot heggeszteni.Persze a https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
sorral kiegészítettem az alaplak kezelőt, és fel is tettem az M5stack pakkot. Ennek ellenére mégis ilen hibaüzenetet dob a fordító:Arduino: 1.8.16 (Windows 10), Alaplap:"M5Stack-ATOM, Default, 240MHz (WiFi/BT), 1500000, None"
In file included from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\include\c++\8.4.0\stdlib.h:36,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3/tools/sdk/esp32/include/newlib/platform_include/assert.h:21,
from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\sys-include\sys\reent.h:503,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
from c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\sys-include\stdio.h:60,
from C:\Users\user\Documents\x\M\ArduinoPortable_2\App\arduino-1.8.16\portable\packages\m5stack\hardware\esp32\2.0.3\cores\esp32/Arduino.h:27,
from sketch\BUTTON.ino.cpp:1:
c:\users\user\documents\x\m\arduinoportable_2\app\arduino-1.8.16\portable\packages\m5stack\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32-elf\include\c++\8.4.0\cstdlib:41:10: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
]^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Hiba a(z) M5Stack-ATOM alaplapra fordításra.
Ennek a jelentésnek több információja lehetne
a "Bővebb kimenet mutatása fordításkor"
opció engedélyezésével a Fájl -> Beállítások-ban.Mit cseszek el? Mit kell(ene) modosítanom?
-
Béééla
őstag
válasz
tonermagus #17428 üzenetére
Az ESP-k nem jönnek gyárilag flashhel (a panelokra tesznek, ez max akkor érint ha saját nyákot tervezel a nyers kontrollerrel).
Vagy az EEPROM-ot hiányolod, modern mikrokontrollerekben mar csak flash van, amit akár írhatsz is. Eszköztől függően akár el is különítenek ilyen perzisztens user adat számára szánt flasht, nehogy elcímezd és felülírd a progid.
Kell az StM-ekben is ilyen tár. -
Tankblock
aktív tag
válasz
tonermagus #17418 üzenetére
Szia,
egyet tudok mondani, hogy chiphiány van így mindennek felfele megy az ára.
ESP meg egyre több okos kütyübe teszik, így a kereslet megy felfele....Vannak kisebb ESP32 devboardok amin csak max USB to Serial van meg 2x 2 sor tüske.
Ami nekem van belőle az 49*47 mm, de szerintem van kisebb is...[link] valami ilyesmi, sajna az oldalon nincs fennt a fizikai méretei. Ezen úgy is lehet olcsósítani, hogy magadnak tervezel egy boardot....
De találtam másikat is : [link] 31 x 39 mm
-
tonermagus
aktív tag
válasz
Janos250 #17420 üzenetére
STM32-ről ha jól emlékszem azt olvastam hogy nincs Flash memória benne. Legalábbis a Blue Pill-en. Nekem pedig szükségem van memóriára. Nem kell hatalmas nagy tárterület, de azért 15 db Float típusú változó értékét szeretném eltárolni.
Jelenleg a Mega 2560 Pro 7.000 Ft környékén mozog, míg egy ESP32 2.400 Ft körül. Ez már szignifikáns különbség, hiszen így majdnem a felére csökken az eszköz bekerülési költsége. -
Janos250
őstag
válasz
tonermagus #17418 üzenetére
Helló!
Ha csak az anyagiak miatt akarsz átállni, nem biztos, hogy túl jó ötlet.
Ahogy írtam is, az 1000 Ft körüli ár irreálisan alacsony. Általában a legolcsóbb lehetőségek kettőezer+ néhány száz Ft. Ezek a reális árak. Hogy mi hogyan fog változni, arra én nem merek jósolni.
A nagy tömegben eladott verziók két méretűek. Van egy kisebb, és egy nagyobb. Mindkettőn rajta van az antenna is ebben a méretben.
A kisebb:
https://raw.githubusercontent.com/Nicholas3388/LuaNode/master/images/ESP32_dimension.pngA kívánalmaid szerint lehet jobban jársz egy STM32-vel:
https://www.aliexpress.com/item/1005003112693578.html
Én régebben, mikor használtam őket, még 100 Ft alatti áron vettem, talán most is van még olcsóbb.
Van Alin olcsóbbnak tűnő is:
https://www.aliexpress.com/item/1005003753891882.html
nem teljesen világos, mi a különbség az eladó által felsoroltak között, hogy kétszeres árkülönbözet is van.
Vagy például ez:
https://www.aliexpress.com/item/1005002950458460.htmlVagy megveszed csak az ESP32 SMD "kockát", és azt rakod fel, az árban elég jó.
-
tonermagus
aktív tag
Sziasztok!
Az elszálló Atmel chip árak miatt gondolkodom rajta, hogy kukázom az Arduino Mega 2560 Pro-t, és lecserélem egy ESP32-re, mert egy Arduino árából 3 ESP32 kijön.Azért az nem mindegy. Ezzel kapcsolatban lenne pár kérdésem:
- Elképzelhető hogy az ESP ára is emelkedni fog? Egyáltalán megéri váltásban gondolkodni? A jelenlegi Arduino tökéletesen megfelel (sőt eléggé ágyúval verébre kategória), és elég nagy macera lenne átállni, de így az előállítási költség a felére csökkenne az eszköznek.
- Tudnátok olyan ESP32 típus mondani, aminek a leghosszabb oldala is kisebb mint 5,4cm és van rajta legalább 3 UART port? Nem kell se Wifi, se bluetooth, az UART fontos csak és 1-2 PWM képes port...
Otthon van egy ESP32, a tüskéket sárga színű műanag lábak fogják össze. Na az pont hosszabb 2-3mm-el mint a mega, és nem fér be annak a helyére -
Tomika86
senior tag
Sziasztok!
Megmértem a ciklusidőt és következőket tapasztaltam:
Főoldalon 20ms
Kapcsolós oldalon 9ms
Grafikonos oldalon 10ms
Adatbeviteli oldalon, egyiken 2ms
másikon 0,9msEzek jónak mondhatók? Vagy szerveznem kellene még a dolgokat
, mert ritka rossz.
Egy magon fut az ESP-n -
Janos250
őstag
Ismeri valaki az azsiacenter webáruházat, hogy nem fake-e?
Jelenleg elég olcsón (gyanúsan olcsón, 1051 Ft-ért) kapható náluk ESP32 fejlesztői panel. Buktam a pénzemet, vagy megkapom az árut? -
Tomika86
senior tag
Összeraktam egy módosított programot, a kijelzőt is módosítottam.
Ahol a kapcsolók alatti képek vannak, az oldalon létrehoztam va0, va1, va2 változókat. Ezeket esp32 programbetöltésnél meghatározom milyen értékűek, 0 vagy 1. Aztán elküldöm page1.va1.val=1 példáulA képernyő preinizcializálasába tettem azt hogy if(va0.val==1)
{ vis p19, 1}
Else {vis p19, 0}Csak hétfőn tudom kipróbálni.
Köszönöm a segítséget
-
Tomika86
senior tag
Szia
Jelenleg minden változó globális a kijelzőben, így csak egyszer csinálja amikor belépünk.
Igen az esp32 küldi az adatokat, úgy hogy amikor a főoldalon megnyomom a nyilat akkor már elkezdi küldeni az adatokat arra az oldal változóira amik azon az oldalon lesznek.(erre gondoltál az utolsó bekezdésben? ).
Vajon megoldható így is, hogy esp32 küldi az adatokat?Köszönöm
-
And
veterán
válasz
Tomika86 #17374 üzenetére
Már csak az a kérdés marad, hogy ezekhez ilyen célra minek egyáltalán bármilyen külső ellenállás? Az ESP32 adatlapja szerint a portok nagyobbik része fel- és lehúzásra is programozható (45 / 45 kΩ), az MCP23..-as sorozatnál pedig mind a 8 vagy 16 porton támogatott a belső pull-up (100 kΩ), ha az adatirány inputnak van állítva..
-
Janos250
őstag
Az a baj, hogy nem tudsz címet, hogy hova tedd. Ha tudod a címet, közvetlen címzéssel bárhova lerakhatsz bármit, de honnan tudod, hogy hova? A regisztereit az ESP32-nek például közvetlen címzéssel érem el.
Assemblyt én az ESP32-n még csak egyetlen dologra használtam:
Van egy regiszter az ESP32-ben, ami a 80 Mhz-es ciklusokat számolja, ezzel elég pontos időzítést lehet csinálni. Viszont ez a regiszter cím olvasással nem érhető el, csak van egy assembly utasítás, ami ezt kiolvassa. Elég hülye ötlet, de így van. -
Janos250
őstag
A C++11 hozta be a raw string (R string) kezelését, és az ESP32 tudja.
A hagyományos stringnél csak macerásan oldható meg pár dolog, pl:\n
a sorváltás, és nem azt látod a programszövegben, ami majd ténylegesen lesz.
A raw string esetén nem kell escape-elni, hanem nyugodtan írhatod bele a sorváltást, tabulátort, miegymást, pontosan azt látod a program szövegében, ahogy az majd megjelenik például kinyomtatva. Én ezért szeretem használni. -
Janos250
őstag
Ígértem leegyszerűsített ESP32 WEB szerver mintát.
Nem tudom aktuális-e még, itt van egy végletekig leegyszerűsített változat:// felhasznalva:
// https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
// reszletesebben lsd ott
#include <WiFi.h>
#include <WebServer.h>
using namespace std;
const char* ssid = "********";
const char* password = "********";
IPAddress ip(192, 168, 0, 30); // ez lesz az ESP32 IP cime
IPAddress dns(192, 168, 0, 1); // ehhez az IP-ju WiFi routerhez fog kapcsolodni
IPAddress gateway(192, 168, 0, 1); // a router a gateway is
IPAddress subnet(255, 255, 0, 0); // a Wifi router maskja. ha nem tudod, akkor ez tobbnyire jo
IPAddress primaryDNS(8, 8, 8, 8); //optional lehet a router is
IPAddress secondaryDNS(8, 8, 4, 4); //optional
WebServer server(80);
const char htmlHeader[] = R"=====(
<!DOCTYPE html>
<html lang = hu >
<head>
<meta charset="UTF-8">
<title>minta WEB szerver</title>
</head>
)=====";
void serverValaszolHTMLtexttel() {
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>" ;
server.send(200, "text/html", htmlstring);
} ;
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
} ;
void setup(void) {
//************************************
// Ez a szokasos
Serial.begin(115200);
delay(2000);
WiFi.begin(ssid, password);
if(!WiFi.config(ip, gateway, subnet, dns, secondaryDNS)) {
Serial.println("STA Failed to configure");
}
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address(ESP32): ");
Serial.println(WiFi.localIP());// this will display the Ip address of the Pi which should be entered into your browser
//*************************************************
// mit kuldjon, ha egy client bejelentkezik
server.on("/", serverValaszolHTMLtexttel);
// mit kuldjon, ha hibas az URL
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("HTTP server started");
Serial.print ("ezt ird be a bongeszo cimsoraba:http://");
Serial.println(WiFi.localIP()) ;
} ; // end setup
void loop(void) {
server.handleClient();
delay(50);
} ; // end loop -
Janos250
őstag
A freeRTOS mindenképpen fut, és nem is kell róla tudomást venni, ha nem akarod, pont ugyanúgy használhatod, mint ha mondjuk UNO lenne.
Ugyanúgy van a main.cpp lényege (kikeresheted):setup();
for(;;) {
A mindenféléket beállítja neked, nem kell vele bogarászni, el is felejtheted, hogy freeRTOS alatt fut, ha nem akarod a két magot kihasználni.Nem nagyon van a freeRTOS-hoz használati utasítás a espressifen kívül
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html
de nem is igen kell .
Igazából az ember a xTaskCreatePinnedToCore API-t használja, ha meg akarja adni, hogy melyik magon fusson, vagy ha ráhagyod az oprendszerre, akkor meg az xTaskCreate.
Ha nem akarod, nem is látod ezeket a függvényeket, ő automatikusan az 1-es magon futtatja, ha nem beszélsz bele, hanem mondjuk egy UNO programot futtatsz.
Esetleg a vTaskDelete, vTaskDelay ( de a delay is erre fordítódik) , az xTaskDelayUntil, uxTaskPriorityGet, eTaskGetState, vTaskGetInfo, vTaskPrioritySet. Ezek nevei magukért beszélnek, a leírásuk , és a paramétereik a linken ott vannak.
Én akartam még használni a vTaskList-et, de az meg az Arduinora fordított verzióban nem működik, mert az meg csak akkor működik, ha valami debug módot is beállítottak volna, azt meg utólag - állítólag - nem lehet.
A WiFi-re majd írok konkrét példákat, és felteszem valahova.
Többféle módon használhatod. -
dzz
aktív tag
Sziasztok!
Beszereztem egy LilyGO-T-SIM7000G panelt, de eddig még nem volt esp a közelemben (illetve igen, de nem programoztam). Szeretném a lehetőségeit kihasználni, pozíciót lte hálózaton szerverre feltölteni, esetleg telemetriát a saját állapotáról vagy kap egy gyorsulásmérőt, de ez még képlékeny. Nem vagyok nagy programozó, néha kisebb dolgokat csinálok arduinoval és linux alatt scriptelek, néha egy kis C, de nem hivatásom a programozás.
A kérdésem az lenne, hogy mi az amivel érdemes egy esp-32-n ismerkedni? Arduino keretrendszeren gondolom menni fog, de mi van a freertos-el meg a micropythonnal? Mennyire használhatóak ezek rajta? Érdemes ezeken a vonalakon keresgélni? Esetleg van még valami érdekesnek tűnő OS szerű projekt amit érdemes megnézni? Teljesen hobbyprojekt lesz, az idő mellékes tényező, szívesen ismerkedem új lehetőségekkel és itt inkább az esp lehetőségei érdekelnek, nem is annyira a pontos board lehetőségei. -
Tomika86
senior tag
válasz
Tankblock #17341 üzenetére
Írtam, hogy van egy oled kijelző, ami a panelból ki van vezetékkel vezetve kb 60cmre a fő paneltől.
Arra gondolok akkor ezt külön venném a többitől, talán ez foglalja le leginkább a buszt, az u8g2 könyvtárral és kiiratásokkal.A többi pedig maradna a mostani buszon, közel az esp32höz. Eeprom, io bővítő, adc, giroszkóp.
Jól gondolom?
Köszi -
Tomika86
senior tag
válasz
Tankblock #17339 üzenetére
[link]
Megszakítás 2 bemenete marad az esp32őn.
Csak a többi menne erre a bővítőre.
Mit jelent a gyorsan kell?
Bemenetek:
Számláló nullázás, olajnyomásgomba figyelés, fékfolyadék kifogyott, 2 tartalék.
Kimenetek:
Hűtőventilátor
Izzítás
VilágításEgyiknek sem kell megszakítással kapcsolni.
Az aggaszt, hogy az i2c vonalon van több dolog, ezek nem fognak belassulni vagy bármi romlás lesz?
Pl analóg kiolvasás Ads7828 icvel ciklikusan történik. Eeprom olvasás/írás
Oled kijelző ciklikusan van írva folyamatosan
Giroszkóp is folyamatosan van olvasva
Busz 400khzre van állítva, csak 2,7kohm van az sda és scl buszon.
Eddig működik minden -
Tomika86
senior tag
Sziasztok!
Ezt az üzenetet kapom program feltöltésnél, egy új panelen.
Mit nézzek meg?
GPIO12 kimenetnek van használva, egy optocsatolót hajt meg.esptool.py v3.1
Serial port COM4
Connecting........___
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:d4:83:18
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0xffffff, SizeID=0xff), defaulting to 4MB
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x000defff...
Compressed 17104 bytes to 11191...
A fatal error occurred: Timed out waiting for packet content
*** [upload] Error 2Köszönöm!
-
quigon
tag
Megvan és ebben már benne van minden időzóna. HTML file-t miként tudok az esp-re feltölteni?
Talán rájöttem.
-
Ugyanezt akartam írni, de túl trollnak találtam
Tomika86
Olvastam a másik topicban a feedbacket. ESP8266-nál a watchdogból ki lehet olvasni, hogy mi volt az oka a legutóbbi resetnek, biztos van ilyen az ESP32-nél is (sajnos nincs sok tapasztalatom vele, de hátha itt valaki meg tudja mondani, hogyan csináld). -
Sziasztok! Esp32 kérdésem lenne. Használja valaki a touch button funkciót? Az érdekelne, mivel lehet még érintést kiváltani a touch lábakon az emberi testen kívül?
Szeretnék csinálni olyan lábpedált, aminek nagyon halkan kellene működni, és bírni kellene a strapát, például ha nagyobb erővel vagy sebességgel taposok rá. Az jutott eszembe, hogy mivel úgyis esp32 lesz benne, mi lenne, ha tactile kapcsolók helyett valahogy a touch funkciót használnám? Ha jól sejtem, kapacitív elven működik, tehát egy nagyobb fémlemez, vagy kondenzátor segítségével tudnám esetleg megbízhatóan aktiválni? -
Dißnäëß
nagyúr
Ájjájjjájjjjj Urak, nagyon rég Arduino-ztam meg ESP-ztem, pffh.
Pedig ez a világ legszebb dolga a szex és szerelem után.Shit.
-
Janos250
őstag
Szia!
Köszi, van, ami megy, de egyre rejtélyesebb.Van ugyebár két Arduino fejlesztés az ESP32-re.
Van egyszer, amit az espressif-nél van, valami régebbi IDF alapján, és ezt 1.0.6 verziónak nevezi. Ez, ha a File/Preferences-be ezt írjuk be:
https://dl.espressif.com/dl/package_esp32_index.jsonAztán van a github-on, a 2.0.2 verziónak nevezett, amit folyamatosan fejlesztenek aktív emberek, ez jelenleg a 4.4-es IDF alapján.
https://github.com/espressif/arduino-esp32/releases/download/2.0.2/package_esp32_index.jsonAz espressifesben megy a fájlkezelés úgy, ahogy egyszer korábban leírtam:
https://prohardver.hu/tema/arduino/hsz_16613-16613.html
Viszont nem megy az általad javasolt.A githubosban nem megy a fenti fájlkezelés, de - ha az IDF-ből bemásolom neki, amiért nyavalyog -, akkor megy, amit leírtál.
Ez alapján sikerült kiíratni azokat a dolgokat, amit tulajdonképpen akartam. Tulajdonképpen az s_vfs-et akartam leírni, csak egyszerűen akartam megfogalmazni, mert ez is ugyanolyan
FD_SETSIZE = 64
s_vfs[0] = 3ffb6d70
vfs = 3ffb6e10
path_prefix[] = /dev/uart
path_prefix_len = 9
ctx = 0
offset = 0
s_vfs[1] = 3ffb6e3c
vfs = 3ffb6edc
path_prefix[] = /dev/console
path_prefix_len = 12
ctx = 0
offset = 1Szóval a fene se érti.
Még majd bogarászok vele. -
válasz
Janos250 #17242 üzenetére
Mint múltkor is említettem, direktben szerintem sehogy, de ha szeretsz hekkelni, ha eléred ezt a függvényt, akkor bináris kereséssel ki tudod deríteni, mi az utolsó index, ami nem NULL-t ad vissza.
const vfs_entry_t *get_vfs_for_index(int index)
{
if (index < 0 || index >= s_vfs_count) {
return NULL;
} else {
return s_vfs[index];
}
}A components\vfs\private_include\esp_vfs_private.h-t kell include-olni.
-
Janos250
őstag
Szevasztok.
Egyszer már próbálkoztam ezzel, de abbamaradt.
Van nekem egy fájl: libvfs.a
Ebben van egy változó: s_vfs_countA program valahogy eléri, mert használja, de nem tudok rájönni, én hogyan tudnám elérni. Például kiíratni (Ja, ESP32 Arduino természetesen)
-
DarkByte
addikt
Köszi!
De akkor igazából mindkettőn szabadon használható.
Igazság szerint nekem nem nagy távolságot kellene vele áthidalni, maximum 100m, egy ESP-NOW is megoldaná valószínűleg. Csak amúgy is terveztem hogy kipróbálom a LoRa-t.(868-as sáv is telítődik, itthon nálam kapásból a kazán termosztát, a társas házi kapu távirányító is azt használja)
-
Janos250
őstag
válasz
Tomika86 #17229 üzenetére
Az ESP32-höz tartozó main.cpp része:
void loopTask(void *pvParameters)
{
setup();
for(;;) {
if(loopTaskWDTEnabled){
esp_task_wdt_reset();
}
loop();
if (serialEventRun) serialEventRun();
}
}Vagyis:
Meghívja a setup függvényt egyszer, majd egy végtelen for ciklusban a loop() függvényt.
Ha a setupba teszel valamit, annak egyszer le kell futnia.
Én továbbra is időzítési problémára gyanakszom, bár gyanús, hogy fgv nélkül megy. -
Tomika86
senior tag
válasz
Janos250 #17222 üzenetére
A többi is függvényként van a végén a programnak, az összes nextion parancs.
A loopon belül csak meghívom a függvényt, ami te írtál az az egy darab parancs van a setup blokk végén, elötte van delay(csak itt), azért írtam azt is függvényként, mert az össze többi úgy van.Nem a leírásoddal van baj, hanem ha csak egy függvény hívást használok, az nem hajtódik végre. Minden hiba nélkül lefordul és rátöltődik az esp32re.
Innét tudom:
-Áram alatt van a kijelző és az esp32.
-Kijelzőben átlépek egy másik oldalra.
-rátöltöm a programot
-nyomok esp32re egy resetet
Itt függvény híással nem lép át a 0 képernyőre.
Függvény hívás nélkül, a te 1 soroddal beírva átvált a kezdő képre(page 0).Setup blokk
Loop blokkFüggvények
Függvény prototípus nincs!
-
Tankblock
aktív tag
válasz
Tomika86 #17211 üzenetére
ESP-IDF (ESP32 wroom ha jól emlékszem) c++ ban Arduino nélkül, Eclipse alatt :-)
az InitNextion() Fv felparametrizálja a 2.v3. UART drivert ESP32 ön a Nextionnak megfelelően - Hozzátenném, hogy a nextiont is át kell configolni magasabb baud rate - re, mert alapból csak 9600 bps.
A sendData fv az alap UARTra logol és a Nextion UARTnak meg kiküldi a megkapott stringet.
végül egy taskban ahol szükséges szépen stringet összerakom és ahogy látod a templateneél meg van írva a .to_str() fv ami lehetővé teszi a const char * tudjak átadni a sendData fvnek :-)
Ebben a projectben pl nincs Arduino és nem is szeretnék. FreeRTOS+ MQTT van még ebben a projectben használva, az tuti h át kell még írnom párszor, de egy ilyen hőmérő + világítás kapcsoló már fut az asztalomon 3+ éve.
Szedd le az ESP-IDF és a example mappában benne van szinte minden, "csak" össze kell rakni saját tetszés szerint.
Egyre rájöttem a Nextionból a RTC részért még 1x nem fizetek, mert az enyémben nincs a hőmérséklettel kikompenzálva és sosem mutat helyes időt....
-
Tankblock
aktív tag
válasz
Janos250 #17208 üzenetére
char endData[] = {0xFF,0xFF,0xFF};
ez akár még működhet is....using namespace std;
template < typename Type > std::string to_str (const Type & t)
{
std::ostringstream os;
os << t;
return os.str ();
}
csakhogy meglegyen a fvnyek:
(CODE)void initNextion() {
const uart_config_t uart_config = {
.baud_rate = 115200,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE
};
uart_param_config(nUART, &uart_config);
uart_set_pin(nUART, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
// We won't use a buffer for sending data.
uart_driver_install(nUART, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
}
int sendData(const char* logName, const char* data)
{
const int len = strlen(data);
const int txBytes = uart_write_bytes(nUART, data, len);
ESP_LOGI(logName, "Wrote %d bytes\n", txBytes);
ESP_LOGI(logName, "#%s#\n", data);
return txBytes;
}(/CODE)
string store ="";
store += "page2.valami.val=";
store += (x.sData=="ON") ?"1":"0";
store += endData;
sendData(TX_TASK_TAG, store.c_str());ezt használtam home projectben, működik
-
Janos250
őstag
Találtam egy hasznos felhasználási módját az ESP-nek!
Ha a nem kívánatos SPAM jellegű "néznivalók" linkjeit windows alatt a host nevű fájlba berakja az ember egy nem létező IP címmel, akkor azt nem hozza be, de vannak oldalak, amelyek addig várakoznak, míg meg nem érkezik onnan valami. Most erre az IP-re tettem egy ESP mini WEB szervert, ami egy üres html oldalt hoz be. Azóta kellemesebb az életemNem jön az "akarsz a közeledben ingyen ....et?", és hasonló oldalak. Legfeljebb G...tyán milliárdjait nem növelem.
-
Tankblock
aktív tag
válasz
Tomika86 #17160 üzenetére
Szia,
unsigned
után nem maradt le a változó típus dekraláció véletlen plint
?Én a helyedben a If statementben vizsgálnám h mi van benne pl <1 vagy valami....
Standard struktúra működik c ill c++ alatt nincs benne semmi esp32 specifikus, vagy nem értem a kérdésed lényegét.
A kérdésed második felére hoznál fel példát? Mitől lenne a Makró gyorsabb és a Fv kevesebb memória?
-
Tomika86
senior tag
Sziasztok
Most volt mikrovezérlős órám, pic32mx.
Kérdeznék,hogy itt lehet-e(esp32)
Bit kezelés:
struct {
unsigned b0:1;
unsigned b1:1;
unsigned b2:1;
} Bit;
A programban pedig így kezelem a bitet:if(Bit.b0)
Meg a másik hogy függvény vagy makró?
Makró gyorsabb, több memória. Függvény "lassabb", kevesebb memória?Köszönöm
-
válasz
tonermagus #17156 üzenetére
A "tárgy"-ban lévő elektronikában követelmény, hogy passzív legyen?
Egy lecsökkentett TX poweres ESP-t (vagy herpákolt antennásat) ha beleteszel, egy másikkal az oszlopban tudod mérni a jelerősséget.
-
Tomika86
senior tag
válasz
Tankblock #17145 üzenetére
Szia!
Igen, egyetemen most PIC32 programozása van. MPLAB X-ben.
Xtensa LX6 ha jól tudom az ESP32 ic-je, de olyan részletességűt nem találtam mint egy PIC32MZ családé.
Ezért is tettem fel a Visual Studio Code programot, de ez is hiányolja a loop és setup ha main és while függvényeket használom. függvényeket. -
Janos250
őstag
Srácok! Valahogy nem boldogulok én a lib szerkezettel.
Valakinek tasmotát kellene fordítanom, Arduino IDE alatt.
Régebben már csináltam, de most valahogy nem megy.Van a tasmota.ino file:
C:\Arduino\arduino-1.8.19\portable\sketchbook\Csikor\tasmota.inoA programban: #include <t_bearssl.h>
A neten azt írják, hogy a lib könyvtárat másoljam be a sketchbook\libraries-be. Megtettem, ott is van a file:
C:\Arduino\arduino-1.8.19\portable\sketchbook\libraries\lib_ssl\bearssl-esp8266\src\t_bearssl.hValahol meg azt írták, hogy a saját sketch-be tegyem. Oda is betettem:
C:\Arduino\arduino-1.8.19\portable\sketchbook\Csikor\tasmota\lib\lib_ssl\bearssl-esp8266\src\t_bearssl.h#include <t_bearssl.h>-nél továbbra is jön a hibajelzés:
t_bearssl.h: No such file or directoryLehetne persze az összes .h és .cpp file-t berakni a sketchhez, de annyi van belőlük, hogy a maradék hajam is kihullik, mire átpakolom.
Hogyan csináljam, hogy megtalálja?
Nem, nem akarok platformio-t használni, hanem Arduino IDE-t -
-
Janos46
tag
Sziasztok.
Segítséget szeretnék kérni. ESP8266 amit ha a COM portra dugok eként látom: Silicon Labs CP210x USB to UART Bridge (COM5), azonban a routerben nem (MAC és IP cím). A driver fennt van (CP210x_6.7.4 ) Mi lehet az oka? -
Janos250
őstag
válasz
tibi-d #17055 üzenetére
Sok jelentősége nincs. ha a default pineket használod, akkor talán 1-2 ns-sel gyorsabb.
Ha nem azt használod, akkor meg teljesen mindegy, ugyanis van egy hardware mátrix - olyasmi mint a fóliás billentyűzetekben - azon keresztül megy. A mátrix egyik oldalához vannak kötve a perifáriák, a másikhoz meg a pinek, és amikor összerendeled őket, akkor egy adott sort összekötsz egy adott oszloppal.
Az analogokat a defaultból válaszd. Az UART1-nek is van default, de az nem jó, mert azt a memória kezeléshez használja, a lapok többségén ki sincs vezetve.
Én az I2C-t, és az SPI-t (VSPI) az alapértelmezetthez szoktam kötni, de csak megszokásból. Itt elég jól fel vannak tüntetve:
https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2018/08/ESP32-DOIT-DEVKIT-V1-Board-Pinout-36-GPIOs-updated.jpg
Meg itt is:
https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2018/08/esp32-pinout-chip-ESP-WROOM-32.pngVagy ez:
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)
static const uint8_t LED_BUILTIN = 2;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN
static const uint8_t TX = 1;
static const uint8_t RX = 3;
static const uint8_t SDA = 21;
static const uint8_t SCL = 22;
static const uint8_t SS = 5;
static const uint8_t MOSI = 23;
static const uint8_t MISO = 19;
static const uint8_t SCK = 18;
static const uint8_t A0 = 36;
static const uint8_t A3 = 39;
static const uint8_t A4 = 32;
static const uint8_t A5 = 33;
static const uint8_t A6 = 34;
static const uint8_t A7 = 35;
static const uint8_t A10 = 4;
static const uint8_t A11 = 0;
static const uint8_t A12 = 2;
static const uint8_t A13 = 15;
static const uint8_t A14 = 13;
static const uint8_t A15 = 12;
static const uint8_t A16 = 14;
static const uint8_t A17 = 27;
static const uint8_t A18 = 25;
static const uint8_t A19 = 26;
static const uint8_t T0 = 4;
static const uint8_t T1 = 0;
static const uint8_t T2 = 2;
static const uint8_t T3 = 15;
static const uint8_t T4 = 13;
static const uint8_t T5 = 12;
static const uint8_t T6 = 14;
static const uint8_t T7 = 27;
static const uint8_t T8 = 33;
static const uint8_t T9 = 32;
static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;
// PWM Driver pins for PWM Driver board
static const uint8_t PWM0 = 12;
static const uint8_t PWM1 = 13;
static const uint8_t PWM2 = 14;
static const uint8_t PWM3 = 15;
static const uint8_t PWM4 = 16;
static const uint8_t PWM5 = 17;
static const uint8_t PWM6 = 18;
static const uint8_t PWM7 = 19;
#endif /* Pins_Arduino_h */Apropó!
Szerintetek ennek a sornak mi az értelme:#define LED_BUILTIN LED_BUILTIN
-
-
Janos250
őstag
válasz
Sebiferi #17047 üzenetére
Erre én is kíváncsi lennék, mert irreálisan alacsonyak az árak. pl. ESP32CAM 1100 Ft.
Lehet, arra játszanak, hogy nem küldik, és mivel hosszú a szállítási határidő, és az nem is a rendelés napjától, hanem attól a naptól számít, amikor ők postára adták, így aki nagyon erősködik annak visszautálják, de sokan addigra el is felejtik, és az a hasznuk. -
válasz
Killer man #17039 üzenetére
Sosem hallottam még ilyen nevű eszközről. Milyen uC van rajta?
Látatlanban azt mondom, hogy nem bír el 40mA-t. Az AVR-ek talán bírnak ennyit, de inkább sink módban, push módban asszem 27mA a max. Az esp-k még ennyit se, ott talán 17mA a max áram. -
Janos250
őstag
válasz
Ton-ton #16973 üzenetére
A Ramp az jó, bár Megaval megy, de nem tudok olyan, nagy szériában gyártott panelről, ami korszerűbb procival (STM, ESP) megy. Utólag szokták hozzá mókolni az ESP8266-ot, akinek kell.
A programodat hova akarod tenni? A RAMP Megájába? Vagy külön panel lesz rá?
USB ügyben elég gyenge vagyok.
"Esetleg tudnál compilert javasolni?"
Ha az Arduino IDE-t letöltöd, abban minden benne van, szőrötül-bőröstül.
Megnyomot a feltöltés menüt, és mindent elintéz.
Van olyan IDE, ami régebbi fordítót tartalmaz, de pl. az ESP32-höz ami van, az már tudja a C++11-et, bár az alapesetben nem szükséges. -
válasz
sisi22 #16965 üzenetére
Ez a soros port nem az a soros port, amire te gondolsz, ez usb-n keresztüli (virtuális) soros port emuláció. Vagyis usb-vel rádugod a gépre, csak kell valami, ami tudja kezelni. Valószínűleg a legjobb megoldás Janos250 javaslata alapján egy esp32, ami egy önálló webszervert képes megvalósítani. Felkapcsolódva vele az otthoni wifi hálózatra, gépről rá tudsz kapcsolódni és megnézni rajta az adatokat.
20 forintos kérdés: Arkagyij Rajkin
Jó lenne, ha megmásznád ezt a spanyol hegyet, különben kell valaki, aki megmássza helyetted.
Lehet önálló kütyü is, van mindenféle kijelző, karakteres vagy grafikus, pénz kérdése.
-
vegyszer
addikt
válasz
Dißnäëß #16944 üzenetére
Azt láttam, hogy ESP32, illetve ESP8266 esetén van MicroPython használati lehetőség.
Getting started with MicroPython on the ESP8266De hogy ez azt az érzést, élményt hozza, amit te szeretnél, azt már nem tudom. Én megragadtam a kapott kódok alantas igényeimre formálásának a szintjén.
-
Dißnäëß
nagyúr
Urak !
Van ez az Arduino IDE ugyebár. Most egy nagyon fura kérdést hoznék, nem ér kiröhögni
Szóval: jó ez a C++, de én amúgy így egyébként udemy-ről meg innen-onnan python-t tanulok épp.Van rá lehetőségem, IDE, akármi, hogy python-ban fejlesszek a kütyükre ? Gondolok a Leonardo-imra arra a kettőre, meg az ESP8266-omra.
Nem is maga a nyelv érdekel, hanem a library-k széles választéka. Gondolom, C++ -ra van a legtöbb, nem ? (Van ugye az OLED kijelzőm). Végülis tök jó nekem a C++ mert nem egy világvége, de ha már amúgy egyébként python-ozok, miért ne használjam itt is azt.
Csak elfilóztam, nem nagy dolog. Köszi.
-
Janos250
őstag
válasz
tonermagus #16908 üzenetére
Én ajánlani már semmit senkinek nem ajánlok, csak azt mondom el, én hogyan csinálom/csinálnám.
Én az IRLB4030-at használom, ez nagyon jól bevált, kivétel, amikor az Aliról használhatatlan példányokat kaptam.
Gyakorlatilag tökéletesen nyit, zár, nem melegszik, nagyon kicsi az ellenállása az ESP32 kimenetével hajtva a gate-et.
A vásárolt példányoknak kb. a fele rossz volt, nem nyitott ki teljesen, és nagyon melegedett.
Amit megbízhatóbb eladótól vettem az mind jó, de volt 2 olyan rendelésem is, hogy mind rossz volt. Kénytelen voltam az összes példányt lemérni, és a rosszakat kidobni.
Részlet, hogy én hogyan használom: (Csak a FET-eket és az ESP32-t nézd, mert van ami el van rontva, de nem találom a javítottat) -
Tomika86
senior tag
Sziasztok
Pár kérdésem lenne:
1. Fordítaskor kiírja az arduino ide hogy az egyik library nem kompatibilis esp32 platforma, működik, de esetleg okozhat gondot?
2. Nagyon lassan fordít le, ha másodszor is fordítom már sokkal gyorsabb
3. Reset és gpio0 10kohm-al felhúzva 3,3vra. Ha a kapcsolóhoz kondenzátort teszek akkor boot módba lép tápfeszültség megjelenésekor, 100nF és 1uFal is próbáltam, kisebb kell? 1nF?
Usbs újraindítás nincs, csak a kettő gomb.Köszönöm
-
Janos250
őstag
válasz
JozsBiker #16879 üzenetére
Az ESP32-nek van saját time.h-ja, az jól működik, ahogy weiss is írta.
Itt jobban kirészletezve:
https://lastminuteengineers.com/esp32-ntp-server-date-time-tutorial/Vagy maga a program:
#include <WiFi.h>
#include "time.h"
const char* ssid = "xxxxx";
const char* password = "xxxxxxxx";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;
void printLocalTime()
{
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}
void setup()
{
Serial.begin(115200);
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
}
void loop()
{
delay(1000);
printLocalTime();
} -
JozsBiker
aktív tag
Sziasztok !
Ennek szerintetek kellene működni ESP32 -n ?
/**************************************************************
* Local Time Stamp with ESP32
* Developed by Marcelo Rovai - 8 September 2017
**************************************************************/
#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
#define NTP_OFFSET -3 * 60 * 60 // In seconds
#define NTP_INTERVAL 60 * 1000 // In miliseconds
#define NTP_ADDRESS "0.europe.pool.ntp.org"
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, NTP_ADDRESS, NTP_OFFSET, NTP_INTERVAL);
void setup()
{
Serial.begin(115200);
timeClient.begin();
}
void loop()
{
timeClient.update();
String formattedTime = timeClient.getFormattedTime();
Serial.println(formattedTime);
delay(1000);
} -
válasz
Sebiferi #16835 üzenetére
Az áramváltós és a hall-effektes mérők tudtommal nem tudnak ilyen kis áramokat mérni.
Ez igaz, de sokkal könnyebben meg tudod emelni a rajtuk keresztül folyó áramot, mint hinnéd.
Mondok egy példát:
Veszel egy 5A-es lakatot ami 5mA-re vált. Teszel rá egy terhelőt, ami az 5mA-ből 5V-ot csinál (1kOhm).
Ezt az 5V-ot 1024 felé tudod bontani, azaz az 5A-t is. Az már 4,8mA felbontás.
Ha viszont a vezetékedet 4x viszed át a hurokban (ügyelve az azonos áramirányra) akkor 4x olyan érzékeny lesz, azaz 1,2mA felbontást kapsz.
Ezekben az áramváltókban a vasmag szaturációja a névleges értékre van belőve, afölött nem - vagy nem sokkal nagyobb - feszültség/áram nyerhető belőlük, így amikor a valós 10 amperes fogyasztás megérkezik, nem fog túlfeszültséget okozni a mérő oldalon. (Illetve amit okoz, azt simán elviszed egy ellenirányú 5V-os zenerrel).
A közös nullpont azt hiszem nem lesz gond, ennek (is) utánajártam. Pl. a sonoff cuccok is ilyenek és jól működnek.
A Sonoff cuccokban az ESP-k nem az AC vonallal közösítenek nullát, hanem a dedikált energiamonitorozó chippel (HLW8012). A schematicon ne keverd össze az Earth és a GND pontokat, mert azok nincsenek közösítve. -
Tankblock
aktív tag
válasz
Dißnäëß #16797 üzenetére
Szia,
Van másik út is ha ,egengedik a követelmények. RTC memóriájába írod a ESP-nek, majd deep sleep, és csak a deep sleep currentet kell megtartani 20 µA ami nem sok, ha csak pár percig kell, vagy egy szép LiPo akksit/ CR2032/Alkaline elemx2 teszel rá, backupnak attól függ hányszor jön elő.
Ha visszajön a tápfesz kiírod.
Új hozzászólás Aktív témák
Hirdetés
- eladó 4db 2TB NASware WD red (WD20EFAX)
- Xiaomi Redmi Note 13 Pro+ 5G 512GB 12GB RAM - 2027. FRBRUÁRIG GARANCIÁS / akár beszámítással is
- ÚJ Lenovo LOQ 15ARP9 - 15.6" FullHD IPS 144Hz - Ryzen 7 7435HS - 24GB - 512GB - RTX 4050 - 2 év gari
- LG OLED42C44LA 2 Év Gyári Garancia
- LG OLED65B49LA 2 Év gyári Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Wimius W2 okosprojektor / Számla + Garancia / 30 000 Ft
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad T460 - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest