- eSIM, a kártyamentes szabadság
- Fotók, videók mobillal
- Huawei Watch GT 5 Pro - egészség + stílus
- Milyen okostelefont vegyek?
- Apple Watch
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy A54 - türelemjáték
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy A34 - plus size modell
-
Mobilarena
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
-
Azt úgy biztos nem. Ha már, akkor
(currentpulse >= pulzus) || voros
, de amúgy az összehasonlításnak nagyobb a precedenciája.(#9899) Janos250: Igen, ezt írják is az Arduino oldalán, de mondjuk a fordító igazán számíthatna rá, hogy ha egy ISR-ben módosítasz egy változót, akkor az automatice legyen volatile.
(#9896) Vladi:
az úgy értelmes, hogy:
volatile unsigned longAzzal vigyázz, mert csak 8 bites a proci, és mikor kiolvas egy bájtot a longból, akkor a maradék része változhat. [link]
-
Janos250
őstag
A volatile akkor kell, ha úgy is változhat a változó értéke, hogy a fordító előre "nem tud róla". Pl. interrupt megváltoztatja, vagy amikor perifériát olvasol. Azt teszi, hogy nem puffereli az értéket, hanem mindig újraolvassa az adott helyről, valahányszor kell. Ártani sehol nem árt, viszont, ha feleslegesen használod, lassít a pufferelés hiánya miatt. A konstansok elé biztosan nem kell volatile, hiszen azt más programrészlet (interrupt, másik szál akár másik magon) biztosan nem változtatja meg.
-
Vladi
nagyúr
Szerintem az úgy jó, anno az előző ( 1.0 ) változatban is így adtam meg: link.
off tapasztalat: lánchajtás soha de soha nem fog stabil fordulatszámot eredményezni. Legalább is jóval tágabb a tűrésmezeje, mint amire szükségem lenne.
Bakker egy éve dolgozom rajta....
Hardveres prellmentesítésem van. Egy opto izolátor kártyát építettem*, ami izolálja a jelet, 12 voltról 5-re konvertálja és ha már ott van prellmentesít is.
*egy kiáló, nagyszerű, remek villanyos barátom segített megtervezni.
-
Volatile egészen biztosan kell a megszakításban használt változókra, de nekem még gyanús ez a feltétel is:
currentpulse >= pulzus || voros
Én így írnám fel:currentpulse >= (pulzus || voros)
Nem vagyok pontosan tisztában a műveleti sorrenddel, ezért általában az indokoltnál több zárójelet használok, de elég sokszor okoz nehezen kideríthető hibát, így biztosra megyek.Vladi: az enkódert nem kell pergésmentesíteni?
-
-
Vladi
nagyúr
Ami a hiba:
A vörös/piros gombra vág a cucc. ez jó.
Az enkóderből jön a jel, van egy visszajelző led, az szépen vibrál. Sűrű a jel.Viszont sose kapcsol. Akármennyit várok. A beállításokkal 16 másodpercenként kéne. (Vagy 32, ha elszámoltam.
)
Amire gondolok:
1. a void loop végén kellene nullázni a számlálót. Ha kilép a loopból megszakításkor, akkor a loop elejére tér vissza?
2. volatile változónak kellene megadni a currentpulse-t, mert akkor az interrupt alatt nem ismeri?
Mondjuk ezt nem hiszem, a példaprogramokban se így adják meg.
3. olyan sűrű a megszakítás, hogy nem tudja lefuttatni a loopot végig. Ezt nem hiszem, mert akkor a vörössel se működne. Meg akkor ki kéne venni a megszakításból a számlálást és áttenni a loopba.
Nekem az 1. tűnik valószínűbbnek.
(#9893) weiss
Csak most látom a hozzászólásod. a 2. pontoban én is erre gondoltam. Jól gondolom, hogy megszakításkor csak így tudja kezelni? De akkor vörössel miért működik a funkció?
-
-
Vladi
nagyúr
Sziasztok!
Van a régi projektem, ami időre kapcsol egy vágókést. Talán még emlékszik valaki. Teasüti pölö.
Namármost sajnos időre nem a legjobb, bár minden úgy működik, ahogy megterveztem. Most átálltam egy forgó enkóder link jelének mérésére.
A rendszer lényege, hogy egy húzóhenger forgását ezzel mérném, ha elért egy megefelelő hosszúságot az anyag, amit húz, akkor kapcsol egy relét. Vagy ha megnyomok egy gombot, akkor azonnal és újrakezdi a ciklust.
Nos a hardver biztos, hogy jó, mert először rosszul drótoztam össze, de legalább az összes funkciót láttam működni.
A vezetékek a helyükre kerültek, a kódot feltöltöttem, de nem működik.
Ez az eredeti kódom:
volatile const int enko = 3; //2-as pinbe van enkóder érzékelője, OPTÓN A JOBB OLDALI!!!
volatile const int piros = 2; //3-es pinbe dugva az azonnali vágó kapcsoló
volatile const int rele = 5; // a kapcsoló relé.
//volatile const int alapled = 13;
const long pulzus = 425; // EZ A LENYEG!
const long releido = 300; // a relé nyitás-zárás ideje
unsigned long currentpulse;
bool voros;
void setup() {
pinMode(piros, INPUT); // a 3-as piros az bemenet lett
pinMode(enko, INPUT); // a kettes hurkázó is bemenet
pinMode(rele, OUTPUT); // relé a 6-on kimenet
//Serial.begin(9600);
attachInterrupt(1, szamlalo, CHANGE); //2-es az enkóder, megszakítást állítottam rá
attachInterrupt(0, nyissz, FALLING);//3-as a piros, azon is megszíktás van
}
void loop(){
currentpulse = 0;
if(currentpulse >= pulzus || voros) {
digitalWrite(rele, HIGH);
delay(releido);
digitalWrite(rele, LOW);
//Serial.println("Vágtam, kövi.");
voros = false;
}
}
void szamlalo(){
currentpulse++;
}
void nyissz(){
voros = true;
}Mindjárt leírom a hibajelenséget, meg pár ötletem, hogy mi lehet a gond. Csak elnyomkodtam a háeszt.
-
JozsBiker
aktív tag
Igaz, a szállítási költséget tényleg nem számoltam.
Egyébként - asszem már írtam itt egyszer, bocs az ismétlésért - az épületünk alagsorában levő garázsban ( nagyjából a föld színe alatt ) van egy öklömnyi DCF -es óra, soha nem kellett még rajta korrigálni az időt. Kb. annyiba kerülhetett, mint ez a "Super high sensitivity" ferritrudas cucc. És még a hőmérsékletet is mutatja :-) -
mprrpm
tag
válasz
JozsBiker #9889 üzenetére
(2700Ft+1800Ft) annyira nem olcsó.
Én is sokat kísérleteztem DCF77-el. Tápegység, inverter ne legyen a közelbe 3-4 méteren belül mert az bekavar.
Annak idején PLC-re volt projektem. Ha azt akartam, hogy közel 100% legyen a szinkronizáció pontossága akkor inkább éjjel volt rá nagyobb az esély. -
JozsBiker
aktív tag
-
mprrpm
tag
Sziasztok!
Szerintem DS3231-el jössz ki a legjobban.
Hozzáteszem csináltam DCF77-el templomtorony harangvezérlőt. Előny: pontos ha tökéletes a vétel nem kell vacakolni téli/nyári átállással. Hátrány: csak Conrádnál fogsz kapni vevőt aranyárba 4000Ft környéke.
Valamint készült melóhelyre ESP32 NTP-vel óra is.
NTP is jó de ahol nincsen használható WIFI ott nem jöhet számításba.DS3231 és NTP kombó már elég jó páros tud lenni (előny: elég egyszer egy hónapban szinkronizálni WIFI-ről és viszonylag pontos időt kapsz olcsón sokáig. Hátrány hogy ha nem LIR32 aksit használsz hanem CR2032-t elemet a DS3231-hez akkor kicsit át kell alakítani a töltőáramköri részt (pukkanás elkerülése végett).
És a téli nyári átállás progiba 4sor.
Tapasztalat 4 éve megy DS3231 CR2032-vel évi +2 sec csúszással egy nehezen hozzáférhető helyen fényreklámban, nem kell óraátállításkor vacakolni. -
válasz
ngabor2 #9870 üzenetére
Arduino: serialról x időközönként beolvasol egy bájtot, ha az egy előre definiált valami küldesz egy OK-t, és várod az időt, ha megjött küldesz egy OK-t.
PC: serialra küldöd megállás nélkül az előre definiált karkatert, ha jött OK, akkor küldöd az aktuális időt megformázva. -
fpeter84
senior tag
válasz
Gergosz2 #9885 üzenetére
én is ezt preferálom, pl VK2828U7G5LF (zőccséget ír a kínai a címben, nem SIRF3 hanem UBX-G7020-KT) - tud akár 10Hz-et is, létezik USB-s kivitele is, stb stb...
-
Gergosz2
veterán
válasz
gyapo11 #9879 üzenetére
Én Neo 7M modulokat vettem, nagyon egyszerűen kezelhetőek.
GPS kicsit többet eszik, kezelni kell az óraátállítást. De ezek abszolút nem vészes dolgok.
DCF77hez pedig fent írtam mik kellenek. Én mostanában ezt használtam mert tekertem pár ferrit antennát és ICm is van hozzá. Az a jó, hogy az időátállítást sem kell kezelni, mert alapból DST időt küld.
Én napi egy szinkronozást csinálok, mellé DS3231 RTCt használok. Az alapján dönts, hogy melyik működik a legmegbízhatóbban ott, ahova telepíteni szeretnéd.
-
válasz
ngabor2 #9882 üzenetére
Ugyanarra a tx/rx lábra (d0/d1?) kötöd a Bluetooth-t, mint amire az usb chip is csatlakozik a nyákon. Párosítás után létrejön egy virtuális soros port a gépen. Ezek után ugyanúgy tudod használni a Serial könyvtárat, mintha usb-re lenne kötve a lap, csak alapból kódot feltölteni nem tudsz így, de nem forrasztgatás után az is működhet.
-
fpeter84
senior tag
válasz
gyapo11 #9879 üzenetére
A lábkiosztását írják, úgyhogy ez már antenna+gps egyben. Csak tápfesz (3.3-5V?) kell neki, a TX-en pedig valamilyen baud-al (egyik feedback 9600-at emleget) passzívan jönnek belőle az NMEA mondatok. Kommunikálni vele, átprogramozni nem lehet mert RX lába nincsen és a chipset is ismeretlen, bár nincsenek róla rossz véleménnyel...
-
válasz
ngabor2 #9880 üzenetére
Nem tudsz egy usb kábelt kivezetni a dobozon kívülre? Akkor az én megoldásom egyszerűen megvalósítható lenne.
Vagy egy hc-05 Bluetooth modul, és egy Bluetooth képes számítógép (még Androidra is van Bt soros konzol app!), és ahogy írtad, távolból, szétszedés nélkül is tudnál vele kommunikálni, kis ügyeskedéssel megoldható a kódfeltöltés is!
-
ngabor2
nagyúr
Köszi a válaszokat. Az a baj, hogy az Arduino egy elég nehezen hozzáférhető, eldugott helyen van, a reseteléshez is szét kell szedni a dobozát. Bár van ESP8266 és ESP32 mcu is a háznál, de eddig még nem sikerült egy szabad délutánt kerítenem, amikor neki tudok állni az egész, Arduino köré épített rendszert áttenni bármelyikre. Ráadásul akkor már kicsit upgradelve pakolnám össze, ami még több idő.
Itt a lényeg a hardverhez nem nyúlás lett volna, de akkor egyelőre marad a félévente egyszeri átírás, vagy az átállás beleírása a programba.
A GPS/DCF77 is érdekes megoldás, de a baj ezekkel is ugyan az: szét kell kapni az egészet és az amúgy is kábelrengetegtől zsúfolt dobozba további alkatrészeket gyömöszölni.
-
-
JozsBiker
aktív tag
válasz
ngabor2 #9870 üzenetére
Az óraállítások idejét évekkel előre lehet tudni ( bár mostanában ugye hallani hogy változtatni szeretnének, de az még jónéhány év ), be lehet tenni a váltási időpontok figyelését és lekezelését.
Azt is el tudnám képzelni hogy az RTC modul helyett egy WiFi modullal a hálózatról szednéd a pontos időt.
Vagy bele egy BT modul, és android -os eszközről felkapcsolódva áttölteni az időt. Az is sima soros kommunikáció amilyet Te szeretnél, csak éppen nem USB -n. ( Én éppen egy ilyenen ügyködöm mostanában, tervezem hogy ha kész lesz felteszek az oldalamra egy részletesebb leírást, de az még egy kicsit odébb lesz. ) -
-
ngabor2
nagyúr
Adott egy Arduino nano, ami leginkább időzítve kapcsolgat néhány relét (florárium vezérlés, világítás, pára, ózon). Ez használ egy DS3231 órát, ami elég pontos, fél év alatt pár másodperc eltérése volt. Viszont van ez a csodálatos óraállítás...
Eddig úgy oldottam meg a pontos idő beállítását, ahogy az a példaprogramok között is van:
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
Viszont ennek 2 hátránya is van:
- egyrészt pár másodpercet késni fog az óra. Ezzel együtt tudnék élni
- fel kell töltenem ezt a beállítóprogramot, majd miután beállt az óra, mehet ismét a helyére a flori vezérlő program.Ezt szeretném egyszerűsíteni. Meg lehet oldani, hogy ha USB-n csatlakozik egy számítógép az Arduinohoz, akkor automatikusan, vagy manuálisan frissítse az órát a gép órájára?
-
válasz
gyapo11 #9866 üzenetére
Köszi a tippet! Ez valóban megoldás lenne, de nekem azzal van bajom, amikor mondjuk a D: -re telepítenék valamit, de csakazértis mindent a C: -re telepít, Users vagy Program Data mappába, amit nehezen tudok symlinkelni, ráadásul mappát csak azonos meghajtóra enged a Windows symlinkelni, külső meghajtóra nem.
-
gyapo11
őstag
Kipróbálhatod a symlinket, nálam bevált. Fogod a c: meghajtón a foldert és átmásolod máshova, pl. külső wincsire. Ezután létrehozol egy symlinket, ami létrehoz egy virtuális foldert a c: meghajtón, de a file-ok valójában a külső wincsin vannak, a software ebből nem vesz észre semmit. Nálam az rss olvasó megy így.
-
Janos250
őstag
"ESP-IDF kell hozzá"
És ha berakod Arduino IDE alá, lefordul? [vagy felfordul?]
Az Arduino IDE is IDF alapokon nyugszik, csak van saját, előre megírt main.cpp, és egy halom könyvtár, hogy meglegyenek az előre definiált dolgok, és passzoljanak az elnevezések az Arduino rendszerhez. Attól még az összes alatta lévő dolog is él, ugyanúgy, mint pl. a freeRTOS dolgai, vagy a méglentebbi driverek.
A C++ az C++ akár IDF, akár Arduino IDE. -
válasz
Tankblock #9861 üzenetére
A C meghajtón összesen nincs 2G szabad helyem, sajnos történeti okokból többfelé van partícionálva a 120G, mint optimális lenne.
_q: nálam még különböző boardok is vannak telepítve, aminek az adatai a \Users\ mappán belül kb. 1,5G helyet foglalnak. Ezt is hozzáadtam.
-
-
válasz
Tankblock #9853 üzenetére
Azt meg tudod mondani, hogy az egész cókmók mindenestül kb. mennyi helyet foglal a gépen, illetve lehet-e úgy telepíteni, hogy semmit ne tegyen a C: meghajtóra? Ugyanis kezd vészesen betelni a 120G SSD a laptopomban...
Az arduino ide-t is sikerült úgy feltenni, hogy több giga helyet foglal a rendszermeghajtón, mert csak hónapokkal a telepítés után olvastam a portable telepítési módról, de akkor már nem mertem hozzápiszkálni, mert addigra jó sok mindent telepítettem és féltem, hogy vmi elQródik...weiss: ezzel az erővel a választ is leírhattad volna.
-
-
válasz
Tankblock #9853 üzenetére
Értem!
Régebben próbáltam már ismerkedni az Eclipse-szel, de az nekem már atomfizika...Bónuszkérdés (mindenkihez): van egy usb-s töltésmérőm, és megmértem most vele egy tablet töltését, Samsung fast charge töltőre kötve, 5%-ról 100%-ra 9V töltő feszültséggel 3200mAh töltést írt ki, és most zavarban vagyok, hogy akkor mennyi töltést is vett fel a tablet?
Jól gondolom, hogy ha beszorzom 9v/5v=1,8-cal, akkor közelebb vagyok a megoldáshoz? Vagy 9/4.2-vel kell szorozni? Vagy 9/3.7-tel? Mert utóbbi esetben másfélszer akkora számot kapok, mint az akksi teljes kapacitása... -
gyapo11
őstag
válasz
kulturg #9854 üzenetére
Kell egy akkora kondi az arduino tápjára, amiről elmegy pár tizedmásodpercet. A kondi meg egy diódán át kapja a töltést, a dióda előtt egy feszosztó ellenálláspár, és innden tudja az arduino, hogy mikor ment el a delej, a pár tizedmásodperc alatt meg elvégzi amit kell a halál előtt.
-
kulturg
tag
Hello, egy kérdésem van: megoldható-e az, hogy ha áramtalanítom a mikrokontrollert (kihúzom a tápot), végrehajtson egy parancsot? (vagyis ez a triggere) Távkikapcsolóra gondolok.
-
Tankblock
aktív tag
Hello,
Ha feltelepítetted megérted...
NEM Windows alatt fut a keresztplatformos fordító, hanem MSYS2 alatt...
minden ami abban van egyfajta Linux féleség. Szépen működnek a unixos filemanager parancsok...igen terminált lehet használni, sőt és a githez csak azt használom.
Javaslom egy Eclipse-be belerakni az egészet azzal kicsit nehezebb configolni először, de az egy clikes fordít letölt vagy a kódkiegészítés sokat ér.... Nem egy Arduino IDE.. az egy sima notepad az eclipsehez képest.... -
-
Tankblock
aktív tag
Hello,
Belelestem abba a kódba amit linkeltél, ismert emberektől van, jóféle.
A projectben nincs configolva HW gomb egy darab se. UART és external UART ból olvas és BLE HID tolja tovább.A hol is kellene elkezdeni az [Development] Environment install guide.
NE felejtsd el az elérési utat exportálni mindig... "export idf_path= <elérési út>/esp/esp-idf"
Innen már csak a gittel leszedni a projectet amit linkeltél és módosítani HW gomboknak megfelelően. Példa része az
uart_parse_command()
függvényben van implementálva.Módosít, majd make menuconfig -> COM port beállítás, baudrate,... a végén meg make flash monitor
A gombokhoz szükséges interrupt és társait ebben a példában megtalálod:
[link]UI.: erősen javallott a Linuxos parancsok, fordító ismerete, mert az életünk így könnyebb.
Plusz ha ot vagy egy eclipsebe is tudod integrálni és akkor picit egyszerűbb az élet. -
fpeter84
senior tag
válasz
Speeedfire #9848 üzenetére
Milyen autóval játszanál? Én kipróbáltam többek között ezt és más hasonló kódokat - bár úgy tűnt hogy mindnek kb ugyanazok a gyökerei - de egy 2002-es A6-on totál használhatatlan, megbízhatatlan volt: álló motornál még úgy ahogy csatlakozott de járó motornál szemét szemét hátán. A csatlakozó hardver biztosan jó - ez már kiderült egyéb tesztekkel - úgy tűnik hogy zéró hibakezelés van a fenti kódban, plussz lehet az enyém vezérlője is éppen érzékenyebb / zajosabb... Mindenesetre beleástam magam és végül csináltam egy saját lib-et hozzá ami nem soft serial-al megy hanem rendes hardveres sorosporttal. Működik MEGA, DUE és ESP32 platformon is - utóbbival használom végül...
A csatlakozó hardverről: első körben én is szétgányoltam egy VAGCOM 409 kompatibilis kábelt, de hamar rájöttem hogy egyszerűbben is lehet ezt: MCP2021, L9637D vagy bármilyen hasonló LIN driver megfelel a célra... Per pill az utóbbival megy és hibátlannak tűnik a kommunikáció több óra után is...
Ha mégis kész kábelt vágnál szét, akkor erősen a szerencsén múlik hogy jó e: láttam olyat is már amiben egy fekete paca volt csak a csipp a nyákon mint a kvarcórákban, számológépekben, és arra nem nagyon lehet rácsatlakozni... Ha rendes smd alkatrészekből áll akkor cirka bármelyik lehet jó akár tranzisztorokból, akár komparátorból, akár rendes LIN meghajtóból van összerakva, amennyiben be lehet azonosítani az alkatrészeket benne...
Ha érdekel akkor szivesen megosztom azt amire eddig jutottam...
(az lemaradt, hogy a measurement blocks lekérdezésre mentem rá mint a linkelt projekten is - hibakód olvasással nem szórakoztam mert arra van külön VCDS kábelem is) -
válasz
Speeedfire #9846 üzenetére
Szerintem is a képek alapján 4x20-as kijelző kell.
A linkelt oldalról ez a kijelző és ez az i²c vezérlő kellene, ha nagyon sürgős, ha ráér így 3 hetet, akkor mondjuk ez. Utóbbin rajta van az i²c vezérlő is. -
Speeedfire
félisten
Sziasztok,
egyik projekthez ezt ajánlották: YwRobot LCMI602 IIC V1
Ennek mi a kiváltója pl innen? Vagy mire keressek? Sima 2x16-os kijelző? Innen mit lehetne helyette rendelni? [link]
Bár a fotókon inkább 4x20-asnak tűnik. -
Sziasztok! Esp32 specialistákhoz szólnék: állítólag van már megoldás arra, hogy esp32-ből Bluetooth HID billentyűzetet tudjak építeni. De sajnos nem arduino alapokon, amit ismerek, hanem ESP-IDF kell hozzá. Erről viszont annyit sem tudok, hogy eszik-e vagy isszák. Igazából nem is akarok vele komolyabb ismeretséget kötni, mindössze egy firmware-t szeretnék rátölteni, hogy egy speciális beviteli eszközt tudjak csinálni belőle (BT pedál). Valaki ha el tudná magyarázni, hogy hogy fogjak hozzá, és milyen kódot fordítsak/töltsek fel a lapra, az nagy segítség lenne.
Ezt az oldalt találtam: [link], állítólag működik, de azt se találom benne, hogy hogy van bekötve, hogy vannak rákötve a billentyűk... -
fpeter84
senior tag
válasz
Tankblock #9842 üzenetére
A 6+2 az az eredeti SD szabvány 4 párhuzamos I/O lábbal plussz kontrol, a mikrokontrollerekkel viszont általában SPI módot szoktunk használni ami a 4+2 a MISO meg MOSI-val (vagy SDI, SDO stb)...
Kicsit gány, de én még úgy is csatlakoztattam MicroSD-t egyszer jobb híján hogy egy SD>MicroSD foglalat lábaira forrasztottam rá a vezetékeket. Végülis működik ha nem melegíti túl az ember a lábait... A hosszabbtávú 3.3V prototípusoláshoz meg érdemes venni egy marék ilyet. Az 5V kontrollerekhez viszont szigorúan csak ilyen jelszintillesztőset szabad használni!
De érdemes lehet az SPIFFS-t is kipróbálni, mert a több mega belső flash-be rengeteg log elfér és akkor nincsen függelék az eszközön! A fájlrendszer feltöltésére van plugin, letöltésre még sajnos nem találtam így az embernek a programba be kell építenie egy dump opciót is, vagy egy külön programmal intézni ezt. Szerencsére az SPIFFS tartalmát nem érinti, ha más arduino programot töltesz fel ideiglenesen a fájlkezelés idejére...
szerk: ESP32 esetén pullup sem kell, ahol kell ott elintézi a proci belső pullup funkciójával a library!
-
Tankblock
aktív tag
válasz
fpeter84 #9839 üzenetére
Hello,
Találtam itthon egy Wemos D1 hez tartozó SD kártya foglalatot, sztem ezzel fogok protozni.
A problematica ott van, hogy amit találtam pédát ott vagy 6+2 láb kell ezen meg 4+2 táp van.....Minden vonalat kézzel kell 10k val felhúzni.. Meglássuk... ma sem értem rá...
-
válasz
gamb1t9 #9840 üzenetére
Igazából lefedtél mindent az "automatizálás-monitorozás" kifejezésekkel, így nincs mit hozzátenni.
Ez így túl általános, ha írsz konkrét ötleteket, ahhoz fogunk tudni mi is hozzátenni. Én nagyon szívesen ötletelek veled, ötletekből nincs hiányom, nálam főleg akkor kezdődnek a gondok, amikor megvalósításra kerülne a sor. -
gamb1t9
újonc
Sziasztok
#ez nem szigorúan arudinos technikai kérdés de itt van a community aki segíthet#Felsőoktatási szakképzéses szakdogatéma brainstorm közben gyűlt eszembe a gondolat, hogy egyszer csináltam egy adatbázis-beadandód melynek témája egy kertészetben különböző szenzorokkal összegyűjtött adatok tárolása volt. Arra gondoltam, továbbvihetném az ötletet és írni 40 oldalt olyanokról, hogy ez hogy működne, miből-mennyit-hogyan, erre alapuló automatizálás illetve monitorozás (és értesítés-rendszer) egy linuxos mysql és webszerverrel (weboldal és/vagy app) megspékelve.
Tudom, hogy ez nem a legeredetibb ötlet, hiszen már rengetegen csináltak hasonlókat vagy részleteit ennek, ezért érdeklődök, hogy mit tennétek bele pluszba, van-e vmi ami felesleges, vagy hogy egyáltalán van-e értelme nekiállni egy hasonló projectnek (kövi félévben írom, asszem nov. 11.-éig kell leadni a témát).
én sysadminak készülök de lenne segítségem van villanyos , szoftveres de még direkt mikrokontrolleres is
Köszönöm, ölelek mindenkit
-
-
Tankblock
aktív tag
Sziasztok,
Van valakinek egy bevált módszere arra, hogy SD kártyát lehessen olvasni/írni ESP32 vel.
Saját projecten dolgozgatom egy ideje, és most jött el az idő, hogy struktúrákat elmentsem és visszaolvassam....
C++ használok, de bárminek örülök. A ESP-idf ben 1 példa van össz vissz.... Azt ma este elemzem...
-
Honkydoo
őstag
Sziasztok!
Van egy Arduino galileo boardom.
Meg szeretnék hívni egy attachInterrupt() függvényt ami másodpercenként 44100-szor (44.1khz) vesz mintát.
A kérdésem az, hogy van e valami oszcillátor vagy bármi a cpu-ban (intel quark x1000) vagy a linux kernelben (mert ezen elvileg van valami nagyon vékony linux os) amire meg tudom hívni ezt a megszakítás függvényt?Keresem, kutattam de hátha valaki tapasztaltabb jobban képben van!
Köszi előre is!
-
fpeter84
senior tag
válasz
Janos250 #9828 üzenetére
Annyira nem csúcs ajánlat, ebayen meg alin ennél olcsóbb a picit nagyobb tudású LOLIN32...
@(#9829) csubuka: ESP-WROOM-32 modullal elvileg ugyanannak kell lennie, különbségek ott akadnak inkább hogy pl a LOLIN-en Li-Ion töltő is van, illetve léteznek olyan ESP32-k amelyek mellé több/kevesebb flash-t társítanak, de a WROOM-os elvileg mind 4MB-os
-
Janos250
őstag
Aki most akar ESP32-t venni, 5.24 Euro.
https://www.banggood.com/WeMos-ESP32-WiFi-Bluetooth-Development-Board-Ultra-Low-Power-Consumption-Dual-Core-ESP-32-ESP-32S-p-1175488.html?cur_warehouse=CN
Egy személynek max hármat enged. -
-
vargalex
félisten
Station mode-ban (gondolom úgy használod) az ESP8266 esetén automatikus Modem-sleep van, így ha éppen alszik a wifi modul, akkor szerintem teljesen normális a 100-500 ms válaszidő. Ilyenkor a router által megadott DTIM Beacon interval lejárta előtt ébreszti automatikusan a wifi-t. Ez kb. 100 ms általában.
A modem-sleep üzemmódot ki tudod kapcsolni awifi_set_sleep_type(NONE_SLEEP_T);
hívással. Itt is van a témáról egy kis olvasnivaló.
-
Tankblock
aktív tag
Hello,
Raspi-->
Nodered feltelepít és üzleti logika és Weblap generálva, minimális keresgéléssel, ha csak otthoni használatra lenne szükség.Ugyanide MQTT mosquitto server telepít.
A másik oldalra, SONOFF kapcsolóktól (pl TASMOTA firmware vagy saját kód) egészen az ethernet shielden valami Arduinoval át sok út vezethet. Ezzel nem kell annyit kódolni szerintem, az jó kérdés hogy milyen topológiában gondolkodsz.
A másik, meg hogy mennyit szánsz rá.... lehet annyiból vehetsz kész rendszert is....
-
Janos250
őstag
Melót nem vállalok, de leírom, én hogyan csinálnám.
Nem PI, hanem egy ESP (32, vagy 8266) kezeli a reléket, és a gombot. Az ESP a lakásban lévő WiFi-re kapcsolódik, innentől kezdve egy újabb ESP, vagy telefon WEB-en, vagy bármi tudja kapcsolni. Olcsóbb, és homogénebb.
Ennek módosított változata:
A relé egy Switch ON OFF (SONOFF) basic relé. Ezen fut egy WEB szerver is. Ez a SONOFF kapcsolódik a WiFi-n keresztül a netre. A WEB szerver igen egyszerű: gombbal ki/be kapcs. Telefon, vagy akárhány egyéb eszköz pl. Arduino, PI, PC, stb. tudja kapcsolni.Ez utóbbi nekem a laborban egy készülék fűtésszabályozásán a SONOFF megjelenése óta működik. (Nekem ezen némileg bonyolultabb WEB lap fut, a több funkció miatt)
-
-
tvamos
nagyúr
Ertem. Koszonom!
Es van erre valami ismert megoldas?
Mukodhetne valami olyasmi, hogy par masodpercenkent megpingetem a kiszolgalot, vagy ilyesmi?Az ujabb kerdesem az lenne, miert van az, hogy az ugyan azon a halozaton levo RPi-t ha pingelem, akkor az valaszol 15-40ms-on belul, ez az ESP32 meg 100-500ms? (Es vica verza, ha az eszkoz pingeli a szamitogepem, ugyan ez a jelenseg.) Lehet ezen "tuningolni" valamit?
-
Ja, vagy úgy. Ilyenkor sajnos a forráskód a legjobb manual. Úgy tűnik, hogy
WL_CONNECTION_LOST
csak timeoutnál van:} else if(reason == WIFI_REASON_BEACON_TIMEOUT || reason == WIFI_REASON_HANDSHAKE_TIMEOUT) {
WiFiSTAClass::_setStatus(WL_CONNECTION_LOST);Utolsóra van nyitott ticket. Bár ESP8266, de gondolom a wifi része hasonló.
-
quby
őstag
Sziasztok!
Egy itthoni világitás kapcsolást szeretnék megoldani raspberry + arduino párossal, de sem kedvem sem idöm nincs vele foglalkozni, programozási képességeimet böven meghaladja a dolog. Fizetnék érte ha lenne valaki aki meg tudná irni nekem.
A cél az lenne, hogy a raspberry egy gombnyomásra felkapcsoljon egy relét (lámpát), és a gomb ujjabb megnyomására lekapcsolja (eddig nem bonyolult). Ha R pi akkor mehetne rajta egy webszerever is, és ezek a gombok webesen is meg kellene jelenjenek. Tehát mondjuk gombnyomásra felkapcs, html gombra lekapcs. De ami a lényeg hogy ez távolrol is megoldható legyen egy arduinoval. Raspberryn (vagy webesen felkapcs), másik helyiségben arduinoval lekapcs, tehát mint egy váltó kapcsolás. Mindezt a két eszköz közötti ethernet kapcsolattal. És ez kellene 4 relével, több helyröl is (tehát több arduino is tudja le/fel kapcsolni.)
Ha valaki tud segiteni privibe jelezze plz..... -
tvamos
nagyúr
Mindig ugy indul, hogy
WL_NO_SHIELD
.
Ha tolok egy WiFi.begin-t, akkor tol egyWL_IDLE_STATUS
.
De utana csakWL_CONNECTED
, megWL_DISCONNECTED
van.
Akkor is ezt csinalja, ha a router nem elerheto, meg mindig is.
Ha elviszem, messze a routertol, akkor semWL_CONNECTION_LOST
-ot nyom, hanemWL_DISCONNECTED
.
Ha kikapcsolom a routert, (hot-spotot,) akkor is ez van.
Sajnos nem talatam eddig jo manualt, de biztos rossz helyen keresem.A masik gond, hogy neha hiaba kapcsolom ki a hot-spotot, akkor is tolja tovabb, hogy
WL_CONNECTED
, (de altalaban azert jo,) es ezt nem tudom detektalni.Ezek a gondjaim.
-
-
tvamos
nagyúr
Sziasztok!
ESP32 Arduino lenne a kerdes.
Hogy hasznalja a rendszere ezeket a statuszokat?WL_NO_SHIELD
WL_IDLE_STATUS
WL_NO_SSID_AVAIL
WL_SCAN_COMPLETED
WL_CONNECTED
WL_CONNECT_FAILED
WL_CONNECTION_LOST
WL_DISCONNECTED
Nekem ez homalyos. -
-
-
fpeter84
senior tag
válasz
fpeter84 #9812 üzenetére
okkk, rá is jöttem hogy hol néztem be a dolgot... A reset az RTC-t is nullázza, tehát reset után normális ha nincsen idő tárolva... Viszont a deep sleep-ből visszatérve van: összeollóztam a SimpleTime és ExternalWakeUp példákat, így egy külső triggerre ébredve már egyből rendelkezésre áll az idő - bár még valami bogár van, valószínűleg a timezone beállítást akkor is elveszti mert -2 órával éled, de a másodperc/perc egyértelműen mutatja hogy nagyvonalakban rendben van, működik az RTC hardver deep sleep módban...
szerk: ez is megvan... az esp32-hal-time.c-ből át kellett ollózni a setTimeZone-t a tesztprogramba és meghívni ahogy a configTime is teszi: setTimeZone(-gmtOffset_sec, daylightOffset_sec);
Failed to obtain time
Connecting to xxx .. CONNECTED
Tuesday, October 16 2018 00:16:35
Going to sleep now
ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:808
load:0x40078000,len:6084
load:0x40080000,len:6696
entry 0x400802e4
Tuesday, October 16 2018 00:16:42
Connecting to xxx .. CONNECTED
Tuesday, October 16 2018 00:16:43
Going to sleep nowugyan arra még nem jöttem rá hogy miért minusz a gmtOffset_sec miközben mi a GMT+1 időzónában vagyunk, de kicsire nem adunk, nagy meg nem számít
-
fpeter84
senior tag
Nekem az az érzésem, hogy a SimpleTime-ban használt getLocalTime valami szoftveres RTC lehet, mert ha berakom plusszba a printLocalTime() -ot rögtön a serial init / wifi csatlakozás közé, akkor szerintem úgy kéne működnie hogy első körben normális a Failed to obtain time, de ha egyszer megtörtént a szinkronizálás, akkor egy reset után ki kéne tudnia írni az időt, de ugyanúgy Failed to obtain time marad...
Azért még kísérletezek vele, hátha rájövök a nyitjára...
-
-
fpeter84
senior tag
Mert Te találtál bármi leírást, példakódot, library-t a témához? Én csak annyit hogy még az IDF-be sincsen rendesen implementálva az egész, nemhogy arduino alá...
Az egyetlen amit találtam az a lenti linken lévő deep sleep, de nekem nem ez a része kellene az RTC-nek, hanem azt szeretném tudni hogy két indítás között mennyi idő telt el...
-
-
fpeter84
senior tag
Jól látom, hogy az ESP32-n még mindig nem sikerült a fejlesztőknek rendesen éleszteni az RTC részt? Időzített felébresztésre ugyan találtam valami szösszenetet, de nekem az idő múlását kellene nyomon követnem - azt kellene tudnom, hogy mennyi idő telt el az előző bekapcsolás óta... Marad a külső RTC hardver, vagy valaki talált már ezzel kapcsolatban valami használható próbálkozást?
Új hozzászólás Aktív témák
Hirdetés
- Csere-Beszámítás! Sapphire Nitro+ RX 7800 XT 16GB GDDR6 Videokártya! Bemutató Darab!
- Csere-Beszámítás! Asus Prime RTX 5060Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Csere-Beszámítás! Asus Tuf RTX 5070Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
- Csere-Beszámítás! PowerColor Red Devil Spectral White RX 9070XT Videokártya! Bemutató Darab!
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
- BESZÁMÍTÁS! Gigabyte H510M i5 11400F 16GB DDR4 512GB SSD GTX 1070Ti 8GB Rampage SHIVA TT 500W
- Csere-Beszámítás! Számítógép PC Játékra! I5 14400F / RTX 4060ti 16GB / 32GB DDR5 / 1TB SSD
- BESZÁMÍTÁS! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest