- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Argos: Szeretem az ecetfát
- sziku69: Szólánc.
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
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
-
Undoroid
őstag
válasz
its_grandpa #23539 üzenetére
Kicsit féltem, hogy ilyen választ fogok kapni, de egy ilyen egyszerű és analóg bemenet nélküli mikrovezérlőtől mire is számítottam? Amúgy eléggé baráti az a szenzor lapka!
-
Undoroid
őstag
válasz
its_grandpa #23518 üzenetére
Sikerült az adatátvitel! Már csak egy kicsi finomítás van hátra az MCP1700-as feszstabbal és a környező alkatrészeivel és mehet is a bedobozolt érzékelő kitelepítése a megfelelő helyre!
Köszönöm a segítséget!
-
Undoroid
őstag
válasz
its_grandpa #23518 üzenetére
Köszönöm, hogy foglalkoztál a kérdésemmel!
" Ez a programozó nem szerencsés választás és nincs kép a hátáról sem. " A tudatlanságom tükrözi a választásomat! Akkor, amikor ezt megvettem, akkor ezt ajánlotta hozzá a rendszer, így megvettem. Képek róla: 1, 2
Viszont megtúrtam a cuccaimat és találtam egy ilyet is: 1, 2 Szerintem ez már egy szinttel jobb lehet, de ezzel sem lehet módosítások nélkül megoldani az ESP01-es feladatot! A másik példányt jól megkendácsolom és menni fog a dolog!
" Az akkus/elemes tápláláshoz meg deepsleep kell,ami az ESP01-nél egy nem egyszerű forrasztás. [link] + némi kód módosítás. " Igen, ezzel tisztában vagyok, de jelen esetben nem tervezem a DeepSleep használatát, mert a két mérés közötti időben nem lesz elérhető a mérési eredmény, ezért a tápellátás egy 18650-ről (és kiegészítőivel + napelemmel) lesz megoldva, ami regenerálni fogja az akkut! Kicsit rafinált lesz így, de szerintem működőképes!
-
Postas99
senior tag
válasz
its_grandpa #23493 üzenetére
Siemens C25 nyertem, sajnos az is csak már csak 2g.
Adroidra sajna nem ilyen egyszerű a dolog.
Az USB-s megoldást el kell engedni, ugyanis ahhoz kell egy saját fejlesztésű APK amit meg tudsz szólítani USB-n keresztül amihez kell az USB debugging, mert e nélkül nem fog menni.Jó héhány évvel ezelőtt tömeges SMS-t használtunk a kiértesítésekre.
Több megoldást is végig vettünk amíg nem lett végül sms gateway a szolgáltatótól, addig volt dedikált eszköz ami a helyi lan porton lógott és azt kellett megszólítani, megfelelő formátumban beküldeni az adatokat telszam,smsszoveg,exp.time,retrycount.
Lassú volt mert 600 munkavállalót fél napon keresztül értesített ki. Az eszközön meg egy local py script futott.Aztán lett egy windows app + mobil app kombó ami rohadt jó volt, csak idővel az android egyre nagyobb verziójával már 10 sms küldése után approve-olni kellett, hogy igenis ki akarom küldeni az SMS-t.
Szóval régóta csak smsgateway, az is saját kóddal --> local webszerver SSL cert, dedikált IP, és ez csak SMS, semmi net.
HA nem csak sms-t szeretnél küldeni hanem valami IP alapú cuccot akkor marad mit2 saját app fejlesztése logicblock-ban össze kell rakni és wifi vagy ble kapcsolaton az ESP-hez kapcsolódni és onnantól már akármit is tudsz küldeni.
-
Cheesy
őstag
válasz
its_grandpa #23487 üzenetére
Sajnos nincs (még) serial-USB átalakítóm, ezért az ESP-n keresztül tudtam csak kommunikálni a SIM800L-el. Lehet rendelek egyet a jövőre nézve...
Az 5.0V-ot azért adtam neki, mert ez van neki megadva az adatlapján és a Vin pin-nél is (5V/4V) és hátha azért nem működött, mert kevés volt neki a kakaó.A teljes kódot inkább így küldöm: https://pastebin.com/b3PSBi3J
Soha nem vagyok biztos abban, hogy a kód hibátlan
Inkább több, mint kevesebb PRINT parancsot használok, hogy lássam melyik résznél akad el.
-
Cheesy
őstag
válasz
its_grandpa #23485 üzenetére
Az ESP8266-tal kezdtem az egészet, jelenleg arra vannak kötve a szenzorok és a GPS. Ezzel próbáltam a SIM800L-t is, de a fentiek után nem erőltetem.
Az ESP32-vel próbáltam a tanácsaid alapján tesztelni a SIM800L-t, az alábbi módon:
6.0V/12Ah akksi --> LM2596 DC konverter (output max 3A) 5.0V-ra állítva --> SIM800L
ugyanaz a 6.0V/12Ah akksi --> LM2596 DC konverter (output max 3A) 3.3V-ra állítva --> ESP8266Arduino IDE-val készítem a kódot és amikor feltöltöm, USB-C-vel csatlakozok a PC-hez. Amikor kódot töltök az ESP8266-ra, akkor a neki szánt külön tápellátást lekötöm róla, mert nem tudja egyszerre kezelni a bejövő külső 3.3V-t és az USB-C-n érkező 5.0V-ot.
-
Undoroid
őstag
válasz
its_grandpa #23428 üzenetére
Igen, azt a drivert telepítettem és így, ebben a formában nálam is megvolt...
-
Wolfram
aktív tag
válasz
its_grandpa #22962 üzenetére
Hoppá, most veszem észre hogy teljesen idegen RF kódokat vesz a vevő, most akkor 50-100 méteres körzetben az összes létező rádió vezérlő jelet veszem?
Létezik valamilyen csatorna titkosítás/védelem, vagy mindenki kapcsolgathat mindenkit? 🤔 -
Wolfram
aktív tag
válasz
its_grandpa #22978 üzenetére
Inkább koncentrálj a következő kreatív projectedre, pl.: https://www.youtube.com/watch?v=mguHd-alAYs
-
Wolfram
aktív tag
válasz
its_grandpa #22975 üzenetére
de távirányító volt benne, egy sört kérek.
-
Wolfram
aktív tag
válasz
its_grandpa #22962 üzenetére
Az IR-es távirányítót váltom le RF-re, írtam a részleteket a [link]
-
Wolfram
aktív tag
válasz
its_grandpa #22763 üzenetére
Nem látom ezt a 3mm-t, de inkább a doboz vastagságot oldom meg, mint hogy kivágásokkal vesződjek.
-
Wolfram
aktív tag
válasz
its_grandpa #22761 üzenetére
Az utolsó videónál álltam meg: hogy megy ez át a műanyagon? 🤔
-
Wolfram
aktív tag
válasz
its_grandpa #22759 üzenetére
Egy kép érdekelne beszerelt állapotról. 😳
Ilyen zárt dobozokra kellene: [link] -
válasz
its_grandpa #22624 üzenetére
felesleges ">=" feltételt
Addig gondolod csak feleslegesnek, amíg egyszer végtelen ciklusba nem futsz egy == miatt.
Jó, persze itt valóban felesleges, de ha nem integerrel dolgozik az ember, könnyen előfordulhat, hogy nem teljesül a feltétel, ezért nálam már évtizedes beidegződés, hogy így használom. Fordítás szempontjából meg mindegy. -
válasz
its_grandpa #22616 üzenetére
Köszi
De két kiegészítés hozzá, mert így igazából nem csinál semmit:
#define BUTTON_PIN 4
void setup()
{
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = sizeof(freqs) / sizeof(freqs[0]); // csatornák száma kiszámolva
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// gomb figyelés beállítása
pinMode(BUTTON_PIN, INPUT_PULLUP);
.
.
.
.
}
void loop()
{
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) { // gomb megnyomva
currentFreq++;
if (currentFreq = freqNum) currentFreq=0;
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]); // léptetés a következő csatornára
delay (1000); // enélkül csak egy sorsolás lesz a gombnyomás ;)
} // button state
.
.
.
.
.
} // loopA delay értéke végülis nem lényeges, így a gombot nyomva tartva másodpercenként léptet egy csatornát, és a pergésmentesítést is kiváltja, amit amúgy ha mást is csinál a program, nem így szoktunk megoldani, de itt megteszi.
-
ratkaics
senior tag
válasz
its_grandpa #22150 üzenetére
Ez nagyon igaz!
Nagyon szépen köszönöm!
Mindenki másnak is köszi!
Még lehet hogy jövök kérdezni, ha élesedik a helyzet. -
Janos250
őstag
válasz
its_grandpa #22047 üzenetére
"Emlékeim szerint a deep sleep-et tesztelgetted"
Az nem én voltam! -
válasz
its_grandpa #22047 üzenetére
Az S3 4 RTC forrást kezel egy <100 HUF-os 32,768 kHz óra kvarccal 1 uA a deep-sleep fogyasztása
Kibontanád nekem ezt a mondatot?
-
Janos250
őstag
válasz
its_grandpa #22035 üzenetére
Mit teszteljek rajta? Soha nem használtam az RTC-jét.
-
2thletme2day
őstag
válasz
its_grandpa #21981 üzenetére
A 101-es sorban lévő 23:46-ot csak azért írtam be, hogy lássam, hogy kijelzi-e rendesen az első digitet. A válaszb sajnos nem. Az első digit első szegmense működik csak.
A LEDCLOCK_COUNT nálam azért nem 216 hanem 252 mert 24 órás formátumú órát csináltam. Az eredeti pedig csak 12 órás formátumú ahol az legelső digit csak az egyest jeleníti meg.
Az offset értékét kell változtatni? Csak mert szerintem az offset ugyanaz maradhat. Annyi a különbség, hogy most az első digit nem csak 2 szegmensből áll hanem 7-ből.
Tessék. Az elmaradt github link a projekthez. [link]
-
Wolfram
aktív tag
válasz
its_grandpa #21938 üzenetére
A kínaiak tombolnak a klónok terén: https://www.aliexpress.com/item/1005006309663091.html
25 x 17 mm (elírás lenne?) Az a tüskesor nem normális az biztos. -
Ton-ton
tag
válasz
its_grandpa #21965 üzenetére
Ez 2 lábsoros (mármint 2-2), ez bizony esp32-s.
De igen, az alap d1 mini valóban esp8266...
Elnézést kérek, ha valakit összezavartam vele. -
válasz
its_grandpa #21919 üzenetére
Akkor már érdemes mega 2560 pro mini vagy milyen fantázia néven a kisebb változatot venni belőle. Rögtön az első találatnál 2db 24$ postával együtt, garantált 15 napos kiszállítással.
-
válasz
its_grandpa #21878 üzenetére
Nagyon köszönöm az iránymutatást, és elnézést, hogy nem linkeltem a github linket!
-
válasz
its_grandpa #21870 üzenetére
Az arduino verziószáma azonos. Nem tudom a fordítót hol tudnám megnézni, de mint kiderült, sokadik alkalommal is user error volt.
Nem a librariesbe másoltam a projekthez csatolt libraries könyvtárt, hanem az .ino könyvtárba másoltam egyenként azokat a fájlokat amit a fordító hiányolt, és kimaradt pár fájl.
De ebből is tanultam. Köszi a segítséget! -
Wolfram
aktív tag
válasz
its_grandpa #21848 üzenetére
Az S3 a csúcs verzió, nyilván nem olcsó.
https://docs.espressif.com/projects/esp-idf/en/v5.0.5/esp32s3/hw-reference/chip-series-comparison.htmlA poén mellett elsuhant Janos: az a kristályszerű fehér kocka a két gomb között egy ws2812 led. 2024-ben a 16 millió színű státusz led a minimum.
Azokat a PCB-re pöttyözött pineket látod (pl 14,15,16), ez valami kínai csúcstechnológia, hogy lehet oda érdemben bekötni valamit?
-
Wolfram
aktív tag
válasz
its_grandpa #21817 üzenetére
Ezt bevállaljam: https://www.aliexpress.com/item/1005006443297257.html
Mit küldhet 430Ft-ért? Fél tégla még divatban van az alin? 😏 -
válasz
its_grandpa #21818 üzenetére
Köszi, de nem ez a baj. A gép sehogy nem látja(se a Mac, sem a PC), szóval semmi kommunikáció nincs köztük. Nem hogy COM Port, de semmilyen ismeretlen eszköz sem jelenik meg, ha bedugom. Talán egy programozóval életre lehetne kelteni, de se programozóm nincs, se ötletem, hogy mit kéne rátölteni.
-
válasz
its_grandpa #21813 üzenetére
Igen, láttam, hogy van USB nélküli verzió is, és nem vagy egyedül. Van 2db ProMicro-m ami csak dísznek jó, minden LED világít rajt, a gép nem lát belőle semmit, pedig USB is van rajt
-
Wolfram
aktív tag
válasz
its_grandpa #21806 üzenetére
Valóban nem látni usb chipset leírást, se drivert sehol.
Emellett 4 (feltételezem a wifi-vel nem közös) analóg portot ír, miközben a pinouton 6 van?Kérdés még a wifi stabilitása, mert antennát nem látni rajta.
Illetve az Ard IDE támogatás. Felismeri a board-ot, a pinout táblázat működik (SDA, SCL, A0, A1 stb konstansok jó helyre mutatnak)?
Egyébként mi rajta az a fogaskerék logó, van rendes márkája is ennek a lapnak?
-
válasz
its_grandpa #21807 üzenetére
Az USB portot nem tudom közvetlenül a Mac-be dugni egy mezei kábellel?
Végül ezt rendeltem meg gyakorolni, kitanulni, hogyan is működik a gyakorlatban. Azt írják, hogy Arduino IDE kompatibilis, és valóban találtam egy Lolin(wemos) D1 R2 & mini sort a "Board" menüpontban (az esp8266 telepítése után).
Ezen felül még telepíteni kell a ch340 driverét is, hogy szót értsenek? -
Janos250
őstag
válasz
its_grandpa #21782 üzenetére
Én naivan azt hittem, hogy a néha - ritkán - általam is használt VSC (Visual Studio Code) Microsoft, de tévedni emberi dolog.
Béke! -
Janos250
őstag
válasz
its_grandpa #21778 üzenetére
Azt azért feltételeztem, tudja, mikor kell a kacsacsőrt és mikor az idézőjelet használni.
Microsoft ügyében (is) megmarad a véleménykülönbségünk. -
Wolfram
aktív tag
válasz
its_grandpa #21778 üzenetére
VSC miben előrelépés, mindkettő egy Electron szövegszerkesztőben szerencsétlenkedik. Nem értem miért nincs egy rendes VS támogatás?
-
its_grandpa
tag
válasz
its_grandpa #21631 üzenetére
Ez a szösszenet csak azért készült, hogy aki 433Mhz-es dolgokban töri a fejét az átgondolja mi történhet. A hőmérők adatait is lehet módosítva kiküldeni tehát fűtésre pl. nem biztos, hogy biztonságosan megfelel.
-
Undoroid
őstag
válasz
its_grandpa #21620 üzenetére
Ezt a kettő D1-es mini lapot ilyen darabáron vettem meg...elég jó akció volt rajta!
Nem is értettem az engedmény mértékét! Vagy ez egy szimpla klón lenne?
-
ViZion
félisten
válasz
its_grandpa #21620 üzenetére
977-ért az ajándék, szervezhetnénk itt group buy-t, mert én nem ismerem/nem szeretem a kínai webshopokat. Banggood-ról rendelgettem anno, meg a kolléga ebayezik, de nem mondanám tapasztaltnak magam és félek is mindentől.
-
válasz
its_grandpa #21622 üzenetére
Látom az összes szomszéd hőmérőjét, meg persze az enyémeket is.
LOL, azt meg hogy?
-
válasz
its_grandpa #21620 üzenetére
Mit építesz ennyi lapból?
-
JulianSinulf
őstag
válasz
its_grandpa #21508 üzenetére
Köszi!
Megpróbálom még a host nevét megadni.
Amúgy mi is lenne ez a host név? Ilyennel még nem találkoztam.
Ezen a néven jelentkezne fel a hálózatra? (Így első tippre.) -
válasz
its_grandpa #21443 üzenetére
De te nem akarsz erre ennyit költeni (Aryes linkje #21442
Na, na, na. Ne keverd a szezont a fazonnal, én nem azt mondtam, hogy vegyen bázisállomást (ami mellesleg crypto-t termel a tulajnak). Hanem azt, hogy használja.
Lefedettség -
ViZion
félisten
válasz
its_grandpa #21443 üzenetére
csak érdeklődöm, nem ismerem a LoRa cuccokat, de két eszköz nem tud egymással kommunikálni, a "nagy" hálón kívül?
-
Wolfram
aktív tag
válasz
its_grandpa #21428 üzenetére
Álljunk meg egy pillanatra, nézd a kódot (alexarch21): 5.6 percenként küld adatot.
Egy normál rádiós mérő meg 10 másodpercenként.
Ez alapján a csoda project amit linkeltél 55 napig bírná. 😑💢😡 -
ViZion
félisten
válasz
its_grandpa #21428 üzenetére
Hmmm... annyiba kerül, mint a Wemos és a 433 MHz-hez nincs gateway-om.
Amúgy aranyos, gondolom átsiklottam felette, mert Arduino (drága) és mert nincs wifi. -
Wolfram
aktív tag
válasz
its_grandpa #20872 üzenetére
Na most már összeállt, a lenyomat bevasalással védem azt a részt amit meg akarok tartani, lemaratom és utánna ledörzsölöm a védő réteget.
Már csak a lézerprintert kellene kiváltani valamivel és akkor kipróbálnám. -
sonar
addikt
válasz
its_grandpa #20854 üzenetére
Uhh azt a táblázatot mindig átgörgettem.
Valóban, így már minden értelmet nyer. -
Wolfram
aktív tag
válasz
its_grandpa #20801 üzenetére
20 év tapasztalattal: hogy szeded ki, ha a tüskesor is benne van?🤔
-
Wolfram
aktív tag
válasz
its_grandpa #20787 üzenetére
Ez az injekciós tű jó ötletnek tűnik ha az ón nem ragad rá a tűre, és a tű vastagsága ~2mm? (ja és honnan van injekciós tűd?
)
-
Wolfram
aktív tag
válasz
its_grandpa #20645 üzenetére
"LoraWan nélkül"
Valamit félreértesz, LoraWan a szoftveres réteg/protokoll a LoRa felett, nem egy 3. fél hálózata. -
Wolfram
aktív tag
válasz
its_grandpa #20635 üzenetére
"Zombi apokalipszis esetére PMR rádió + papagáj"
és postagalamb, ha a vírus nem fertőzi a madarakat."Nem, nem lehetne."
Ez nyilván az ő hálózatuk, olli sajátot épít (persze hogy hova rakja ki a LoRa modult az más kérdés). -
Undoroid
őstag
válasz
its_grandpa #20473 üzenetére
Ezek szerint pont jó időben kérdeztem!
Feszültség osztó - Remek, ráadásul van ott még egy példa is a programjához! Ez igen!
Kijelző - Azért választottam a Nokiát, mert abból van itthon
" A mérés log-ot meg kiírod SPIFFS-be. " Erre rá kellett keresnem, mert ezek a rövidítések egy olyan kezdőnek, mint Én az 'Kínai' nyelven van!* * *
Aryes :
Nem is rossz ötlet ez a webes felület a kijelző helyett, de -szégyen ide vagy oda- sohasem csináltam még ilyet...
A grafikon azért lenne jobb erre a célra, mert nem a pontos értéket szeretném látni, hanem az időbeli ingadozásokat. Van egy olyan gyanúm, hogy az akkum elkezdett szulfátosodni.
-
válasz
its_grandpa #20473 üzenetére
A táp választást mivel indokolod? Ez egy step-up modul, az esp számára teljesen alkalmatlan, mivel lefelé nem tud konvertálni, csak felfelé.
-
lanszelot
addikt
válasz
its_grandpa #20324 üzenetére
'digitalPinToInterrupt' was not declared in this scope
ha átírom
attachInterrupt(digitalPinToInterrupt(CLK), teker, CHANGE);
-
válasz
its_grandpa #20326 üzenetére
Persze, igazad van, pont a hordozhatóság miatt használjuk, amit írtál.
-
válasz
its_grandpa #20324 üzenetére
Nem is értem miért működik mert ugyan INPUT_PULLUP a 2,3-as pin de az ISR fv. a 0-as pin-re van konfigurálva, nem szépen.
attachInterrupt(0, teker, CHANGE);
Ez a 0-s interrupt, ami az Attiny85-nél épp a 2-es pin.
AdigitalPinToInterrupt(PIN)
is 0-t ad vissza. -
lanszelot
addikt
válasz
its_grandpa #20152 üzenetére
Először is nagyon szépen köszönöm a "gonosz kérdést", ez nagyon jó, mert pont a scope-val van gondom. Nem tudom hogy működk c++ -ban.
for "i" változója nem azonos a többivel.for változó nincs létrehozva, tehát azonos a kintivel, a függvényen belül létrehozottat használjamivel a függvényen belül létre hoztad, így az más mint amit kint hoztál létre.
Szerintem 3 különálló.2 különbözőViszont jól gondolom-e, ha a függvényben nem hoztad volna létre, csak felülírod az értékét, akkor csak 1?
ha így lenne:int i = 5;
void teszt_elek() {
i = 0;
for ( i = 10 ; i > 0 ; i-- )
{
..... ;
}
}
jól gondolom?for -nak nem így kellene lennie?
for (int i = 0; i < 5; i++) {
}
ahhoz hogy külön legyen a változója? -
vargalex
félisten
válasz
its_grandpa #20163 üzenetére
Nem lehet tudni, hogy mi van a ....-ban.
Egyébként szerintem ebben a formában kettő. Tehettél volna a
for
-ba egy deklarációt, akkor legalább 3 lenne... -
ViZion
félisten
válasz
its_grandpa #20162 üzenetére
Akkor azok nem használták egyiket vagy a másikat...
Win 10 reinstall volt a napokban, kicsit meghízott minden is, nem tudjuk miért, netes infók szerint azokból semmi nem törölhető. OK, akkor reinstall, sokéves telepítés, ráfér.
Az új már auto frissít drivereket... nagyszerű, a hangkari driverem törölte, nem működőre frissült. Gamer egér SW frissíti, el sem indul win 10-en amit felrakott. Új telepítés, még AV sem volt fent. Szal. jó ez, csak máshogy. Fél oldal batch script után kigyomlálva, tűzfalon minden kimenő lezárva és már használhatóra van telepítve...Cserébe a szövegek kicsik (tudom, dpi beállítás, de nah... szánalom), ikonok, stb. nem testreszabható, bloatware kiírtás fél nap, de visszarakja frissítésnél (batch script remove működik, de nah...), biztonságból kuka (bekapcsolva közvetítés, meg minden lóf* alapból, az milyen már?). Ha gyerekek nem játszanának, akkor maradna csak a Fedora, a 7-8 sec boot idővel, ami trükközés hibernálás, fastboot meg minden nélkül leáll pár sec alatt... ehh.
törölhető. De Te kezdted! -
vargalex
félisten
válasz
its_grandpa #20153 üzenetére
Én sem használok goto-t, pont ezért rendesen meglepődtem, mikor a legutóbbi melónál kernel patch-et kellett backportolni (OpenWrt alá) és bőven van goto a mainline kernel kódjában...
-
válasz
its_grandpa #20153 üzenetére
És ha az van oda írva, hogy ugorj bele, akkor beleugrasz? Persze, ha a munkáltató megköveteli, OK, nálunk is van Sonarqube, de egy rakás szabály ki van dobva /főleg kód komplexitás, meg ilyenek/, mert csak szopatnánk vele magunkat. Nekem az a véleményem, hogy az a jó kód, ami érthető és karbantartható, nem az, ami megfelel valami szabálynak. Ha a kettő között van átfedés, az még jobb.
-
lanszelot
addikt
válasz
its_grandpa #20140 üzenetére
Ebben egyszerűbb átlátni.
Ezt gyárilag adták az érzékelőhöz, nem én írtam.Így értetted?
bool b_measure = false;
static bool measure_environment( float *temperature, float *humidity )
{
static unsigned long measurement_timestamp = millis( );
/* Measure once every four seconds. */
if( millis( ) - measurement_timestamp > 3000ul )
{
if( dht_sensor.measure( temperature, humidity ) == true )
{
measurement_timestamp = millis( );
b_measure = true;
}
}
return( b_measure );
} -
válasz
its_grandpa #20140 üzenetére
Structured programming says you should only have one return statement per function.
Szerintem ez csak preferencia kérdése.
-
lanszelot
addikt
válasz
its_grandpa #20101 üzenetére
Köszönöm szépen
Tanultam/lok elméletet. A nagyon alapok meg is vannak.
Előző programozási tapasztalataim alapján, ha meg vannak az operator-ok. tömbök, változók, loop-ok, statement-ek, függvények.
Ekkor háttérbe kell rakni az elméletet, és el kell kezdeni programozni.
Közben felmerülnek a hiányok, amit ki kell tömni.
De csak elmélettel nem lehet megtanulni.- A fő gondom a scope. Nem találok olyan oldalt ahol megérteném.
pl: itt a 135 -üs sorban scope hiba van, de nem értem miért
- másik nagy gondom, hogy le van írva valami, és úgy nem működik.
pl:#define Gas_pin_digital 2;
ez hibát dob, azt írja így kell:#define Gas_pin_digital (2);
Nem programozni nehéz, hanem megtalálni a hibát. Mert akkor az egészet át kell látni.
Ez egy kezdőnek nem megy. Én pedig kezdő vagyok.
Ezért kell a segítség.Biztos sok hülyeséget kérdezek/írok, de azért mert nem értem.
Vagy nincs az alapokban az amiről kérdezek.
pl : interrupt
Ezeket meg kell tanulnom, de már használat közben, nem szárazon betűkből.
Mindenki más sebességgel tanul/ért meg dolgokat.
És van aki tud magolni, van aki nem. Én nem tudok. Nekem a gyakorlat kell.
Jelenleg meg kell értenem a működését. Most vagyok az ezt innen kiveszem, enyémbe beteszem, itt is működik-e. No, akkor miért nem, és hogy kell, hogy igen. -
válasz
its_grandpa #20101 üzenetére
Álljunk le a C programozás tanfolyammal ?
Én ilyet nem mondtam.
-
vargalex
félisten
válasz
its_grandpa #20088 üzenetére
Én ezt egy projektben így kezeltem:
unsigned long ElapsedTime = millis() - StartTime;
if (ElapsedTime > StartTime) {
ElapsedTime = ULONG_MAX - StartTime + millis();
...
}
-
bagarol
tag
válasz
its_grandpa #20088 üzenetére
Én is gondolkodtam, de plusz vizsgálat nélkül nincs ötletem.
Végül arra jutottam, hogy delay() .
Az sem ördögtől való, és végül is mit csinál a program:
500 msecig pörög a loopban, majd mér,kiír, és újabb 500 msec helybenjárás.
Nem mindegy, hogy a loopban vagy a delay()-ben pörög?
Saját progiban delayt használnék. -
lanszelot
addikt
válasz
its_grandpa #20089 üzenetére
kiteszem functionból a 2 változót:
#include <MQ135.h> /*gaz erzekelo, de nem kell neki igazabol*/
#include <Adafruit_SSD1306.h> /*oled display*/
#include <splash.h> /*oled display -nek kell*/
#include <max6675.h> /*homero*/
int thermoDO = 10; /*valtozo a homero DO pin -nek*/
int thermoCS = 9; /*valtozo a homero CS pin -nek*/
int thermoCLK = 8; /*valtozo a homero CLK pin -nek*/
volatile uint32_t debounce= 0;
byte gomb = 0;
byte a = 0; /*valtozo a gaz erzekelo negyzet villogashoz*/
const int ledPin = 6; /*LED pin*/
const byte interruptPin = 3;
volatile int gombNyomas = 0 ; /*valtozo a gomb nyomas szamlalasara*/
uint32_t lastms= 0;
int sensorValue = analogRead(A0);
int isgas = digitalRead(2);így nem működik a gáz érzékelő, csak ha a functionba van az a 2 változó
Már annyi minden lett írva, hogy teljesen be vagyok kavarodva.
Kezdő vagyok, és ennyire még nem tudom követni fejben a kód módosításokat.
"tüntesd el a kódból azokat amiket én "magic number"-nek nevezek"
-nem tudom itt mit kell tennem"azonos display sorokat kirakod egy void disp_first() fv.-be"
valójában csak ennyi az azonos:display.clearDisplay(); /*this line to clear previous logo*/
display.setTextSize(1); /*text size 3*/
display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("Thermometer by Gabor");minden más változik
Gondoltam én is rá, de nem akartam már bele keveredni
így is nehéz megértenem mi mit csinálekkold: erről a *.h file-ról mesélhetnél, hogy hogy működik, mert próbálok rájönni, amikor be include -olok a library -ból valamit, hogy akkor mi is történik.
mert sosem tudom, hogy mik a lehetőségek, csak követem a sablont. -
ekkold
Topikgazda
válasz
its_grandpa #20089 üzenetére
Szerintem az elsőre jobb megoldás a #define használata, mert nem foglal plusz memóriát (a változóval ellentétben)
#define Gas_sensor A0
#define Gas_pin 2
....
....
analogRead(Gas_sensor);
....
....
digitalRead(Gas_pin);
....
....
Nekem sok programom eleve egy csomó #define-al kezdődik, ha pedig nagyon sok akkor kirakom mondjuk egy hwconfig.h fájlba. -
lanszelot
addikt
válasz
its_grandpa #20075 üzenetére
#20071 ben ott van a teljes kód felette.
Minden változót 1 helyen hozok létre, kivéve 3-at.
Ebből:
sensorValue, isgas , ha ezeket kiteszem a function-ból a többi változóhoz, akkor a gáz érzékelő nem működik.
Scope miért nem éri el a function -on kívül?
Mert gondolom ezért nem működik. -
bagarol
tag
válasz
its_grandpa #20078 üzenetére
Erre írtam, ha prellezik a gomb, akár kettőt is ugorhat, nem a következő képernyőt adja.
millis() % 1000 >= 500
; -
válasz
its_grandpa #20078 üzenetére
Jó észrevétel. Megoldás?
-
bagarol
tag
válasz
its_grandpa #20075 üzenetére
Kellemes húsvéti ünnepeket!
Megszakításba a lehető legkevesebb utasítást kell írni, mivel megszakítja a
program futását, illetve másik megszakítás esetleg csak később tud érvényesülni.
Ok,prioritás. -
válasz
its_grandpa #20075 üzenetére
Nem szívesen írok interruptban fv.-ben if-et
Igazad van, lehetne anélkül is, gondoltam rá, így viszont hordozható lesz a kód, később más projektben fel tudja használni. Ha ketté lenne szedve (a debounce a loop-ban lenne) akkor később nehéz szétválogatni, na meg megérteni is.
Miért kell szerintetek két változó a nyomások számolására
Nem kell, illetve nem így, de már nem akartam bántani. Azon az állásponton vagyok, hogy ami működik, azt nem szabad megjavítani.
de ahol fontos, hogy ne legyen prell ...
Biztos van rá száz megoldás, de inkább tanulja meg egyszer és ne használja, mint később szüksége legyen rá és ne tudja mi a megoldás.
Kellett már nekem pergésmentesíteni optikai encodert is, mert nagyon lassú fordulatszámon hülyeséget számolt a lassan változó jel miatt.
-
lanszelot
addikt
válasz
its_grandpa #20046 üzenetére
Beírtam a kódot, és nem működik.
Mivel sok hiba volt benne, és azokat javítottam, valószínű valamit nem jól csináltam.
Arra viszont még nem jöttem rá mit.kód jelenleg:
#include <MQ135.h> /*gaz erzekelo, de nem kell neki igazabol*/
#include <Adafruit_SSD1306.h> /*oled display*/
#include <splash.h> /*oled display -nek kell*/
#include <max6675.h> /*homero*/
int thermoDO = 10; /*valtozo a homero DO pin -nek*/
int thermoCS = 9; /*valtozo a homero CS pin -nek*/
int thermoCLK = 8; /*valtozo a homero CLK pin -nek*/
//int gombPin = 4; /*valtozo a gomb pin -nek*/
int gombAllapot = 0; /*valtozo a gomb allapot olvasasahoz*/
byte a = 0; /*valtozo a gaz erzekelo negyzet villogashoz*/
int period = 1000; /*ennyi idot var a futtatashoz*/
unsigned long time_now = 0;
const int ledPin = 6; /*LED pin*/
const byte interruptPin = 4;
volatile int gombNyomas = 0 ; /*valtozo a gomb nyomas szamlalasara*/
uint32_t lastms= 0;
void gombotnyom(){
gombNyomas ++; /* növeljük 1-el a gombnyomások számát */
}
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
void mindenRajtaVan() {
int sensorValue = analogRead(A0); /*valtozo a gaz erzekelo alalog pin -nek*/
int isgas = digitalRead(2); /*valtozo a gaz erzekelo digitalis pin -nek, ez arra kell, ha gas van akkor jelet ad, nem kell kulon erteket adni*/
String gas; /*valtozo a gaz erzekelo gas vagy no gas kiirasahoz*/
display.clearDisplay(); /*this line to clear previous logo*/
display.setTextSize(1); /*text size 3*/
display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("Thermometer by Gabor");
display.setTextSize(2); /*text size 2*/
display.setCursor(10,20); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("C = ");
display.print(thermocouple.readCelsius());/*Celsius*/
display.setTextSize(1); /*text size 2*/
display.setCursor(10,40); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("F = ");
display.print(thermocouple.readFahrenheit());/*Fahrenheit*/
display.setTextSize(1); /*text size 2*/
display.setCursor(0,50); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("CO2 = ");
display.print(sensorValue);
display.print(" PPM ");
/*sensorValue < 90 ellenorzeshez, amugy igas valtozo kell ami a digitalis pin*/
if (sensorValue < 90) {gas = "No Gas";}
else {gas = " Gas";
if(a) {display.drawRoundRect(80, 47, 40, 15, 2, WHITE);/*negyzet a gas felirat kore feher*/
digitalWrite(ledPin, HIGH);} /*LED bekapcsol*/
else {display.drawRoundRect(80, 47, 40, 15, 2, BLACK); /*negyzet a gas felirat kore fekete*/
digitalWrite(ledPin, LOW);} /*LED kikapcsol*/
a^=1;
}
display.print(gas);
display.display(); /*to shows or update your TEXT*/
}
void homeroVanRajta() {
digitalWrite(ledPin, LOW); /*LED kikapcsol*/
display.clearDisplay(); /*this line to clear previous logo*/
display.setTextSize(1); /*text size 3*/
display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("Thermometer by Gabor");
display.setTextSize(2); /*text size 2*/
display.setCursor(10,20); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("C = ");
display.print(thermocouple.readCelsius());/*Celsius*/
display.setTextSize(2); /*text size 2*/
display.setCursor(10,40); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("F = ");
display.print(thermocouple.readFahrenheit());/*Fahrenheit*/
display.display(); /*to shows or update your TEXT*/
}
void gazVanRajta() {
int sensorValue = analogRead(A0); /*valtozo a gaz erzekelo alalog pin -nek*/
int isgas = digitalRead(2); /*valtozo a gaz erzekelo digitalis pin -nek, ez arra kell, ha gas van akkor jelet ad, nem kell kulon erteket adni*/
String gas; /*valtozo a gaz erzekelo gas vagy no gas kiirasahoz*/
display.clearDisplay(); /*this line to clear previous logo*/
display.setTextSize(1); /*text size 3*/
display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("Thermometer by Gabor");
display.setTextSize(2); /*text size 2*/
display.setCursor(0,20); /*ez tartja egy helyben a szöveget*/
display.setTextColor(WHITE); /*without this no display*/
display.print("CO2= ");
display.print(sensorValue);
display.setTextSize(1);
display.print(" PPM");
/*sensorValue < 90 ellenorzeshez, amugy igas valtozo kell ami a digitalis pin*/
if (sensorValue < 90) {gas = "No Gas";}
else {gas = " Gas";
if(a) {display.drawRoundRect(30, 39, 60, 22, 2, WHITE);/*negyzet a gas felirat kore feher*/
digitalWrite(ledPin, HIGH);} /*LED bekapcsol*/
else {display.drawRoundRect(30, 39, 60, 22, 2, BLACK); /*negyzet a gas felirat kore fekete*/
digitalWrite(ledPin, LOW);} /*LED kikapcsol*/
a^=1;
}
display.setTextSize(2);
display.setCursor(20,42);
display.print(gas);
display.display(); /*to shows or update your TEXT*/
}
void megnyomva() {
switch (gombNyomas) {
case 1:
mindenRajtaVan();
break;
case 2:
homeroVanRajta();
break;
case 3:
gazVanRajta();
break;
}
} /* megnyomva_end */
void setup() {
Serial.begin(9600); /*elindítja a sorosportot, 9600 baud beállítással. Ez azért jó, mert a Serial Monitoron a program futását tudod monitorozni*/
pinMode(ledPin, OUTPUT); /*inicializálja a LED pin -jet outputnak*/
pinMode(interruptPin, INPUT_PULLUP); /*inicializálja a gomb pin-t inputnak , default HIGH !!! */
attachInterrupt(digitalPinToInterrupt(interruptPin), gombotnyom, LOW); /* meghívjuk az fv.-t ha LOW-ra húzod a pin-t */
Serial.println("MAX6675 test");
/*wait for MAX chip to stabilize*/
delay(500);
/*SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally*/
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); /*Address 0x3C for 128x32*/
display.display();
delay(2000);
}
void loop() {
if (millis() - lastms > 10000) /* eltelt 10 sec ? */
{
lastms = millis();
if (gombNyomas > 0) /* volt valamennyi gombnyomás */
{
megnyomva();
gombNyomas = 0 ; /* nullázzuk a nyomások számát
}
} /* gombnyomások számának olvasás időzítése */
Serial.println(gombNyomas); /* kiírjuk hány gombnyomásnál tartasz */
} /* loop_end */
/*Jöjjön a megnyomva fv.*/
}
}egy hibát már meg is találtam:
volatile int gombNyomas = 1 ;
1-nek kell lenni, mert semmi se fut le induláskor.
Most már mutatja a kijelző, de azonnal kifagy -
lanszelot
addikt
válasz
its_grandpa #20046 üzenetére
Köszönöm szépen.
Meg fogom próbálni ezzel is.
De ez nekem még nehezen érthető.
Át kell rágnom magam rajta.
Ha sikerül, megírom, hogy működik e.pinmode és a attachInterrupt - ezeket nem értem.
pinmode:pinMode(gombPin, INPUT);
ezt töröljem ki? de akkor hova megy a high?
attachInterrupt:
"meghívjuk az fv.-t" - mi az az fv? /function?//másik már nem volt szerkeszthető mire átolvastam, ezért van külön íva/
-
válasz
its_grandpa #20048 üzenetére
🫡
-
válasz
its_grandpa #20046 üzenetére
Ha kódot illesztesz be, előtte állítsd át a szerkesztőt a "régi szerkesztő"-re, mert akkor olvasható lesz a kód!
-
KoVee84
senior tag
válasz
its_grandpa #19976 üzenetére
-
KoVee84
senior tag
válasz
its_grandpa #19754 üzenetére
https://github.com/Xinyuan-LilyGO/LilyGo-EPD47 ő lenne a lib, és a demo exampleből indultam ki.
A feladat végtelenül egyszerű (lenne, ha értenék hozzá). 18650-es akkuval üzemelne a kijelző, hetente más-más max 8 karakter hosszúságú szöveg jelenne meg a kijelzőn, 4 hetente újrakezdődik. + ha már az exampleben pont ott volt, minden szövegváltásnál kiírja az aktuális akkufeszt.
A kód működik, bár rtc modul nélkül csak úgy tudtam önerőből megoldani a heti egyszeri szövegváltást, hogy delay(604800000);
A problémám viszont, hogy megjelenítendő szöveg karaktereinek méretét nem tudom megnövelni... Azt honnan tudom egyébként, hogy az aktuális lib milyen fontokat kezel?köszönöm előre is ha tudsz/tudtok valami okosságot erre!
-
Dißnäëß
nagyúr
válasz
its_grandpa #19731 üzenetére
-
Dißnäëß
nagyúr
válasz
its_grandpa #19713 üzenetére
Nem az a gond, ha nincs 230V, hanem amikor visszajön
-
vargalex
félisten
válasz
its_grandpa #19695 üzenetére
Ott a beillesztett képen az Egyéni lehetőség... Oda azt adsz meg, amit akarsz, nincs megkötés az értékére.
Az nf_conntrack_max nem a kliensek, hanem az egyidejű kapcsolatok maximális számát határozza meg. Ha pl. torrentezel (bármelyik kliensen), akkor egyetlen kliens elvihet több 100, vagy több 1000 kapcsolatot is. Nálam ez fel van húzva:root@AX3200:~# cat /etc/sysctl.d/30-nf-conntrack-max.conf
net.netfilter.nf_conntrack_max=65535
Memóriával nincs gond, ehhez bőven elég a 256 MB:
259 kapcsolattal:
root@AX3200:~# cat /proc/net/nf_conntrack | wc -l
259
root@AX3200:~# free
total used free shared buff/cache available
Mem: 233328 44108 160416 452 28804 150040
Swap: 0 0 0
1227 kapcsolattal:
root@AX3200:~# cat /proc/net/nf_conntrack | wc -l
1227
root@AX3200:~# free
total used free shared buff/cache available
Mem: 233328 44584 159952 452 28792 149568
Swap: 0 0 0
#19690 Aryes: A .0 végű nem egy valós IP cím (azaz az általad említett 192.168.2.0), mivel 1-254-ig mehet. A 255 pedig a broadcast IP egy 255.255.255.0 (vagy másként /24-es) hálózat esetén, azaz ott az sem valós IP. Ezért írtam, hogy 192.168.2.2-192.168.2.254-ig bármit adhatsz (a 192.168.2.1 a router, azt azért nem).
-
válasz
its_grandpa #19695 üzenetére
Hát ha nem is egyszerre 255, de ha minden eszköznek fix ip címet adsz, ahogy én teszem, előbb-utóbb el tud az fogyni, főleg, ha sok IoT eszközöd van.
-
vargalex
félisten
válasz
its_grandpa #19678 üzenetére
Pedig normális routereken (vagy inkább firmware-okban) olyan alhálózati maszkot használhatsz, amit csak akarsz:
Miért kellene a 255-höz ragaszkodni? Ez csak egy általános megszokás... De használhatok én itthon 172.16.0.0/16, vagy 10.0.0.0/8-as hálót is. Semmi nem akadályoz meg benne. És ahogy egyszer több okos eszköz van, lassan kinövi az ember a 254 eszközt (routerrel együtt).
#19679 Janos250: A subnetben a 0 nem véd ki semmit, a kolléga által is említett 50-es tartomány esetén a 255.255.50.0 subnet != 255.255.255.0-val... Utóbbi esetben lesznek olyan IP-k amik eléréséhez az eszközöd nem szeretne a gataway-on keresztül menni.
-
Janos250
őstag
válasz
its_grandpa #19678 üzenetére
Köszi, teljesen igaz, de már nem tudom állítani.
Valóban a routereken a mask harmadik számát általában nem lehet állítani, de ha lehetne, akkor is normális esetben a 255 a logikus, bár én azokon a routereimen, amin lehet állítani, 0-t állítottam be, célszerűségi okokból. De - így első ránézésre, különösebb átgondolás nélkül - úgy tűnik, hogy "véletlenül" 50-el is működne, bár elég idétlen alhálózati szegmensek jönnének ki.
Mellesleg járt már a kezemben olyan router is, ahol az IP harmadik száma egy teljesen idétlen szám volt, de a 0 azt is kivédi.IPAddress subnet(255, 255, IPharmadikSzama, 0)
helyett természetesenIPAddress subnet(255, 255, 255, 0) az általában jó,
de, ha az illető TUDJA, HOGY MIT CSINÁL (!!!!!!), válasszon olyat, ami neki jó.Köszi mégegyszer!
-
bimbula53
tag
válasz
its_grandpa #19613 üzenetére
Az összes netradio project a VS1053-ra épül és az Adafruit könyvtárat használja mint alap.
Ez nem zárja ki, hogy a VS1003-at ne lehessen használni anélkül, hogy a lib-be keljen nyúlni..
A Yoradio az esp32 dev modulra épül. Minden más modulnál ismerni kell a lábkiosztást. Itt is lehet használni a VS1003 -t gond nélkül. Természetesen más fajta DAC -ot is lehet használni. Problémák adódhatnak, amire igyekeznek gyorsan reagálni. Sajnos magyar nyelvű forumja nincs. De persze minden megoldható. Néztem az általad linkelt projektet is. Korábban már találkoztam a névvel, csak nem sikerült rá lelnem próba erejéig. Ahogy néztem 4éve nem nyúltak hozzá. Ezek a projektek egyéni ízlés szerint íródtak sok sok csiribirivel. Sok közül lehet kiválasztani azt ami neki bejön. -
gya/352
tag
válasz
its_grandpa #19599 üzenetére
Igen nekem is feltűnt, hogy a Yoradio-ban nics lehetőség a VS1003 használatára. Kicsit bíztam benne hogy talán használható lesz a VS1053 helyett, de így már látom hogy előrotdulhatnak problémák. Legfeljebb berendelek egy 1053-ast. Eredetileg is azt szerettem volna venni, de elnéztem a rendelésnél és úgy jött az 1003.
-
bimbula53
tag
válasz
its_grandpa #19599 üzenetére
És mi a végeredménye a leírtaknak? Ha már ismered a Yoradiot Mi a véleményed róla? Esetleg valami mást ajánlanál? Amihez kevés programozási tudás is elég.
-
gya/352
tag
válasz
its_grandpa #19590 üzenetére
Első benyomás, hogy legalább most működik. Viszont valami nem túl stabil benne, mert sokszori állomásváltogatás után hajlamos rá hogy elkezdjen vartyogni.
Az meg rejtély marad hogy miért csak IP-címmel műküdik, miért nem megy a névfeloldás. -
vargalex
félisten
válasz
its_grandpa #19574 üzenetére
Azért ez az IP-re feloldás nem ilyen egyszerű. Pl. az általad említett domain mögött két IP is van:
[gavarga@gavarga-5500 ~]$ drill icast.connectmedia.hu
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 15341
;; flags: qr rd ra ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; icast.connectmedia.hu. IN A
;; ANSWER SECTION:
icast.connectmedia.hu. 7 IN A 109.199.62.243
icast.connectmedia.hu. 7 IN A 109.199.61.243
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
;; Query time: 12 msec
;; SERVER: 127.0.0.53
;; WHEN: Tue Mar 7 10:06:34 2023
;; MSG SIZE rcvd: 7
Ha az egyiket beégeted, de éppen nem megy, akkor nem tud fallback-olni a másodikra. Persze lehet, hogy éppen ilyen esetben nem megy a kollégának csak másodikra...
-
válasz
its_grandpa #19575 üzenetére
Ebből kéne egy ebook, csak sehol sem találtam.
-
gya/352
tag
válasz
its_grandpa #19499 üzenetére
Megtettem:
[link] -
vargalex
félisten
válasz
its_grandpa #19455 üzenetére
Igen, üres, mert
ESP_ERR_NVS_NOT_FOUND
errorral tér vissza. Ebben az esetben ugye nem változik aznvs_buf
tartalma, azaz aContetns
logolás teljesen normális, hogy az üres string-re (nvs_buf[0] = '\0';
miatt) inicializált értékkel tér vissza.
Szóval, én is megpróbálnám a flash törlést.#19453 its_grandpa: Teljesen normális az a log, hiszen ahogy Aryes által bemásolt kódban is látszik, az eredeti
key
hosszát és azNVSBUFSIZE
-ra (150) beállítottlen
-t adja vissza, mivel a fentiek szerint utóbbi nem módosul (nyilván akey
egyébként sem módosulna). -
válasz
its_grandpa #19453 üzenetére
Pedig nyugodj végre bele, hogy az csak a buffer size:
String nvsgetstr ( const char* key )
{
static char nvs_buf[NVSBUFSIZE] ; // Buffer for contents
size_t len = NVSBUFSIZE ; // Max length of the string, later real length
nvsopen() ; // Be sure to open nvs
nvs_buf[0] = '\0' ; // Return empty string on error
nvserr = nvs_get_str ( nvshandle, key, nvs_buf, &len ) ;
if ( nvserr )
{
dbgprint ( "nvs_get_str failed %X for key %s, keylen is %d, len is %d!",
nvserr, key, strlen ( key), len ) ;
dbgprint ( "Contents: %s", nvs_buf ) ;
}
return String ( nvs_buf ) ;
} -
válasz
its_grandpa #19449 üzenetére
Nekem sajnos itt megállt a tudományom.
-
vargalex
félisten
válasz
its_grandpa #19446 üzenetére
Az
nvs_get_str
hívásnál alen
változó címe van átadva, azért, hogy aznvs_get_str
adja vissza benne abuffer
tényleges hosszát.Ha jól olvasom, az
1102
-es hiba azESP_ERR_NVS_NOT_FOUND
: "A requested entry couldn’t be found or namespace doesn’t exist yet and mode is NVS_READONLY" -
gya/352
tag
válasz
its_grandpa #19447 üzenetére
Hat basszus jol beleastad magad.
Neked is es Aryesnek is koszonom hogy foglalkoztok vele.
En most nem nem fogok tudni jatszani vele a hetvegen. De jovo heten folytatom, bar szerintem egyelore feladom es berendelek egy uj esp32 boardot, mert nekem gyanus hogy fizikailag van vele vmi problema. -
its_grandpa
tag
válasz
its_grandpa #19446 üzenetére
Ez egy rendkívül érdekes szakmai szál, kíváncsi vagyok mi lesz a megoldás.
Van hozzá mindenem, ki fogom próbálni ha tudok rá időt szakítani.
Új hozzászólás Aktív témák
Hirdetés
- MSI RTX 4070 SUPER 12GB GAMING X SLIM WHITE - 20 hónap garancia
- GIGABYTE RTX 4070 SUPER WINDFORCE OC 12GB - 20 hónap garancia
- iKing.Hu - Samsung S25 Ultra - Titanium Black - Használt, karcmentes
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- Bomba ár! Dell Latitude 3590 - i5-8GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Garancia!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- ÁRGARANCIA!Épített KomPhone i3 10105F 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
- Quadro FX 570 eladó
- BESZÁMÍTÁS! Gigabyte H610M i5 13400F 32GB DDR4 512GB SSD RTX 3070 8GB Zalman Z1 Plus Enermax 750W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged