- Végleges a HDMI 2.2-es verziója
- Apple MacBook
- Sony MILC fényképezőgépcsalád
- Milyen videókártyát?
- Mini-ITX
- Nvidia GPU-k jövője - amit tudni vélünk
- Itt a legkisebb asztali GeForce RTX 50-es VGA
- HiFi műszaki szemmel - sztereó hangrendszerek
- A látszat ellenére helyesen működik az NVIDIA-féle Resizable BAR implementáció
- Vezeték nélküli fülhallgatók
-
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
-
vargalex
félisten
válasz
Janos250 #15302 üzenetére
Ha erről a kódról van szó, akkor nem csoda, hogy nem jelenik meg semmi a serial monitoron... Nincs is inicializálva a Serial. Mondjuk az ESP8266 inicializálásának azért látszania kellene.
Az AP nevének meghatározása sem ördögtől való, egyszerűen felhasználja a MAC címből az utolsó 2 octetet azért, hogy egyedi legyen az SSID több eszközön egymás mellett futtatva ugyan ezt a kódot.
Egyébként maga az AP létrejön, én eddig teszteltem.... -
vegyszer
addikt
Sziasztok!
Úgy néz ki, hogy sikerült felülnöm a szopórollerre.
A modul, amim lett et: NodeMcu LoLin V3, ESP8266MOd, ESP-12E
Gyenge 3 óra alatt sikerült elérni, hogy a PC lássa.
Ismeretlen USB-s eszköz volt. Majd egyszer sikerült találni egy kb 300kb-os driver pakkot hozzá.
Azzal megy. De a fordítás és a feltöltés sokkal lassabb, mint az Uno esetén.
A szélesség miatt az encoder kábeleit "a nyák alatt" elvezetve csatlakoztattam. De érdekes módon az a kód, ami az Uno esetén működött, átállítva eme eszközre semmit nem tett, csak kérdőjelek írt ki a soros port monitoron.
Hajnali fél ötig szendevtem vél, de nem értem...Ahogy, azt se, hogy ha a Blynk példát töltöm rá, villog, ha az accesspointost, csinál WiFi-t. De az általam linkelt kód nem hozza létre a WiFi-t...
Én meg csak azt hittem, hogy megvan a hw, megvan a kód, megvan a telón az app, és csak össze kell dugni. -
vegyszer
addikt
-
vegyszer
addikt
Sziasztok!
Megjött a két enkóderem a projekthez.
Addig dúrtam a netet míg meg nem leltem egy kódot. Lásd lent
Jól értem, hogy ez egy ESP8266WiFi modulra feltöltve egyből a telón futó skysafari app számára formázva küldi tovább az adatokat WiFi-n?
Nekem csak annyi a dolgom, hogy a két enkódert a 4,5 illetve 14, 12 lábra kössem egy 5V illetve GND mellett, és már csak ellenőrizni kell, hogy a forgásirányok jók-e?
Az enkóderek jelét, hogy pl 8000 jel/360° már az appban állítom be. Maga az app valami ilyesmi típusú jelet kap:
+01234<TAB>-00045<CR>De nézegetve a ESP8266 lábait, nem találok 5V-os lábat.
Ellenben van egy VUSB, ez 5V lenne?
Valamint 12, és 14-es lába sincs. Csak D0-8, de GPIO van 16-ig. Ez lenne az?
Na itt kicsit elbizonytalanodtam.És a kód:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <Encoder.h>
Encoder encoder0(5, 4);
Encoder encoder1(14, 12);
int inByte;
long encoder0Pos = 0;
long encoder1Pos = 0;
// Start a TCP Server on port 9876
WiFiServer server(9876);
WiFiClient client;
void setup()
{
// Set unique name of AP
uint8_t mac[WL_MAC_ADDR_LENGTH];
WiFi.softAPmacAddress(mac);
String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) +
String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);
macID.toUpperCase();
String AP_NameString = "ESP8266DSC_" + macID;
char AP_NameChar[AP_NameString.length() + 1];
memset(AP_NameChar, 0, AP_NameString.length() + 1);
for (int i=0; i<AP_NameString.length(); i++)
AP_NameChar[i] = AP_NameString.charAt(i);
// DONE
boolean result = WiFi.softAP(AP_NameChar, "stargazing");
if(result == true)
{
// Start the TCP server
server.begin();
pinMode(D4, OUTPUT);
digitalWrite(D4, LOW);
}
ESP.wdtDisable();
ESP.wdtEnable(WDTO_8S);
delay(100);
}
void loop()
{
if(!client.connected()) { // if client not connected
client = server.available(); // wait for it to connect
} else {
if(client.available()) {
inByte = (uint8_t)client.read(); // read char from client
if (inByte == 81) //ascii for "Q"
{
encoder0Pos = encoder0.read();
encoder1Pos = encoder1.read();
printEncoderValue(encoder0Pos);
client.print("\t");
printEncoderValue(encoder1Pos);
client.print("\r");
}
}
}
ESP.wdtFeed();
delay(50);
}
void printEncoderValue(long val)
{
unsigned long aval;
if (val < 0)
{
client.print("-");
}
else
{
client.print("+");
}
aval = abs(val);
if (aval < 10)
{
client.print("0000");
}
else if (aval < 100)
{
client.print("000");
}
else if (aval < 1000)
{
client.print("00");
}
else if (aval < 10000)
{
client.print("0");
}
client.print(aval);
}Biztosan valami nem kerek, de lehet, hogy csak nálam.
Nyissátok fel kérlek vak (és igen kezdő) szemem
Illetve a ESP8266WiFi lábkiosztási távolságra egyezik az Arduino nanoéval?
Mert akkor fottasztás helyett lehet, hogy egy
Arduino NANO Screw Terminal Expansion Board típusú ízét keresnék. -
Janos250
őstag
El tudom-e érni valahogy programból a .a típusú fájlban lévő dolgokat?
Pl:
Biztosan tudom, hogy a libvfs.a -ban benne vannak a
static vfs_entry_t* s_vfs[VFS_MAX_COUNT]
és a
static size_t s_vfs_count
változók, amiket használ is a program.
Ki tudom-e a programból íratni ezeknek az értékeit?
Ja, és ESP32 , Arduino IDE -
Janos250
őstag
válasz
vegyszer #15270 üzenetére
Ha nem nagyon sürgős, 2500 Ft postával együtt, és két héten belül (néha gyorsabban) helybe viszi a postás, vagy a futár. És ESP32, nem 8266, ami még a továbbiakban jól jöhet, hogy erősebb!
https://www.banggood.com/Geekcreit-ESP32-WiFi+bluetooth-Development-Board-Ultra-Low-Power-Consumption-Dual-Cores-Pins-Unsoldered-p-1214159.html?cur_warehouse=CN -
vegyszer
addikt
Ez a ESP8266 szerinted jó lesz nekem?
Ahogy nézem a WiFi adott, az elég nekem.
Ilyet, vagy hasonlót melyik pesti/szolnoki boltokban érdemes keresni? -
válasz
vegyszer #15263 üzenetére
Szia! Üdv itt. 👍
Alig találtam meg a kérdést a hosszú szövegben."Egyáltalán jól értem, hogy az a kód, ami egy únón elfut, egy ilyen ESP32 vagy hasonlón is elmegy egy minimális fordítási beállítás után?"
Igen, az UNO-ra megírt kódok jellemzően változtatás nélkül fordíthatóak a többi lapra. A legtöbb általános arduino kód elfut az összes arduino-ba illesztett lapon, ha valami mégsem, az valamilyen alacsony szintű módon megírt, vagy hardver-specifikus kód, pl. megszakítás vagy flash tároló használat.
Ha wifit szeretnél használni, akkor a nano board-ról lebeszélnélek, mert úgyis kell hozzá egy esp, de akkor már a programot is érdemes azon futtatni.
Ha az encoderek jele 5V-os, akkor ESP8266 lesz a te embered, mert ugyan a lap maga 3,3V-os, de az ESP32-vel ellentétben a kimenetei 5V toleránsak, így szintillesztés nélkül rá tudod kötni az encodereket.
-
Janos250
őstag
A guta megüt!
Tud valaki segíteni, mert én nem látom a hibát.Includolva van egy .h fájl, ott van a .cpp is.
A .cpp elején természetesen includolva van a .h, ahogy az a nagy könyvben meg van írva.
A .h elején ott van az
#ifndef
#define
és a végén az
#endif
, de valahogy ezeket nem látja, mert a .cpp-ben újra includolni akarja a .h-t, és emiatt újradefiniálást ír hibának.
Nem vagyok részeg, de nem látom a hibát.
A programok:fileKezeles2021maj02LibHibakeresesProba01.ino
#include "Device2VirtualFileSystem.h" ;
void setup() {
} ;
void loop() {
} ;
/*
Ezt írja hibának:
C:\Users\user\AppData\Local\Temp\arduino_build_664522\sketch\
fileKezeles2021maj02LibHibakeresesProba01.ino.cpp.o:
(.bss.acharCounter+0x0): multiple definition of `acharCounter'
C:\Users\user\AppData\Local\Temp\arduino_build_664522\sketch\
Device2VirtualFileSystem.cpp.o:(.bss.acharCounter+0x0):
first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Hiba a(z) ESP32 Dev Module alaplapra fordításra.
*/
Ezek a fájlok:
A Device2VirtualFileSystem.h fájl tartalma:
#ifndef Device2VFS_h
#define Device2VFS_h
#include <Arduino.h>
uint8_t acharCounter ;
#endif
A Device2VirtualFileSystem.cpp fájl tartalma összesen ennyi:
#include "Device2VirtualFileSystem.h"
Látja valaki, mi a hiba?
Kösz! -
vegyszer
addikt
Szervusztok!
Az az igazság, hogy én veletek ellentétben fordítva ülök a lovon. Nem programozni szerettem volna megtanulni (az 25 évvel ezelőtt elriasztott akkor), hanem találtam egy problémát, amire megoldást is találtam. Csak az ára nem tetszett.
A feladat az, hogy egy vízszintes, és egy függőleges tengely mentén való elfordulást nagy pontossággal mérni lehessen.
Ez egy távcső kiegészítő család. Magát az adatot Bluetooth / WiFi segedelmével egy mobilon futó app kielemzve megmodja, hogy merre kell a távcsövet löködni a kívánt zobjektum megtalálásáhozUrasabb megoldás is létezik, hogyha ezt esetleg léptető motorral teszi, és követi is az égbolt látszólagos elmozdulását. Ezt hívj a csillagászati szakzsargon GoTo-nak, az előbbit push to GoTo-nak.
(ha az első feladat összejön, egy update két motor+ vezérlő után még szóba jöhet)Az egyik számomra legszimpatikusabb megoldás a DobsonDream8
Addig addig b@szta az agyam, hogy a két encoder-t meg is rendeltem. Azért, mert külön adja a muksó a vezérlő dobozt.
Igenám, de ez bő 100$. Nézve a dolog lényegét, egyre jobban kivilágosodott számomra, hogy ezt gyakorlatilag egy Arduino nano, vagy ESP32 vezérlő meg tudja tenni (hisz ő natív bt/WiFi kapcsolatot is támogat).
Egyáltalán jól értem, hogy az a kód, ami egy únón elfut, egy ilyen ESP32 vagy hasonlón is elmegy egy minimális fordítási beállítás után?
Számos hasonló projekt is van, ami 3D-ben nyomtatott alkatrészekkel vitelezi ezt ki.Így első körben egy uno bordot találtam itthon olcsón. A két OMRON E6B2-CWZ6C Rotary Encoder 2000P/R elvileg az országban van már. Nézegettem, hogy ez a 2000 jel/ciklus csatornánként értendő, azaz egy 360° os fordulat 8000 jelre bomlik, ez bőven elég a célra.
A végleges vezérlő még kiválasztás alatt van. Alapvetően nekem a DC táppal megtámogatható nano bordok tetszenek. Majd látom, hogy a végére mi is lesz belőle.Egyenlőre tervezetek
És valószínűleg kérdezni is fogok.Egyenlőre az uno Morse kódolva ki tudja titititátá-zni a nevem. Innen még van hova fejlődni...
-
Janos250
őstag
válasz
its_grandpa #15223 üzenetére
Az alapfilozófiával messzemenően egyetértek.
Már az Algol 60-at is azért kedveltem a Fortran helyett, mert Algolban lehetett
sokkal strukturáltabb programot írni, Fortranban nem. A basic sem nagyon adott arra lehetőséget, a Pascal viszont részben igen. A visualbasic persze nagyon jó strukturált és objektumosított, de ott meg egy Országh nagyszótárnyi dolgot kell megjegyezni, propertyk formájában. A Cobol meg annyira szószátyár volt, hogy csak no. A C nyelvet én gyakorlatilag kihagytam, mert a pointerek miatt gyakran hibáztam benne. Ezért szeretem a C++ -t, mert ott már kényelmesen meg van oldva.Rövid nevek, hosszú nevek: ízlés kérdése. Én jobban szeretem a hangosan beszélő neveket a halkan beszélő helyett. Hogy miért InListPassiveTarget a target helyett? Mert a manualban is így nevezik. Ízlés kérdése. (Pap és papné esete)
Ugyanez igaz a konstansra is: Én úgy gondoltam, hogy jobb az, ha ránézésre látszik, hogy a wait4ready (readyToRead_out) hossza csak 2 byte, míg az ACK 7 byte, a többi meg hosszabb. Az ACK csak ACK maradt, mert azt azért általában tudják az emberek, hogy az mi.
Az ESP32 egyébként is jeleskedik a konstansok átdefiniálásában. A jómúltkor pl egy konstans (aminek a bitjei külön-külön jelentenek valamit) esetében már vagy az ötödik átdefiniálásnál tartottam, amikor kiderült a számértéke: 0 . Ha beírták volna oda a nullát, arról ránézésre tudná az ember, hogy minden bitje bulla, mint ha egy átdefiniált sor végén van.Egyébként nem az Ada programot kódoltam át ESP32-re, hanem írtam egyet, szándékom szerint úgy, hogy minél inkább passzoljon az ESP32-höz. Ez vagy sikerült, vagy nem. Ha megnézed az Ada programját, az azért elég más. Én megnéztem. Igaz, hogy ő is kiírja az elején a verzió számot, de ezt - gondolom - ő is a netem olvasta - ugyanúgy mint én - hogy nem nagyon tudjuk, hogy miért, de ez javítja a stabilitást.
Köszönöm a tanácsaidat, fontolóra veszem őket.
Hogy neked így nem szép a program, azt sajnálom, de lesz, ami így marad. -
its_grandpa
tag
válasz
Janos250 #15219 üzenetére
Örülök, hogy átment az "üzenet". Arra próbáltam felhívni a figyelmet,hogy eredetileg arduinóra írt c kód esp-re fordítása nem csak annyiból áll, hogy átállítjuk milyen board-ra fordítson az ide.
Ne haragudj de a magic number nem lehet szándékos, a define ingyen van
Kicsit lerövidítve a programod egy sora,hogy elférjen:SPI.transferBytes(Target_response_out, Target_response_in, 21); /magic number /
Inkább így ....
#define Target_response_len 21
.
SPI.transferBytes(Target_response_out, Target_response_in, Target_response_len);Ugye mennyivel szebb a második ?
-
Janos250
őstag
A kijelzők kezeléséről jut eszembe:
Már terveztem korábban, hogy írok egy illesztést ESP32-re, hogy a kijelzőre sima fájl "C" művelettel (pl. fprintf) lehessen írni, mert az sokkal kényelmesebb, mindent, konvertálást, formázást, egyebeket elintéz magától, de eddig elmaradt. Tud esetleg valaki kész ilyen illesztést, mert ha valaki már megcsinálta, akkor fölöslegesen nem tökölök vele? Egyébként se használok kijelzőt, nálam a kijelző és a kapcsoló a mobiltelefon képernyője (Mindenkinek van valami dilije
) Korábban egyszer valamire másra nekiveselkedtem, de aztán abbamaradt, pedig definiált, hogy hogyan kell csinálni, hogy beilleszkedjen a fordítóba. Nagyjából ment is, de nem kijelzőre, csak hobbi próbaként.
-
Janos250
őstag
válasz
its_grandpa #15203 üzenetére
Igen, igazad van.
Eredetileg valahogy - a nem megfelelő inicializálás miatt - a státus lekérdezés nem igazán jól működött, ezért került be a sok delay, és úgy maradt. Valóban ki is lehet belőle szedni.
delay: nem igazán tudom, mi a helyzet vele, ettől függetlenül. Van ahol azt írják, hogy vtaskdelay-t használjunk. Az biztosan átadja a vezérlést a többi tasknak az adott időre, de van ahol azt írják, hogy a sima delay-t is ugyanerre fordítja, tehát mindegy. Majd egyszer kipróbálom.
A sok magic number szándékosan van így: az Ada könyvtárban ott van minden részletesen, az nagyon univerzális, de igen hosszú is.
Szándékosan olyat akartam, ami rövid, tömör, és az SPI kezelését is megmutatja. Az SPI-ről is tervezem, hogy írjak pár sort egyszer, mert aki csak az UART-ot használta, annak elég szokatlan a filozófiája, hogy nincs benne "csak read". Helyette úgy működik, hogy ha küldünk egy byte-ot, akkor - akár kell, akár nem - jön be is egy. Tehát úgy olvasunk, hogy kiküldünk egy kódot (sorozatot), hogy mit akarunk olvasni, aztán küldjük sorra a haszontalan kódokat, hogy velük együtt jöjjön a hasznos adat.
Elég fura ez pl. amikor a hőelem hőmérsékletét olvasom, ahol a konverter panelnak semmi adatra nincs szüksége, mégis SPI-vel úgy olvasom, hogy KÜLDÖM a felesleges adatokat, mert ezekkel párhuzamosan jön a hasznos adat. (Ez utóbbit csak azoknak írtam, akik nem szokták az SPI-t használni.) Az esp8266-on korábban nem is használtam könyvtárat, hanem a chip select és a clk lábakat mozgattam programból, és a MISO-nak megfelelőt olvastam, a MOSI-nak meg nem is volt megfelelője, mert fölösleges az adott esetben. Azóta átáltam kényelemből az SPI-re annál is. -
válasz
its_grandpa #15203 üzenetére
Miért ellenjavallt? Ő esp32-re írta a kódot, ahol kimondottan elvárt a delay-ek használata, tekintve, hogy ott adja át a vezérlés a többi szálnak, pl. wifi.
-
its_grandpa
tag
válasz
Janos250 #15192 üzenetére
Belenéztem a kódba kíváncsiságból. Abba most nem megyek bele mennyire szépen van megírva, én pár dolgot másképp csinálnék, pl. túl sok benne a "magic number".
A gond a delay-el van ami ebben az esetben vélhetően nem okoz gondot, azonban az ESP-n ellenjavalt ilyen hosszú delay-ek használata, számtalan helyen leírták, egy példa a sok közül: https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/using-the-arduino-addon
Nem kötözködésből írtam, a jobbító szándék vezérelt, peace. -
Janos250
őstag
Az alapvető gond az volt, hogy összekevertem a PN532 (ami nekem van) chipet egy 522 leírással, így az egyszeri inicializálás miatt volt a gond.
Ez a verzió ESP32-n működik a PN532 chippel.
Van egy 522-es is, de az ugyanezzel a programmal nem megy, majd ha lesz kedvem, tökölök azzal is.
Az egy kisebb téglalap alakú, ez, amit most használtam, az meg egy piros négyzet alakú.
Van persze a komplett Adafruit szoftver, ami jó, és elég sok mindent tud, de hát az ember meg akarja ismerni a részleteketAkkor is, ha az nem lesz olyan univerzális.
Elvileg tud a panel soros és I2C protokollt is, de azt nem próbáltam.
Ez 15.36 Mhz-es, van korábbról 125 kHz-es, de azoknak a megbízható használata nem ment.
Azzal elvileg semmit nem kéne csinálni, mert feltalálták a spanyol viaszt: semmit nem kell vele csinálni, ha közelíted a kártyát, UART-on küldi a kódot. Semmi mást, csak a kódot.
Az első példány, amit vettem, hol küldte, hol nem.
Vettem másikat, gondolván, gyári hibás. Az meg egyáltalán nem küld semmit.
Más:
Ha már megvan, megnéztem pár dolgot:
1. magyar személyi: olvassa, de randomos, azaz mindig mást ad. Ezt a módszert , ha jól tudom, az amerikai útleveleknél vezették be először. Kell hozzá ismerni a titkosítást, hogy visszanyerd a tényleges infót. Csak a kód első jegye állandó:08, ez jelzi, hogy random titkosított.
2.bankkártya: olvassa, és mindig ugyanazt a kódot adja vissza, nincs rajta randomizáló titkosítás (Erste és Revolut kártyákkal próbáltam.) -
Janos250
őstag
Ha valakit később érdekel, tettem fel egy mintaprogramot a PN532-es chipen alapuló 13.56 Mhz-es RFID panelok használatára ESP32-n, hardver SPI-vel megoldva:
https://arduinouser.hu/esp32/PN532_RFID/ESP32_RFID_PN532_SPI_Arduino_Budapest2021apr24.ino -
válasz
ekkold #15190 üzenetére
Ez a piezo-s lifehack nagyon eredeti ötlet, megjegyzem későbbre!
A hall szenzorhoz annyit tennék hozzá, hogy az esp32-ben beépített hall szenzor van (hogy milyen célból, arról fogalmam sincs), ha feltétel a vezetéknélküli működés, akkor egy ilyennel egymagában is meg lehet oldani.
-
Janos250
őstag
válasz
Tomika86 #15180 üzenetére
Kirészletezve:
ESP321 SPI vonalai összekötve a 13.56 MHz-es olvasó megfelelő lábaival, közben a madzagok "megcsapolva", hogy a SALEAE digitális analizátoron lássam a forgalmat. SALEAE is, és ESP is USB-n gépbe.
Adafruit programját feltöltve az ESP32-be, rendesen működik. Kikapcsolás nélkül feltöltök az ESP32-re egy programot, ami az ESP saját SPI hardverjét használja. Szintén működik.
Kikapcsolás után ugyanez a program nem működik, úgy, mintha az Adafruit valamit átállított volna a slaven. Viszont digitális analizátoron nézve, az Adafruit, és a saját UGYANAZOKAT a jeleket küldi, ugyanolyan időzítéssel. Mi a fenét kellene még vizsgálni, hogy kiderüljön, mi állítódik át az Adafruit hatására, hogy utána a kikapcsolásig működik a másikkal is. -
Janos250
őstag
válasz
Tomika86 #15177 üzenetére
Valaki használta már ESP32-n a saját SPI-vel valamilyen 13.56 MHz-es olvasót? Van két olvasóm. Az egyikbe eddig nem sikerült életet lehelni, de a másik hibamentesen működik az Adafruit programjával, viszont ESP32-n vannak gondok. Saleae-n nézve PONTOSAN ugyanazt küldöm ki, időzítések is pont ugyanazok, mégsem tudja olvasni. Érdekes, hogy ha előtte az Adafruit programmal olvastam, akkor jó az ESP SPI driverrel is, de áramtalanítás után már nem. Tanácstalan vagyok. Mit lehet még nézni, ha az analizátor ugyanazt mutatja?
-
gyapo11
őstag
válasz
WinZol #15172 üzenetére
Kijelzőre ötlet a régebbi Nokiák közül valamelyiknek a kijelzője. Nem túl nagy és fekete-fehér, de legalább olcsó ha sikerül találni. Hogy pontosan melyik azt nem tudom, de google biztos segít.
Amúgy esp-hez a web felület jó, amit János250 szokott ajánlani, és akkor bármivel nézheted, amin fut egy böngésző. -
WinZol
aktív tag
Hi,
Egy szauna vezérlést akarok magamnak összerakni.
A vezérlő egy ESP8266 / ESP32 lesz.A "vezérlő" képernyővel vagyok bajban.
Két variáció jutott eszembe:
1. Nextion 4,3
2. Egy androidot futtató kijelző, amin az MQTT DASH app futna.
Minta project hozzá.A második mellett szólna, hogy telefonról is ua. a felület működhetne.
Persze egy kiszuperált telefon is jó lehetne erre a célra, ha esztétikusan tudnám rögzíteni. (de szerintem az nem megy)Valami más ötlet?
Arduinót futtató kijelző ember áron (max 20 eHUF)?Köszi
WinZol
-
nessh
tag
Sziasztok,
Rávettem magam hogy próbálkozzak, kinéztem magamnak ezt a projektet [link]
Amikor feltölteném a kódot, azt a hibát dobja hogy:
TFT_eSPI.h: No such file or directoryHova kéne tennem ezt a file-t hogy megtalálja?
Közben megoldottam... Úgy álltam neki a dolgoknak hogy be se lőttem rendesen a library-kat...
-
Janos250
őstag
válasz
gazso75 #15037 üzenetére
Most kell feltölteni a tartalékokat, mert ha 1-2 héten belül nem rendeljük meg, az már tébolyda lesz a drága és elhúzódó adminisztráció miatt. Ha egy párszáz forintos tételre ki kell fizetni az 1-2 száz forint ÁFA mellé még a többezer forintos adminisztrációs díjat, az bizony kellemetlen lesz. Lehet mondani persze, hogy vedd meg a hazai kereskedőtől, de rengeteg olyan dolog van, ami nincs a hazai kereskedelemben. Lesznek persze továbbra is olyan netes áruházak, amik EU raktárról küldik az árut, de ott jóval kisebb a választék, és amit ott nem találsz meg, kénytelen leszel továbbra is kinnről rendelni. Szóval csinálj leltárt, és amire szükséged lehet, azt gyorsan rendeld meg. Nekem is most vannak útban még ilyen-olyan stiftek, csavarok, szenzorok, dugdosós kábelek, csatlakozók, IC-k, modulok, ESP32-k, tápegységek, FET-ek, miegymás.
-
Janos250
őstag
Az egyik ESP32-n olyan WEB szerver van, ami a 80-as porton kommunikál, hosszú, hogy miért. Mivel itthon is próbáltam, a routeren a kintről jövő port 80-as lekéréseket ráirányítottam
az ESP32-re, és kb egy órát magára hagytam. (ebéd)
Meglepődve láttam, hogy ez alatt az idő alatt 22 alkalommal próbáltak belépni, 12 IP címről:
27 224 137 17
45 45 10 45
46 245 22 225
101 200 204 55 3x
118 89 65 15 3x
128 14 134 170
167 71 39 182 7x
180 252 124 7
184 105 139 68
194 50 14 21
200 107 89 157
205 185 122 102
Ezekkel az URL "toldalékokkal":
/_ignition/execute-solution kétszer
/boaform/admin/formLogin
/config/getuser?index=0 kétszer
/login
/manager/html
/TP/public/index.php
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
/wp-login.php
admin/login.asp
Az IP címeket a http://geoiplookup.net/ -en megnézve, a legkülönbözőbb helyeken vannak. Főleg Ázsiában, de Amerikában, Németország, Oroszországban is. Még szerencse, hogy az ESP programja, ha számára értelmezhetetlen adatot kap, egyszerűen eldobja.
Ezek szerint az Arduinos megoldásoknál is bizony számítani kell arra, hogy megpróbálnak betörni, ezt le kell kezelni.
-
Janos250
őstag
Valaki kérte pár hónapja, hogy a string kezelésről az ESP32-n dologról írjak le neki pár dolgot.
Ami úgy hirtelenjében eszembe jutott, azt lefirkantottam. Terveztem, hogy majd egyszer rendbe teszem, de az elmaradt.
Én alapvetően lusta ember vagyok, és a lustaság - mint tudjuk - fél egészség, és az egészség manapság nagyon fontos
Ezért aztán így maradt, de felteszem, hátha valakit érdekel.
Ha éppen nincs jobb dolgod, belenézhetsz, ha érdekel.
Ne tessék morogni, hogy fésületlen, tudom. :-)
stringekről valami ESP32-n -
gyapo11
őstag
válasz
RAiN91 #14972 üzenetére
Ha a nagy impedancia a probléma, akkor 20 mA-ben kellene gondlkodni, ami 3.3 V-on 165 Ω, tehát jóval kisebb, mint amiről beszélgettek. Vagyis a hosszú vezeték egyik végén a nyomógomb, a másik végén az esp, a D7 közelébe forrasztott 165-200 Ω-os ellenállás a pozitívra és esetleg párhuzamosan egy kondi, de szerintem 20 mA nagyságrendű jelet nem fog egy 4 m-es drót összeszedni, de ha mégis, akkor a kondi azt megeszi, ezzel kicsit lassítva a H szint megjelenését a bemeneten.
-
PBA
aktív tag
Igazság szerint itt arról van szó, hogy mondjuk van 5 ember az adott WIFI AP közelében, mindegyiknek van egy-egy ESP boardja mikrofonos fülessel, az ESP-k a WIFI-n keresztül csatlakoznak egy SIP szerver konferencia szobájához, és így mindenki hall mindenkit oda-vissza.
Próbálkoztam mobilos kliensekkel, nem igazán váltak be. Lefogyott, az app háttérbe került és leszakadt, és ezer egy probléma merült fel. A célom egy faék egyszerűségű és megbízható megoldás kialakítása, és szerintem ez az ESP-s cucc pont ez tudná:
kicsi a fogyasztása, elvileg megbízható, egyszerű a használata, és teljesen testre szabottan alakítható ki (olyan dobozba teszem, ami nekem a legjobb, olyan akkut teszek mellé, amilyen kapacitású kell, stb).
Már csak infót/embert kell találnom, hogy meg tudjam valósítani az elképzelést.
-
PBA
aktív tag
-
-
PBA
aktív tag
Köszönöm!
Természetesen szívesen leírom majd, hogy mire jutottam, ha sikerül kibogozni a szálakat. Az a baj, hogy ESP-vel nekem sincs tapasztalatom, a kis fogyasztás miatt tetszett meg a dolog, meg ezek egész jó kis "all-in-one" boardoknak tűnnek, első ránézésre simán össze lehetne kalapálni belőlük egy jó megoldást, persze ez még csak az elmélet... -
Semmi gond!
Ha mégis úgy alakul, a hardverapró állás rovatában tudsz ezzel kapcsolatban hirdetni, de az itt kapott segítséggel szerintem egyedül is menni fog!
Nem kell ezzel privátba menni, erre való a topik. Engem is érdekel ez a projekt, mindenképp írd be ide, hogy mire jutottál vele! Én személy szerint nem vagyok túlzottan otthon esp témakörben, de hál' istennek sok hozzáértő jár itt, valaki biztosan segít. -
PBA
aktív tag
Sziasztok,
remélem, jó helyen járok a kérdésemmel... ESP32 alapon szeretnék egy lebutított SIP klienst üzembe állítani. Azt látom, hogy a kínai webshopokban vannak olyan boardok, ami kvázi fel vannak erre készítve, azaz kezelnek akkut, van benne WIFI, füles ki- és mikrofon bemenet, stb.
Leegyszerűsítve a cél az, hogy az az ESP32 board bekapcs után automatikusan fellépjen egy meghatározott WIFI hálóra, és csatlakozzon egy SIP szerverhez. Így megvalósulna a kétirányú audio kommunikáció.
Nem vagyok otthon a fejlesztési részben, így ehhez keresnék valakit, aki tud ebben segíteni. Nyilván a fáradozását honorálnám. Előre is köszönöm és elnézést, ha nagyon off-topic a dolog. Privát üzenetben elérhető vagyok!
-
Tankblock
aktív tag
válasz
Janos250 #14905 üzenetére
Bocs, épp mindennel el vagyok foglalva csak fórumozni nincs időm...
Na szóval javascript ugye...
elemnek legyen id ja és akkor scriptből lehet a tulajdonságait módosítani. pl láthatóságot, bármit.lenti példában egy slide switch van
myonoffswitch
néven és loggol is az oldalra vissza."<!DOCTYPE html><meta charset=\"utf-8\" /><title>ESP8266 Test Server</title><style> .onoffswitch { position: relative\; width: 90px\; -webkit-user-select:none\; -moz-user-select:none\; -ms-user-select: none\; } .onoffswitch-checkbox {display: none\;} .onoffswitch-label {display: block\; overflow: hidden\; cursor: pointer\; border: 2px solid #8F8989\; border-radius: 20px\;} .onoffswitch-inner {display: block\; width: 200%\; margin-left: -100%\; transition: margin 0.3s ease-in 0s\;} .onoffswitch-inner:before, .onoffswitch-inner:after { display: block\; float: left\; width: 50%\; height: 30px\; padding: 0\; line-height: 30px\; font-size: 14px\; color: white\; font-family: Trebuchet, Arial, sans-serif\; font-weight: bold\; box-sizing: border-box\;} .onoffswitch-inner:before { content: \"ON\"\; padding-left: 10px\; background-color: #C21515\; color: #FFFFFF\; } .onoffswitch-inner:after { content: \"OFF\"\; padding-right: 10px\; background-color: #C21515\; color: #999999\; text-align: right\;} .onoffswitch-switch {display: block\; width: 18px\; margin: 6px\; background: #A1A1A1\; position: absolute\; top: 0\; bottom: 0\; right: 56px\; border: 2px solid #8F8989\; border-radius: 20px\; transition: all 0.3s ease-in 0s\; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0\;} .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0px\; background-color: #CC262C\;}</style><script language=\"javascript\" type=\"text/javascript\"> var wsUri =\"ws://"; <ide az IP címe kell>
":81\"\; function init(){ output = document.getElementById(\"output\")\; testWebSocket()\;} function testWebSocket(){ websocket = new WebSocket(wsUri)\; websocket.onopen = function(evt) { onOpen(evt) }\; websocket.onclose = function(evt) { onClose(evt) }\; websocket.onmessage = function(evt) { onMessage(evt) }\; websocket.onerror = function(evt) { onError(evt) }\; } function onOpen(evt) {writeToScreen(\"CONNECTED\")\; doSend(\"CONNECTED\")\; document.getElementById(\"myonoffswitch\").disabled = true\;} function onClose(evt){ writeToScreen(\"DISCONNECTED\")\;} function onMessage(evt){ var received_msg = evt.data\; writeToScreen('<span style=\"color: blue\;\">RESPONSE:' + received_msg +'</span>')\; if(received_msg == \"Connected\"){document.getElementById(\"myonoffswitch\").disabled = false\; document.getElementById(\"myonoffswitch\").checked = false\; doSend(\"GS\")\;} if(received_msg.startsWith(\"GS\")){ var l_tempSwitchStatus = received_msg.split(\":\")\; writeToScreen(\"Medve \" + l_tempSwitchStatus[1])\; document.getElementById(\"myonoffswitch\").checked = (l_tempSwitchStatus[1] === 'true')\; document.getElementById(\"myonoffswitch\").disabled = false\;} } function onError(evt){writeToScreen('<span style=\"color: red\;\">ERROR:</span> ' + evt.data)\;} function doSend(message){writeToScreen(\"SENT:\" + message)\; websocket.send(message)\;} function writeToScreen(message){var pre = document.createElement(\"p\")\; pre.style.wordWrap = \"break-word\"\; pre.innerHTML = message\; output.appendChild(pre)\;} function checkedChanged(message){doSend('WS:'+document.getElementById(\"myonoffswitch\").checked)\;}window.addEventListener(\"load\", init, false)\; </script><h2>WebSocket Test</h2><div class=\"onoffswitch\"><input type=\"checkbox\" name=\"onoffswitch\" class=\"onoffswitch-checkbox\" id=\"myonoffswitch\" onchange=\"checkedChanged(this)\" checked ><label class=\"onoffswitch-label\" for=\"myonoffswitch\"><span class=\"onoffswitch-inner\"></span><span class=\"onoffswitch-switch\"></span></label></div><div id=\"output\"></div>";
Nem kell oldalt töltögetni számomra az idegesítő.esetleg a CNLohr csatornáját ajánlom [link] esp8266 on tol valami 700Hz el weblapot és FFT vel zenéből RBG ledszallagot színez.....
-
válasz
gyapo11 #14934 üzenetére
Hát ezért írtam, hogy külön fájlba kell tenni, külön a programkódtól, amit csak include-ol az ember, de nem szerkeszti az IDE-n belül.
Én nem várnám, hogy olvasható legyen, de LCD kijelzőkhöz, ahol lookup table-ökben vannak bitmap-ben a karakterek, tényleg praktikusabbak az 1byte-os karakterek.
Esp+webes kezelőfelületekhez igazából mindegy, hogy utf-8 vagy más. -
Janos46
tag
Sziasztok!
Van egy kis meterológia állomásom NODEMCU-val (ESP8266). Kérdésem, hogy elkészítehetem-e ezt a WiFi ESP-12E chip ESP8266-el. Valamint ezt hogyan tudom programozni? A másikat könnyű a porton keresztül, ezen nincs.
Koszi a segítséget. -
válasz
Janos250 #14913 üzenetére
Leírnád pontosan még egyszer, hogy mi az elvárt működés onnantól, hogy betöltődött a weblap?
Addig világos, hogy van rajta egy csúszka, amit ha állítasz, egy értéket küld az esp felé. Innentől nem világos, hogy a csúszka mozgatása után minek kellene frissülni és milyen okból.
Ugyanazon a weboldalon máshol is megjelenik ez az érték? Vagy másik böngészőben kellene látszódni a változásnak? -
Janos250
őstag
válasz
Dißnäëß #14902 üzenetére
A websocket a fizikai és a http (vagy egyéb) között van. Persze ez elég nagyjábóli megközelítés. A neten a kommunikáció IP alapon történik, viszont például ugyanazon a gépen egyszerre több program is használhatja a netet, pl. több böngésző is lehet újra megnyitva.
Ezért nem elég, hogy egy szerver csak a cél IP címét adja meg, meg kell hozzá adni még egy 2 bájtos egyedi azonosítót is, hogy a válasznál lehessen tudni, hogy melyik alkalmazásnak kell továbbítani az üzenetet. Ez a plusz 2 bájt a port. Amikor egy böngésző elküld egy kérést egy szervernek, akkor küld hozzá egy port számot is, amit a küldő gép határoz meg úgy, hogy olyat választ, amit ugyanazon a gépen másik alkalmazás éppen nem használ. Ezt az IP+port együttest, mint socketot kezeli egy egység. Tehát pl. ESP32-n: Ha WEB szervert használsz, az kapcsolatot tart egy alacsonyabb szinttel, ami olyan elérést ad, mintha pl. soros port lenne. Lehet rá írni, lehet róla olvasni. Ez a szint egy socketban adja tovább a kérést egy alacsonyabb szintnek. Ez a nem profi rendszereknél gyakran az lwIP szabad felhasználású egység. Ez aztán összerakja a továbbítandó csomagot (legalábbis egy részét), és beteszi egy memória részbe. Utána szól a hardvert legalacsonyabb szinten kezelő résznek, hogy ott van ebben a tárolóban egy csomag. Az fogja, átmásolja a hardver
saját tároló területére, és utasítja a hardvert, hogy küldje el.
Ebben a csomagban már benne van, hogy a választ melyik socket (IP+portot kezelő egység) részére kell visszaküldeni. A hardver még ehhez a saját MAC címét hozzáadva, egy adott MAC címre küldi, amit az ARP nevezetű rész határoz meg. Ezt úgy teszi, hogy egy mindenki számára szóló üzenetben kérdezi az összes, ugyanazon a madzagon lévő gépet, hogy ez az IP cím kié. Ha senkié, akkor a routernek küldi. A user által használt legalacsonyabb szint a socket szokott lenni, azaz megadott szisztéma szerint összekészítesz egy csomagot, és azt adod át neki. ESP32-n én nem használom, mert a serializált szint kezelése sokkal egyszerűbb, de gyakorlatilag ez socket szintű programozás, csak megúszom a csomag összekészítésének a melóját. -
dew28
aktív tag
par linux disztron alapbol FF van fenn. most akkor meg az op.rendszert is meg kell szabni?
safarin anno volt ugy, hogy elkezdtem manualisan beirni az esp ip-jet a cimsorba a megfelelo valtozo ertekevel, es ha az elozmenyekben mar benne volt, akkor automatikusan be is toltotte a hatterben, igy pl felkapcsolta a vilagitast pedig meg vegig sem irtam amit akartam..
-
Janos250
őstag
Sajnos nem oldotta meg a problémát. :-(
Érdekes, hogy ha a router mögötti lokális hálón lévő gépről lépek be,
akkor gyakorlatilag nincs probléma, de ha a "világból", akkor marad a gond. Nem tudom a fejlécből kiszűrni, mert csak felépíti a kapcsolatot, de egyetlen huncut bájtot se küld. Majd azt próbálom meg, hogy ha a kapcsolat felépült, és rövid időn belül nem jön adat, akkor törölje a kapcsolatot. (client.stop). Az lenne jó, ha a html kóddal (pl. valami CSS) tudnám ezt a dolgot letiltani.
A neten vannak cikkek arról, hogy az ESP32 néha rosszul kezeli a netet, de ezek állítólag a most februári 1.0.5 verzióval megszűntek. Meg egyébként se valószínű, hogy az ESP csinálja, mert honnan tudná magától kitalálni, hogy ott a távolban a FF lapján a user a cursot a link fölé vitte. Meg csak a FF-ban van ez a gond. -
Janos250
őstag
Köszi mindkettőtöknek. Lehet, hogy jó lesz, hogy újraindítottam az FF-t. Viszont most valami már zűr van, mert most meg nem éri el az ESP-t semmi, ennek az okát majd keresem.
-
válasz
Janos250 #14856 üzenetére
Ezzel magán az ESP-n tudod szűrni a lekérést:
As a server admin, can I distinguish prefetch requests from normal requests?
Yes, we send the following header along with each prefetch request:X-moz: prefetch
Of course, this request header is not at all standardized, and it may change in future Mozilla releases. Chrome uses "X-Purpose: prefetch" or "Purpose: prefetch" header.Ezzel meg a böngészőben tudod kikapcsolni:
Is there a preference to disable link prefetching?
Yes, there is a hidden preference that you can set to disable link prefetching. Add this line to your prefs.js file located in your profile directory (or make the appropriate change via about:config):user_pref("network.prefetch-next", false)
-
Janos250
őstag
Tud erre valaki magyarázatot? És megoldást,
ESP32.
WEB lap.
Vannak benne linkek, amik működnek is, sőt épp az a baj, hogy nagyon is működnek Firefox alatt.
Elég, ha a linkre ráviszem a cursort, akkor ugyebár alul megjelenik az URL, de nem csak megjelenik, hanem küld egy kapcsolódás kérést a szerverre. Az asztali gépen lévő Firefox is, és a telefonon lévő is ugyanezt csinálja. Crome nem.
Hogyan lehet megoldani, hogy ha Firefoxon a link fölé viszem a cursort, ne cseszegesse az ESP szervert, mert kapcsolódik hozzá, de ha nem nyomom meg, akkor nem küld adatot, de blokkol, míg le nem jár az idő.
A linkekben én semmi kifogásolni valót nem látok:<a href="http://86.xxx.xx.xxx:50000">frissít </a>
<a href="?k=-10">-10</a>
-
Janos46
tag
Heuréka, műküdik! megkaptam a megoldást a TP-LINK -re a Windows 10 fórumon.
Lehet, hogy csak annyi a gond, hogy nem jó tartományban "dolgozik", azaz a régi router-ed alapértelmezett belépési címe pl. 192.168.1.1 (ezáltal a DHCP tartomány 192.168.1.100 és 192.168.1.199 közé esik), míg az új router-é meg 192.168.0.1 (ezáltal a DHCP tartomány 192.168.0.100 és 192.168.0.199 közé esik) és ezért nem látja.
A régi routerben nézd meg milyen IP-t osztott ki/ kap az ESP8266 és annak megfelelően állítsd át az új router-ed belépési címét(a DHCP tartomány automatikusan átáll) -
válasz
its_grandpa #14798 üzenetére
A linksys-ed a 192.168.1.* , a TP-LINK meg 192.168.0.* , persze hogy nem látod az esp-t, át kellene konfigolni.
Ennek semmi jelentősége, ha DHCP-vel kapja az IP-t.
-
-
Janos46
tag
válasz
Janos46 #14791 üzenetére
Szemléletesen. Tehát mint látható a felső képen - linksys router - az ESP eszköznek a PC USB-be való csatlakozását látni lehet a routerben. Ezzel szemben az alsó képen - TP-link - esetében ez nem látható, annak ellenére, hogy a PC mindkét esetben érzékeli a csatlakoztatást. A TP-LINK minden routerbe dugott és wifis eszközt felismer kivéve az usb-st. Arra dondoltam, hogy a routerben még valamit paraméterezni kellene, hogy az usb-st is felismerje. Remélem így már érthetőbben írtam le. -
Janos46
tag
Sziasztok!
Van egy öregecske LinkSys WRT54GSrouterem, amit lecseréltem egy valamivel jobb TL-WR845N-re. Amikor a PC USB portján keresztül csatlakoztattam az ESP8266-ot, akkor a routerben láttam a MAC és IP számát is és igy wifin keresztül ki tudtam olvasni a beírt program által küldött adatokat. A PC észreveszi a csatlakozást, de a mostani routerban ezt nem találom sehol sem. A portszám ismerete nélkül nem tudok csalakozni hozzá. Azt sem tudom, hogy egyáltalán beírja-e, mert látszólag igen. Ha van valakinek hasonló routere és programoz 8266-ot vagy MAC és IP címmel ellátott eszközt, megírná hogy a routerben milyen beállításokon kell változtatni? Mert egyébként mindene jól működik. -
Janos250
őstag
Szevasztok html-hez értők!
Az ESP32 WEB lappal akadt egy problémám.
Egy html fejében ez van:<meta http-equiv=refresh content=50 >
Vagyis 50 másodpercenként frissítsen.
A baj az, hogy GET-el értéknövelések (link, és beírva utána a növekmény) vannak a lapon, pl.:<a href="?kolo=+10">+10</a>
Ha ezt megnyomjuk, utána minden frissítésnél ezt küldi el.
A kérdőjel elé nem írhatom be az IP címet, mert az hol ennyi, hol annyi.
Nem akarom más módon megoldani href helyett, mert nagyon sok helyen kellene átírni, igazgatni, miegymás.
Mit írjak a href, vagy a content után, hogy frissítésnél ne legyen ott kérdőjeles rész?Kösz, ha van ötlet.
-
-
#Tankblock: a 16 lábú ic sérteténnek tűnik
Most rádugtam a laptopra az ESP8266-os lapot, és ott sincs már port az eszközkezelőben. Valami gebasz van. 2 napja pedig az ment normálisan, írt neki portot is.
Akkor letörlöm az egész arduinót, újratelepítem, aztán meg lesz valami.
szerk: hoztam egy xiaomi teleontöltős kábelt, és van port minden lapnál... akkor ez a nyamvadék kábel a baj.Működik a Wemos lap is. Pedig ezzel arövid kis fehér kábellel használtam régebben, biztos megtört valahol.
-
Janos250
őstag
-
Janos250
őstag
Ezek a könyvtárak hol vannak?
#include <sys/mount.h>
#include <dlfcn.h>
#include "inkview.h"
Abban a lefordított fájlban?
Mert akkor csak olyan rendszerrel tudod lefordítani, amin azt is fordítotték.
Nyelvi szempontból semmi különös nincs benne, akár egy ESP32 alá is simán le lehetne fordítani, de - úgy látom - vannak benne spéci dolgok (pl. karakterek kezelése), azok - gyanítom- egy adott rendszerhez vannak, mert azok nem részei a nyelvnek.
Akkor muszáj ahhoz fordítani. -
dew28
aktív tag
Én azt hittem valóban irányítani szeretnéd (gáz, fék, kormány stb)
Detto.
Ha központi zárat, meg ülésfűtést szeretnél távolról kapcsolni, ahhoz elég lenne egy-egy ESP8266 az autóba és a távirányítóba, a kettő között WiFi kapcsolattal.
50m-re nem biztos#14731 PC4200
Ha leirnad a kokret feladatot, jobban tudnank segiteni. Az ado reszet is szeretned epiteni? vagy az egy 433MHz taviranyito? Biztos, hogy kell MCU? -
válasz
PC4200 #14731 üzenetére
Csak "Arduino" nevű kontroller létezik vagy tíz féle, ehhez jön még több tucat Arduino IDE-be integrált vezérlő, mint az ESP-k, meg különböző ARM alapú lapok. Szóval ez így nem szűkítette le.
Arduino alatt az UNO-ra gondolsz?
Az sem volt eddig világos, hogy "távirányítás" alatt mit értesz. Én azt hittem valóban irányítani szeretnéd (gáz, fék, kormány stb) de a 3 gomb alapján nem ez a terv. Akkor mi?
Ha központi zárat, meg ülésfűtést szeretnél távolról kapcsolni, ahhoz elég lenne egy-egy ESP8266 az autóba és a távirányítóba, a kettő között WiFi kapcsolattal. -
Janos250
őstag
válasz
its_grandpa #14713 üzenetére
A 12F-eket én is forrasztgattam, a "fehér" panelokra (még mindig van néhány ilyen üres panelom), de annak nagyobb a lábtávolsága, mint az ESP32-nek. Persze, egy drónnál (is
) lényeges a méret, de nálam csak olyan használatok fordulnak elő, ahol tökmindegy mekkora, sőt, ha nagyobb, könnyebb vele bánni. Régen kevés panelt csináltam, mert macerás volt. Fekete szalaggal ragasztottuk az átlátszó fóliát 2:1-ben, aztán ment a fotóshoz, majd a panel gyártóhoz, akik igen erőteljesen megkérték az árát. Nem is igen gyártattam, inkább univerzális panelokra raktam az alkatrészeket, és madzaggal összeforrasztgattam őket. Meg a dugdosós panelon csináltam. Aztán az Eagle ingyenes verziójával csináltam pár panelt, amit itthon legyártattam, de többnyire maradt a vezetékes forrasztgatás, amatőr szinten ez is megteszi.
Aztán mostanában rákaptam az easyEDA programra.
Online bejelentkezek, megrajzolom a kapcsolási rajzot, majd egy gombnyomás, és PCB készítés. Persze ide csak felhányja - szokás szerint - az aljára az alkatrészeket, nekem kell elhelyeznem, és a vékony vonallal légvonalban bejelölt összekötéseket megcsinálni. Állítólag nagyon gyenge az autoroute funkciója, én nem is használom. Aztán amikor kész, egy PCB rendelés gomb, és átirányít a jlcpcb oldalra, ahol már minden be van jelölve, nem érdemes változtatni. Aztán fizetés. Pár hónapja még 5 panelért fizettem 5 $-t, de most már 10 db. 5$. Kiválasztom a szállítási módot az éppeni sürgősség, és a "mennyit szánok rá" függvényében, mert a szállítás elég drága, ugyanis ezeknek a paneloknak bizony van súlyuk.
A legutóbbi rendelésemnél kettő 10x10 cm-es panel 10-10 db, így a gyártás összesen 10 $, de a szállítás 20 $, viszont a múltkor is 8 nap alatt megjött. Ha meg ráér, akkor jöhet a lassabb, olcsóbb szállítás. Leggyorsabb a DHL, de az jócskán megkéri az árát.
Ezeket nem is neked írtam, hanem azoknak, akik foglalkoznak amatőr szinten ilyesmivel. Én saját tapasztalatok alapján nagyon javasolom a panel gyártását, nagyon megkönnyíti az ember dolgát, sokkal kevesebb hibalehetőség, több sikerélmény, mint ha dugdosnánk. A dugdosós panelon!
Ui.:
A drónnál RTK GPS-t használsz, vagy csak simát?
Ha csak simát, mekkora a visszatérési pontossága? -
its_grandpa
tag
válasz
Janos250 #14712 üzenetére
Én forrasztgatok, főleg 12F-et, csak körben kell. A modulok túl nagyok, rajtuk az usb csatlakozó meg mindenféle "felesleges" ic
ami csak a kód feltöltés miatt kell.
Az ESP forrasztása nem nehéz, utolsó forrasztási küzdelmem a drónom zárlatos FET-jének cseréje volt, arra ment el idő gazdagon. A sot-32 tok mérete 1,2*2,8 mm, a 3 láb még ennél is kisebb helyen van. -
MPM
tag
#14680 aryes (Szerk: véletlenül új hozzászólásra nyomtam)
Köszi a választ!Megosztod az IMU-d típusát, ami bevált neked?
A vezérlés egyébként már kész, Arduino-val működik, már csak az ESP32 érkezésére várunk.
(Amúgy sejtettem, hogy valami ilyesmi lesz a válasz, abból kiindulva hogy egy gyors.+giro Kínában 1$, itthon meg 6000 Ft
)
-
ESP32 mesterek! RX lábra kell ellenállás? Néhány lapon láttam, néhányon meg nem, és nem tudom mennyire kritikus. Ill. GPIO0-t fel kell húzni, ha a RTS/DTR-es mókát használom? Huzzah32-őn ezt sem látom. Elvileg van belső felhúzója, ennek ellenére láttam már olyan tervet is, ahol ennek ellenére volt külső felhúzó.
-
ekkold
Topikgazda
>Most jól leírtad a PID szabályozás lényegét.
Pont ezt akartam én is leírni. Még egy nem túl tökéletes PID szabályozás is jobb, mint egy sima hőmérsékletfüggő ki/be kapcsolgatós működésű megoldás. Ugyanis a PID szabályozás egy idő után megtalálja azt a nagyjából állandó vízhőmérsékletet, ami a kívánt helyiség hőmérsékletet tudja tartani. (Ezt esetleg meg lehet támogatni a külső hőmérséklet mérésével, hogy a rendszer beállási ideje rövidebb legyen - de nem muszáj, mert enékül is működik a dolog). Magyarul egy idő után akár úgy kapcsolgat ki/be a fűtés, hogy a hőmérő által mért hőmérséklet nem , vagy csak alig változik. Az ESP számítási teljesítménye pedig bőségesen elegendő egy PID szabályozás megvalósításához is, max egy kicsit több programozást igényel. -
Janos250
őstag
Még nem. Tetszetős. Viszont van hasonló kategóriájú elég sok. Az STM32 szériából sok van, ami ténylegesen kapható is, a Pi meg jelenleg beszerezhetetlen. Mellesleg a magyar disztributort valamiért törölték is a listájukról. Én egyszer zerot vettem, de az is kész tornamutatvány volt, és annyi plusz költség rakódott rá, hogy úgy már elég borsos volt az ára. Én az ESP32 nagy kedvelője vagyok, és az beszerezhető nagyjából ugyanezen az áron. Igaz, hogy a Pi az ARM, akár csak az STM32.
-
JulianSinulf
őstag
válasz
kesztió #14617 üzenetére
Köszi!
Így már érthető.
Viszont, ha csak a relatív hőmérséklet a lényeg, akkor értelmét veszti az alvó/wifi módos problémád és teljesen fölösleges a referenciahőmérő is.
Hiszen érzés után mész és nem tényleges értékek után.
Vagyis, ha az ESP folyamatosan megy és tartja a kapcsolatot a wifi routerrel, akkor talán még egy konstans melegedést is produkál, ami bár eltolja a szenzor által mért "szoba" hőmérsékletet, de ez ugye nem is lényeg. Ha nem lenne elég konstans, akkor meg kell oldani, hogy az legyen. Egyenletes terhelés mellett egyenletes lesz a hőleadása is.Valamint, ha a termosztáton átjár a levegő - másképp nem lenne képes mérni a szoba hőmérsékletét - és a komfortérzésnek ennyire fontos a tizedhőmérséklet (teljes mértékben elhiszem, csak én nem követem tizedpontosan a magam számára, de 1-2 fok különbséget észreveszek), akkor nagyon meg kell választani a helyét. Hiszen az értéket a lakásban járkálva már el lehet tolni, emellett adott esetben az sem mindegy, hogy épp milyen idő van kint. Akármennyire is le legyen szigetelve a ház, a nyílászáróknál akkor is más értékek lesznek, amik már eleve légmozgást generálhatnak a helyiségben.
De ez majd talán egy későbbi probléma lesz. Vagy lehet, hogy nem lesz, csak én gondolom túl. -
Janos250
őstag
válasz
kesztió #14567 üzenetére
"aminek megfelelő nyereségű antennával meg lehet növelni a hatósugarát úgy, hogy lefedje az összes hozzá tartozó termosztátot. "
Elvileg az ESP32 antennába préselt energiáját is meg lehet növelni.
Ha jól emlékszem, 78-at kell beírni valahova, de már nem emlékszem, hova. -
kesztió
aktív tag
Ez első látásra valóban ijesztőnek tűnik, de
1) max. 20–25 méterekről beszélhetünk, semmiképp nem 100-ról. Tipikusan 10 vagy kevesebb, mégsem Putyin palotájáról van szó. Mondjuk, ezt 2-vel kell szorozni, mert oda-vissza, de akkor is.
2) az ESP32 gyakorlatilag csak tizedmásodpercekre fog számottevő áramot fogyasztani (> 100 mA), az idő túlnyomó részében aludni fog. Ilyen körülmények között, ha az átlagfogyasztása bár megközelíti a 10mA-t, akkor akaszthatom az egészet a szegre. Így egy tökösebb kondenzátor bizonyára megoldja a problémát.
3) Az ESP32 működőképes 3,6V-tól egészen le 2,2 V-ig. Így, ha eleve 3,5 V-os tápban gondolkozom, nem 3,3V-osban, akkor azért van tartalékom bőven.
4) Ha nagy gáz van még így is, akkor még mindig lehet kompenzálni tápból, ha érzem, hogy túl nagy az áram. De ide remélem már nem fogok eljutni.Mindenképpen kösz, hogy felhívtad a figyelmem.
-
dew28
aktív tag
válasz
kesztió #14567 üzenetére
A termosztátok táplálása pedig azon a két szálon történne, ami eredetileg a relének volt fenntartva. 1,5 mm²-es szabvány világításdrót, teljesen kizárt, hogy akár több 10 m-en is annyi feszültség essen rajta, hogy ne tudja betáplálni a fali termosztátokat. A 230V-os fázis és null pedig marad dísznek.
3.3V 0.2A terhelessel 100m-en 532mV fog esni nagyjabol
0.3A-nel mar 798mV(esp32: Wi-Fi Tx 13dBm~21dBm = 160~260mA)
-
kesztió
aktív tag
válasz
its_grandpa #14572 üzenetére
Aktuátort, a padlófűtéshez.
Mielőtt rámvetnéd azt a rosszalló pillantásodat, 10 klasszikus termosztából 9-ben ott van a relé, ami a hőmérséklet függvényében vagy a padlófűtés aktuátorait kapcsolja, vagy a fűtőellenállást, vagy a keringetőpumpákat, whatever. Most az lesz a különbség, hogy a relé fizikailag is ott lesz, ahol lennie kellene (a szerelvényblokkhoz közel), és nem a termosztát kapcsolja közvetlenül, hanem a master ESP32.
Ja, és azért SSR, mert eredetileg ugye a dobozban volt, és ott piszokul nem mindegy, hogy éjszaka kattog-e vagy sem. -
gyapo11
őstag
válasz
onagyi #14543 üzenetére
Az ESP-NOW lenne a wifi direct? Nem tudom az esp32 támogatja-e.
Vagy ha minden termosztáthoz megy vezeték, akkor lehetne azon kommunikálni.
-
kesztió
aktív tag
NA, élctársak, úgy néz ki, hogy megszületett a végleges megoldás (ami egyben a legészszerűbb is).
A szikra dew28 kollégától érkezett, aki kissé szarkasztikusan rávilágított arra, milyen idióta ötlet volt betenni a 3,3V-os tápot a termosztát mellé, a falidobozba. (És mennyire igaza volt, mert én abban a meggyőződésben éltem, hogy a kapcsolóüzemű tápok nagyon jó hatásfokúak. Napersze, csak nem a 3.3V-osak.) És arról ugye mélyen hallgattam, hogy a milliamperéhes solid state relé is ott ült volna a dobozban.
Szóval. ha a táp és a reléegység úgyis kikerül a falidobozból egy külön vezérlődobozba, a padlófűtés egyik szerelvényblokkja mellé, mibe kerül még megtoldani az egészet egy külső antennás ESP32-vel, aminek megfelelő nyereségű antennával meg lehet növelni a hatúsugarát úgy, hogy lefedje az összes hozzá tartozó termosztátot. És akkor jöhet az ESP-NOW a percenkénti gyors kommunikációval, egyébként a termosztátok mélyen alukálhatnak, ha nem jön közbe semmi. Az átlagfogyasztás így Deep Sleep-pel (vagy akár Light Sleep-pel is) nevetségesen alacsony lenne, legrosszabb esetben sem több, mint pár milliamper, a kijelzővel és jelző LED-del együtt. Nem fog melegedni ott semmi. (Ha mégsem lesz elég jó a jelerősség, még mindig lehet tenni pluszba valahová egy ESP32-es modult, átjátszóállomás szerepre. De arról az ötletről sem mondtam le, hogy megfelelően okos szinkronizációval a termosztátok egymás között is kommunikálhatnak.)
Így a szerverszámítógépet is megspóroltam, az összes adat ülhetne a vezérlő ESP32-ön, és a mobilalkalmazás is ezzel kommunikálna (mármint a ház WiFijén keresztül).
A termosztátok táplálása pedig azon a két szálon történne, ami eredetileg a relének volt fenntartva. 1,5 mm²-es szabvány világításdrót, teljesen kizárt, hogy akár több 10 m-en is annyi feszültség essen rajta, hogy ne tudja betáplálni a fali termosztátokat. A 230V-os fázis és null pedig marad dísznek.
Az az ötlet, hogy a szenzort a doboz fele teljesen leszigetelem, illetve teszek szellőzőlyukakat az előlapra, hogy keringjen a levegő az ESP32 körül, természetesen marad.
Még egyszer köszi az ötletekért, esetleg ha még van valamilyen megjegyzés?
Megj. Még egy fontos dolog: így az egész 3,3V-on működne, tehát fürdőszobába is lehetne szerelni, max. tönkremenne egy adag ráloccsantott víztől, de nem ütne agyon senkit.
-
kesztió
aktív tag
válasz
its_grandpa #14556 üzenetére
Azért mert sleep alatt gyakorlatilag nem melegszik az ESP32? És ha még kompenzálom is a hőmérséklet-mérést, nem mindegy, hogy pár tized vagy pár fok a különbség.
-
kesztió
aktív tag
válasz
its_grandpa #14553 üzenetére
Gondolom, fix tápegység az fix feszültségű tápegységet jelent. De nem teljesen világos, hogy fix tápegységnél miért ne lehetne altatni az ESP32-t. Főleg, ha kapcsolóüzemű tápegységről van szó, amelyek általában kifejezetten jó hatásfokúak, tehát ha még szivárogtatnak is áramot, az még mindig jóval kevesebb, mint amennyi altatás nélkül lecsorog az ESP32-n.. Mire gondoltál konkrétan?
-
its_grandpa
tag
válasz
kesztió #14554 üzenetére
Amit írtál a ..
#14493 kesztió
Direkt 3,3V-ot kap, nem használom a Wemos D1 mini ESP32 beépített tápját (még csak az hiányozna :DD ). A transzformátor ugyancsak a szerelődobozban van de jó mélyen, és be lesz „falazva” PUR-habbal.
Ha tényleg ez a megoldásod, minek a bármilyen sleep ? Mert akku esetén még megértenem de így ? -
its_grandpa
tag
válasz
kesztió #14551 üzenetére
Az én infóm szerint az ESP belső hőmérő funkciója 2019 óta deprecated mert annyi chip verzió született, ezzel ma szerintem már nem tudsz mérni. Amennyiben 1%-os eszközökkel dolgozol nem kell termosztátonként mérni csak a delta táblázatot másolni.
Változatlanul nem értem (#14552), hogy ha fix tápegységed van miért altatod az ESP-t. -
kesztió
aktív tag
válasz
its_grandpa #14550 üzenetére
Az ESP32-nek lehet maximalizálni a CPU freq-jét (80 Mhz-ig).
Gondolhatod, hogy ezzel kezdtem. De ha nem tudom az idő nagy részét altatásban töltetni vele, megette a fene az egészet. Egyelőre úgy néz ki, hogy szerencsére lehet.
-
kesztió
aktív tag
válasz
its_grandpa #14550 üzenetére
Az ESP32-nek van belső hőmérője, tehát elvileg valóban lenne lehetőség a kompenzálásra, és még csak nem is kellene akkor NTC, csak azzal van a gond, hogy termosztátonként felszerelés után külön kellene bíbelődni a kalibrációval. Tehát az ötletet figyelembe veszem, de kurvára remélem, hogy nem lesz szükség rá.
-
its_grandpa
tag
válasz
kesztió #14548 üzenetére
its_grandpa #14540-ben:
Nem az SHT35 cseréjére utaltam, hanem arra, hogy mérd az eszközöd hőmérsékletét, ahelyett, hogy hűtőbordát akasztanál rá.Az ESP32-nek lehet maximalizálni a CPU freq-jét (80 Mhz-ig).
Esetleg megpróbálhatnád a kódodból, bár tovább fog tartani a kommunikáció viszont nem fog pörögni.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/power_management.html
Új hozzászólás Aktív témák
Hirdetés
- ROG Maximus Z790 Dark Hero
- Új MSI KATANA 17 Gamer Tervező Laptop 17,3" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- Apple Iphone 13 128gb csillagfény színű OLCSÓN . Csere/beszámítás
- OnePlus Pad 2 + OnePlus Pad 2 billentyűzet + Extrák
- AKCIÓ!!! GAMER PC: Új i5-14400F +RTX 4060/5060/4070/5070 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
- QNAP TS-870U-RP 8 lemezes Rack NAS
- LG 48GQ900-B - 48" OLED - 4K 3840x2160 - 138Hz & 0.1ms - G-Sync - FreeSync - HDMI 2.1
- iKing.Hu - Xiaomi 14 Ultra - Ultra White - Használt, karcmentes
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged