- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- VR topik
- Gaming notebook topik
- 3D nyomtatás
- Bambu Lab 3D nyomtatók
- Vezeték nélküli fülhallgatók
- Fájdalmasan gyenge kijelzőt válaszott a Switch 2-höz a Nintendo
- Sony MILC fényképezőgépcsalád
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
-
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
-
Janos250
őstag
Na, megvan a console átirányítás az ESP32-n (a legkézenfekvőbb, de ki gondolta, hogy működik)
freopen("/dev/uart/0", "w", stdout);
Persze a 0 helyett az aktuális -
-
-
-
Janos250
őstag
válasz
fecske13 #8050 üzenetére
"az egyiknek 8-al több lába van"
Hú, az sok!
Most nincs előttem a két lap, de akkor azért itt kell szólni az alábbiakról:
AZ ESP-WROOM-32 kivezeti azokat a lábakat is, amit mi nem használhatunk, mert az ESP32-nek ezek a lábai a flash memória címzését szolgálják, mi - normál esetben - nem használhatjuk. Ezt egyes lapok kivezetik pinre, mások nem. Lehet ez az oka, de majd egyszer kinyomtatom a két lap képét és átbogarászom.
Nem kompatibilisek?
Ha azt értjük a kompatibilitás alatt, hogy ugyanott vannak a kivezetett GPIO-k, akkor messze nem kompatibilisek. Bizony meg kell keresni az adott lapon, hogy az adott GPIO hova van kivezetve.
Egyébiránt meg teljesen kompatibilisek. -
Janos250
őstag
Srácok! Nálam okosabbak segítsetek lsz!
Mi a fene a stdout az ESP32-nél.
Hova ír ki az alábbi program?//#include <stdio.h>
#include <iostream>
using namespace std;void setup() {
delay(2000);
cout << "proba kiiras";
uint8_t i = 5 ;
std::cout << "i: " << i << std::endl;
}void loop() {
}A freeRTOS-ben sem találom, hogy tudnám kijelölni
Másként ki lehet íratni persze, de én a cout-ra és a cin-re lennék kíváncsi.
-
Janos250
őstag
válasz
fecske13 #8044 üzenetére
Többféle lap van. Amiken ESP-WROOM-32 van, akkor semmi lényeges különbség nincs köztük.
Amiben különbözni szoktak pl. hogy hány GND láb van, meg hasonlók, továbbá a lábak mellé írt "név", mert nem mindig egyformán nevezik a lábakat. Ezért én többnyire a GPIO sorszámmal és nem a nevével adom meg a lábakat, hogy ha egy másik lapot választok ki, ne tekintse ismeretlennek a lábak elnevezéseit.Hangsúlyozom mégegyszer, hogy ha a képen ki van takarva annak a fém burkolatos százlábúnak a felirata, akkor az bizony többnyire ESP8266, nem 32. Persze az se rossz, de a párszáz Ft különbség ellenére a ESP32 SOKKAL többet tud, ma már nem éri meg ESP8266-ot venni. A 8266 programjai is futnak a 32-n is. A 8266-nak én egyetlen előnyét látom: fizikailag kisebb a kevés lábszám miatt, ezért ha picike helyre kell bepasszírozni, akkor az a 8266-al könnyebben megy.
-
mhegedusmh
újonc
Hali, egy ESP8266-01 modullal szivunk sokat (3db-ot is probaltunk), de az AT parancsokra mar nem valaszol... Flashelni 1x sem sikerult... 3.3V-5V logikai szintillesztovel kotottem ossze az FTDI32 usb-soros chippel. Any idea?
-
DiceBlade
aktív tag
Sziasztok!
Van egy NodeMCU ESP8266, amit univerzális távirányítóként szeretnék használni.
Rákötöttem egy KY-005 infra adó modult így:
TV ki/bekapcsoló kódját próbáltam vele küldeni, de sajnos nem reagál rá a tv néhány cm-ről sem.
Az lehet a gond, hogy a board-om GPIO-i 3.3V-osak? Hogyan tudnám "debugolni"?
A hő és páratartalom mérőm is 5V-os de arról sikerült olvasni. -
Janos250
őstag
válasz
ZTE_luky #8013 üzenetére
"ha arduino rendszeres ez is meg az is , akkor nem ugyanolyan írt kóddal működik?"
De, az alapvető dolgok ugyanazok, mert arduino ez is, az is. Viszont az egyes kontrollerek mások, ezért ha akarja az emberfia, akkor kihasználhatja a specialitásait. Az eredeti arduino "szabvány" definiál egy csomó függvényt, konstanst, amit ha valaki illeszt az arduinoba egy másik kontrolleres lapot, azokat "kötelező" megírni rá. Viszont azokra az újabb tulajdonságokra, amik az eredeti arduinóban nincsenek, arról nem szól a fáma, hogy azokra mit írjunk meg. Az ESP32-nek van néhány újdonsága, pl. az úgynevezett RMT (remote controller), ami ennél a kontrollernél jelent meg, és a WS2812-höz nagyon jól jön. Na, én ezt a spécit használtam élvezkedésként.
"gondolod hogy ehhez a kis rendszerhez szükség lenne az enyémnél komolyabb kontroller kell?"
Én úgy tippelem, hogy elegendő a nano is. Csupán azt mondom, hogy a FASTled programot nem használtam, abban nem tudok tanácsot adni, hanem majd azok, akik ismerik.
Egyébként azt hiszem, egyre kevesebben használják a régi lapokat. Ezt abból gondolom, hogy az elfekvő nano készletemből úgy gondoltam, áruba bocsátok párat, hátha jól jön valakinek, amit én nem használok. Hetekig hirdettem itt, de nem kellett a kutyának se, végül egy valakinek kellett egy darab 500 Ft-ért. Le is vettem a hirdetést, mert ennyi pénzért a macerát se éri meg. Ellesznek a fiókban a többi kacat között. Pedig egyszerűbb dolgokra valóban jó, csak aki MOST vesz lapot, az már korszerűbbet vesz, mert alig drágább -
Janos250
őstag
válasz
ZTE_luky #8011 üzenetére
"ha nem sikerül arduino-val akkor beszerzek egy ilyen kis kütyüt"
Arduino rendszerbe gyártott lap sokféle van, többféle kontrollerrel.
Az ATmega328P egy elég régi típus, elég lassú, kicsi a memóriája, de vannak, akik kisebb feladatokhoz kedvelik, mert már 500 Ft körüli áron is beszerezhető. Én az ESP32-t szoktam ajánlani, én azt kedvelem. Ezt is Arduino rendszerben használjuk, az ára 1500 Ft körüli.
Például:
https://www.ebay.com/itm/ESP32-ESP32S-CH340G-CP2102-2-4GHz-Dual-Mode-WiFi-Bluetooth-Module-Antenne/263307790295?hash=item3d4e5e07d7:ggsAAOSwq4VaOPmF
Arra kell vigyázni, hogy ESP-WROOM-32 legyen rajta az a szögletes fém borítású hibrid, mert most elterjedt, hogy 1000-1200 Ft-ért árulnak régebbi, ESP8266 lapokat,
de ESP32 néven. Az átverés, a fényképeken a feliratot kitakarják.
Az ESP32 kettő maggal, sok memóriával rendelkezik, 240 MHz-el jár -
Janos250
őstag
válasz
ZTE_luky #8008 üzenetére
Na, arra sajnos nem jó, mert speciálisan az ESP32 regisztereinek a közvetlen használatával van megcsinálva a ledet kezelő része, viszont az a lényeg. Állítólag a FASTLED talán a Te controllereden is elmegy, azt nem tudom. A WS2812 programozása elég macerás, mert elég pontos időzítések kellenek. Én már nem akarok ráállni annak a régi controllernek a programozására. Azt a kezelő programot Teasüti bogarászta ki, és pofozta át a saját igénye szerint. Ha erre jár, majd az ő véleményét vedd figyelembe.
-
Janos250
őstag
válasz
ZTE_luky #8003 üzenetére
Nekem tetszik.
Ha a hullámot akarod, akkor - szerintem - jó a bekötés is.
Mindenképpen ESP32-t javasolok.
Ha gondolod, tehetek fel működő komplett programot, ami a tutorial céllal készültek egyike, csak még nem volt időm a dumát is megírni mellé. A célja miatt jól el van benne különítve minden, ha egy pici lövésed is van a programozáshoz, akkor megérted, és változtatni is tudod. -
vargalex
félisten
Szia!
Mindhárom eszközön ugyan az a kód fut? Ezt a doksit érdemes egyébként elolvasni. Konkrétan arra a részre gondolok, hogy az ESP8266-on alapban engedélyezett a Modem sleep mode kliens módban, ami ugye lekapcsolja a WiFi modult 2 DTIM Beacon intervallum között, ha nincs rajta forgalom. Nyilván, ha ilyen állapotban ping-eled, akkor előbb fel kell, hogy ébressze...
-
itg
tag
válasz
vargalex #7951 üzenetére
Sziasztok!
Megfogadtam a tanácsokat, átnéztem a kódokat, átírtam állandó kapcsolatra és az alábbi képen látható elérési időkkel érhetők el az ESP-k.
Ami számomra nagyon furcsa, hogy a 10.0.0.80-as a routertől 40 centire van és brutál magas a ping.
A kiugrásokat nem tudom mire vélni, 2,4Ghz-en csak ez a 3 eszköz van a hálón.Tehát úgy néz ki, hogy állandó kapcsolat esetén nem dobálja el a hálót.
(legalábbis az elmúlt 32 óra alatt nem volt kiesés egyik eszköznél sem.) -
_q
addikt
Sziasztok!
ESP32-vel csinált már valaki wifi repeatert? Neten találtam egy 8266-ra írt ESP-IDF kódot, de Arduino IDE kódot szeretnék írni. Routerként kéne funkcionálnia az ESP32-nek, amire telefonnal vagy laptoppal lehetne csatlakozni.
-
Teasüti
nagyúr
-
Janos250
őstag
válasz
Teasüti #7970 üzenetére
Ezekkel a megoldásokkal itt foglalkoznak sokan:
https://prohardver.hu/tema/okos_otthon_smart_home/friss.html
Ami a 32-n megy, az - ha nincsenek benne túl extrém dolgok, pl. RMT - akkor a 8266-on is megy. A wifi kezelés ugyanaz. Ezeknél az okosotthonos megoldásoknál általában kell valami központi szerver, ami vagy helyben mondjuk egy PI, vagy valami távoli. Én azt várnám, hogy valaki csinálja már meg a MOSQUITTO megfelelőjét ESP32-re. -
Teasüti
nagyúr
Srácok!
Foglalkozott itt már vki Philips Hue Light alternatívákkal?
ESP8266-ra van egy-egy Hub emulátor Github-on.
Ezzel a lappal még nem volt dolgom, de ahogy olvasgattam a topikot nem csak egyszerű plug&play, hanem kelleni fog nekem még egy usb-soros adapter is?
RGBW analóg szalagból szeretnék készíteni egy Google Home vezérelt megoldást szobai dekorvilágításnak.
A hardver nem kérdéses (esetleg ha ESP helyett van jobb ötlet, akár kész gyári vezérlő, akkor jöhet) az könnyű feladat. A szoftver oldala lesz érdekes. -
_q
addikt
válasz
Janos250 #7967 üzenetére
Szintén kiválasztod a megfelelő topic-ot ahol keresni szeretnél, majd jobb fent ahol ESP32-t írtál ott legördíted az opciók melletti lefelé nyilat. Ott lesz, hogy részletes keresés. A topic alapból be lesz írva, neked csak a "Szűrés felhasználó szerint" ponthoz kell a nevet beírni. Telefonról nem tudom működik-e gépről biztosan.
-
Janos250
őstag
válasz
Vasinger! #7961 üzenetére
Az én (egyéni) véleményem:
Vegyél 1 (egyetlen egy) UNO-t, ha most kezded a témát, mert az a neten az iskolapélda. Hozzá valami modernebbet, mert - majd látod - hogy ami UNO-n megy, az máson is. Viszont kezdőnek ha gondja van, könnyen mondja, hogy "bizonyára azért, mert nem UNO". Ha van mód kipróbálni UNO-n, akkor megnyugszik, és megkeresi a programban a hibát. Én jelenleg az ESP32-t tartom a legjobb érték/ár arányúnak, kb 1600 Ft körül vannak a lapok.
Korábban ezeket írtam:https://prohardver.hu/tema/arduino/hsz_6219-6219.html
https://prohardver.hu/tema/arduino/hsz_5810-5810.html
Ezt is javasoltam elolvasni:
http://www.instructables.com/id/IOT-Made-Simple-Playing-With-the-ESP32-on-Arduino-/ -
Janos250
őstag
Okosat nem tudok mondani, csak hangosan gondolkodom:
" Serial.println("Failed to read from DHT sensor! Rebooting.");
ESP.restart();"Ha hibás a DHT olvasás, de van WiFi kapcsolat, akkor reboot? Nem tudom, a router mit szól ehhez, hogy ugyanolyan IP-vel újra kapcsolódni akarsz. Persze ez csak egy elképzelés.
Hibás DHT11 olvasás? Én valamikor régen próbáltam a DHT.h-val a DHT11-et, de gondjaim voltak, inkább csináltam másikat.
Nem nagyon emlékszem már rá, de valamikor feltettem a netre:
link
Persze valószínűleg az idő rég eljárt felette. -
Janos250
őstag
Most jut eszembe: ha valakinek ESP32 RMT Register Summary kellene:
https://www.esp32.com/viewtopic.php?f=19&t=4113&p=20834#p20834 -
itg
tag
válasz
Janos250 #7950 üzenetére
WiFi.status = 3 és a pingre nem válaszol, illetve a routeren sem látszik a csatlakoztatott eszközöknél.
ez a kódom:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <DHT.h>
#define DHTPIN D4
#define DHTTYPE DHT22
const char* ssid = "ssid";
const char* password = "pw";
const char* server = "10.0.0.10";
const char* source = "konyha";
IPAddress ip(10, 0, 0, 80);
IPAddress gateway(10,0,0,1);
IPAddress subnet(255,255,255,0);
float humidity;
float temperature;
String data;
byte mac[6];
WiFiClient client;
DHT dht(DHTPIN, DHTTYPE);
void connectwifi()
{
WiFi.config(ip, gateway, subnet);
WiFi.mode(WIFI_STA);
delay(3000);
WiFi.begin(ssid, password);
delay(3000);
while (WiFi.status() != WL_CONNECTED) { Serial.print("Wifi status: "); Serial.print(WiFi.status()); Serial.println(" "); delay(1000); }
Serial.println();
WiFi.macAddress(mac);
delay(10000); //dhcp
Serial.print("Connected to local network: ");
Serial.print("MAC: "); Serial.print(mac[0],HEX); Serial.print(":"); Serial.print(mac[1],HEX); Serial.print(":"); Serial.print(mac[2],HEX); Serial.print(":"); Serial.print(mac[3],HEX); Serial.print(":"); Serial.print(mac[4],HEX); Serial.print(":"); Serial.print(mac[5],HEX);
Serial.print(" IP: ");
Serial.print(WiFi.localIP());
Serial.print(" GW: ");
Serial.print(WiFi.gatewayIP());
Serial.print(" Wifi status: ");
Serial.print(WiFi.status());
Serial.printf(" RSSI: %d dBm\n", WiFi.RSSI());
}
void disconnectwifi()
{
if ( WiFi.status() != WL_DISCONNECTED )
{
WiFi.disconnect();
}
}
bool httppush()
{
if (client.connect(server, 80))
{
client.println("POST /mrtg/push_konyha.php HTTP/1.1");
client.println("Host: ");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
}
else
{
Serial.println("Connection failed. Rebooting.");
ESP.restart();
}
if (client.available())
{
char c = client.read();
Serial.print(c);
}
if (client.connected())
{
client.stop();
}
}
void setup()
{
Serial.begin(9600);
delay(1000);
Serial.println("Init progress: boot");
delay(5000);
Serial.println("Init progress: dht start");
dht.begin();
delay(5000);
}
void loop()
{
delay(5000);
Serial.println("Loop progress: wait 4 min");
delay(600000);
//delay(10000);
Serial.print("Loop progress: wifi start");
connectwifi();
Serial.println("Loop progress: reading from DHT22");
humidity = dht.readHumidity();
temperature= dht.readTemperature();
if (isnan(humidity) || isnan(temperature))
{
Serial.println("Failed to read from DHT sensor! Rebooting.");
ESP.restart();
}
else
{
Serial.print("Temperature: ");
Serial.println(temperature);
Serial.print("Humidity: ");
Serial.println(humidity);
Serial.print("Loop progress: connect to ");
Serial.print(server);
Serial.println("");
data = "source=" + String(source) + "&temperature=" + String(temperature) + "&humidity=" + String(humidity);
Serial.println("Loop progress: sending data");
delay(5000);
httppush();
delay(5000);
Serial.println("Loop progress: wifi stop");
disconnectwifi();
}
} -
Janos250
őstag
Csak elmélkedés: Lecsatlakozol, és újra fel ugyanarra az IP címre? Kilépéskor lezáródott rendesen a kapcsolat? Eléggé közel van az ESP a routerhez? Nincs túl nagy forgalom a sávon, hogy tudjon csatlakozni? Az ESP működik, csak a WiFire nem tud csatlakozni, vagy az ESP is áll?
"csatlakozik, csak nem ahhoz, amit megadtam neki" ????
Ez elég érdekesnek tűnik! Honnan tudja a másik adatait?De jó helyen van ez az ESP, hogy 30 fok van
-
itg
tag
válasz
Tankblock #7946 üzenetére
Köszi.
Első körben szenzorokhoz, ezután jönne a relés intranetes vezérlés. Ahhoz se kell bonyolult számítás, nekem bőven elég lenne az esp8266.
Eddig három eszközt állítottam szolgálatba, de ami a bajom, hogy kiszámíthatatlan a működésük.
Van, hogy 4-5 napot elmennek gond nélkül, van, hogy az egyik nem csatlakozik a wifi-hez 5-6 órán keresztül, van, hogy a másik csinálja ugyanezt. (azaz csatlakozik, csak nem ahhoz, amit megadtam neki)
pl. az egyik eszköz elmúlt napi mérései: (a piros részen nem volt sikeres csatlakozás)
eközben egy másiké: -
Tankblock
aktív tag
válasz
Janos250 #7947 üzenetére
Erre a német kollégák szokták mondani:
Never run a touched system :-P
Never touch a running system --> in english, igen ezért kell a Github on a Issues szekciót is olvasni...
Ha meg műkdik elfelejteni az updatet, a para ott van amikor az Arduino IDE kell frissíteni, mert nem szoktam leírni h mi is ment ....IDF el ESP32 alatt is jártam úgy h a köv verzióban már nem fordult ami előtte ment, mert szépen átnevezték a fv nevet és / vagy kapott egy szép új paramétereket is.....
De pont ezért hobby, és nem ebből élek....
-
Tankblock
aktív tag
Hello,
Szerintem nem kell váltanod, csak jobban kiismerni és kihasználni a lehetőségeit.
Mire is szeretnéd használni?Ha csak pár szenzor / garázsnyitó / lámpakapcsoló kell arra bőven megfelelő ESP8266
ESP32 ha komoly számítűsi teljesítmény kell. Bár nagyon sok mindent meg lehet ESP8266 al is tenni, bár lehet hogy nem arduino alatt hanem a saját IDF et használva. -
-
Janos250
őstag
Az esp-wrom-32 a lényeg.
"Itt lehet olyat csinálni..."
Persze. Ez C++ , vagyis amit C++-ban lehet, azt lehet. A C++ tk. a C bővítése. Attól lesz arduino, hogy egy csomó (C++, C, assembly) fgv, type, constans már definiálva van, amit includol. Ugyanúgy main() is van , csak nem látod, de megkeresheted.
A main egyszer lefuttatja a setup függvényt, utána végtelen ciklusban hívogatja a loop-ot. -
válasz
Tankblock #7921 üzenetére
A loop() üres, abban nincs még semmi.
Eddig csak a setup() részbe írtam.Program tekintetében még az értelmezésnél tartok, mit hova kell írni.
Jut eszembe. Itt lehet olyat csinálni, hogy megírok egy kódot (pl wifi csatlakozás kódját) amit utána elmentek, és egy include vagy más parancscsal behúzom egy új alkalmazásomba. Gyakorlatilag code reuse lenne.
Anno c-be csináltunk ilyet, hogy ne kelljen mindig ugyanazokat a kész program részleteket bemásolni.Az én panelomnak fekete az alja "esp32 devkitv1" ennyi van ráírva. A chipet fedő fém lapocskán annyi van még, hogy esp-wroom-32. Se márkajelzés, se egyéb azonosító felirat nincs.
-
Janos250
őstag
Melyikről beszélünk, ESP8266 vagy ESP32?
ESP32-n jó ideje stabilan működő programból kopiztam ki a beírt részletet.
ESP32-n nálam:
config elöl. utána begin: sztochasztikus viselkedés.
begin elöl, utána config: stabil viselkedés.
Azért kezdtem el kutakodni 32 ügyben a neten, mert az első verzió esetén nekem is gondjaim voltak.
A neten írták a második verziót. Amióta azt használom, azóta stabil. Tehát felkapcsolódunk, kapunk IP-t.
Utána változtatjuk meg az IP-nket. -
vargalex
félisten
válasz
Janos250 #7927 üzenetére
Szintén fehér panelra forrasztott ESP-12F-el oldottam meg a low power hőmérőt. Az alacsony fogyasztás miatt nem is lehet megoldani Wemos/NodeMCU-val. Jelen pillanatban már 88 napja megy mindkét példány folyamatosan, hiba nélkül. Lassan viszont cserélnem kell a cellát, mert már az ESP-n mért feszültség 3 V környékén van.
Viszont mindenképpen elégedett vagyok, szerintem teljesen korrekt lett ez az üzemidő egyetlen cellával percenkénti hőméréssel. -
Janos250
őstag
Én korábban ESP8266-ból a "fehér panelesből" forrasztottam be néhányat, azokat ma is használtam egy mérésnél, nem volt velük gond. Amikor már kezdtek terjedni, akkor már nem érte meg forrasztgatni, akkor kész Wemosokat vettem, de "üzemszerűen" a régi fehér panelosokat használom, mert azokkal van összerakva a mérés. Viszont ezeket egyfolytában huzamosabb ideig nem használtam még. Ami folyamatosan jár hónapok óta, az ESP32 DOIT panelon. Ez egy telnet szerver, ez hónapok óta jár, csak áramszünet esetén nem. A valamelyik internetes állomásról elküldött adatokat ismétli minden egyes bejelentkezett állomásra. Nincs vele gond.
-
tvamos
nagyúr
válasz
Janos250 #7925 üzenetére
Nekem a Wemos-szal (ESP8266EX) van bajom. Egy darabig megy, rendesen, kuldok neki utasitast, az meg valaszol, de egy ido utan nem tudok vele kommunikalni. Azt latom, hogy a routeren fenn van, de nem valaszol, ha kuldok ra valamit. Nem tudom, mit csinalok rosszul. Kiprobalnam valami mas modulla.
Neked mid van pontosan? -
itg
tag
én is szívtam vele, javaslom nézd meg ezt a linket:
https://github.com/esp8266/Arduino/issues/2182WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);ps:
egyébként most sem mondható stabilnak az ESP32, 100-ból 2-3x előfordul, hogy azt írja hogy csatlakozik, de mégsem éri el a belső oldalt. Kezdek is kiábrándulni belőle... -
Nem jutok előrébb.már ennyire leegyszerűsítettem a kóot, de egyszerűen nem csatlakozik fel a wifi-re.
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
const char* ssid_sajat="teszt";
const char* password_sajat="teszt1234";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid_sajat,password_sajat);
Serial.println(WiFi.localIP());
Serial.println(WiFi.macAddress());
Serial.println(WiFi.gatewayIP());
Serial.println(WiFi.dnsIP());
}Két v1-es ESPWROOM-32 modulom van, de egyikkel sem tudok wifire csatlakozni. A fejlesztői környezetemmel lenne gond?
-
válasz
Janos250 #7917 üzenetére
Ok, köszi nem tudtam, hogy így is lehet.
Leszedtem az Arduinot, meg letöröltem minden könyvtárat, és ezt a linket használva felpakoltam mindent:
https://www.smart-prototyping.com/blog/How%20to%20Install-ESP32-Core-Arduino-IDE
Ehhez már csak annyi kellett, hogy az esp\library könyvtárból hiányoztak fájlok, amit a githubról pótolnom kellett. -
Janos250
őstag
A nagyon nagy helyfoglalás reális.
Az ESP32-re felrakja az RTOS oprendszert, az kiteszi a helyfoglalás zömét, arra rakja rá a te pici programodat.
library:
Nekem kiválasztja a megfelelőt annak ellenére, hogy kiírja, hogy többszörös, stb.
Mivel én mindig a portable verziót használom, így könyvtárakat hová tegyük ügyben csak a portable verziót illetően tudok nyilatkozni. -
Üdv,
Már jelentkezek is egy kis tanácsért.
Gondoltam kipróbálom szerzeményeimet.Windows 7 alatt, Arduino IDE-ben gondoltam megírni egy tök egyszerű programot.
Csatlakozzon fel a wifi hálózatra és írja ki a nekem az IP-átjáró-dns címeket a soros porton amit az arduino ide figyel.De fordításkor hibaüzenetet kapok.
Az a baja, hogy többszörös wifi.h library van és nem tudja melyik kell ezért egyiket sem használja.
c:\Program Files\Arduino\libraries\wifi könyvtárat ezért elmozgattam másik helyre, és ide mozgattam a c:\Program Files\Arduino\hardware\espressif\esp32\libraries\wifi könyvtáratÍgy most működni látszik, kérdés, hogy ez mennyire volt jó ötlet? Van erre valami egyszerűbb és jobb megoldás?
Illetve az mennyire normális, hogy egy 37 soros kódra ezt kapom vissza:
Vázlat használ 493726 bájt (37%) -ot a program tárhelyből. A maximum 1310720 bájt.
A globális változók 37020 bájt (12%)-ot használnak a dinamikus memóriából, 257892 bájtot hagyva a helyi változóknak. A maximum 294912 bájt.A félkövérrel kiemelt részek nekem nagyon soknak tűnnek.
-
Üdv,
Ma kaptam készhez az ESP32-őt, meg van a hétvégi program.
Kicsit ismerkedek az kütyüvel.Viszont a LED szalagokat még fel sem adták.
-
Köszi, sejtettem. Tegnap már azt néztem, hogy kell cnc maró gépet csinálni esp32-vel, pedig még az sem tudom, hogy kell a gpio-kat vezérelni.
Teasüti: tegnap este én is berendeltem az első projekthez szükséges tápalkatrészeket, 2500Ft-ért.
-
ngabor2
nagyúr
Van egy klón ESP32 lap, ESP-WROOM32 modullal. Valamint egy BMP-280 I2C-s szenzor. A kettőt összekötöttem, de valami nem kerek. Az ESP32 lábkiosztását a netről néztem, mert annyira klón, hogy még jelölés sincs rajta...
Levadásztam egy i2c tesztelő kódot, ami annyit csinál, hogy végigmegy a lehetséges címeken, és kiírja, ha talál I2C eszközt (címmel együtt). Ez azt mondja, hogy a 0x76-os címen talált egy i2c eszközt. Mivel más nincs is rajta, ezért jó eséllyel ennek kellene lennie a szenzornak.
Ezen kívül van egy példaprogram a BMP280-hoz. Ezt is lefordítottam, feltettem. Ez viszont azt írja ki, hogy nem talál eszközt.
Belenézve a BMP280 header fájljába, ott azt láttam, hogy a 0x77-en keresné, ezért a kódban újradefiniáltam a megtalált címet. Ez se segített rajta.
A szenzor 3,3 V-ot igényel, ezt az ESP32-től kapja. Ez lenne kevés? De akkor i2c-kereséskor miért találja meg? Valami ötlet, hogy mit nem veszek észre?
-
válasz
Victoryus #7892 üzenetére
Meg lehet, igen, bt-al, hc05-tel, az UNO-ra. Talán másra is. Van hozzá leírás is valahol, azt hiszem egy dll-t ki kell cserélni a pc programban. Egy időben én is meg akartam csinálni, aztán valahogy mindig más dolgom volt.
Esp-re is van OTA frissítés, vagyis wifi-n keresztül tudsz rá tölteni.
Ha LEGO-szerű dolgot akarsz csinálni, akkor viszont más irányból közelíts, firmata firmware-el hasonló kockatologatós környezetben tudod programozni a Blockly környezetben, van több változata is, annyi a különbség, hogy a pc fogja irányítani a robotot élő BT kapcsolaton keresztül. -
jubilleum
senior tag
Sziasztok,
Egy kis segítségre lenne szükségem.
esp32-vel szeretnék vezérelni 4db dc és egy servo motort.
Létezik ilyen h-híd vagy akármi más shileld, kiegészítő nodemcu esp32-höz?Köszönöm
-
Janos250
őstag
"Atmega328 uC csinál benne minden mérést"
Igen, az csinálja a méréseket is, nem csak a megjelenítést. Mivel 3 bemenete van, és semmi megkötés arra, hogy a bemenetek melyikébe milyen alkatrész melyik lábát dugod, rengeteg variációt végig kell próbálni, hogy kitalálja, mit dugtál és hova. Biztosan meg lehetne építeni, de nem hiszem, hogy megérné. Képzeld el a programot, ami a mérésekből kitalálja, hogy ez egy tekercs, egy FET, vagy micsoda. Ha pl. FET, tranzisztor, dióda, ellenállás, kondenzátor, zener, stb, akkor megmondja, melyik láb micsoda, mik a paraméterei, miegymás. Szerintem nagyon hasznos. Én pl. a napokban is arra használtam, hogy a FET készletemből megnézzem, melyik nyit a legalacsonyabb gate feszen, hogy az ESP32 mellé azt tegyem.
Elég megtévesztő a neve, hogy tranzisztor tester, mert az csak egy funkció a rengeteg közül.
Kipróbálom a TC-t, ezer éve nem használtam. -
JozsBiker
aktív tag
válasz
Janos250 #7866 üzenetére
Lehet tudni, hogy az ESP32 órája mennyire pontos ?
Arra gondolok, hogy ha valaki órát szeretne vezérelni vele ( és történetesen hálózat sincs, ahonnan folyamatosan lehetne pontosítani ), szükséges-e külön RTC modul úgy mint a sima Arduino -nál ( DS3231 és társai ) ? Köszi. -
Janos250
őstag
Na, itt jön be az ESP32 multitask, két core, előnye:
Annyi önálló taskot futtatsz, amennyit akarsz. Egy feladat, egy task. Amikor elvégezte a dolgát, akkor megfelelő delay, ami nem fogja meg a procit, hanem átadódik a vezérlés másik tasknak. Amit meg közben nagyon figyelni akarsz (pl http kérés), megy önállóan a másik core-ra. Lehet egy 1000 + 1000 Ft-os ESP8266 + UNO kontrollerekre mindenféle tótágasos programozási trükkökkel mindent felpaszírozni, de egyszerűbb egy 1600 Ft-os ESP32-n kisujjból kirázni. Ha azt is hozzávesszük, hogy az ESP32 mellé már az UNO se kell, még olcsóbb is lesz, sokkal nagyobb teljesítménnyel, sokkal egyszerűbb programozással.
Én mindenkinek azt javasolom, hogy ha kezdésként egyszerűbbel akarja kezdeni, akkor tényleg az egyszerűbbel (azaz korszerűbbel) kezdje. Ha már minden jól megy, akkor ha nagyon akarja, rátérhet a régebbi eszközökön sokkal bonyolultabban és drágábban megoldani ugyanazt.
Én csak a pofonegyszerű dolgokra használom fel a régebbről megmaradt ESP8266-okat. Pl. egyszerű WiFis ki-bekapcsolás, illetve a Sonoffban is az van, ott adott. Nagyon kedveltem az ESP8266-ot, és az STM32-t, amíg nem jelent meg az ESP32, illetve, amíg gyér volt a támogatottsága. Ma már - az egyébként szintén jó - STM32 helyett is ESP32-t használok. -
mArZsi
tag
Valaki használt már OLED-et ESP-vel? Hogy lehetne a kiiratási rutint ESP barát delay mentesíteni?
Esetemben az ESP-n fut egy NTP, loopban figyelem a percváltozásátt. Ilyenkor lefut pár rutin, végeredménnyel. Ezeket szeretném kiiratni.
Egy kiiratás igy néz ki:
void blabla(){
display.clearDisplay();
display.setCursor(0,0);
display.println(var);
display.display();
delay(5000);
}Ezt a rutint is meghívnám a perc változás figyelőből, sőt hogy tovább menjek van vagy 5-6 kiiratás más-más idő periódussal egymás után. Csak a millis(); figyelése a megoldás vagy van jobb? Esetleg yield()?
-
...közben meglett, csak szívatnak a borzalmas USB-TTL-ek : nem tudom, miért szemetel a kimenetbe, de egyszercsak kiköpte a wdt reset-es adatokat, azóta mennek az AT parancsok is.
Programozásához kell valami különösebb áramkör? Két kapcsolós megoldásokat láttam erre, de érdekelne, ki hogyan oldja meg, ami kényelmesebb...(Mindenesetre köszi az ESP tervezőinek a hazavágott USB-TTL-t... meg azt is, hogy PC tápról kell tolni a chipjüket, mert minden mást túlságosan megszív
)
-
Üdv,
Milyen fejlesztői környezetet javasoltok program írásra Windows 7 alá?
Eddig ha jól láttam kétféle megoldás van:
- Arduino IDE: amihez le kell csak tölteni az ESP specifikus kiegészítőket, és egy kalap alatt mehet a fejlesztés, tesztelés, feltöltés az arduino saját nyelvén
- ESP saját megoldás: ami micropyhton vagy arduino kompatibilis nyelven lehet programot írni, és kb 3-4 program kell hozzá: szövegszerkesztő, Toolchain, ESP-IDF (és a windows miatt python és git, hogy egyáltalán le tudjam szedni a szükséges cuccokat) -
Hello,
Most éppen ESP8266-tal szívok. Ti hogyan kötitek be?
Próbaképpen egy USB-TTL (3,3V-os) átalakítóra dugdoztam, de nem nagyon hajlandó normálisan kommunikálni. Van valakinek egy kipróbált bekötési rajza?Jelenleg azt csinálja, hogy invalid-ot mond egy rakás szemét után. Korábban egy másik USB-TTL-lel szépen kiírta a paramétereit, de azt sikeresen hazavágta (valószínű túl sokat fogyasztott, most külső tápot kap).
-
Na, a bazár megrendelve aliexpress-ről. Idő kérdése, és meg lesz a LED szalag és 9 Euróert 2 db ESP32 kontroller.
-
tvamos
nagyúr
Hello!
Most ilyen battery shieldet használok, Wemos D1 mini pro-val. Van ennél valami jobb ESP-s megoldás? Nem tetszik, hogy két USB van, az egyikről tölt, de nem látja a gép a Wemos-t, a másikon megy a kommunikáció, de nem megy a töltés. -
Janos250
őstag
Olyan ESP32-t vegyél, amin van USB port. A maiak 99 %-a olyan.
Semmi nem kell hozzá, csak USB kábel.
A WS2812-höz való csatlakoztatáshoz én ilyesmi kábeleket használok:
link
Táphoz ilyet, de persze bármi jó:
link
meg ilyet:
link
Meg ez is jól jön:
link
Ha komolyabban akarsz majd a későbbiekben az Arduinoval foglalkozni, akkor egy ilyen is nagyon jól jön:
link
Egy ilyen is nagyon hasznos alkatrészek teszteléséhez:
link
Itt jobban látszik néhány példa azokból, amiket, tud. Nem csak tarnsistor tester, hanem szinte mindent, aminek nincs háromnál több lába. Bedugod, és megkeresi saját maga, hogy mi az, kirajzolja a bekötését, kiméri a paramétereit.
linkMilyen oldalt javasolok? Hát ez egy nehéz kérdés. Az Arduino rendszer a C++ nyelvet ismeri, a szabad fordítóval fordít. Az Arduino annyival több mint a sima C++, hogy bizonyos függvények minden kontroller típushoz kötelezően definiálva vannak, ebből adódik, hogy a specialitásokat nem használó programok bármely Arduino kompatibilis lapon ugyanúgy futnak.
Na, ennyi olvasnivalót mára. -
válasz
Janos250 #7845 üzenetére
Köszönöm a segítségeteket.
Kb 20 perc alatt több infót tudtam és értettem meg, mint amit az elmúlt 2-3 napban esténként próbáltam összeszedni.A javaslatnak megfelelően akkor ESP32 és WS2812 kombót fogom kipróbálni.
Ahogy néztem az ESP32 az ESP8266 modernebb változata. Ha jól gondolom, akkor az ESP8266-ra építtet alkalmazások működnek ESP32-vel is.ESP32-vel viszonylag kevés ledes projektet láttam.
Az ESP32-höz kell velemi spéci kábel, vagy programozó áramkör, vagy csak rádugom USB-re és feltolom rá az elkészült programot?Milyen oldalt javasoltok, az alapok megismeréséhez?
-
Teasüti
nagyúr
Uno + ESP8266 felállásban nem tudok segíteni, de a többiek erről úgy 3,6 másodperc alatt fognak lebeszélni.
Az ESP is egy mikrokontroller, amit ugyanazon a nyelven, ugyanabban az Arduino IDE-ben lehet programozni.
Csak fejlettebb (lásd wifi).Az, hogy milyen szalag kell neked, azt te döntöd el. Vannak érvek mindkettő mellett és ellen is.
Az egyszerű megoldás az analóg szalag mind programozás, mind üzemeltetés (és megbízhatóság*) szempontjából. És olcsó is.Digitális szalag az drágább, bonyolultabb programozni, viszont egyszerűbb bekötni és mehet ugyanarról a tápról, mint a vezérlő. (Persze a tápot méretezni kell, és érdemes berakni a vezérlő elé egy diódát, hogy ha gépre kötöd, akkor a szalag véletlenül se tudja meghúzni az usb portot.)
Az egysávos adatbusszal rendelkezőknek megvan az a hátránya, hogy ha az egyik pixel vezérlőhibás lesz, akkor az utána következő pixelek is szemetelnek.
A szalagok gyártási minősége elég nagy szórást mutat. Simán előfordulhat, hogy egy 5 méteres szalagon az első bekapcsolásra lesznek hibás pixelek, vagy rövid időn belül megy tönkre egy-egy. Persze ha szerencsés vagy, akkor hosszú ideig nincs rá gond.*Egy pixel ha tönkremegy - vagy egy színkomponense -, nincs hatással a többire.
-
válasz
Teasüti #7832 üzenetére
ÁÁÁ, köszi, igen, ezt benéztem. Bocsi.
ESP8266 - ez a wifi modul, futtat egy http szervert a színbeállításokhoz
Arduino Uno - ő vezérli a ledeket:
- a szín beállításokat az ESP8266 kapja
- fényerőt nyomogombokkal állítomSzalagonként 3 db IRL540N (mert ezt találtam a hestore.hu-n) pedig a ledeket hajtja.
A ledszalag pedig WS2812. Ha jól értelmeztem, akkor ezt led chipenként lehet címezni, nekem biztos hogy kell ez?1 led szaleg megy az asztal aljára, 1 az asztallap széléhez a fal mellé vagy a monitor mögé, 1 pedig asztali lámpa és headset tartó (plexiből hajtogatott izébigyó) megvilágítása lesz. (bár ha nagyon belejövök csinálok egy infinity mirror kreációt is egy negyedik szalagból, ugyanerről az arduino-ról)
Egyébként csak azért akarok Arduino-t mert látszólag nagyon népszerű most és sok leírás van hozzá. Az ESP32-ről nem tudom még micsoda.
A v-tac céget ajánlotta nekem a kollégám. Ezt néztem ki náluk, de a kép szerinte nem jó a leírás meg nem tartalmazza, hogy milyen a cucc:
[link] -
Teasüti
nagyúr
Csak egy gyors kérdés:
ESP32 dev board-on a 3V3 láb az a fesz. stab. IC bemenete (egyes helyeken Vin-ként hivatkoznak rá), vagy itt a stabilizált 3.3V jelenik meg? Le tudok venni innen 3.3V-ot, vagy ne erőlködjek? Szenzorhoz kéne, de 5V-os tápom van csak.
Nem aktuális. -
Janos250
őstag
Még egy kis kiegészítés:
"Van esetleg Arduino-hoz szimulátor?"
Nem tudom, lehet, hogy van, de az a lábak, prifériák kezelését biztosan nem tudja azokon a kontrollereken, amiket ma használunk.
"Elvileg van annyi analóg pin a cuccon, hogy akár egy negyedik szalagot is tudjak vezérelni."
Attól függ, milyet használsz. STM32-n, ESP32-n jóval több is, ha mindenképpen analóg megoldást keresel. WS2812-re digitális pin meg aztán végképp.
"Teszek majd MOSFETeket a szalagok meghajtásához, bár elvileg el kellene bírnia a kb 50cm-es darabokat."
Szerintem FET nélkül nem fogja elbírni az analóg ledet. -
Janos250
őstag
Az én kommentem:
Színenként és szalagonként kell egy-egy FET, tehát összességében egy tucat. Ehhez kell valami panel, doboz, miegymás.
A fényerőt vagy úgy állítod, hogy szaggatod a jelet (PWM), vagy a FET részleges nyitásával fűtesz.
Az okosotthon témában sok androidos vezérlő megoldás van rengeteg dologra, egy része egész szép, de én ezeket nem használom/tam. Én szeretek saját WiFi/html megoldást használni.
Ahogy én csinálnám:
WS2812 RGB led, 810 Ft/m, 30 led/m. Én pár hete még 600-ért vettem, szépen múködnek, elég gyorsan be is érkezett.
link
Külön madzag van a tápnak, és külön a vezérlésnek. Kódok küldésével adjuk meg, hogy melyik szín milyen erővel világítson. Ami kódot egyszer kiküldtünk, az a táp kikapcsolásáig él, nem kell frissítgetni, csak amikor változtatni akarunk.
A vezérléshez használt madzag 3.3V-al is hibamentesen működik. Tápnak 5V kell, de kevesebbel is elmegy. A tévedésből rákötött 9V-ot egyszer régebben még elviselte, de a mostanában véletlenül ráadott 12-t már rossz néven vette.
A neten vannak rá programok, Teasüti gyakorlatban alkalmazza őket. Én nem ezeket használtam, mert túlbonyolítottnak találtam, én saját magam írtam rá egyszerűbbeket, ESP32-re (én mostanában mindenre az ESP32-t használom, mert olcsó. 2 ezer Ft alatti összegért gyors, 2 magos, sok szolgáltatással felvértezett kontrollert kapunk)
A több led használata a legegyszerűbben úgy oldható meg, hogy a pin számot váltogatod, mert minden megoldásban úgyis van egy változó, ami a GPIO számot definiálja.
Előnye, hogy ha a későbbiekben variálgatni akarod (pl. folyamatosan , akár pixelenként változó szín, fényerő), nem kell hozzá semmi hardver módosítás, csupán szoftver, arra meg azt írtad, ismered a C-t.
Van persze, az a távirányítóval vezérelhető led szalag is, valahogy bizonyára azt is lehet valahogy Arduinoról vezérelni, de annak az ára is közel van a WS2812-höz.Még utólag: ha wifi is van a tervek között, akkor kizárólag ESP8266, vagy ESP32 a mai világban. A net tele van régi, ma már elavultnak számító, drága, bonyolult megoldásokkal régebbi kontrollerekre, de - szerintem - nem érdemes energiát pazarolni rájuk. A korszerűbb olcsóbb, és egyszerűbb.
-
-
Janos250
őstag
" Mondjuk lehet, hogy erre magában az ESP is elég"
Így igaz, és úgy egyszerűbb.
"első körben Arduinoval együtt képzeltem el."
Na, úgy már bonyolultabb!
Ahhoz, hogy az AT parancsokat fogadja az esp, kell fusson rajta valami program. Úgy tudom, gyárilag van rajta valami ilyesmi, de ha valaki már töltött fel rá valami mást...
Én az AT parancsokat soha nem próbáltam, mert csak az esp-re rakni a programot egyszerűbb.
Én a másik oldaláról fognám meg. Az esp-re program, ami figyel, és küldi a POST,GET-et, és soros porton küldi az UNO-ra, amit mindenképpen az UNO-n akarnék. -
Hello,
Sehol nem találok egyértelmű megoldást erre.
Van egy ESP8266-om, amit Arduinoval szeretnék összehozni, de
- soroson direktbe kötve PC-re nagyjbából közli, hogy ő mi
- Arduinoval összekötve már nem annyira (random karekterek jönnek, baudot persze jól állítottam be, amennyivel direktben ment az usb-soros átalakítóval, annyira - 115200)
- nem találok hozzá libraryt... mármint olyat nem, amivel az Arduinoról tudnék wifit használni, nem magában az ESP-t - létezik?Wifi kliensnek kellene, kb. annyival, hogy ha érzékel egy kapcsolót zárva, akkor küldjön egy GET vagy POST kérést. Mondjuk lehet, hogy erre magában az ESP is elég, de első körben Arduinoval együtt képzeltem el.
Köszi minden tippet
-
Janos250
őstag
Na, ez érdekes!
Azt nem mondanám, hogy tökéletesen megértettem, de mindenesetre ennyi pénzért (900 Ft) az NRF51 ami egy Cortex M0 mag + BT, az azért elég jó!
A MicroBittel nekem egyetlen bajom van: az ára. 4-5 ezer Ft.
Ennyi pénzért már az Orange pi sokkal többet tud.
Ez az NRF51 viszont érdekes lehet az okos otthon/miegymás témában.
Előnye mindenesetre, hogy ARM. A Cortexekből én az STM32 szériából használtam, amik szintén igen jók, de nekem a WiFi nagyon hiányzik belőlük.
Az ESP32 nem menő, csak olcsó. -
Janos250
őstag
válasz
Teasüti #7805 üzenetére
"Hogy mi? Ezt most látom először.
Akkor ezért nem működik egy csomó RTOS parancs?
Itt is vmi jogosultsági rendszer van? Meg kell szerezni a root jogot, vagy mi a szösz?"
Csak a WDT regiszter írásához kell a jelszó, de azt a rendszer elvileg csinálja.
Tehát a hardver WDT etetése a leírás szerint így működik:#define TIMG_WDT_WKEY_VALUE 0x50D83AA1 // ez a "jelszó"
TIMERG0.wdt_wprotect=TIMG_WDT_WKEY_VALUE;
TIMERG0.wdt_feed=1;
TIMERG0.wdt_wprotect=0;Az esp_task_wdt_feed() meg az esp_task_wdt.h ban van, kifejtve meg a libesp32.a-ban, vagyis nem tudjuk, hogyan működik.
"Ezt a scheduler-t a mai napig nem értem."
Én sem!
Néztem régebben szkóppal: 1 millisec-enként szakít meg - ha nem fut a magon tőlem semmi - akkor kb 3 microsecre. Valamit az alatt a 3 alatt csinál, de nem tudom mit. A millist biztosan növelgeti szoftverből -
Teasüti
nagyúr
válasz
Janos250 #7784 üzenetére
A gazdi az, aki tudja a jelszót, ami valami 32 bites szám.
Hogy mi? Ezt most látom először.
Akkor ezért nem működik egy csomó RTOS parancs?
Itt is vmi jogosultsági rendszer van? Meg kell szerezni a root jogot, vagy mi a szösz?Igen, a delay() alatt tud futni másik task, így nem hal éhen szegény kutyus, mert a scheduler eteti
Ezt a scheduler-t a mai napig nem értem. Elvileg úgy kéne működnie, hogy fix időszeletek szerint osztja el a cpu időt. Ha nem is adja át a token-t a task, az ideje lejártával kényszerítve kéne indulnia a következőnek.
Ehhez képest meg simán reset-el a wdt. Pff...
Persze a prioritás eredményezheti azt, hogy újra ugyanaz a task indul el. De a scheduler ettől még meg kellene, hogy szakítsa. ...És ilyen formán etetnie a wdt-t.igazából én sem teljesen értem, hogy miért nem futhatnak a többiek is, hiszen a loop prioritása is 1, meg Te is ugyanezt a prioritást adtad, de valahogy mégis megfogja a többit.
Amúgy azt lehet tudni, hogy 0-20 közt a magasabb vagy az alacsonyabb érték a nagyobb a prioritás?
Egyetlen egy youtube tutorial-ban találtam eddig utalást rá, de már régen volt.Az esp_task_wdt_feed() -et és az esp_task_wdt_delete() -et hiába teszed be, mert az csak arra a taskra hatásos, amibe betetted.
Jó tudni. Ezek szerint a wdt is egy task kell legyen. Hardveresen nem lehet figyelni a dinamikusan meghívott task-ok garmadáját. -
.DLL
veterán
Sziasztok!
Megjött Kínából a 900 Ft-os NRF51 modul, és egy kis átalakítással Drag&Drop programotható egy BBC Micro:Bit (# Microbit, Micro-bit, Micro bit) segítségével!
[video]
(Egy kis teszt progi ami gombnyomásra rádión (Nordic Gazell protocol) küld egy OK-t a vevő oldal pedig erre hármat villant.)A lényeg, ha Microbit-szerkesztőben írt programokat szeretnénk használni a kis modulon, akkor a második kvarcot el kell távolítani, mert az a 'Button B' bemenetre csatlakozik, ezen kívül az Accelerometer és a Magnetometer helyén üresen maradt interrupt bemeneteket a biztonság kedvéért lezártam 1-1 ellenállással, de nyilván ezeket a funkciókat ne is hívjuk meg.
Az eredeti Microbit-en az SWD port ki van vezetve két teszt pontra, ebből az SWDIO-ra menő vezeréket (nrf51822 chip 23-as lábához) meg kell szakítani, ezek után összeköthető a cél modul SWD pontjaival, és az interfész chip simán ráírja a bedobott hex fájlt.
Igazából csak érdekességként akartam ezt megosztani, tudom egy ESP32 sokkal menőbb, de talán valakinek ez is jól jöhet. (nekem, pl. bőven elég és egyszerűbb :D )
Egyébként van leírás a neten, hogy hogyan lehet ezt a modult Raspberry Pi segítségével programozni, ha valakinek már az adott, akkor ez is hasznos leírás. -
Janos250
őstag
Tudok olyan helyet, ahol nagyjából akkoriban törölték még a Neptunból is (oktatási adminisztrációs program) azt a választható tárgyat, aminek keretében PIC-kel olvastak egyszerűbb szenzorokat, vezéreltek mintaként ledeket, lámpákat, szervo és léptető motorokat.
"Erre csak a villamosmérnököknek van szüksége", mondták. Ma, ha egy mérésnél a készülék fűtését telefonról (ESP8266) vezérlik, és ott olvassák le az adatokat, arra, mint értelmetlen hibbant, különcködő ötletre tekintenek az intézménynél. Érdekes, hogy leginkább a tanítottak éreznek rá ennek az ízére. -
Janos250
őstag
válasz
Panhard #7783 üzenetére
Tippek:
Gyanítom, hogy nem a várakozó task okozza a galibát, hanem valami másik, aki közben "nem jut szóhoz"
1. Próbáld meg a prioritást variálni, hogy amíg a függvényed fut, mások is szóhoz jussanak
2. tegyél be pl. vTaskDelay(20)-at, mert akkor is futhat más task is
3. ha végképp nem megy, akkor én kilépnék a taskból, majd újra be.A freeRTOS valahogy taskonként kezeli a WDT-t, ezt nem tudom hogy csinálja, de megoldja. A WDT-t lehetne közvetlen írással nullázni, de nem tudom, felborít-e valami mást a freeRTOS-ban
Egyébként az ESP32 kutyusa hardver szinten "idomítva van, hogy csak a gazditól fogadjon el kaját".
A gazdi az, aki tudja a jelszót, ami valami 32 bites szám. -
Panhard
tag
Sziasztok!
Tudtok abban segíteni, ki lehet-e kapcsolni ESP32-ben a task watchdog-ot? Vagy növelni az idejét? Van egy függvényem, ami egy webszerveren lévő php fájl válaszát várja és ez valamikor több mint 5mp, ilyenkor "Task watchdog got triggered." hibaüzenetet kapom.
Próbáltam az sdkconfig fájlban módosítani az értéket 5mp-ről magasabbra, (CONFIG_TASK_WDT_TIMEOUT_S=20) és próbáltam kikapcsolni is, (CONFIG_TASK_WDT=) de ez nem volt hatással rá. Ugyanúgy 5mp után aktiválódik.
Ha az arduino probramban beincludolom a "esp_task_wdt.h" fájlt, és használom az abban lévő függvényeket, esp_task_wdt_feed() , esp_task_wdt_delete(), azok sincsenek hatással rá. Tudtok valami megoldást? Előre is köszönöm. -
Janos250
őstag
válasz
Teasüti #7779 üzenetére
Egy kis kiegészítés az ESP32 soros portjaihoz:
Van UART0, UART1,UART2
Mindháromnak van RXD,TXD,CTS,RTS, de DSR és DTR csak az UART0-nak. Én eddig még csak az RXD,TXD-t használtam.
Az ESP periféria kezelése kétféleképp történik:
1. "GPIO matrix":
Ezzel bármelyik periféria kapcsolható bármelyik lábhoz, egy un. GPIO matrixon keresztül. Ezt úgy kell elképzelni, mint pl. a klaviatúra mátrixát.
Tehát a mátrixnak vannak sorai, ami a perifériák jelei. Vannak oszlopai, ami a 34 láb ("GPIO pad"), amik sajnos nem folytonos számozásúak: (0-19, 21-23, 25-27, 32-39).
Ha a megfelelő jel és a láb (pad) kereszteződésébe teszel egy pöttyöt, akkor a jel és a láb hardveresen össze lesz kapcsolva.
2. "IO_MUX":
Ezzel 5 gyors jel (Ethernet, SDIO, SPI, JTAG, UART) közvetlenül (bypass) kapcsolható a lábakhoz, de itt előre definiált, hogy melyik jel melyik lábhoz kapcsolódik.
Ez gyors, mert elkerüli (bypass) a GPIO matrixot.Mi következik nekünk ebből az UARTokra vonatkozóan?
Ha az UARTok példányosításánal nem adunk meg lábat, akkor a gyors bypass szerinti láb rendelődik hozzá az alábbiak szerint:
U0TXD -> GPIO1
U0RXD -> GPIO3U1TXD -> GPI010
U1RXD -> GPIO9U2TXD -> GPI017
U2RXD -> GPI016
Ezzel a következő a bajunk:
A mai lapokon az ESP-WROOM-32 fémházas hibrid áramkör van (ne is vegyen senki meg olyat, amin nem ez van), tartalmazza többek között az ESP32-t és plusz memóriát.
Ennek a plusz memóriának a címzéséhez használja többek között a GPIO9-et, és a GPIO10-et.
Ezért az UART1 soros portot más lábakra kell rakni, a másik kettő meg maradhat a hardveres kiosztáson.
Ezért kell megadni a soros1-hez a felhasználni kívánt lábakat:
pl: Serial1.begin(57600, SERIAL_8N1, Serial1_RXPIN, Serial1_TXPIN) ; -
Teasüti
nagyúr
ESP32-n az USB a TX0 és RX0 portokra van kötve, vagy natív usb-ként kapcsolódik?
Másképp, használhatom a soros portot vagy az kell a számítógépes kapcsolathoz? -
Tankblock
aktív tag
válasz
Janos250 #7769 üzenetére
Hello,
Eagle-ben terveztem, most KiCad re szeretnék átnyergelni. Anno 5 Usd rendeltem 10 db 50x50 [mm] nyákot kifúrva, furatgalvanizálva, fekete színben fehér silk el. Másik gépemen kellene megnéznem, de ha jól rémlik talán a seedstudio volt. Átfutási idő 3-4 hét volt.
Mivel középsuli óta nem csináltam ilyet, nekem nagy élmény volt a tervezés. Vagy 4x áltam neki hogy beleférjek mindennel rendesen a méretezésbe, meg csináltam saját esp12 alkatrészt eagle ben... Ha lesz annyi feles időm szeretném Kicadet is kitanulni.
-
Janos250
őstag
válasz
Tankblock #7763 üzenetére
Az RGB-s óra nekem is tetszik, de én ESP32-vel akarom megcsinálni.
Passzióból csináltam néhány féle módon az ESP32-re RGB led meghajtókat.
RMT-vel is párféleképpen, meg anélkül is, mert elég gyors a proci, ha mindkét core-t használjuk, simán szoftverből is megy, RMT nélkül is. -
Tankblock
aktív tag
válasz
Janos250 #7761 üzenetére
Hello,
Én most szívtam ESP8266 Arduino val feltettem 2.4.0 simát és nem ment pl NTPClient.....
2.4.0-rc2 már működik.....
Moindjuk a NTPClient 2.5.0 verziója is bugosnak bizonyult
megoldást a Github Issue olvasása adta mind 2 esetben...Van 60 RGBs óra projectem és írtam hozzá új animációt, utána meg nem akart menni az sem ami addig ment.
Szóval azt tanultam, újra és újra, (mint a német kollégáktól is) ami működik ahhoz NE nyúljak....
-
Janos250
őstag
Na, most üt meg a guta
Régebben többször használtam Sonoff basicet, semmi gond nem volt velük, símán mentek.
Már egy ideje nem foglalkoztam velük, most az ESP32-vel élvezkedek.
Jött egy kolléga, hogy tegyek fel neki a sonoffjára egy programot. Semmiség, mondom.
Felment, OK. De semmi életjel. Nem indul el, se wifi, se led, semmi. Serial monitorra azt írja, hogy busy. Fene a gusztusát. Próbáltam nem az USB-soros konverter tápjával, hanem erősebb táppal. Semmi. Másik sonoff. Semmi. Másik gép. Semmi. Az újhold a gond, vagy mi a fene lehet vele, gőzöm nincs. Pedig hány embernek dícsértem. Több embernek tanítottam meg a használatát. Most meg én képtelen vagyok használni. -
helltp
aktív tag
válasz
Tankblock #7751 üzenetére
és (#7752) Teasüti:
Nekem is úgy tűnik, hogy használhatjuk a speciális GPIO pineket is akármire, feltéve hogy a bootolás alatt biztosítani tudjuk a megfelelő jelszinteket. (Fentebb linkeltem a doksi megfelelő részét.) Így, hogy most gyakorlatilag egy dióda katódja van a boot alatt logikai magasat kívánó pinekre kötve, csak az mcu felé folyhat az áram (felhúzóellenálláson keresztül pl.) és így boot alatt magasan van a láb, és megfelelően bootol a cucc.
szerk.: ESP32 nincs épp kéznél, és így pont elég a GPIO szám a 8266-on is.
-
Teasüti
nagyúr
válasz
Tankblock #7753 üzenetére
Jah bocs. Épp csak említetted, nem voltam alapos.
Nem értem hogy jön ide a reset. Nekem arra a funkcióra eddig éles használatban soha nem volt szükségem. Boot nálam bekapcsoláskor van. Amúgy meg a bootstrap lábakkal ESP32-nél nem tudsz reset-elni, arra az EN való.
Boot alatt nem kell buzerálni a gépet és elvileg mindennek mennie kell. -
Teasüti
nagyúr
válasz
Tankblock #7751 üzenetére
Miért ne lehetne használni ezeket? Csak oda kell figyelni az alapértelmezett jelszintjükre boot alatt.
Nálam pl. az IO2 bemenetként funkcionál, ami alapállásban magas impedanciájú (nyitott áramkör, pl nyomógomb húzza földre) és így oda húzza a kontroller ahova akarja. Persze boot alatt nem nyomogatom.
IO15 nálam egy tranyó bázisára kapcsolódik, tökmindegy hova húzza, max felkapcsolja az adott áramkört arra az egy másodpercre.
IO12 meg egy MPU-6050 interrupt pin-re van kötve, nos ez meg elvileg semmit nem csinál, amíg fel nem ébresztik az I2C csatornán a modult. Bár nem tudom ez a port alapból lebeg-e a modulon, ezt még ki kell nyomoznom.)
IO0 meg egy kimenet lesz hasonlóan egy tranyóval, mindegy milyen szintet vesz fel boot-kor.
És ezzel lefoglalva az összes elérhető IO port az ESP32-n.
Kivéve persze a flash portjai, nem is értem azok miért vannak kivezetve.Szerintem nem kell félni ezektől, elég csak egy kis körültekintés.
A "leghülyebiztosabb", ha egy NO kapcsolóval bemenetként használjuk őket. -
Tankblock
aktív tag
hmm az nem biztps h jó lesz, mert a bootloadernek erről fogalma sincs....
És szeretne egy csomó mindent kitolni a UART on.....
Elvileg a GPIO2 csak HIGH lehet BOOTkor. SPI indításkor v a UART letöltéskor is. Ha a GPIO15 fent van akkor elméletileg nem nézi, hogy hol van, mert akkor SD kártyáról szeretne bootolni.
Ezt a lábat se használnám biztosan semmire sem.Ha jól emlékszem akkor a GPIO 0,2 lehet I2C re használni,
GPIO 4,5 12,13,14 szinte akármire és nincs több használható GPIO láb.Max mások megmondják h tévedtem.GPIO16 inkább a deepSleepre használandó, de én soha sem használtam még semmire sem.
Ha ennél több láb kell akkor GPIO extende IC kell. vagy másik uController --> ESP32
Új hozzászólás Aktív témák
Hirdetés
- A Samsung gyártja az első 2 nm-es Qualcomm lapkát?
- Mesterséges intelligencia topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Anglia - élmények, tapasztalatok
- VR topik
- Garmin Forerunner 970 - fogd a pénzt, és fuss!
- Ingatlanos topic!
- Gaming notebook topik
- 3D nyomtatás
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Új MSI KATANA 15 Gamer Tervező Laptop 15,6" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- HP Omen - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB-C - KVM Switch
- Garanciális MSI Katana GAMER 15,6"240Hz!i5 12500H(16X4,5Ghz)RTX 3060 6 GB VGA,32-64GB RAM/1TB SSD
- Bivaly MAGYAR Lenovo P1 gen2 (Core I7 32 Gb 1Tb 15" 4K 4Gb Nvidia) Laptopom eladó!!!
- HP ProBook 640 G8, 14" FHD IPS Touch, I5-1145G7 CPU, 16GB DDR4, 256GB SSD, WIN 11
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- Samsung Galaxy S22 Ultra , 8/128 GB , Kártyafüggetlen
- HP Omen - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB-C - KVM Switch
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest