-
LOGOUT
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
Szia!
Mindhárom eszközön ugyan az a kód fut? Ezt a doksit érdemes egyébként elolvasni. Konkrétan arra a részre gondolok, hogy az ESP8266-on alapban engedélyezett a Modem sleep mode kliens módban, ami ugye lekapcsolja a WiFi modult 2 DTIM Beacon intervallum között, ha nincs rajta forgalom. Nyilván, ha ilyen állapotban ping-eled, akkor előbb fel kell, hogy ébressze...
-
mArZsi
tag
Én se értem, hogy ha nincs deep sleep, mi értelme lekonnektálni majd fel, hiba esetén meg belerúgni, újraindítani. Ha hibás az olvasás, akkor meg kell próbálni még egyszer lekérdezni. Workaround.
Hozzá tenném, hogy a hardware résznél kezdeném a hibakeresést, bár a DHT egy rakat fos.Használd e szerint, így jónak kell lennie, nálam így megy:
void Refresh(){
delay(2000);
temp = dht.readTemperature();
humidity = dht.readHumidity();
if (humidity == 2147483647){Refresh();}
if (isnan(humidity) || humidity == 2147483647 || isnan(temp) || isnan(hic)) {
Serial.println("- Failed to read from DHT sensor!");
return;
}
else {
Serial.print(F("TEMP: "));
Serial.println(temp);
Serial.print(F("HUMIDITY: "));
Serial.println(humidity);
}
}...bekéred loopból a Refresh();-t.
Hibás érték abból ered, hogy mire feléled már lekéste a kérést. delay(5000)-et is tehetsz neki.
begin meg csak setupba megy, egyszer kell inicializálni.
-
Janos250
őstag
Okosat nem tudok mondani, csak hangosan gondolkodom:
" Serial.println("Failed to read from DHT sensor! Rebooting.");
ESP.restart();"Ha hibás a DHT olvasás, de van WiFi kapcsolat, akkor reboot? Nem tudom, a router mit szól ehhez, hogy ugyanolyan IP-vel újra kapcsolódni akarsz. Persze ez csak egy elképzelés.
Hibás DHT11 olvasás? Én valamikor régen próbáltam a DHT.h-val a DHT11-et, de gondjaim voltak, inkább csináltam másikat.
Nem nagyon emlékszem már rá, de valamikor feltettem a netre:
link
Persze valószínűleg az idő rég eljárt felette. -
Janos250
őstag
Csak elmélkedés: Lecsatlakozol, és újra fel ugyanarra az IP címre? Kilépéskor lezáródott rendesen a kapcsolat? Eléggé közel van az ESP a routerhez? Nincs túl nagy forgalom a sávon, hogy tudjon csatlakozni? Az ESP működik, csak a WiFire nem tud csatlakozni, vagy az ESP is áll?
"csatlakozik, csak nem ahhoz, amit megadtam neki" ????
Ez elég érdekesnek tűnik! Honnan tudja a másik adatait?De jó helyen van ez az ESP, hogy 30 fok van
-
Janos250
őstag
Szerintem is Tanblocknak van igaza. Én annyit tennék hozzá, hogy az IDF is ugyanazzal működik, mint az Arduino IDE. Valahol meg is van ugyanaz a konfig fájl, amit az IDF-ben állítasz, én egyszer régebben ott állítgattam valamit, de már nem emlékszem mit, és miért. Ezek csak user interface-ek. Jó az a 8266! Az meg, hogy mindenki fejleszt rá mindenfélét, és azok egymással nem csereszabatosak, az mindkettőnél megvan. Hogy az alaplapok között is van apróbb különbség, az is. Pl. megírod a programot, aztán a másik lapon nem ugyanaz a beépített led neve, és nem ugyanazon a GPIO-n van, de más eddig nekem nem okozott gondot. Ezért én be szoktam írni a program elejére kommentben, hogy milyen könyvtárral és milyen lappal használtam, milyen lapra fordítottam.
Aztán egy év múlva keresem ugyanazt a könyvtárat, de közben átírták.
-
Tankblock
aktív tag
Hello,
Szerintem nem kell váltanod, csak jobban kiismerni és kihasználni a lehetőségeit.
Mire is szeretnéd használni?Ha csak pár szenzor / garázsnyitó / lámpakapcsoló kell arra bőven megfelelő ESP8266
ESP32 ha komoly számítűsi teljesítmény kell. Bár nagyon sok mindent meg lehet ESP8266 al is tenni, bár lehet hogy nem arduino alatt hanem a saját IDF et használva. -
Janos250
őstag
Melyikről beszélünk, ESP8266 vagy ESP32?
ESP32-n jó ideje stabilan működő programból kopiztam ki a beírt részletet.
ESP32-n nálam:
config elöl. utána begin: sztochasztikus viselkedés.
begin elöl, utána config: stabil viselkedés.
Azért kezdtem el kutakodni 32 ügyben a neten, mert az első verzió esetén nekem is gondjaim voltak.
A neten írták a második verziót. Amióta azt használom, azóta stabil. Tehát felkapcsolódunk, kapunk IP-t.
Utána változtatjuk meg az IP-nket. -
Janos250
őstag
Így sajnos nem stabil.
A neten írták, és én is ezt tapasztaltam, hogy a
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
közé kell egy delay(1000)
Ne kérdezzétek miért, én sem értem.Így próbáld, én ezt egy saját programból kopiztam hirtelenjében, stabilan működik:
WiFi.begin(ssid, password );
delay(1000); // legalabb 1000 kell, hogy tudjon kapcsolodni
IPAddress ip(192,168,1,140); //Node static IP
IPAddress gateway(192,168,1,1) ;
IPAddress subnet(255,255,255,0) ;
WiFi.config(ip, gateway, subnet) ;
delay(1000);A WiFi.config sok leírás szerint a WiFi.begin elé is jó lenne, de a gyakorlatban nem, pedig az lenne a logikusabb.
-
vargalex
félisten
Mit tárolsz te 19 oszlopon? Nálam összesen 4 oszlop van, amiből 1 (unix timestamp) csak a group by gyorsítására van (és egy trigger tölti):
CREATE TABLE temperatures (
sensor_id mediumint(9) NOT NULL,
datum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
temperature decimal(5,3) NOT NULL,
u_timestamp int(11) DEFAULT NULL,
KEY idx_temp_date (datum),
KEY idx_temp_sensor (sensor_id),
KEY idx_sens_date (sensor_id, datum),
KEY idx_sens_u_ts (u_timestamp, sensor_id),
CONSTRAINT temperatures_ibfk_1 FOREIGN KEY (sensor_id) REFERENCES sensors (id) ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;Esetleg nálad egy rekord az egy időpont az összes szenzor által mért adattal?
-
vargalex
félisten
Én a különböző eszközök mérését egymással nem szinkronizálom, csak azt akartam elérni, hogy egy mérő lehetőleg mindig ugyan abban a másodpercben küldjön értéket (ne legyen olyan, hogy 1 percben 2 mérést küld, vagy 1 perc kimarad). A megjelenítésnél viszont percre kerekítek, így látszólag minden eszköz azonos időpontban mér, a szerverre küldés viszont eloszlik, így nem egyszerre kapcsolódnak.
-
Janos250
őstag
"nem is szöveget ad vissza, hanem számokat"
Persze.
WiFiType.h:typedef enum {
WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library
WL_IDLE_STATUS = 0,
WL_NO_SSID_AVAIL = 1,
WL_SCAN_COMPLETED = 2,
WL_CONNECTED = 3,
WL_CONNECT_FAILED = 4,
WL_CONNECTION_LOST = 5,
WL_DISCONNECTED = 6
} wl_status_t;
Új hozzászólás Aktív témák
Hirdetés
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude E6540 - i5-4GEN I 8GB I 320GB I DVDRW I 15,6" FHD I HDMI I W10 I Gari
- REFURBISHED - HP USB-C Dock G4 docking station (L13899-001)
- iKing.Hu - Apple iPhone 16 Pro Max - Desert Titanium - Új, kipróbált
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged