Hirdetés

2024. április 27., szombat

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#1451) Gergosz2 válasza lajbi30 (#1450) üzenetére


Gergosz2
veterán

:D Nájsz.

Na akkor ideje lenne tisztázni meg , hogy most mit is akarsz , meg milyen alkatrészeid vannak pontosan mert kezd barkochbába átmenni ez az egész.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1452) lajbi30 válasza Gergosz2 (#1451) üzenetére


lajbi30
csendes tag

ok! Bocsi!

Képek alapján DS1307 (Tiny RTC I2C) ez van ráírva. Arduino uno, 4-es relé panel.
A reléket szeretném ídőre vezérelni.
1-es relé bekapcsol 8:00-kor lekapcsol 21:00-kor
2-es relé bekapcsol 9:00-kor lekapcsol 20:00-kor
STB,STB

(#1453) Gergosz2 válasza lajbi30 (#1452) üzenetére


Gergosz2
veterán

na várjunk! Nem sorba kapcsolnak be és sorba kapcsolnak ki?

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1454) lajbi30 válasza Gergosz2 (#1453) üzenetére


lajbi30
csendes tag

Szerintem ez már részlet kérdés,mert ha sikerülne egy működő kódot írni,akkor az időt már úgy variálom ahogy akarom. Gondolom én!

(#1455) dave0825 válasza Gergosz2 (#1453) üzenetére


dave0825
őstag

Szerintem de, csak már összekeveredett. :D

(#1448) zka67: nem, dehogyis, ezt csak lajbi30-nak mutattam, hogy beállítja így, és utána, amikor rátölti a kész programot, akkor már ezt nem kell beleírnia. :) Én beállítottam, és a hosszú, kész programomban természetesen kikommenteltem, hogy ne állítsa be minden indításnál. Azért ez az idő van amúgy bent, mert utoljára talán akkor állítottam be.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1456) lajbi30 válasza dave0825 (#1455) üzenetére


lajbi30
csendes tag

Nem keveredtem össze:)
Leírtam mit szeretnék csak éppen hülye vagyok hozzá!:) Ezért kérem a segítségeteket.

[ Szerkesztve ]

(#1457) dave0825 válasza lajbi30 (#1456) üzenetére


dave0825
őstag

Na, akkor szerintem a legegyszerűbb, ha így indulsz el:
Töltsd le ezt a library-t, és másold be oda, ahova az Arduino-t telepítetted (alapesetben C:\Program Files (x86)\Arduino\), ott a libraries mappába, kicsomagolva mappástól, tehát a DS3231_TEST mappát. Ezután indítsd újra az Arduino programot (vagyis zárd be, és nyisd meg újra), és a Fájl-->Minták között megtalálod a DS3231_TEST programot, állítsd be a setup()-on belül a mostani időt, majd töltsd rá a programot (számolj rá egy 10-15mp-et a mostani időre, míg rátölti, és azt állítsd be).
Ezután nyiss egy új sketch-et, és ezt írd bele (természetesen a relék nevét te írd át, az gondolom menni fog, nem tudom, hogy mire szeretnéd, vagy hogy csináltad). Szerintem így jónak kell lennie, de azért más is nézze át, nem akarom tönkretenni semmidet. :B
Úgy csináltam, hogy 8 és 16 óra között (8-kor már be, egészen 15:59:59-ig) kapcsol be az 1-es relé (relPin1)majd 16 és 8 óra között pedig kikapcsolva van, a 2-es relé 9 és 17 között be, 17 és 9 között ki, és így tovább 4 reléig (ha működik így, akkor kiegészítve a többi reléddel már neked is menni fog ez alapján).
Amúgy azért írtam, hogy szerintem összekeveredtél, mert most azt írtad, hogy az 1-es 8-kor be, 21-kor le, 2-es 9-kor be és 20-kor le...Korábban meg azt, hogy az 1-es 8-kor be, 16-kor le, 2-es 9-kor be, 17-kor pedig le...Tehát így 8 órával eltolva. Most legutóbb meg valahogy vagy elírtad, vagy már máshogy szeretnéd... :)

(#1458) Gergosz2: nekem ds3231-em van, viszont ds1207-es library-val is ment nekem (ha jól emlékszem, vagy neten láttam valakinél, hogy nem azt használt hozzá, ami a library-ban volt), ezért gondoltam

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1458) Gergosz2 válasza lajbi30 (#1456) üzenetére


Gergosz2
veterán

Parancsolj: [link] (db) [link] (drive)

Ez kell hozzá : [link]

(#1457) dave0825

Nem biztos, hogy D1037-tel menni fog. De ezt már én is linkeltem neki.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1459) Gergosz2 válasza dave0825 (#1457) üzenetére


Gergosz2
veterán

Lehet, sajnos 100%-ra nem tudom állítani, hogy tényleg jó-e hozzá, mert mint már írtam DS3231-em van. De ezzel tökéletesen elégedett vagyok :)

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1460) lajbi30 válasza Gergosz2 (#1458) üzenetére


lajbi30
csendes tag

Arduino: 1.6.5 (Windows 7), Board: "Arduino Uno"

In file included from sketch_aug20b.ino:1:0:
D:\Games\arduino-1.6.5-r2\libraries\DS1307/DS1307.h:10:24: fatal error: WConstants.h: No such file or directory
#include <WConstants.h>
^
compilation terminated.
Hiba a fordítás során.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

(#1461) Gergosz2 válasza lajbi30 (#1460) üzenetére


Gergosz2
veterán

? Jól másoltad be a library-t?

Csak az almappát másold be.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1462) lajbi30 válasza Gergosz2 (#1461) üzenetére


lajbi30
csendes tag

Nagyok nagyok vagytok! Alakul! Tök izgulok:)
Beállítani nem tudom a pontos időt. Valamiért elfogadta a DS3231 library-t.
A kód is fel ment hiba nélkül, de a relék nem kapcsolnak.

#include <DS3231.h>
#include <Wire.h>

DS3231 Clock;
bool Century=false;
bool h12;
bool PM;
byte ADay, AHour, AMinute, ASecond, ABits;
bool ADy, A12h, Apm;
byte year, month, date, DoW, hour, minute, second;

//EZEKET ÍRD ÁT, NEM TUDOM, HOGY HOVA VANNAK KÖTVE A RELÉK, MEG MI LEGYEN A NEVE!
int relPin1 = 6;
int relPin2 = 7;
int relPin3 = 8;
int relPin4 = 9;

void setup()
{
Wire.begin();
pinMode(relPin1, OUTPUT);
pinMode(relPin2, OUTPUT);
pinMode(relPin3, OUTPUT);
pinMode(relPin4, OUTPUT);
}

void loop()
{
int hour;
hour=Clock.getHour(h12, PM);

if (hour >= 00 && hour < 23)
{
digitalWrite(relPin1, HIGH); // 1-es relé 8 és 16 óra között kapcsol be
}
else
{
digitalWrite(relPin1, LOW); // 16 és 8 óra között ki van kapcsolva
}

if (hour >= 0 && hour <23)
{
digitalWrite(relPin2, HIGH);
}
else
{
digitalWrite(relPin2, LOW);
}

if (hour >= 0 && hour < 23)
{
digitalWrite(relPin3, HIGH);
}
else
{
digitalWrite(relPin3, LOW);
}

if (hour >= 0 && hour < 23)
{
digitalWrite(relPin4, HIGH);
}
else
{
digitalWrite(relPin4, LOW);
}

}

[ Szerkesztve ]

(#1463) Gergosz2 válasza lajbi30 (#1462) üzenetére


Gergosz2
veterán

de Istenem, linkeltem nemrég egy DS3231-est arra azt írtad nem jó. Mosta akkor mi van??? Lehet elfogadta,lefordult hiba nélkül , csak nem olvassa ki rendesen az időt.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1464) lajbi30 válasza Gergosz2 (#1463) üzenetére


lajbi30
csendes tag

Van telefon számod?
Vagy egy címed?

(#1465) Gergosz2 válasza lajbi30 (#1464) üzenetére


Gergosz2
veterán

Igen van mindkettő de most ezért nem hiszem, hogy meg kéne adnom neked.

Egyébként kipróbáltad a kódot amit küldtem? Library-t bemásoltad? Ha igen akkor utána lépj ki az Arduinoból és indítsd újra.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1466) lajbi30 válasza Gergosz2 (#1465) üzenetére


lajbi30
csendes tag

OK!
DS3231 bemásólva, DS3231 Test felment rendesen,serial monitoron fut,de nem találom a setup-ot. Vagy azt be kell írni a serial monitoron?
A kód is fel ment hiba nélkül,de nem kapcsolnak a relék. Jól van összerakva,mert tesztelni tudom a reléket.

(#1467) Gergosz2 válasza lajbi30 (#1466) üzenetére


Gergosz2
veterán

de ne azt. Azt írtad, hogy DS1307-ed van.

Akkor ezek szerint járj el: [link]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1468) lajbi30 válasza Gergosz2 (#1467) üzenetére


lajbi30
csendes tag

HÚ!! Nem egyszerű!
DS1307 bemásolva,beállitva.
Kód bemásólva,elfogadta:)
Utcsó kérdés a nagy köszönöm elött. Mit kell átírni, ha változtatni szeretnék valamelyik relé kapcsolási idején?

(#1469) Gergosz2 válasza lajbi30 (#1468) üzenetére


Gergosz2
veterán

De most kapcsolgat?

case 8:
set_relay(1, 0);
break;

Ezt. 8 ugye azt jelenti, hogy 8 órakor az 1-es relét bekapcsolja. A set_relay(1, 0); úgy lett megírva, hogy az összes előtte lévő relét felnyomja. Szóval, set_relay(4, 0); esetén az első 4-et felnyomja, a set_relay(4, 1); pedig lenyomja.

Ha mind a nyolcat akaor kapcsolni akkor még adsz hozzá több case-t és megfelelően paraméterezed a set_relay() függvényt.

Azért ilyenre írtam, mert azt írtad, sorban akarod kapcsolgatni őket.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1470) lajbi30 válasza Gergosz2 (#1469) üzenetére


lajbi30
csendes tag

Most mind a 4 világit.

(#1471) Gergosz2 válasza lajbi30 (#1470) üzenetére


Gergosz2
veterán

melyik 4 pinre kötötted őket?

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1472) lajbi30 válasza lajbi30 (#1470) üzenetére


lajbi30
csendes tag

Valami nem jó.
16:00-kor le kellett volna kapcsolni az első relének,de ezt nem tette meg:)
Ha átírom
case 16:
set_relay(1, 1);
break;

16-ot 15-re,akkor sem kapcsol le.

(#1473) lajbi30 válasza lajbi30 (#1472) üzenetére


lajbi30
csendes tag

Digital 6,7,8,9

(#1474) Gergosz2 válasza lajbi30 (#1473) üzenetére


Gergosz2
veterán

[link]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1475) gyapo11 válasza gyapo11 (#1437) üzenetére


gyapo11
őstag

Innen letöltheted.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1476) gyapo11 válasza lajbi30 (#1464) üzenetére


gyapo11
őstag

Van telefon számod?

Ha valaki beszélgetni szeretne arduinoról, fölajánlom teamspeak szobámat, csak egy portable teamspeak kell hozzá (windowsra van nekem), amit nem kell telepíteni, meg egy nicknév.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1477) nemethbuda válasza Danex (#1393) üzenetére


nemethbuda
csendes tag

Így sem működik. :(

(#1478) lajbi30 válasza nemethbuda (#1477) üzenetére


lajbi30
csendes tag

Hali mindenki!

Megtudná nekem mondani valaki,hogy miért van az,hogy PC USB-rő tökéletesen működik az arduino,de kűlső tápról csak kínlódik. USB 5 volt-ról szépen felkapcsólnak a relék (4db),de külső tápról 2.relé után már csak búgnak és nem tudnak felkapcsólni. Lehet akár 12 volt is.

(#1479) dave0825 válasza lajbi30 (#1478) üzenetére


dave0825
őstag

Nem lehet, hogy 500mA-nál gyöngébb a külső tápod? Ha nem, akkor előfordulhat, hogy ugyanabban a cipőben jársz, mint én: nekem egy infra-vevő + jó pár led nem akar működni külső tápról egy lm2596-os buck konverterrel.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1480) Gergosz2 válasza dave0825 (#1479) üzenetére


Gergosz2
veterán

jópár led mit takar?

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1481) dave0825 válasza Gergosz2 (#1480) üzenetére


dave0825
őstag

120 darabot. A betűs órámról van szó amúgy, tvamos megoldása sem működött sajnos. :( Ha már itt tartunk (megint :B), akkor valaki tudna javasolni valamit?

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1482) lajbi30 válasza dave0825 (#1481) üzenetére


lajbi30
csendes tag

Nekem most megy rendesen! 12 volt és 800 mA

(#1483) artiny


artiny
őstag

Helotok

Ezek kozul melyiket rendeljem?

1

2

3

4

5

ezek mukodhetnek az arduino progival ?

[ Szerkesztve ]

(#1484) gyapo11 válasza artiny (#1483) üzenetére


gyapo11
őstag

Valószínűleg mindegyik működik vele. Szemre nekem is ilyen unom (mikrousb csatlakozós) és nanom van ugyanezzel az usb chippel, és tökéletesen működik, bootloader benne van gyárilag.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1485) s3toraph


s3toraph
senior tag

Sziasztok!

Építenék egy kis otthoni monitorozó rendszert, ehhez kérnék tanácsot. Kezdő vagyok a témában.

A terv az, hogy egy lakásban a helyiségek hőmérsékletét figyelem hőszenzorokkal. Ezen adatokat kellene real time megjeleníteni PC-n. Majd ezután továbbfejlesztve, adatbázisban eltárolni a begyűjtött adatokat (mindezt azért, hogy egy weboldalra feltöltve, neten is meg lehessen nézni bármikor bárhonnan, hol mennyi a hőmérséklet, ill. visszamenőleg grafikonon mondjuk egy hét távlatra, szobánként). Szobánként 1 vagy több hőmérő. Ezt mondjuk egy router és VPN segítségével megoldani.
Aztán még lehet hogy bővíteném, mondjuk páratartalom méréssel, ajtónyitás érzékelővel.
Fűtésszabályozás, bojlervezérlés, stb. nem lesz.

Első körben kábelesen csatlakoznának az érzékelők. Ha ez működik, utána továbbfejleszteni vezeték nélküli megoldással, wi-fi vagy bluetooth.

Nem tudom, melyik vonalon induljak el, raspberry vagy arduino?
Melyiket könnyebb kezelni, megtanulni?
(MSP430G2-vel próbálkoztam de az nekem túl bonyolult.)
Úgy látom mindkettőhöz van elég sok magyar forrás (angolom még nem elég jó).

Érdemes megvenni egy komolyabb boardot amin van eleve mondjuk wi-fi modul? Vagy elég egy közepes lap, és később shildek hozzá? Melyik a költséghatékonyabb?

Régi rendszerben: 59 + / 0 - | A legújabb rendszerben (2020.02.28-ig összegyűlt): 162 + / 0 -

(#1486) inf3rno válasza s3toraph (#1485) üzenetére


inf3rno
nagyúr

Ha vezeték nélkülit akarsz, akkor mindenképp kalkulálj vele, hogy a wifi sokat fogyaszt. Inkább rádiósan érdemes megcsinálni, vagy csak néha-néha sync-elsz wifin keresztül egy központi adatbázissal. Szerintem a kütyüre csak egy sima event log-ot tegyél, ami kb így néz ki: timestamp, sensor-id, sensor-data. Ezeket bizonyos időközönként elküldöd az adatbázisnak, amiben egy központi event storage-t csinálsz. Oda szépen lemented az eseményeket, meg a szenzor jellemzőket. Tegyél esemény hozzáadásra adatbázist trigger-t, ami projekciókat hív meg. A projekciókkal transzformálod az eseményeket valami szolgáltatás specifikus formába, pl hogy mennyi volt a napi átlaghőmérséklet, vagy hányszor nyitották a hónapban az ajtókat, stb.. Ha új projekciót adsz hozzá, akkor az összes event-en végigmehetsz visszamenőleg, ha úgy gondolod. A lényeg, hogy a nyers szenzor adat benne legyen egy event storage-ben, onnantól meg már kedved szerint alakíthatod, hogy a webszolgáltatás miről mekkora részletességű infot ad.

Több dolgot is csinálhatsz. Ha netről látni szeretnéd az adatokat, akkor dyndns-el csinálhatsz egy otthoni HTTP szervert, amit majd állandóan csesztetni fognak a hackerek. Egy nodejs-nek azt mondják legalább 64MB memória kell, de szerintem apache + PHP is kb ugyanott lennél. SQL adatbázisnál valszeg postgresql-el tudnád megoldani a kevés memóriát. Sqlite is keveset foglal, de azzal nincs tapasztalatom, és amúgy sem igazán szeretem az olyan adatbázist, ami nem daemon-ként fut. Szóval ha webszervert és adatbázist akarsz, akkor legalább 256MB memória kell, és legalább 1.2GHz-es processzor, és ez tényleg valahol az alja lehet. Én most próbálok majd kihozni két 128MB, 0.8GHz-es gépből egy adatbázist és egy webszervert, de nem vagyok benne biztos, hogy az adatbázis részét meg tudom oldani ennyiből. Valszeg az is inkább csak event log lesz.

A másik lehetőség, hogy veszel egy domaint meg egy hosting-ot, aztán annak az adatbázisában csinálod meg az event storage-edet, amibe bizonyos időközönként az itthoni kütyüről feltöltöd az adatokat. Ez egy sima HTTP POST-al mehet, a lényeg, hogy jelszavas legyen. Ha lehet, akkor érdemes TLS titkosítani is és legalább valami ingyenes gagyi certificatet beállítani, különben bárki képes lesz feltolni adatot, ha olyan kedve van. Ha ez nem számít, akkor mindegy. Elvileg lehetséges beállítani úgy is, hogy csak bizonyos helyről fogadjon titkosított adatot a szerver, de ebbe nem folytam bele. Van olyan lehetőség is, hogy digitálisan aláírod az adatcsomagjaidat, aztán FTP-vel felteszed a szerver egy mappájába, ami webről nem hozzáférhető. Ha stimmel a digitális aláírás, akkor feldolgozod a fájlt, ha meg nem, akkor eldobod. Így még ha megszerzik az FTP jelszót, akkor sem tudnak mit csinálni, mert a szerver automatikusan törli a feltöltött fájljaikat.

Nagyjából ennyi, ha a kütyü lesz a webszerver meg az adatbázis is, akkor szerintem valami komolyabb rpi, ha meg csak adatot gyűjt, és sync-el a szerverrel, akkor meg arduino is elég lehet. Nekem legalábbis ez jött le, de nincs sok tapasztalatom ezekkel a kütyükket. Megtanulni szerintem egyiket sem lehet bonyolult. A költséghatékonyságot meg csak te tudod kiszámolni a fogyasztásból és az esetleges domain és szerver bérlésből.

[ Szerkesztve ]

Buliban hasznos! =]

(#1487) stopperos válasza s3toraph (#1485) üzenetére


stopperos
senior tag

Raspberry lesz erre jó, arduino kevés lesz. Kábelesen csatlakozzon minden, biztosabban működik. Logouton van írásom erre.

"What is Linux? I only joined because of the the penguin..." - meanwhile in the linux community. http://9gag.com/gag/arpZGOy

(#1488) s3toraph válasza inf3rno (#1486) üzenetére


s3toraph
senior tag

Közben írtam a másik topicba, hosszú inkább csak linekelem.

Alapvetően az eszköz csatlakozhatna LAN-on is. Mobilitás miatt wi-fi jobb lenne, de ez majd eldől. Tápellátást adapterröl kapna, folyamatosan. Magukat az érzékelőket kellene majd vezeték nélkülivé tenni, hogy ha működik a rendszer, utána megszabaduljak a kábelezéstől. Ha egy lakáson belül az RF olcsóbb, és megbízható, akkor az is jó megoldás lehet. Az érzékelőkhöz nem tudom, hogyan lehet akár RF, akár más vezeték nélküli adó modult kapcsolni. Valamint, ezek tápellátása (külön az érzékelő, ill. érzékelő + modul) hogy oldható meg? Csak hálózati adapterrel? Mondjuk ha elemes megoldással (láttam ilyen 2 db ceruzaelemes telepet vagy mit, mint energia forrást) nem bír ki legalább 1 hetet, akkor marad az állandó hálózati tápellátás.

A linkelt hozzászólásomban lévő megoldás nem elég biztonságos?

Illetve, én úgy gondoltam, hogy maga a megjelenített weboldal is legyen tárolva az SD kártyán, és a böngészőben az adott dyndns-es url-re magát a weboldal felületét kapom meg, bejelentkezés után. A böngészőben amit látok hőmérsékleti adtok, azoknak 20mp-enként kellene frissülni, mindig az új aktuális mért átlagértékkel, hogy real time legyen. Ha diagramot akarok nézni, akkor meg kiválasztom az időintervallumot, és felrajzolja.

Ez így mennyire hangzik életképesnek?

+ (#1487) stopperos:
Hmm.... ezek szerint, az adatbázis és a számítások miatt, kevés egy arduino.
Kábeles a legbiztosabb, viszont ha kényelmi szempontokat és esztétikumot is nézek (mint otthoni rendszer, szerintem erre is figyelnem kellene), akkor jobb lenne vezeték nélküli. Vagy marad a kábelcsatorna, ami itt nincs. (Persze a vezeték nélküli drágább is, ami ellene szól).
Valamint, egy hőmérő szenzornak mekkora a max. megengedett kábelhossz, ahol még biztosan nem változik a jel "útközben", nem kell erősítés, és nem lesz lényeges késleltetés?

[ Szerkesztve ]

Régi rendszerben: 59 + / 0 - | A legújabb rendszerben (2020.02.28-ig összegyűlt): 162 + / 0 -

(#1489) gyapo11 válasza stopperos (#1487) üzenetére


gyapo11
őstag

Eléggé hasonló a feladat, mint a kazánvezérlős, csak talán több a szenzor, meg nem kell kapcsolgatni a kazánt, ami 2 sor az arduinonak. Ha DS18B20-ból 10 mehet egy buszra, és ez egy pint foglal, akkor ezzel megoldható a hőfokok beolvasása, marad még bőven port a páratartalomra. De néhány plusz arduino soros buszra kötésével ez sokat bővíthető, az egész utcát el tudja látni.
Tehát itt megint az adatok kezelése a feladat. Ezt nem lenne érdemes lokálisra korlátozni, legyen neten. Erre jó a blynk-féle külső serveres megoldás, valami IoT-s megoldást is láttam, ezekre valószínűleg lehet találni példát is arduinora. De net kezelés kell arduinora, ami már nem olyan egyszerű, hamar befullad, mert elfogynak különböző helyek, csak a nagyon egyszerű feladatokra alkalmas.
Ezért jöhet szóba a pc bevetése, ahova az arduino át tudja adni soros porton az adatokat, onnantól a pc föl tudja tölteni serverre, és már kint is van a neten. Itt fölmerül a frissítés gyakorisága, mert a pc-nek bekapcsoltnak kell lenni az adatkezeléshez. Gondolom egy raspi is jó, soros portot kezel, és wputtal föl tudja tolni serverre.
Feltöltés után a serveren futó php script betölti adatbázisba, innentől villámgyors lesz az adatok kezelése, megjelenítése.
A megjelenítés ha nem gyári programmal történik (pl. blynk), akkor php-html-javascript, lényeg, hogy böngészőben legyen látható. Vannak kész libraryk, pl. jquery, processing.js, raphael.js stb., ezekkel bármilyen képernyőkép előállítható, pl. lakás alaprajz, benne a hőfokok vagy műszerek képe, csak a fantázia szab határt.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1490) inf3rno válasza s3toraph (#1488) üzenetére


inf3rno
nagyúr

Én nem szoktam szerver üzemeltetéssel foglalkozni, ezért nem tudom, hogy mennyire biztonságos. Nekem sokkal kényelmesebb, ha más csinálja, én meg csak felteszem rá a kódomat. Annyit tudok, amikor dyndns-el próbálkoztam pár éve, akkor napi szinten próbálták feltörni a szervert. A kóddal kapcsolatban ha titkosítot az oldal, akkor egy basic http auth elég a beléptetéshez, és mivel csak GET-es kérések vannak, így kb nulla az esélye, hogy alkalmazáson keresztül feltörik. Azért szarvas hibákat ne kövess el, validáljad a bejövő paramétereket, meg ne tedd bele őket http header-be (aka header injection), ha az adott nyelv erre nincs felkészítve, és így tovább.

Szerintem ne szaladj annyira előre. Koncentrálj inkább arra, hogy vezetékesen meglegyen, aztán csak utána kezdj el foglalkozni azzal, hogy vezeték nélkül meg tudod e csinálni. A szakdogád szempontjából szerintem lényegtelen, hogy vezetékes e vagy sem, és most az számít, hogy időre meglegyen.

20 sec-re talán elég egy sima polling is, és nem kell sse vagy websockets, tesztelni kell, hogy mennyit bír a kütyü. Teljesen jó, ha mindent sd kártyára mentesz, és a kütyü csinálja a szervert is. Ha nem kell komoly funkcionalitás bele, ahogy írod, akkor felesleges külön adatbázis meg ilyesmi neki. Ha csak annyit csinálsz, hogy a fájlba mentesz, és a kliens oldalon parsolod a txt fájlokat és rajzolod ki a grafikonokat mondjuk d3.js-el, akkor menni fog arduinoval is. Ha nem csak napi és havi szintű lekérdezések vannak, hanem nagyon meg van bonyolítva a dolog, akkor kellhet egy adatbázis, de én úgy látom, hogy ekkora bonyolultságnál nincs szükséged rá, elég a fájlrendszer. Azt viszont nem tudom megítélni, hogy egy arduino elbír e egy log fájlt meg egy webszervert. Nekem eddig az jött le, hogy igen.

Buliban hasznos! =]

(#1491) inf3rno válasza gyapo11 (#1489) üzenetére


inf3rno
nagyúr

Ahm, szóval ezek szerint az arduino gyenge webszervernek.

Hmm [link] itt azt írják, hogy a titkosításra nem elég. Akkor marad az RPI vagy külön webszerver.

[ Szerkesztve ]

Buliban hasznos! =]

(#1492) gyapo11 válasza inf3rno (#1491) üzenetére


gyapo11
őstag

Megírtam egy led kapcsolgatós példa címét kb. egy hete, egy formot ad, lehet kapcsolgatni a három ledet, és már nem fért bele a nanoba, mert 2000 byte fölött volt a változók helyigénye. Lehet próbálkozni eepromba írni a weboldal szöveges részét, és onnan kiolvasni, esetleg sd-kártyát, de az is megeszik sok helyet.
Vagyis lehet server, de elég hamar elfogynak a helyek. Lehet megát használni, ott van két soros port és több mem, de én nem bíznám arduinora a feladatot, ha van esély a bővítési igényre. Az meg pláne gond, ha olyan az oldal, hogy többen is néznék egyszerre a netről. Titkosítás is elég számításigényes, nem arduinonak való. Raspit nem ismerem közelebbről, de ha videót lejátszik, meg linux fut rajta, akkor az már sokmindent meg tud oldani, teljesen más kategória.
A mérési adatok begyűjtésére és pc-nek átadásra tökéletes, olcsó, kis fogyasztás, egyszerűsége miatt átlátható és üzembiztos, akár egy rendszeres reset is megoldható, 2 sec múlva újra működik, könnyen és olcsón bővíthető a rendszer pl. rs485 busszal max 30 eszközig, 1000 m-ig.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1493) inf3rno válasza gyapo11 (#1492) üzenetére


inf3rno
nagyúr

Akkor mégis igaz. Én nem hittem el, hogy tényleg csak kb memóriák vannak az arduinoban. Az rpi-ben 256 meg talán 512 mega is van. Ennyivel esélytelen szerintem webszervert futtatni. Egy nodejs is megeszik 64MB-ot. Én két 128 megás kütyün próbálok majd adatbázist meg webszervert fellőni, de abban is kételkedem, hogy elmegy e bármilyen normális adatbázis (nem sqlite) egy ilyen szerveren.

[ Szerkesztve ]

Buliban hasznos! =]

(#1494) s3toraph válasza inf3rno (#1490) üzenetére


s3toraph
senior tag

A webböngészőben a kinyert adatokat lehetne megnézni, de pl. funkciókat lehetne ki-be kapcsolni is, pl. hogy szobánként ki-be lehetne kapcsolni a monitorozást. Tehát lenne vezérlés is.
Egyelőre PC-re kötve futna, aztán ha működik, netes elérést megvalósítása is jöhet, addig még majd kiderítem hogy hogyan lehet biztonságosan megoldani, legegyszerűbben.

Persze én is úgy gondolom, hogy előbb működjön vezetékesen. Aztán majd meglátom, lesz-e továbbgondolva, meg tudom-e oldani.

Hardverben nagyon nagy az eltérés a pi javára, de azért kérdezgetek hogy nehogy ágyúval verébre eset legyen.

(#1492) gyapo11 :

Még nem nagyon érkeztem visszaolvasni a topicban, igyekszem. :B

Úgy szeretném megoldani a dolgot, hogy önálló rendszer legyen. Ne a PC tároljon, számoljon, mert ahhoz üzemelnie kell. Önállóan működjön az eszköz. Amitöl függni fog, az a router a netkapcsolat biztosítása miatt, de azt sosem kapcsolom ki. Ill. az esetleges áramkimaradások, de nálunk nem szokott lenni, valamint lehet hogy meg tudom majd azt is oldani, mondjuk power bank-rol.

Úgy látom, az adatbázis, számítási igények miatt a pi lenne a jó vonal nekem.

[ Szerkesztve ]

Régi rendszerben: 59 + / 0 - | A legújabb rendszerben (2020.02.28-ig összegyűlt): 162 + / 0 -

(#1495) Nagytoll


Nagytoll
senior tag

Hello! Egy uno r3 másolatra seretnék bootloadert rakni usbasp-vel, drivert telepítettem, de az arduino IDE ezt a hibaüzenetet adja, mit rontok el? :F windows 10 van most feltelepítve, ez gondot okozhat?
Hibaüzenet: Arduino: 1.6.5 (Windows 8.1), Board: "Arduino Uno"

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

Error while burning bootloader.

avrdude: error: programm enable: target doesn't answer. 1

avrdude: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

(#1496) gyapo11 válasza inf3rno (#1493) üzenetére


gyapo11
őstag

Olyan az arduinonak a webserver mint amikor kiskanállal ásod ki az emésztőt. Ki lehet? Ki. De nem a kiskanál a megfelelő eszköz. És ha kicsit is köves a talaj, akkor már nem fog menni. A webserver is pillanatok alatt ki tudja nőni az arduinot. Amíg egy 10-20 soros html forrást kell generálni, addig még csak-csak, de utána kifullad. Egy pár szenzorig, egyszerű kijelzésig jó, ha komolyabb kell, akkor felejtős. Az meg, hogy a serverről fontokat, javascripteket, flasheket is beszív a böngésző végképp nem játszik. Az arduino egy mikrovezérlő, egychipes cucc az adott memóriákkal, ráadásul nem is assemblyben kódolunk rá kihasználva maximálisan a hw-t, ráadásul librarykat öntünk a nyakába, amit valaki összelapátolt valahogy működőre jó esetben.

Egy internet szolgáltatónál egy account php értelmezője kap mondjuk 1 GB ramot, és van mögötte egy linux meg egy desktop géphez hasonló teljesítményű processzoridő. Ezt szoktuk meg, hogy ez egy server, 0.02 sec oldalgenerálási idővel. Ennél még a raspi is lassúbb jóval, de az arduino meg csak álmodozhat ilyenekről.
Nem volt még a kezemben raspi, nem is láttam azon futó weboldalt, nyilván annak is megvannak a jóval tágabb határai, de profi kinézetet normális válaszidőkkel csak desktop gép sebességgel és memóriával lehet csinálni, vagy többel.

Úgyhogy én továbbra is azt javaslom, hogy az arduinot csak végeszköznek használjátok, ami mér, beavatkozik, kapcsolatot tart leginkább soros porton.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1497) gyapo11 válasza s3toraph (#1494) üzenetére


gyapo11
őstag

Úgy szeretném megoldani a dolgot, hogy önálló rendszer legyen. Ne a PC tároljon, számoljon, mert ahhoz üzemelnie kell. Önállóan működjön az eszköz.

Az a kérdés, mi az önálló működés. Ha a szenzorok kiolvasása, a feltételek szerinti beavatkozás, akkor önálló net nélkül is. Ha a megjelenítés is, akkor már jönnek a határok. Ha adatbázis is, akkor el se tudom képzelni. Sd-kártyára nyilván jó sok mérés elfér, de amíg abból egy szűrt megjelenítés lesz, ha egyáltalán ki tudja számolni, az egy fél óra. Pedig ebben még számolás sincs, csak végig kell olvasni az adatokat, és a feltételeknek megfelelőeket megjeleníteni.
A max amit el tudok képzelni működőnek az a routeren át egy serverre fölmásolni, nem tudom hogy kell ezt megírni, én még csak az egyszerű html oldal példákat láttam.
Ha egy hőfokot átszámolunk egy byte-ba, és 10 hőmérő van, 10 percenként mérünk, az napi 1440 byte. Egy év után ez 525600 byte, és ebből vagyunk kíváncsiak, hogy mikor volt valahol 17 foknál kevesebb, és Fahrenheitben kellene kijelezni. Ez sqlben kb 1 sor meg egy while a php scriptben, ami kinyomja táblázatos formában a weboldalra az eredményt, és mire fölengedjük az entert már ott van. Még a raspiről se tudok elképzelni elfogadható válaszidőt.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1498) Nagytoll válasza Nagytoll (#1495) üzenetére


Nagytoll
senior tag

Ha nem kapcsolom rá az usbasp-re az arduinot akkor is ezt a hibát kapom :(. Valakinek van ötlete?

(#1499) gyapo11 válasza Nagytoll (#1498) üzenetére


gyapo11
őstag

Annyi lenne az ötletem, hogy szerezz egy bootloaderes arduinot kölcsönbe, és azzal égesd be a bootloadert. Így a szokásos usb kábellel meglesz a kapcsolat a bootloaderessel, onnan meg 4-5 szál vezeték kell a másikba, és a kettő között már a sketch intéz mindent.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1500) inf3rno válasza gyapo11 (#1497) üzenetére


inf3rno
nagyúr

[link] Nagyjából az jön le, hogy RPI nagyon jó statikus tartalmak kiszolgálásában. Ha adtbázis meg komolyabb lekérdezések vannak, akkor meg hajlamos elfogyni a memória.

@s3toraph

Szerintem ennyi info alapján nem tudjuk pontosan megítélni, hogy mire kell tenni a webszerveredet. El kellene tervezned, hogy pontosan milyen lekérdezéseket fog támogatni a rendszer. Ezeket előre megírni teszt adatokkal, és tesztelni, hogy mekkora a memória igényük, cpu használatuk, stb. Utána te is meg fogod tudni mondani, hogy egy RPI a maga fél giga memóriájával alkalmas e a feladatra.

Nekem az jött le, hogy csak napi meg havi szintű adatsorok kellenek, azt statikus csv fájlokból is ki lehet szolgálni, nem kell hozzá sem adatbázis, sem szűrés vagy query. Egyszerűen minden szenzornak csinálsz egy mappát, amiben 1-1 fájlban egy adott nap mérései lesznek, plusz mentesz heti és havi összesítőkbe is adatot nagyobb időközönként. A vezérlésnél is az jött le, hogy semmi komolyabb dolog nem lesz benne. Szóval én nem érzem úgy, hogy a webszerver része ne lenne megvalósítható egy apró gépen, és ehhez külön szervergép kellene. Persze, ha komolyabb szűrés kell a logokban, és muszáj adatbázisba tenni az egészet, akkor az már más. Ebben az esetben érdemes lenne megpróbálni, hogy egy ilyen célra kihegyezett postgresql hogyan teljesít egy pc-n. Ugyanúgy memória használat, stb... terén. Én azt hallottam, hogy 128 mega ramon elfér egy linux mellett egy postgresql. Ezen kívül vannak kis méretű nosql adatbázisok is, de azok nem hiszem, hogy query-ben komolyat tudnának. Konkurrens kérés sem lesz a szerver felé sok, szóval ez is inkább azt támasztja alá, hogy nem kell komoly vas neki.

[ Szerkesztve ]

Buliban hasznos! =]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.