- Milyen TV-t vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- TCL LCD és LED TV-k
- Nem indul és mi a baja a gépemnek topik
- Pc hiba segítség kérés.
- 3D nyomtatás
- Milyen házat vegyek?
- Melyik tápegységet vegyem?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
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
"de így is ugyanazt az üzenetet kapom."
Akkor valami egyéb gáz van, mert mielőtt feltettem, direkt próbára lefordítottam, annak a képét tettem fel.
És a másik verzió, amit a 8194-ben írtam? Abban még RMT sincs, csak digitalWrite(), annak aztán mindenképpen menni kellene! Az ESP32 elég gyors ahhoz, hogy RMT nélkül, csak a GPIO használatával is menjen, ha az interruptot letiltjuk.
Itt írom le, hogy ha valakinek nem elég a millis, micros, mert nagyobb felbontást akar, akkor a CCOUNT használható. Egy baja van, hogy csak 32 bites, de szoftverrel ezt meg lehet kerülni. Ezzel nagyon pontos időzítések állíthatók be bármire."De nekem szerintem a NodeMCU van."
Az tökmindegy, a rajta lévő IC a lényeg. Az ESP32-k közül sem különösebben lényeges, hogy melyiket állítod be azok közül, amelyiken ESP-WROOM-32, vagy lánykori nevén ESP32S van. Mellesleg amit én használok, az pont úgy néz ki, mint a Tied, a lábak is ugyanúgy vannak. -
Nekem is ugyan ilyen van kép alapján, nem innen vettem és ott nem is volt benne a nevében a nodemcu, ami nem véletlen hiszem ez ESP32S modul, nem ESP8266. Itt tévesen szerepel a nevében. Gondolom így több találatot ad ki ha valaki ESP32-re kerese vagy ESP8266-ra. ESP Dev Board-ként működik az Arduino IDE 1.8.5-el. Tehát inkább a code/library lesz a gond szerintem.
-
válasz
Janos250 #8193 üzenetére
Köszi.
Most ugyanazt állítottam be, mint ami te képernyőképeden szerepel, de így is ugyanazt a z üzenetet kapom.
Arduino IDE 1.8.5 van nekem feltelepítve.Eddig sima ESP32 DevKit volt az alaplap beállítása. (De nekem szerintem a NodeMCU van. Ezt vettem, és pont így néz ki az enyém is. [link] )
Tegnap este a vezérlőpin vezetéke és a led szalag DIN vezetéke csak össze lett csavarva, hogy kipróbáljam. A 10 db-os teszt szalag viszont közvetlenül volt rákötve a vezérlőre egy kb 10 cm-es vezetékkel. Az alapján amit írtál, akkor ez is lehet probléma, erre nem gondoltam.
A táp biztos elég, mert 12V/4A a táp, amiből egy stabilizátor IC-vel csináltam 5V-ot, és 5A-ig terhelhető ez az IC.
#Tankblock Köszi, ezt néztem én is, de nem láttam hozzá guide-ot, hogy milyen paramétereket lehet megadni, hogy kell használni a library-t. Ugyanez a bajom van a Pixelbus-sal is.
-
Janos250
őstag
-
válasz
Janos250 #8120 üzenetére
Üdv,
A hardveres előkészületekkel kész vagyok.(Összeraktam a tápegységet, elő van készítve a dobozolása megvan a ledszalag, össze van kötve be az egész bazár. A ledszalag és az ESP32 között kb 40cm-es vezeték van.
Most jön a szoftveres rész. Az a kód, amit megosztottál, nem fodul le nekem.
Ez a hibaüzenet:
"No hardware SPI pins defined. All SPI access will default to bitbanged output"Mit tudok vele csinálni? (FastLED 3.1.6 van telepítve)
Most az Adafruit_neopixel lilbrarbyt próbálgattam, de nagyon furán viselkedik. Ha csak 10 db ledet kötök be, akkor a színeket RGB sorrendben kell megadni a függvénynek és jól működik. Ha viszont az 57 db-os szalagot, akkor már a sorrend BGR, ráadásul az első valamiért led mindig eltérő színnel világít. Ha pedig valami színt szeretnék kikeverni akkor a delay lejárata után villan egy picit a led és megváltozik néhány lednek a színe.
Környezet: Arduino IDE 1.8.5, Adafruit_neopixel 1.1.6.
Ez a kód van most feltöltve, kék színnel világit most a szalag, kivétel az első led--et, mert az rózsaszín:
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 57 //osszes led
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_GRB + NEO_KHZ800);
void setup() {
LEDek.begin();
}
void loop() {
for (i=0; i<56; i++)
{
LEDek.setPixelColor(i, LEDek.Color(0,255,0));
LEDek.show();
}
delay(10000);
} -
mprrpm
tag
válasz
JozsBiker #8124 üzenetére
Na tisztázzuk a dolgokat.
Ha egy arduino programot megtalálsz igaz ez bár mire az szinte semmit nem ér ha nincsen hozzá meg a könyvtárrendszere ami alapján hivatkozik egy csomó mindenre valamint még nagyon sokszor a verziója sem mindegy.
Példa: amivel menetrend szerint szívok, engem érdekelnek a pontmátrix kijelzők, megjelenítő felületek, ebben az arduinóra szerintem legjobban összerakott nagyon profin megalkotott igen igen struktúrált program az MD.parola.
(Egyirányú soros kommunikáció sokat lehet belőle tanulni. WS2812 ledek meghajtása hasonló csak ugye ott kicsi másképpen + bejön a szín is.)
De ahhoz, hogy ez működjön ehhez kell egy csomó minden. Többek között ami a max7219 ic soros vonali meghajtót kezeli. Ebből kijön kb. 3 havonta újabb és újabb verzió. De a meghajtó progiból is van kb. 4-5 féle amit remekül lehet használni. (Ha nagyon profi vagy csinálsz sajátot.)
Tehát alkotok dcf77-hez saját programot szuperül csillog-villog, működik és eszembe jut valami kb. 3 hónap elteltével amit szeretnék hozzátenni a programomhoz de közbe már felajánlotta az arduino progi, hogy megjelent újabb frissítés, lefrissíti az ember, rá akarod tölteni a módosított programodat és már hibát dob, hogy valami gond van. A te esetedben a time.h-val. (time.h-t már nem nagyon használják van helyette Time-master, szebb, jobb) Szokták mondani ugye a kőkorszaknak sem azért lett vége mert elfogyott a kő.
De ezek a frissítések amik a könyvtár rendszert is tartalmazzák sokszor meg bekerülnek újabb jobb dolgok, esetleg portolják más hardverekre is (pl. ESP32) ami az előző verziókba nem volt.
Nagyon sok arduino minta program uno-ra íródik, de attól kisebb-nagyobb átalakításokkal megy az mondjuk Arduinó Megán is a hardver sajátosságaival együtt lábkiosztás, memória...stb, stb.
Lehetőségek a megfelelő könyvtár felrakására.
Vagy bemásolod a letöltött könyvtárat az arduino könyvtárba vagy ahogy az előzőekben írtam feltelepíted és elintéz mindent a program(letölti bemásolja) vagy pedig a letöltött zip file-t a zip file hozzáadása menüpontban rakod fel. (github-ról komplett leszeded a zip file-t és hozzáadod)
Ilyenkor telepítésre kerülnek többek között a példaprogramok is és ezek általában megfelelően hiba nélkül lefordulnak és elindulnak.
Remélem tudtam valamicskét segíteni. -
Janos250
őstag
"de mi van akkor ha én pl egyszerre akarom az első tíz LED-et vezérelni."
"Egyszerre" nem tudod vezérelni a 10 ledet. Mind a tíznek ki kell küldened egymásután ugyanazt a kódot.
A WS2812 úgy működik, hogy ami színkódot elsőként kiküldtél, azt elkapja magának az első led, amit másodszorra, azt az első továbbküldi, a második kapja el, stb.
Akkor kezdi elölről, ha nagyobb (pl. 10 microsec) szünet van a két kód érkezése között.Amit én feltettem, az tutorial céllal készült, ha valaki tanulmányozni akarja az ESP32 RMT használatát.
-
Üdv,
kis segítséget szeretnék kérni. Megvan a WS2812B LED szalagom.
Tegnap levágtam belőle egy 10 db LED-es csoportot és összeraktam a következő környezetet:
- USB-re rákötve az ESP32
- ESP32 Vin és a mellette lévő GND lábára rákötöttem a LED 5V+ és GND megfelelő lábait (Vin-ről azt olvastam több helyen is, hogy az egy +5V-os ki és bemenet, az USB +5V-ja jelenik meg itt)
- az ESP32 D13 feliratú lábára (elvileg ez a PIN13) rákötöttem a D0 feliratú vezetéket (asszem D0, de nincs is több csatlakozó)Csak ki akartam próbálni, hogy lássam működik-e, így megpróbáltam több példa programot is rátölteni az ESP-re. Volt köztük Neopixel, FASTled, meg LEDc is, de egyikkel sem tudtam a LED sort kifényesíteni. Minden programban a PIN-t átírtam, hogy 13-as legyen, ami vezérli LED-eket.
Annyit sikerült elérnem eddig, hogy ha lehúztam az ESP-t az USB-ről, és visszadugom, kb 1 tized másodpercre néha felvillan a LED sor (pirosan vagy zölden).
Tegnap kb 1 órám volt vele foglalkozni, de nem találtam olyan egyszerű kódot, amivel el tudnék indulni. Mindenki egyből bluetooth, meg wifi, meg az franc se tudja milyen bonyolult megoldásokat tett fel a netre.
Esetleg kérhetek valakitől olyan kódot, amivel el tudnék indulni? Vagy hol kereshetnék ilyen egyszerű leírásokat?
Kb az kellene, hogy:
#define PIN 13 //ezen megy ki a LED vezérés
#define szín RRGGBB //milyen színű legyen
#define akármi //ha kell még valamit definiálnivoid loop
legyen világosság (PIN, szín, akármi) -
mprrpm
tag
válasz
JozsBiker #8102 üzenetére
Egyébként arduinóba megcsináltam már a dcf77 pontosítja DS3231-et.
dcf77 vételi problémával már foglalkoznak mások is, sőt már külön jelformálót is készítettek ennek a kezelésére. Amit ajánlottam előzőbe, ha azt felrakod abban már van egy jelvizsgáló kis rész és meg tudod nézni a vett jelek minőségét is egy szkóp szerű képernyőn.A ds3231 ZS-042 panel alapvetően nem sima CR2032 gombelemre van kitalálva hanem LIR2032 gomb akkura, mert létezik egy töltő áramköri rész ami folyamatosan tölti a 3,6V-os lítium akksit.
Így az akkumulátor kapocsfeszültsége 4,2 V körül jár na most ha ebbe elhelyezel egy CR2032-t akkor az pár napon belül szinte felrobban, ezért el kell távolítani a panelről ezt a töltő áramköri részt. (bocs hirtelen ezt találtam)
Egyébként én nem tettem gombokat egyik órára sem hanem IR-en keresztül pl TV távirányító nem használt gombjaira tettem a beállítást és nem kell hozzányúlni közvetlen az órához, vagy pl. magasra mászni a beállításához.
De igen lehet BT vagy Wifi-n keresztül is, nekem volt egy csomó IR vevőm régi projektből maradt.
Az én óráim Arduino nano valamint a kihívás és tanulás kedvéért STM32F103-mal készültek.
A terv amin most dolgozom házfalra kültéri kb. 5000-8000 ledes reklámfelület fél méter magas, alapja ESP32lenne, hőmérővel, órával természetesen (költséghatár max 40000Ft-ig).
-
Janos250
őstag
válasz
Tankblock #8069 üzenetére
A try - catch -et egyszer régen próbáltam és nem ment, de szerintem azt még nem ESP32-n próbáltam, de kipróbálom majd. Vagy ha valakinek van ingerenciája, próbálja ki, és írja ide, okulásunk céljából!
Tudod, én már elég öreg vagyok ahhoz, hogy számos alkalommal megtapasztaltam a spéci dolgok hátrányait. Már ifjú koromban, amikor az Algol60 programot át kellett tenni Fortranra, vagy a Cobolban írtat egy minibol nevű csodára. Aztán később a Basicről már nem is beszélve. -
Janos250
őstag
Apropó! Ha már itt tartunk, hogy az ESP32 arduinoja ismeri a szabvány C++ zömét, akkor már mutatok a 11-nek más tulajdonságára is példát.
Nem feltétlenül kell a több task esetén a freeRTOS task kezelését használni, lehet az oskolában C++ órán tanultakat is:#include <iostream>
#include <thread>
//#include <mutex>
using namespace std;
void helloWorld1() {
for (uint8_t i = 0 ; i < 10 ; i++){
cout << " Hello World1 ! " << endl;
delay(1000) ;
} ;
} ;
void helloWorld2() {
for (uint8_t i = 0 ; i < 10 ; i++){
cout << " Hello World2 ! " << endl;
delay(2000) ;
} ;
} ;
void setup() {
Serial.begin(115200) ;
delay(2000);
thread szal1(helloWorld1);
thread szal2(helloWorld2);
szal1.join();
szal2.join();
}
void loop() {
}Egyre több minden szól az ESP32 mellett
-
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.) -
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. -
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?
Új hozzászólás Aktív témák
- sziku69: Fűzzük össze a szavakat :)
- Haditechnika, harcászat
- Milyen TV-t vegyek?
- Spórolós topik
- Így tör borsot a Samsung az Apple Vision Pro orra alá
- World of Tanks - MMO
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Renault, Dacia topik
- A fociról könnyedén, egy baráti társaságban
- BestBuy topik
- További aktív témák...
- IPHONE 16 PRO MAX 256 GB Fehér titán Kártyafüggetlen
- 200 ezerrel ár alatt! A széria királya! A legmaxosabb 5080! Asus rog astral !
- ESZMÉLETLEN JÓ ÁRON MINDEN VAN! Amit csak szeretnél írd meg, szinte biztos hogy van! GARIS ÚJ cuccok
- AMILYEN GAMER PC-t AKARSZ AZT ÉN ÁR ALATT ÖSSZERAKOM NEKED! TELEVAGYOK KOMPONENSEKKEL! ÍRJ BÁTRAN!
- AMILYEN GAMER PC-t AKARSZ AZT ÉN ÁR ALATT ÖSSZERAKOM NEKED! TELEVAGYOK KOMPONENSEKKEL! ÍRJ BÁTRAN!
- Honor X7a 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3648, 96% Akkumulátor
- Xiaomi Mi Note 10 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- JBL ProFlora CO2 Starter Bio Set biológiai CO2 készlet 10-40 l-es édesvízi akváriumokhoz
- BESZÁMÍTÁS! LG 24GM79G-B 24 144Hz FHD TN 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest