- Gondnokság alá helyeztetnék a Google Chrome böngészőt
- Megerősíti a platformfüggetlen sugárkövetéses tesztjét a 3DMark
- A Seenda ollós klaviatúrája a Microsoft Sculpt Ergonomic Keyboard nyomdokain jár
- Gamescom 2025: Itt a legújabb Gaming NUC
- Cicomától mentes Palit GeForce RTX 5060 a kevésbé tágas gépházak gazdáinak
- Melyik tápegységet vegyem?
- OLED TV topic
- Gamescom 2025: Itt a legújabb Gaming NUC
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Apple iPad 11” (A16, 2025) - a táblagépek vanília fagylaltja
- RAM topik
- Plazma TV topic
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- ThinkPad (NEM IdeaPad)
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
válasz
csubuka #6226 üzenetére
Nem akarok nagy hülyeséget mondani, de az arduino a maga idejében kb. akkora újítás volt, mint az iphone a gombos telefonok közt. Most utánakerestem, 2005-ben léptek piacra, és ugye tudjuk, hogy 12 év a számítástechnikában mekkora idő. Azt pontosan nem találom, hogy mondjuk az uno-t mikor kezdték gyártani, de az esp-vel összehasonlítani olyan, mintha az első szériás Iphone-t mondjuk a Samsung S7-tel hasonlítanád össze.
-
Janos250
őstag
válasz
csubuka #6214 üzenetére
Verzió 1.:
veszünk mindenféle kiegészítőket az Arduinohoz.
Verzió 2.:
Eleve olyan lapot veszünk, amin sok minden rajta van, akkor olcsóbban és kényelmesebben megússzuk. Szenzorok persze akkor is kellenek.Én a netre csatlakozás során a WiFi híve vagyok, mert nincs kábeles csatlakozás, nem lehet tönkretenni semmit.
Ha megnézed neten, hogy mi mindent tud pl. ez a lap 2300 Ft-ért elcsodálkozol. Nem fake, nekem legalábbis beküldték, a napokban érkezett meg.
WIFI & Bluetooth WEMOS Lolin32 V1.0.0 Card Based ESP-32 ESP-WROOM-32 4 MB FlashWifi, BT, 240 MHz dual core, 520 KB SRAM, 448 KByte ROM, 4 MB Flash, Ultra-low noise analog amplifier, Hall sensor, 10x capacitive touch interfaces, 34x GPIO, 3 x UARTs, 3 x SPI, 2 x I2S, 12 x ADC input channels, 2 x DAC, 2 x I2C
PWM, SDIO.Vagy ez a korábbi konstrukció 1800-ért:
NodeMCU-32S ESP32S NodeMCU32S ESP32 WiFi Bluetooth Development Board Dual-CoreA DOIT ESP32 lapja is jó, most éppen azt használom.
Persze kisebb tudással, de az ESP8266 lapok is igen jók. Pl. Wemos ESP8266 d1, Wemos d1 ESP8266 R2, Wemons ESP8266 mini.
Meg ez se rossz:
NodeMcu Lua ESP8266 CH340G ESP-12E Wireless WIFI Internet Development BoardEzen meg 32 M van:
NodeMCU V3 Lua WIFI module integration of ESP8266 + extra memory 32M flash, USB-serial CH340GAz interneten szinte minden program az "UNO-ra van írva", de ez csak megszokás, hogy mindent azon (is) szokás kipróbálni internetre rakás előtt. Pont az a jó, hogy ami UNO-n megy, az a többin is.
Nagyon jók még az STM32 ARM lapok is.Én szoktam ajánlani ezt:
http://www.ebay.com/itm/USB-saleae-Logic-Analyzer-Device-Set-USB-Cable-24MHz-8CH-24MHz-MCU-ARM-FPGA/141694353386?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649
mert ez tényleg működik.meg ezt:
http://www.ebay.com/itm/MAX7219-LED-Dot-matrix-8-Digit-Digital-Display-Control-Module-for-Arduino/172472962960?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649
vagy ezt:
http://www.ebay.com/itm/8-Tasten-Ziffern-Digital-LED-8-Bit-TM1638-Display-Module-f%C3%BCr-AVR-Arduino/172471641665?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649Persze stabil, lehetőleg változttható táp is kell, és néhány sensor se árt.
-
válasz
csubuka #6214 üzenetére
Ha hálózatra küldés lenne a cél, egy ESP-nek valahol szerepelnie kéne a képletben, ami wifi-n keresztül a netre tudná küldeni az adatokat. Akár az arduino lapra kötve, akár csak magában, pl wemos d1 vagy d1 mini személyében, mivel kevés kimenetre van szükséged, ami azon van is pont elég lenne.
A villanyóra pontosan milyen kimeneten, milyen adatokat küld? -
Janos250
őstag
Én használtam párszor.
A fedelet levéve a tüskéken arduinoként programozható, hiszen ESP8266 chip van benne.
(természetesen ne úgy akard programozni, hogy be van dugva a konnektorba, mert a mai világban drága a virág, koszorú!)
Amit kell tudni hozzá:
A relé a GPIO12
A zöld ledje (ha akarod használni) GPIO13
Szabványos arduinoként használom, semmi gond nincs velük.
Sima html WEB lapot küldök ki mobiltelefonra, gombokkal, amiket megnyomva állíthatók a dolgok.
Így nem kell semmi app.De ha a html nem tetszik, telnettel is vezérelheted.
Meg még fenetudja hányféleképpen.Távoli eléréshez kell egy WiFi router "látótávolságban", aminek van kijárata a világ felé, és portforwarding állítás céljából van hozzá adminisztrátori jogod.
-
Bazs87
tag
valaki játszott már sonoff wireless smart switch-el?
Távolról szeretném saját programból kapcsolgatni.
Amiket eddig láttam csak MQTT-s meg hasonló dolgok, amik nem igazán mozgatnak meg. A másik oldal pedig az, hogy felapplikálnak rá egy ESP-t és úgy vezérlik. Mivel a HW-oldalon sem vagyok túl erős, valamilyen python libet kerestem, ami direkt tcp/ip-vel kommunikálna mindenféle berhelés nélkül.
A telefonos appnak is ugyanígy kell működnie.(smart home elképzelésem mysql-lel történne, ami mellett kis scriptek futnának, amik az adatgyűjtős, kapcsolgatós melókat végeznék) ehhez szeretnék egy sonoffos scriptet írni mondjuk pythonon (talán ez a legelterjedtebb berhelőnyelv
)
A neten keresgélés edig nem vezetett eredményre.
nektek van erről valamilyen infótok?Köszi!
-
Janos250
őstag
válasz
Tankblock #6134 üzenetére
Na, elővettem ezt az ESP32-t ismét.
Az ESP32 chipnek 34 GPIO lába van, de hogy bonyolítsuk a dolgot, nem sorjában vannak számozva: (0-19, 21-23, 25-27, 32-39).
A kereskedelemben általában az Espressif ESP-WROOM-32 tokozásban kapható, ami tartalmaz plusz flasht.
Ezen a GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11 ki van ugyan vezetve a 17-22 lábakra, de nem használható, mert az a memóriát kezeli. A panelok ezeket a lábakat nem is vezetik tüskére. Egy csomó interfészt tartalmaz, pl 3 db. soros portot, nekem jelenleg ez kell.
Mivel az 1-es soros port alapból a GPIO9, GPIO10 –et használja, ezért ezeket át kell irányítani, ha az 1-es soros portot is használni akarjuk.
Cserébe viszont szinte bármi irányítható bármelyik lábra. Pl Arduinoban :
Serial1.begin(57600, SERIAL_8N1, Serial1_RXPIN, Serial1_TXPIN),
és a két utolsónak bármit adhatunk.
Az Arduinoba illesztésnél a hardver absztrakciós réteget (HAL) vették át a gyártótól,
ezért ha valaki használni akarja az ebben definiált dolgokat, nyugodtan megteheti. Emiatt én nem is kacsintgatok az RTOS felé. Mivel fordítóként ez is a gcc-t használja, nem találtam eddig a szabványos C++-nak olyan dolgát, ami a torkán akadt volna.
Ha valaki, Arduinoval most ismerkedő is elolvassa ezt, állandóan hangsúlyozni kell, hogy nincs Arduino nyelv, csak C++ van. A szabványos C++-t használjuk az Arduinon akkor is, ha az Arduino leírásában nagyon sok minden nem szerepel. Ennek ellenére tudja! Attól lesz Arduino, hogy nagyon sok minden előre meg van írva, amit ha akarunk használunk (célszerű, mert ettől lesz kényelmes), ha akarunk, nem.
Az interneten rengeteg, info van az ESP32-ről, de egy jól összeszedett, 1-2 oldalnyi lényeget tartalmazó összefoglalót nem találtam. (lehet, kéne írni egyet) -
vargalex
félisten
Akartam kérdezni, hogy melyik eszköz milyen protokollon megy? Több I2C-s eszközt tudsz azonos lábakon kezelni... Én így hajtok meg egy ESP8266-on egy oled display-t és egy Sony Ericsson MMR-70 FM transmitter-t (a két eszközhöz csak a VCC, GND, SDA, SDC lábak kellenek összesen).
-
vargalex
félisten
-
Oryctolagus
tag
válasz
Tankblock #6134 üzenetére
Köszönöm, de szerintem maradok az Arduino mellett.
Szerintem ez is elég lesz nekem, bár ez olyan mintha lenne összehasonlítási alapom a két eszköz működésével.
Pont ezt a keresgélést és a fórumok turkálását nem szeretném kihagyni.
Ez lesz az első ilyen projektem. Érdekesnek tűnik..
Később persze jöhet az ESP is. -
Tankblock
aktív tag
válasz
Janos250 #6108 üzenetére
Hello,
Megmondom őszintén az eszközeim egyikét sem engedtem eddig a net közelébe.....
MQTT megy ESP32 alatt, nekem az elég is, most amúgy is még ESP8266 projecten dolgozgatok és az ESP32 ből próbálkozom a FreeRTOS működésének a megértésével. Terveim szerint amint lesz időm és tudok vele tovább foglalkozni elhagyom az Arduino IDE és magát az arduino core-t is és átmegyek eclipse alá, használom az esp sdk-t ESP32 nél.Remélem lassan minden featurehöz lesz épkézláb leírás. Az látszik, hogy a community mögé állt, Elegendő csak a youtubera feltöltött tartalmak mennyiségét megnézni. Tele van tutoriallal....
[link] én ezzel próbálkoznék.
-
Janos250
őstag
válasz
Oryctolagus #6112 üzenetére
Persze olyan eladótól sem szabad semmit venni a neten, ahol nincs személyes átvételi lehetőség, csak posta, vagy futár. Gond esetén az ilyen eladók elérhetetlenek, mert oda van írva, hogy számlaadás nincs, pedig félezer terméket árul pl. az egyik. A futárhoz hiába mész reklamálni, a futár cég "nem tudja", hogy ki adta fel a csomagot.
Hogy érdemlegesen is hozzászóljak:
Én nem javasolom senkinek, hogy a mai világban még UNO-t vegyen. Az STM32 sorozat nem drágább, gyakran még olcsóbb is, annak ellenére, hogy sokkal-sokkal többet tud, amit persze nem kötelező kihasználni. Az UNO-ra írt programok - ha valami nagyon extra nincs bennük - simán fordíthatók és futtathatók ezeken is. Az arduino keretbe illesztésük tulajdonképpen tökéletes, nagy a támogatottsága. Ha a későbbiekben telefonhoz akarod kapcsolni, akkor ESP8266, vagy ESP32. Az előbbi is sokszorosát tudja az UNO-nál, kevesebb árért. Hátrányok: ESP8266, kevés láb. ESP32: még nem teljes a támogatottság, pedig egy nagyon-nagyon jó vas. -
Oryctolagus
tag
válasz
Tankblock #6107 üzenetére
Ezt az ESP32 Development boardot nem ismerem és te is említetted hogy a támogatottság növekszik amiből arra következtetek hogy, ha elakadnék még több időt kellene a megoldás felkutatására szánnom.
Ez a két termék elég lehet nekem, szerintem.
Esetleg ez a 2. helyett.
Én már elégedett lennék magammal, ha motor megmozdítaná a gépezetet és mondjuk egy gombot a billentyűzetről hozzá tudnék rendelni eme funkcióhoz.
-
Janos250
őstag
válasz
Tankblock #6107 üzenetére
ESP32-t használókhoz kérdés:
Tavaly még előrendelésben rendeltem ESP32-t, de mivel a támogatottsága elég gyér volt, félre is tettem, miután megkaptam. Most, hogy már 1800 Ft körül is van ESP32 board, na, mondom, próbáljuk ki.
Kapásból problémába botlottam:
Ti hogyan kezelitek le a GET és a POST kéréseket?
Az ESP8266-nál ez simán megy, de itt - látszólag legalábbis - hiányoznak alapvető tagfüggvények, mint pl. arg(), args(), argName() Persze a Ticker is hiányzik nekem, de azt még megkerülöm, de az argumentum kezelések nagyon hiányoznak. Ti hogyan oldjátok meg? Ha ezt nem sikerül megoldanom, akkor mégis maradok még egy ideig a 8266-nál, bár nagyon csábító a 32 számos funkciója, sok lába, stb. -
Tankblock
aktív tag
válasz
Oryctolagus #6106 üzenetére
Hello,
Lehet hogy a többiek megköveznek ezért...
Én vennék ESP32 Development boardot,
rengeteg felhasználható PIN, beépített Wifi, Bluetooth, Én a minnél kevesebből darabból hozzuk ki elvet követem. A támogatottság növekszik, bár lehet hogy inkább a freeRTOS mennék rá mint az arduino vonalra.
240MHz és a két mag bőven elég és a ESP8266 yieldezés sem kell alkalmazni....Vagy valami bivaly erős STM32 ...... + modulok......
Vagy Rasperry Pi3 és társai.....Hmm lehet ezzel most nem segítettem
.....
Azt kellene eldönteni hogy mi a fontos, lehessen mindenféle prognyelvven programozni, vagy célhardver legyen, hogy kombinálható legyen camera képfeldolgozóval.....
Mekkora bonyolultsági fokot szeretnél.... -
Janos250
őstag
Azoknak, akik az UNO kiosztást kedvelik, de ESP32-re vágynak.
Hamarosan elérhető lesz:
https://www.banggood.com/WeMos-TTgo-ESP32-WiFi-Bluetooth-Board-4MB-Flash-UNO-D1-R32-p-1163967.html?rmmds=search -
Janos250
őstag
válasz
ngabor2 #6073 üzenetére
Mivel a fórumtársak már olyan javaslatokat adtak, amivel én is tökéletesen egyetértek, ezért csak egy megjegyzést fűznék hozzá.
"nem akarok nagyon mélyen az ESP lelki világába belemenni."
Az ESP lelkivilága gyakorlatilag ugyanaz, mint a nanoé, vagy bármelyik más lapé! Az Arduino egy szabályrendszer, hogy a rendszerbe illesztett lapokhoz milyen nevű, funkciójú C++ classokat kell írni, milyen tagfüggvényekkel. Ugyanúgy a megfelelő GCC fordítja a programot minden laphoz.
Ezért ugyanolyan névvel és funkcióval működnek az ESP esetén is, mint másnál. Pl. a WiFi is ugyanúgy működik, mint a "hagyományos" WiFi shieldnél. Vannak persze plusz funkciók, de ha nem akarod, akkor azokat nem használod. -
vargalex
félisten
Tegyük hozzá, hogy az alap ESP8266 board-okhoz (ESP-01..ESP-12) is fullos az arduino támogatás, csak kicsit problémásabb a kód feltöltése, tápellátás, mint a Wemos d1 mini esetén.
Én is azért javasoltam az ESP programozását, mert nem figyeltem, hogy a kolléga ESP-07 serial wifi module-t használ, azt gondoltam, normál ESP-07-et. Azon lenne sok dologra elég GPIO láb. -
quint
aktív tag
válasz
ngabor2 #6073 üzenetére
A cikkben egy komplett megoldást találsz: az ESP csak az időt szedi le, soros vonalon adja át az UNO-nak...
DE lényegesen egyszerűsödik az egész, ha egy 1000 Ft-os Wemos D1-et vagy NodeMCU-t használsz, vagy ha nem elég az IO portok száma, akkor 2 ezerért ESP32 fejlesztőt vásárolsz. D1-hez és NodeMCU-hoz fullos az arduino támogatás, az ESP32-hez pedig egész szép tempóban csinálják. Főleg a user interface terén lesznek brutálisan más lehetőségeid az alap arduino áramkörökhöz képest.
-
ngabor2
nagyúr
válasz
vargalex #6067 üzenetére
A nano 6 GPIO lába van használatban, viszont olyan ESP-07 kütyüm van, amin már csak 4 láb jön ki: +5V (vagyis Vcc), GND, RxT TxD. Mivel egyelőre a feladat mindössze az óra szinkronizálása, ezért nem akarok nagyon mélyen az ESP lelki világába belemenni.
Mivel a wifi router is szinkronizálja a saját óráját, arra gondoltam, hogy nem kisebb meló-e csak onnan lekérni az időt. Még erős keresgélésben és utánaolvasásban vagyok, de ha szerintetek nem nyerek vele semmit, akkor szóljatok.
-
válasz
ngabor2 #6064 üzenetére
Ha jól értem a nano-t fogod programozni, az esp-t soros porton keresztül akarod elérni, ahhoz tényleg két vezeték kell, rx/tx, így mindegy hány lábas esp modult használsz! De ne a nano 0/1 lábát használd a későbbi problémák elkerülése érdekében (mindig szét kell szedni, ha újra akarod a nano-t programozni), inkább softwareserial-t és két tetszőleges (alkalmas) lábat. Az esp-t serialon keresztül AT parancsokkal fogod tudni használni.
-
ngabor2
nagyúr
Van egy ilyen ESP8266 ESP-07 soros wifi kütyü és egy Arduino nano és egy DS1307 RTC modul. A cél jelenleg csak az idő szinkronizálása lenne ezen keresztül.
Kerestem a neten, de lehet, hogy rosszul (vagy túl késő éjszaka), mert a találatok fele a 8 pines ESP-01-re jött, de igazából a használatát ott se írják le. Korábban találtam egy példaprogit épp erre a feladatra, de most az is elbújt. Libraryként kerestem, de mindenhol teljes környezetet akar letölteni ezzel szerelt komplett boardokhoz.
Annyit már sikerült kiszűrni a leírásból, hogy kell neki 2 digitális I/O, van, ahol a 0 és 1-et, van, ahol teljesen mást javasolnak. Valahol egyszerű leírást találok erről?
-
A214
aktív tag
Sziasztok !
Egy kis segítséget kérnék.
ESP8266 Internet Clock [link]
Működik az órakijelzés csak 6 órát késik.
Belenézne valaki ,hogy hol lehet ezt átállítani. -
Janos250
őstag
válasz
haxiboy #6044 üzenetére
Én úgy használom őket, hogy az ethernetre megy egy router, arra WiFin felkapcsolódik az ESP.
Azért (is) kedvelem az ESP-t, mert programból kényelmesen tudom olvasni, értelmezni a netről, vagy helyi mobiltelefonról jött kérést, és programból szintén kényelmesen megszerkesztem a válasz HTML fájlt, vagy, hogy mit tegyen a proci. Majdnem mintha PHP lenne (persze attól azért jóval elmarad). Egy routerre számos ESP mehet, ha az interneten más portot használnak, nem keverednek össze. Routerre meg portforward -
válasz
haxiboy #6044 üzenetére
Annyit tudok mondani, hogy egy bélyeg méretű cucc (pl. esp-12) ami ideális a beépítésre, ráadásul pofátlanul olcsó, 1000Ft-ból majdnem kettőt kapsz.
Nálam hozzáértőbb tagok vannak itt a topikban esp témában, de olvasgass vissza, nem olyan rég elég sokat beszélgettünk róla! -
Tankblock
aktív tag
válasz
ngabor2 #6034 üzenetére
Hello
Szerintem meg lehet csinálni, a kérdésem az mi az hogy időre.
Felejtsd el az arduino ide / framework overheadjét, és a chip leírása alapján használd a hw-t, írj közvetlenül a regiszterekbe, és menni fog.Nekem attiny13a van megoldva az hogy 4 perc 56 sec felkel 8 secre, felkapcsol 1 esp-01 mér 1 feszültséghez, azt sorosporton kiküldi, majd a végén. Vissza deepsleepbe. Ebben csak 1k flash van...
Ja és nincs benne hw támogatás a soros porthoz, sw serial van használva, valahol kellett használni némi assemblyt is... Ne rettentsen el, van a neten példa elég.
-
Tankblock
aktív tag
válasz
kormoskandur #6019 üzenetére
Hello,
64 w2812b címezhető rgb ledből óra, rtc vel és esp8266 al. Éppen fejlesztés alatt. Sync NTP vel netről.
Hiányzik még:
LDR, webserver ahol ébresztést lehet állítani. Hangkeltő......
Home automation kellene integrálni 2 sonoff ot.
És még van egy csomó ötletem. -
Janos250
őstag
válasz
BTminishop #6004 üzenetére
"Serial Monitorba nem tudok olyan parancsot írni, amivel leáll a loop()-om ?"
Arduinon a loop soha nem áll le, legfeljebb alvóba megy, vagy nem hajt végre semmit. Ez meg egyszerű feltételes utasítás.Ilyesmire, amit akarsz, mindenkinek megvan a saját ideológiája. Az enyém:
Én ezt mindenképpen WEB lappal csinálnám.
Az Arduinora belépve (pl. ESP8266 szerverre WiFin) kapunk a telefon, PC, stb. böngészőjébe, egy WEB lapot,
ami nagyjából ugyanazokat tartalmazza, mint az idézett app. Ott beállítjuk a beállítandókat, és elküldjük, az Arduino meg végrehajtja.
Egyszerűbb mint a C#, és nincs kötve semmiféle MS rendszerhez, még csak soros port vezetékhez se. Mindamellett megírni is sokkal egyszerűbb.
Egyszer régebben valakinek összehoztunk itt egy ennél sokkal bonyolultabb esetet, az sem volt egy nagy kaland:
https://prohardver.hu/tema/arduino/hsz_3581-3581.html -
Janos250
őstag
Igen, lehet, hogy eredeti.
Én a B USB-t nem szeretem, de valószínű, hogy tényleg tartósabb.
Micro és mini USB témában nekem a kábelekkel volt rossz tapasztalatom. Képesek a kis kínaiak olyan csapnivaló kábeleket beküldeni, ami csak eldobni való.
A jobb - de drágább - kábelekkel nem volt különösebb gond.Plusz csatlakozás:
A beforrasztott csatlakozó sor mellett van egy üres sor is, amibe azt forrasztasz, amit akarsz.
Persze ezt nem az UNO-val kapcsolatos tapasztalatok, alapján mondom, mert már régóta szinte csak ESP-t és STM-et használok. Viszont a WEMOS D1 lábkiosztása megpróbál illeszkedni az UNO lábkiosztásához, és annál is azzal kezdem a használatba vételt, hogy beforrasztok a lyukakba egy plusz tüskesort. -
Janos250
őstag
Én ilyeneket használok:
http://www.ebay.com/itm/FT232RL-3-3V-5-5V-FTDI-USB-to-TTL-Serial-Adapter-Module-for-Arduino-Mini-Port-/332199607660?hash=item4d58a3bd6c:g:LHgAAOSw42dZBG8H
Állítható 5V-ra és 3.3V-ra egyaránt. Ebay-en 410 Ft, itthon UGYANEZT 2000-2500 Ft-ért árulják.
Kb. 10 közül 1-2 év alatt egy dobta fel a bakancsot: Gyakran hibázott ESP-re töltésnél. Nem kerestem az okát, kidobtam. Én ezt a típust tudom ajánlani mindenkinek. -
Bazs87
tag
válasz
ngabor2 #5925 üzenetére
miért nem számolod egyszerűen rtc nélkül a vezérlőn az időt, van erre a tavir tanfolyamon egy gyönyörű példa is. Akkor ki tudnád spórolni az rtc-t és ki/be kapcsoláskor meg mondjuk óránként frissítenéd az értékeket NTP szerint.
Persze ha a ciklusidőd 1 sec feletti, akkor más a téma, de waittime és while ciklusok nélkül odáig eljutni nem kis feladat.
Volt szó anno itt a többszálúságról, edge-kkel lehetne számoltatni felfelé és minden gond letudva. Ettől még lehetne jó ciklusidőd is és nem befolyásolna semmit.Nekem eddig csak gondom volt az RTC-kkel, csúszkálnak ide-oda az értékeik irreális mértékben. (fél év-fél óra
)
programoztechnikailag sem nagy kunszt, persze kérdés mi a távlati cél. Egy esp memóriáját telerakni ... nekem még a nanoét sem sikerült soha
-
ngabor2
nagyúr
Mivel a DS1307 rtc egy idő után hajlamos elcsúszni, ezért arra gondoltam, hogy időnként (naponta? hetente?) szinkronizálnám wifin keresztül az órát. Erre mindenhol ESP8266-tal felszerelt wifi eszközöket dobott a net. Viszont most itt állok a bőség zavarában: milyet vegyek? Leginkább tapasztalat érdekelne. Egy routerhez csatlakozna, ami egy betonfal mögött van, viszont elég erős a jele így is. Fixen lenne rögzítve, de vezetékes módszer nem opció, nem akarok falat fúrni (meg nem is tudnék, mert mellette van egy 700 literes florárium).
Mennyire erős az ESP-01S + ESP1 adapter PCB antennája? Vagy inkább a külső antennás változat az ajánlott?
-
quint
aktív tag
Nem új vasat kerestem, a meglévő eszközeim (Pro Mini, Mega2560, Esp8266, Esp32) kielégítik a játékszenvedélyemet
Egy olyan fejlesztőkörnyezetet kerestem, ami nem csak az elnevezésében IDE, hanem valóban komoly támogatást nyújt a fejlesztéshez.
Elsőre csak olyan álmaim voltak, hogy a beillesztett osztályok definícióit ne kelljen mindig keresgélnem, hanem egy(-két) klikkre mutassa meg a metódusait hívási módjukkal együtt. Tök uncsi volt, hogy a Total Commanderben rojtosra nyomkodtam az ALT-F7-et, meg az Arduino IDE mellett nyitva volt a Notepad++ is tucatnyi füllel, és akkor még mindig nem lehettem abban biztos, hogy valóban azt az xxx.h-t nézegetem-e, amit a fordító használni fog.
-
vargalex
félisten
Szia!
Most azt várod, hogy nézzük meg helyetted? Láthatólag az előző linkeden található is működőképes. Ha úgyis lesz mindened, majd kipróbálod. Nekem pl. nincs is ilyen led kijelzőm.
Egyébként az Arduino, ESP8266 szerintem nem copy-paste programozásra való. Legalábbis úgy nem sok értelmét látom.... -
DrojDtroll
veterán
Sziasztok!
Most ismerkedek az esp-vel.
Vettem két ilyen modult.
Az egyiket felkonfiguráltam AP-nak. Szépen működik is.
A másikat most próbálom életre kelteni. Arduinon keresztül sorosan írogatom neki az AT parancsokat.
Minden rendben van, mert az AT parancsra megkapom az OK választ.
Amit legelőször szeretnék tenni az, hogy átállítom a modult kliens módba. Sajnos az
AT+CWMODE=1
parancsra
ERROR
-t kapok.MI lehet a gond?
-
-
Gergosz2
veterán
Fentebb is említett ESP8266. Itt a fórumon elég sokan a Wemos D1 mini pro-t favorizáljuk ami nagyjából 6 dollárt kóstál.
A linkelt led mátrixhoz úgy rémlik van library is, így gyakorlatilag egy NTP szerverrel való csevegés után már tudni is fogod az időt ami egyszerűen kiirathatsz rá.
-
quint
aktív tag
Ma megjelent az ESP32 könyv frissítése.
-
Janos250
őstag
válasz
mate1396 #5808 üzenetére
Ízlése válogatja, ki melyiket kedveli.
Az általad linkelt fő baja szerintem, hogy túl van az ÁFA határon (ami 22 Euro), ezért megfogják a vámon. Ki kell érte fizetni az ÁFÁ-t, a vámkezelési díjat, plusz egy csomó idő, macera. Ezért tartom jobbnak "darabokban" rendelni.
A ez pl. még vám határ alatt van akkor is, ha dobozzal együtt rendeled. Hogy milyen processzorú lap (UNO, MEGA, stb.) az egyéni döntés kérdése. Az UNO a legáltalánosabb, annál többet tud a MEGA. Mégtöbbet egyéb lapok.
Pl. én az STM32 alapú lapokat szoktam javasolni, de ez ízlés kérdése.
http://www.ebay.com/itm/STM32-STM32F103RC8T6-ARM-Cortesx-M3-Leaflabs-Leaf-Maple-Mini-Module-for-Arduino-/262878977587?hash=item3d34cede33:g:Ze4AAOSwXYtYuSrr
Vagy valamelyik ESP8266 alapút, pl. WEMOS D1 R2-t, ha nem akarsz egyszerre sok lábat, de meg akarod tanulni a WiFit.
Arra figyelj, hogy a "régebbiek" (UNO, MEGA) 5V-osak, az "újabbak" 3.3 V-osak, és ez a szenzorok illesztésénél lényeges lehet.Ha esetleg eredetiben, vagy hazai vásárlásban gondolkodsz, a gatyád rámegy, és gyakorlatilag nem kapsz jobb minőséget.
-
CHIPman
nagyúr
Üdv.
Rákerestem a topicban, de átfutva a találatokat nem jutottam eredményre. Arduino (vagyis ESP8266, de kb lényegtelen)-kompatibilis
infra ADÓval
találkozott már valaki? Vevőt találok rengeteget, de adót nem. Klíma távvezérlését kéne megoldani neten, és elvileg minden adott, csak infra adót nem sikerült még találnom. -
A214
aktív tag
Sziasztok!
Készíteni szeretnék egy NTP szerveren keresztül kommunikáló ledes asztali órát.
összeállítás:
- NodeMCU Lua ESP8266 ESP-12 WeMos D1
-Red 1.2' 4 Digit 7 Seven Segment LED Display Clock IIC time for_Arduino uno r3
-SYB-170 White bread board
Ebben kérnék segítséget!
Próbálkozott már valaki ilyennel? -
Janos250
őstag
válasz
vargalex #5773 üzenetére
"Sima ESP8266-on a D1, D2, stb. PIN-ek nincsenek definiálva"
Ezért szoktam én javasolni, hogy mindig nézzük meg az adott panelra vonatkozó pins_arduino.h fájlt.
Nálam pl. a d1-re itt van (én mindig portable módban használom):
C:\Arduino\arduino-1.6.10\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\variants\d1\pins_arduino.h -
vargalex
félisten
-
vargalex
félisten
válasz
Janos250 #5772 üzenetére
Nyilván a jquery kicserélhető bármire (akár maradhat simán checkbox is, vagy saját CSS-t lehet gyártani pl. így), csak azért raktam bele, hogy kicsit pofásabb legyen a megjelenítés és maga a kód rövidebb. Nálam nem volt szempont az adatmennyiség.
UPC-nél a DHCP net miatt tipikusan nem változik az IP cím. Ettől függetlenül nálam is van dyndns természetesen (már egy jó ideje az ipdns.hu-t használom). De a kérdésedet nem igazán értem... Ugyanis az UPC által adott IP-t nyilván a router WAN oldala kapja. Az állomások pedig egy belső IP címet. Mi közük az eszközöknek a külső IP-hez? Nekik a routerben statikus lease van beállítva a DHCP szervernél...
És akkor a javított kód, mert a
<body>
és a<html>
tag lezárása lemaradt (igaz, a böngészőket nem zavarja, automatikusan lezárják):#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DEFAULT_STATE LOW
// Replace with your network credentials
const char* ssid = "TP-Link";
const char* password = "asdf1234";
// GPIOs for controlling the relays
uint8_t pin_relays[] = { D1, D2 };
ESP8266WebServer server(80);
// html page rendering
void renderPage() {
String webPage = "";
String relay_state="";
webPage = "<html><head><link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css\">";
webPage += "<script src=\"https://code.jquery.com/jquery-1.11.3.min.js\"></script>";
webPage += "<script src=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js\"></script></head>";
webPage += "<body><h1>ESP8266 Relay Web Server</h1>";
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
relay_state="";
if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}
webPage += "<p>Relay #" + String(relayIndex) + " ( GPIO" + String(pin_relays[relayIndex]) + " ) <input type=\"checkbox\" " + relay_state + " data-role=\"flipswitch\" onchange=\"window.location.href='/?relay=" + String(relayIndex) + "'\"></p>";
}
webPage += "</body></html>";
server.send(200, "text/html", webPage);
}
// handling requests
void handle_root() {
if (server.hasArg("relay")) {
int relayIndex = server.arg("relay").toInt();
digitalWrite(pin_relays[relayIndex], !digitalRead(pin_relays[relayIndex]));
Serial.print("Relay ");
Serial.print(relayIndex);
Serial.print(" state changed to ");
Serial.println(digitalRead(pin_relays[relayIndex]));
}
renderPage();
}
void setup(void){
// preparing GPIOs
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
pinMode(pin_relays[relayIndex], OUTPUT);
digitalWrite(pin_relays[relayIndex], DEFAULT_STATE);
}
//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// web server setup
server.on("/", handle_root);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}Amit még megjegyeznék, hogy ez a kód Wemos D1 mini-re készült. Sima ESP8266-on a D1, D2, stb. PIN-ek nincsenek definiálva (csak d1, d1 mini, nodemcu és wifinfo esetén).
-
vargalex
félisten
Igyekeztem teljesen dinamikusra írni. Azaz, a relék GPIO-it elegendő csak a pin_relays tömbbe felvenni, a többi (weboldalon a megfelelő gombok generálása, a kapcsolás) automatikusan történik a tömb alapján. A kód:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DEFAULT_STATE LOW
// Replace with your network credentials
const char* ssid = "TP-Link";
const char* password = "asdf1234";
// GPIOs for controlling the relays
uint8_t pin_relays[] = { D1, D2 };
ESP8266WebServer server(80);
// html page rendering
void renderPage() {
String webPage = "";
String relay_state="";
webPage = "<html><head><link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css\">";
webPage += "<script src=\"https://code.jquery.com/jquery-1.11.3.min.js\"></script>";
webPage += "<script src=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js\"></script></head>";
webPage += "<body><h1>ESP8266 Relay Web Server</h1>";
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
relay_state="";
if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}
webPage += "<p>Relay #" + String(relayIndex) + " ( GPIO" + String(pin_relays[relayIndex]) + " ) <input type=\"checkbox\" " + relay_state + " data-role=\"flipswitch\" onchange=\"window.location.href='/?relay=" + String(relayIndex) + "'\"></p>";
}
server.send(200, "text/html", webPage);
}
// handling requests
void handle_root() {
if (server.hasArg("relay")) {
int relayIndex = server.arg("relay").toInt();
digitalWrite(pin_relays[relayIndex], !digitalRead(pin_relays[relayIndex]));
Serial.print("Relay ");
Serial.print(relayIndex);
Serial.print(" state changed to ");
Serial.println(digitalRead(pin_relays[relayIndex]));
}
renderPage();
}
void setup(void){
// preparing GPIOs
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
pinMode(pin_relays[relayIndex], OUTPUT);
digitalWrite(pin_relays[relayIndex], DEFAULT_STATE);
}
//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// web server setup
server.on("/", handle_root);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}Látható, hogy a pin_relays tömb most 2 elemű, így a renderelt weboldal jelenleg így néz ki:
Ahogy a setup függvényben látható, alapban alacsony állapotra húzza az érintett GPIO-kat. Persze ez a kiindulási állapot a DEFAULT_STATE-ban módosítható.
-
Janos250
őstag
Tessék:
(A fene tudja, hogy hol mennyire harapósak a modik. A napokban a Google-n keresztül keveredtem véletlenül egy másik oldalon lévő szintén Arduino fórumra, ahol a firefox emlékezett, hogy oda én valamikor ősidőkben regisztráltam. Ha már ott voltam, hozzá akartam szólni. Kiderült, ki vagyok tiltva. Fogalmam sincs miért, de nagy zavart nem okozott)
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>const int ledPin = LED_BUILTIN;
ESP8266WebServer server(80); // szerver objektum letrehozasa
void handle_index() {
/* ezt hajtja végre, ha lekerjuk az oldalt
a http://192.164.4.1/?kapcsolo=be , vagy a
a http://192.164.4.1/?kapcsolo=ki
lekeressel.
Ami itt a fuggveny neve (jelenleg handle_index),
azt kell megadni a server.on -ban
jelenleg: server.on("/", handle_index);
a / jelenti, hogy a root.
Ha pl a http://192.168.4.1/kapcsoloproba modon is meg akarnank
hivni, akkor kellene egy
server.on("kapcsoloproba", valamikapcsoloprobanev);
es egy valamikapcsoloprobanev nevu fuggveny is, ami a hivaskor lefutna
*/String kapcsoloAllito = server.arg("kapcsolo");
if (kapcsoloAllito == "be"){
digitalWrite(ledPin, HIGH) ;
}
else if (kapcsoloAllito == "ki"){
digitalWrite(ledPin, LOW) ;
};String s = "<html>\r\n";
s += "<!DOCTYPE HTML>\r\n";s += "<head>\r\n";
s += "<meta charset=\"UTF-8\">\r\n";
s += "<title>Lampa kapcsolo FETtel</title>\r\n" ;
s += "</head>\r\n";s += "<body>\r\n";
s += " <font size =\"7\"> \r\n" ;s += " <a href=http://192.168.4.1/?kapcsolo=be> bekapcsolas" ;
s += " </a>\r\n" ;s += " <BR>\r\n"; // a <BR> a bongeszoben megjeleniteskor a
// kepernyon sort tor,
// a \r\n pedig a forrasszovegben tor sort,
// (ami a forrasnyelvi szoveg megjelenitesekor latszik)
// a kepernyon megjelenitesre nincs hatassal
s += " <BR>\r\n";s += " <a href=http://192.168.4.1/?kapcsolo=ki> kikapcsolas" ;
s += " </a>\r\n" ;s += " <BR>\r\n";
s += " <BR>\r\n";s += "</body>\r\n";
s += "</html>\n";server.send(200, "text/html", s); // Az s valtozo tartalmat kuldi el a kero
// szamitogepnek, amit a bongeszo megjelenit.
// A 200, "text/html" mindig ez, az s meg
// amit el akarunk kuldeni html szoveget.
// Ha nem html lapkent, hanem sima szovegkent
// akarjuk megjeleniteni, akkor "text/plain"
// kell a "text/html" helyere, a 200 marad es
// a harmadik parameter szinten marad szoveg
// tipusu valtozo, vagy szovegdelay(100);
}
void setup(void)
{
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW) ;delay(2000); // 2s késleltetés az ESP8266 feléledéshez
// a kovetkezo 4 sor mindig szukseges a setupban
WiFi.mode(WIFI_AP); // AccessPoint
WiFi.softAP("proba1","12345678"); // SSID, pw. SSID legyen mindenkinek kulonbozo!
server.begin(); // start the HTTP server
server.on("/", handle_index); // megadjuk, melyik fuggveny hajtodjon vegre,
// ha lekerjuk az oldalt
// a handle_index nev helyett barmi lehet
}void loop(void)
{
server.handleClient(); // ez mindig ez
} -
Janos250
őstag
De van, persze, de most hirtelenjében nem tudok küldeni.
pl. nézd meg ezt:
http://randomnerdtutorials.com/esp8266-web-server-with-arduino-ide/
Valamikor régen - ha jól emlékszem - talán Daszkalosznak hoztunk össze itt a fórumon közös erővel valami vezérlést, de már nem pontosan emlékszem mi is volt. Úgy rémlik, az is valami relé kapcsolgatás volt, aminek az időzítését WEBről lehetett beállítani, de már nem nagyon emlékszem.
Egy ismerősöm éppen most csinálta egy Sonoffra (szintén ESP8266, de 230 V-os relével) a távoli vezérlést interneten keresztül. Majd ha találkozok vele, mondom neki, hogy tegye már fel valahova, szerintem pár embernek hasznos lenne. -
Janos250
őstag
Hú, de elbonyolítottad!
Ezek a "mindenre jó" kész frameworkök
(
#include <ESP8266Ping.h>
#include "Timer.h"
#include <aREST.h>
#include <aREST_UI.h>
)
lehetnek persze kényelmesek, de részben az általánosság miatt hatalmasak, részben sokkal több időbe telik megtanulni, mintha alap programozással csinálnád.Én nem vagyok híve annak, hogy az Androidot is belekeverjük a vezérlésbe, helyette böngészőből megnyitva a WEB lapot, azt preferálom. Egyszerűbb, általánosabb.
Az ESP8266 elég jól használható WEB-en keresztüli vezérlésekre, én nagyon kedvelem.
Kényelmes akkor is, ha az adott WiFi hálón belülről akarom elérni, akkor is, ha kinnről, a routeren keresztül.
Ha meg állandóan változik az IP cím (pl. otthoni UPC), akkor dyndns, vagy valami saját megoldás, ha van hozzáférésed fix IP című helyhez. -
Zoja™
őstag
Uraim, megjött a Wemos D1-em, amivel ma tudtam kicsit játszani.
Egy relé kapcsolgatásával kezdtem az ismerkedést, de valamiért fordítva működik.Alapból bekapcsolt helyzetből indul, ON-ra kikapcsol, OFF-ra pedig be.
Itt a kód, ha vetnétek rá egy pillantást, hogy mi a hiba azt nagyon megköszönném.
// Import required libraries
#include <ESP8266WiFi.h>
#include <ESP8266Ping.h>
#include "Timer.h"
#include <aREST.h>
#include <aREST_UI.h>
// Create aREST instance
aREST_UI rest = aREST_UI();
// WiFi parameters
const char* ssid = "*********"; //Change the stars with your SSID
const char* password = "********"; //Change the stars with your password
Timer t;
IPAddress ip(192,168,0,109); //The static IP you'd like your lamp to get from the router
IPAddress gateway(192,168,0,1);
IPAddress subnet(255,255,255,0);
// The port to listen for incoming TCP connections
#define LISTEN_PORT 80
// Create an instance of the server
WiFiServer server(LISTEN_PORT);
// Variables to be exposed to the API
int ledControl(String command);
void checkwithPing()
{
Serial.print("Pinging ip ");
Serial.println(gateway);
if(Ping.ping(gateway)) {
Serial.println("Success!!");
Serial.println(Ping.averageTime());
} else {
Serial.println("Error :(");
ESP.reset();
}
}
//SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP --
//SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP -- SETUP --
void setup()
{
// Start Serial
Serial.begin(115200);
// Set the title
rest.title("8/61 ");
// Create button to control pin 5
rest.button(5);
// Function to be exposed
rest.function("led", ledControl);
// Give name and ID to device
rest.set_id("1");
rest.set_name("esp8266");
// Connect to WiFi
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address
Serial.println(WiFi.localIP());
t.every(10000, checkwithPing); //Check if connected every 10 seconds
}
void loop()
{
t.update();
// Handle REST calls
WiFiClient client = server.available();
if (!client) {
return;
}
while (!client.available()) {
delay(1);
}
rest.handle(client);
}
int ledControl(String command) {
// Print command
Serial.println(command);
// Get state from command
int state = command.toInt();
digitalWrite(5, state);
return 1;
} -
Tankblock
aktív tag
Hello,
Értem én, abba gondoltam bele, hogy 1 vezeték félre és a tápra is 5V megy, aztán jön a mágikus füst...
Jobb a békesség. Főleg az esp-01 moduloknál, ha belekavarodsz melyik láb melyik.Megjött az esp32 öm... Eddig tetszetős. Mondjuk a Framework kívül egy blinking LED lett csak használva. Ennyi időm volt Elsőre ment minden ( nem úgymint anno az esp8266 al
)
-
válasz
Tankblock #5729 üzenetére
Annyit hadd tegyek hozzá, hogy egy csomó utánaolvasás után kijelenthetem, hogy az esp8266 lábai 5v toleránsak (a gyár egyik tervezőmérnöke mondta ezt, úgyhogy hiszek neki). A tápfeszültség természetesen csak 3v3 lehet a beépített flash miatt.
Nem védődióda van a bemeneteken, hanem snap back védelem. -
Janos250
őstag
válasz
JohnnyX #5725 üzenetére
Az én véleményem:
1. alaplap : az is jó , de ha WiFi-t is akarsz próbálni, akkor inkább valamelyik nodemcu, vagy Wemos, pl.
http://www.ebay.com/itm/NodeMcu-Lua-CH340G-ESP8266-WIFI-Internet-Development-Board-Module-/262136737901?hash=item3d0891306d:g:j-MAAOSwmLlX4h~82. az a készlet annyit megér, és jó is lesz.
3. a WiFi lap helyett vagy az elsőként említett panel, vagy ha ügyesen forrasztasz, akkor:
ESP12EMajd még a későbbiek folyamán szükséged lesz egy marék csatlakozó vezetékre (egyebek mellett):
pl
mégpedig 3 félére: male-male, female-female, male-female. -
Most ismerkedem az esp-vel és olvastam egy cikket (most nem találom), hogy nyílt terepen az elvi 100m-es hatósugarú wifivel 1km-es hatótávot is el lehet érni (valami európai farmer csinált egy öntözőrendszert vele).
Márpedig a hajók jellemzően nem magas házak vagy vasbeton falak közt szoktak közlekedni. -
Janos250
őstag
Hát, így hirtelenjében nem. Én a prociknál (pl. packages\esp8266\hardware\esp8266\2.3.0-rc2\cores\esp8266) szoktam megnézni, egyébként meg a C++ -t használom gond nélkül. Mint Tvamos írta, itt is GCC a fordító, tehát csak a könyvtárakat kell megnézni, miket használ pluszban. Egyébként meg használd nyugodtan, ami a C++ -ban benne van, nekem nem volt még vele gondom.
Részletesebben csak akkor érdemes belemászni, ha hobbiból pl. assembly programrészletet akarsz rá írni. Akkor is ott vannak a kész .h , .c és .cpp programok, pl az esp8266\hardware\esp8266\2.3.0-rc2\cores\esp8266\esp8266_peri.h . Van ugyan pl. "Xtensa_ISA_Reference Manual", "Xtensa LX Microprocessor - Overview Handbook", de én csak beletekintettem, nem volt még rá szükségem. Eddig csupán ezt használtam:#define PIN_OUT *(volatile uint32_t *)0x60000300
#define PIN_DIR *(volatile uint32_t *)0x6000030C
#define PIN_13 *(volatile uint32_t *)0x6000035C -
Még egy kérdés: mivel most látok esp-t először közelről, furcsa, hogy milyen lassan küldi ki a weblapot! Egy alap ledkapcsolgató sketch-et próbáltam, és annak ellenére, hogy a led gombnyomásra rögtön reagál, de a válaszként küldött weblapra legalább 5-10 mp-et várni kell, hogy megjelenjen. Ennél is furcsább, hogy ez csak desktopon, mozilla böngészőben van így, telefonon Chrome-ban meg azonnal megjelenik.
-
Janos250
őstag
Én is így tudom, de időnként kezdők is járnak erre, akiknek nem biztos, hogy mond valamit a GCC, ezért írtam inkább gyárit idézőjelben.
Egyébként nem vagyok részleteiben járatos ebben a témában, pl. nem tudom, hogy az ESPhez használt xtensa-lx106-elf-gcc (packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\bin)
mennyi specialitást tartalmaz. Fordítani is csak egyszer próbáltam win parancssorból, de olyan sok és hosszú path kellett volna a könyvtárak miatt, hogy w beintett. Aki jártasabb ebben, írja le lsz! -
Janos250
őstag
Én - többek között - azért szeretem az ESP és az STM Arduinoját, "mert nem Arduino". Ez így elég hülyén hangzik, pedig így van: A proci gyártója által hozzáadott compiler leírását kell megnézni, mik a korlátai. Az IDE az Arduino - a maga előnyeivel és hátrányaival - de a "gyári" compilert használja, így hiába nincs leírva az Arduinonál sokminden, mégis, ami benne van a C++ fordítóban, azt tudja. Nekem okozott már mindkettő kellemes meglepetéseket. Más kérdés, hogy a leírt anyagok, gyakran félrevezetők. Pl. egy magyar lap is - amelynek egyébként dicsérendők a dolgai - pl. Arduino utasításnak nevezi pl. a pinmode-ot, pedig az egy - processzor típusonként különbözően - előre definiált függvény. Azok az osztályok, amitől "Arduino" lesz, meg vannak előre írva a különböző procikra, illetve néhány dolog meg van csinálva. Pl. a Serial példányosítva van, így mi már simán használhatjuk pl. a Serial.begin-t példányosítás nélkül, stb.
A base64.h és base64.cpp pl. itt van (nálam):
C:\Arduino\arduino-1.6.10\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\cores\esp8266 -
quint
aktív tag
Igazából kábé lövésem sincs a Pythonhoz - terjedelmi korlátok miatt nem akarom felsorolni, hogy még mi mindenhez nincs
A másik ok is hülyeség: szeretem érezni a vasat, amire talán a legjobb egy C/CPP környezet (tudom, kapcsoljak át az Espressif IDF-re).
A harmadik a legszubjektívebb: pár hete kezdtem használni az Atmel Studio + Visual Micro környezetet ESP8266-hoz; már-már megszerettem, szóval reménykedek, hogy a VM-be is beemelik az ESP32 támogatását.
Szóval úgy döntöttem, hogy még az ESP8266-on is nagyon-nagyon bőven van mit tanulnom, azt nyomom tovább, időközben pedig megnézem, hogy mi az, ami megy a 32-n is... -
válasz
Gergosz2 #5681 üzenetére
Csak egy pucér ESP8266 és majd később egy wemos d1 mini áll majd rendelkezésemre. Nem a kód mérete miatt aggódom, hanem a string, amit átadok, lehet-e tetszőleges méretű.
A másik: vannak az esp-n base64 vagy hasonló függvények? Bináris adatot szeretnék küldeni oda-vissza a böngésző és az esp között. -
ESP8266-nál van valami korlátozás a kiküldött weblap méretét illetően? Ha pl szeretnék egy nagy gui-t, ami jquery-t használ.
-
quint
aktív tag
Végre megjött az ESP32
Arduino környezet simán felment hozzá, de sajnos a támogatása még rettenetesen messze van az ESP8266-hoz képest... Mivel otthon mindegyik routeren be van állítva a MAC-szűrés, ezért rögtön adott volt, hogy a "hello world" helyett mivel kell kipróbálni
#include <WiFi.h>
uint8_t MAC_array[6];
char AP_char[18];
char STA_char[18];
void setup() {
Serial.begin(115200);
Serial.println();
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Setup done");
WiFi.macAddress(MAC_array);
for (int i = 0; i < sizeof(MAC_array); ++i){
sprintf(STA_char,"%s%02x:",STA_char,MAC_array[i]);
}
Serial.print(STA_char); Serial.println(" STA MAC");
WiFi.softAPmacAddress(MAC_array);
for (int i = 0; i < sizeof(MAC_array); ++i){
sprintf(AP_char,"%s%02x:",AP_char,MAC_array[i]);
}
Serial.print(AP_char); Serial.println(" AP MAC");
Serial.println();
}
void loop() {
} -
Nem gondolom sehogy, azért kérdeztem Tőletek, mert jobban tudjátok.
A 4,7k-t több helyen olvastam mint javasolt felhúzó ellenállást (igaz 5V-ra), azért írtam. Akkor te ha jól számolom 3V-hoz 100-600 ohmot javasolsz?
Jut eszembe, a panelt még meg sem néztem, szerintem van rajta eleve valami felhúzó ellenállás gyárilag.
Na meg mire kitalálom mit csináljak, végül lesz egy esp-m is. -
quint
aktív tag
Picit nézegettem az Atmel Studio + Visual Micro környezetet. Még nagyon butuska vagyok hozzá, de egyre jobban tetszik. Most egy picit összetettebb feladatot adtam neki, ennek a projektnek egy picit módosított változatát.
A program(ok) szerkesztéséhez nagyon komoly segítséget nyújt (átszabható szintaxis kiemelő, elnevezések figyelése, javaslatok...), osztott nézetben is szerkeszthető egy állomány (lsd. bal oldal), a külső könyvtári hivatkozásokat is egy kattintással megnyitja, utána rögtön láthatók a könyvtár metódusai. Látszik, hogy tényleg összetett projektek kezelésére találták ki.
Nálam a Visual Micro kiegészítés telepítése után simán megkereste az Arduino és az ESP összes könyvtárát, mellette természetesen működik a könyvtár kezelő is. Azt nem tudom megmondani, hogy mekkora a gépigénye, mert egy öreg, de még nem lusta Dell M6600-on futtatom 16 giga RAM mellett, ezt nem fekteti le
-
Tankblock
aktív tag
válasz
Janos250 #5551 üzenetére
Hello Janos205,
a fő különbség a 4M(1MBSPIFF) revan állítva. A GPIO2 megnézem és felhúzom 10k ellenállással. Fura mert ez ESP-01 nem kellett....
Most per pill megyeget. NodeMCU Flash progival töröltem és utána megjavult, ja meg még a tápot is cseréltem....
Még nem atomstabil szóval köszönöm a tippeket! Amint lesz idő/ energia megnézem!!
-
Tankblock
aktív tag
ESP8266 ESP-12E modullal gyűlt meg a bajom.
Blink sketch megy,
Blink without delay -> nem megy.
Serial. begin után nem megy -> boot mode(3,6) wdt resettel elszáll, mint a győzelmi zászló.ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3ffee254
~ld
e:
ets Jan 8 2013,rst cause:3, boot mode:(3,6)
ets_main.cNem tudom eldönteni, hogy connection, az új Arduino 1.8.2 IDE műve, vagy a Board rossz.
Vagy csak a 3V3 feszstab AMS1117 nem bírja a gyűrődést....
Ötletek????
-
quint
aktív tag
Korábban szó volt arról, hogy az ESP8266 bemenetei nem szeretik az 5 voltos rendszerekből származó jeleket. Úgy néz ki, hogy ez mégsem igaz.
Más... Szokott valaki nyákokat gyártatni? Ez egész aranyos (github-on a teljes doksija). Vagy ismer valaki olyan adapter nyákot, amire fel lehet dobni az ESP modulokat, és kényelmesen lehet breadboard-on használni?
-
quint
aktív tag
A többiek olyanok, mint a magyar focisták lábai: csak támaszkodásra valók
Az #5375-be raktam fel egy képet. A D0-D10 és az A0 használható - ezek a Wemos modulján is ki vannak vezetve.Ha valaki nagyon tudja, hogy mit csinál, akkor megpróbálhatja használni a pirossal bekarikázott lábakat is (közülük a zölddel jelölteket a modulon lévő flash-sel való kommunikációhoz használja az ESP). A GPIO09 és GPIO10 portokkal már próbálkoztam, de leginkább fagyás vagy újraindulást sikerült elérnem.
A "figyelmesen"-t csak arra mondtam, hogy Gergosz2 kolléga a D1 Mini Pro tulajdonságairól beszélt, csak ezt nem emelte ki...
-
Az ESP8266 önmagában egy processzor. Amit te linkeltél az egyfajta modul ESP8266-al. Ez egy másik modul [link].
Amikor esp-ről beszélünk ezt értsem ezalatt, vagy van olyan lap ami ezzel a chippel épült, de olyasmi mint a nodemcu csak olcsóbb?
A NodeMCU-ban is ESP8266 van, amikor ESP8266-ról beszélünk, olyankor ESP8266 procit tartalmazó IC-ről/SoC-ról beszélünk. A változatok általában annyiban különböznek, hogy több-kevesebb kiegészítő van a modulon. A NodeMCU-n például soros-USB átalakító, adott esetben analóg multiplexer is van.A szintillesztést nem tudom, ki-hogy oldja meg, személy szerint a linkelt modul Rx Tx pinjeit gond nélkül használom szintillesztés nélkül már jóideje (nem azt jelenti, hogy ez így jó is, de nekem működik). Ha vigyázni szeretnék rá, akkor [link].
-
Bazs87
tag
kezdek picit elveszni. Számomra az arduinok (és másolataik) világa ismert, még hozzá 1 nodemcu.
Az esp8266-ot viszont csak ilyen formájában ismerem: [link]Amikor esp-ről beszélünk ezt értsem ezalatt, vagy van olyan lap ami ezzel a chippel épült, de olyasmi mint a nodemcu csak olcsóbb? Mi a különbség a nodemcu és az általatok használt esp közt?
A node is tudtommal 3.3V-os. A szintillesztést hogyan oldjátok meg?
Tudnátok linkelni 1 a szóban forgó esp-t?Köszi!
(Azt hiszem lassan ideje lenne felvennem a fonalat) -
válasz
vargalex #5470 üzenetére
Én csak annyit írtam, hogy nem egyszerű vele, nem azt, hogy nem lehet.
Évekig használtam egy weboldalon regisztrációs és különböző értesítő mailek küldésére, utoljára kb. 4-5 éve. Többször kellett mailsender class-t cserélni, mert a régivel már nem lehetett küldeni, többször letiltott az adott gmail account, mert túl sok levelet küldtem, vagy rossz címek voltak megadva és visszapattant pár levél, és emiatt spamlistára kerültem stb. Szóval meglepne, ha esp-vel olyan egyszerűen meg lehetne ezt oldani. -
quint
aktív tag
Most próbáltam ki ESP-vel, simán ment az első példa (a másodikat nem néztem).
-
vargalex
félisten
Nálam van egy mini szerver, így kézenfekvő volt, hogy ott csinálok szerver oldali komponenseket mind az e-mail küldéshez, mind a mysql íráshoz/olvasáshoz. Az ESP pedig csak http post-okkal beszélget vele.
A szerver oldal php, onnan sem gond az e-mail küldés gmail-al. Több példát is lehet találni... -
Bazs87
tag
Sziasztok!
2 kérdésem lenne:
- arduino + gmail email küldés/fogadás vakainek sikerült már ez?
- arduino wifi + mysql client ...ehhez még rendes mintát sem találok. Espvel gondoltam megvalósítani, de csak php-s megoldásokat találok. (webservert végül elvetettem az automatizált kétirányú kommunikáció miatt)Köszönöm!
-
Janos250
őstag
Nem, nem jól érted.
ESP8266WebServer server(80);
Nem így küldöm:server.send(200, "text/html", s);
hanem így : server.send(200, "text/plain", s);
Ebben az esetben textként küldi a szerver. Az érkezett üzenet első 6 sora ignorálandó, a következők a tényleges üzenet text formában. Nagyon kényelmes.Ha valakit érdekel, itt egy minta, kiírásokkal:
Pl:
Így küldi a szerver:
void handle_text (){String s = tempr;
s+= "\r\n";
s+= tempr2 ;
s+= "\r\n";
server.send(200, "text/plain", s);
} ;
Ez meg a fogadás:
Serial.println("Ez jott a serverrol:");uint8_t linenum = 0;
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
s[linenum]=line ;
linenum++;
}
;
Serial.println();Serial.println("Eddig jott a serverrol");
Serial.println();
Serial.print("Ez a hasznos, ami jott a serverrol:");
Serial.println(s[6]);
Serial.println(s[7]);
client.stop();
tempr = s[6] ;
tempr2 = s[7] ;
A formátum kicsit megkeveredett a copy során, de ha javítani akarom, még rosszabb lesz.
Állítólag lehet valahogy programkódot is beilleszteni, de nem tudom, hogyan.
-
Janos250
őstag
"nem kell hozzá ismerni az android mélységeit"
Az ESP-re az android egy "szabványos" C++ fordítóval fordított C++ program. Attól lesz android, hogy van(nak) hozzá kész könyvtár(ak),
amikben az olyan arduinos dolgok, amik nicsenek a szabványos C++-ban (pl. pinmode) definiálva vannak osztály, objektum, függyvény, konstans formájában.
Persze ugyanez a helyzet az STM procik esetében is, ahhoz is a gyártó által adott C++ fordítót használják.
GPS:
olyan kínai, vagy egyéb "GPS" modult kell használni, ami nem csak a tényleg GPS (amerikai), hanem az orosz (GLONASS), és a kínai (BEIDOU) műholdakat is látja. -
Bazs87
tag
válasz
Janos250 #5379 üzenetére
autó követő:
a témán én is gondolkodtam. A gondom az ardus gps modullal volt. Amint fedett helyen vagyok, vagy csak a kesztyűtartóban vége a dalnak.
Én telefonnal indultam el, androidon:
http://appinventor.mit.edu/explore/ai2/android-wheres-my-car.htmltávlati cél: gps tracker - azaz a saját pozícióm feldobni ThingSpeakre, majd az otthoni szerver percenként összehasonlítja az én akt. pozícióm a fix otthoni pozzal. Ekkor kapok egy értéket, h otthon/otthon közelében vagyok. Ha nem is használható ez a bool ajtónyitásra, de plusz 1 feltételnek tökéletes.
Az app inventor blokkos programozása egy rossz vicc, de meglepően sokat tud és nem kell hozzá ismerni az android mélységeit, ezért tetszett meg. (mert még abba is komolyabban belekezdeni nincs kapacitásom, meg annyira nem is érdekel)
van 1 ilyen kész "kódom", ha érdekel megosztom veled (max screenshoton, ha más módot nem találok)
nekem esp-vel nem sikerult W5100-zal egy webserver + tcp klienst összehozni. Minden összeakadt mindennel
a vége az lett, h kiszerveztem külön-külön nanokra és soroson kommunikáltam. (meg összeakadt még az sd olvasó, eeprom....., azóta próbálom a libeket minimalizálni, bugyuta logikák, talán úgy stabilabb, a pc meg mindent "meglogikáz")
-
Janos250
őstag
Én KICSIT hasonlókkal foglalkoztam párszor.
Az én megoldásomat leírom, ha esetleg találsz benne valamit, ami Neked is jó.
Az ESP egyszerre (tehát ugyanaz a csip egyidőben) lehet szerver is, és kliens is.
Adatokat én mindig kliensként küldök, mert az akkor megy, amikor én akarom, a szervert meg kérdezni kell. Persze van, ahol automatikus frissítést állítottam be a HTML kódban, ahol folyamatosan kell kijelezni valamit, pl. hőmérsékletet a mobiltelefonon böngészőben.
Viszont a szenzorok kliensként küldik az adatokat a szervernek. Kényelmesen kezelhető a GET és a POST egyaránt.
Pl. ami most következik, ha lesz rá időm és energiám:
Pillanatnyi GPS adatokat tároló ESP szerver. Az adatokat egy másik ESP küldi interneten, kliensként "lekérdezéssel", amire a szerver nem válaszol, hanem tárolja a "lekérdezési" adatokat. Az időben utolsó koordinátát egy harmadik ESP szintén interneten az általa kívánt időben kérdezgeti és feldolgozza. Egyszerűsítve azt mondhatnám, pl. autó követő.
Én kizárólag WiFin csatlakozok az internetre. A routeren a portot valami ritkán használtra állítom, és úgy kommunikálok, ha nem akarom, hogy esetleg mások bezavarjanak. A csak valódi lekérdezésnél meg általában marad az alap beállítás, mert nem egy nagy tragédia, ha valaki véletlenül leolvassa a készülék hőmérséklet.
Ja, még annyit, hogy az adatokat egy másik ESP-nek text formában küldöm, nem HTML-ben, mert azt könnyebb lekezelni. -
quint
aktív tag
Ha már szóba került az ESP12E/F, a "fehér kártya" , a NodeMCU vagy éppen a Wemos D1...
A "fehér kártyán" nem található kivezetések a pirossal bekarikázottak (bocs' a képekért":
Ezek a NodeMCU kártyán itt szerepelnek:
Az addig rendben van, hogy a bekarikázott MOSI, CS, MISO, SCLK lábakat a beépített flash-sel való kommunikációhoz használja az ESP, ezért gubanc lehet a használatukból. A nagyobb problémám az, hogy a GPIO10 és GPIO9 lábakat sem tudom használni (3 db NodeMCU-n próbáltam. Sikerült valakinek?Egy SPI-s tapis TFT LCD-vel szórakozom (sikerült találni hozzá egy brutális sebességű könyvtárat, ehhez viszont faragni kell a tapi illesztőjét), nem maradt túl sok szabad portom...
-
Janos250
őstag
Ez:
http://www.ebay.com/itm/10pcs-ESP8266-WiFi-Module-Breakout-Board-Adapter-Plate-for-ESP-07-ESP-08-ESP-12-/142300489672?hash=item2121c527c8:i:142300489672
mert 60 Ft/db, és a legszükségesebb ellenállások már rajta vannak, de az ESP 12-t rá kell forrasztani, így:
http://www.ebay.com/itm/131899435813?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Elvileg egy fesz. szab. IC-t is lehet rá tenni, de annak annyira kicsi az árama, hogy én inkább a 3.3 voltot adom rá közvetlenül. Ha a fesz szab IC-t akarod ráforrasztani, egy rövidzár "ellenállást" (0 ohm) ki kell venni.
Új hozzászólás Aktív témák
Hirdetés
- Új Acer Predator 16 WQXGA 165Hz G-Sync i9-13900HX 16GB 1TB Nvidia RTX 4070 8GB 140W Win11 Garancia
- Számítógép, ryzen 5 2600, RX 580 8GB, 16gb ddr4, 512gb ssd, 1tb hdd
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD
- Gigabyte GeForce GTX 1660 Ti OC hibátlan, dobozos, 14 nap személyes garanciával
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD
- Apple iPhone 16e 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 512GB SSD Radeon Pro 5500M garanciával
- TOP PC konfig /Ryzen 7 9800X3D, 32GB DDR5 RAM, 1TB SSD/ akciós áron eladó!
- Bomba ár! HP EliteBook Folio 1040 G1 - i5-G4 I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest