Új hozzászólás Aktív témák
-
cog777
őstag
Koszi a leirast, nagyszeru hogy tobb megoldast is tartalmaz a topic.
Nem ismertem a Firebase-t, megnezem.
A cegnel mi New Relic-et hasznaltunk analitikara, de megvaltoztattak az arakat drasztikusan, ezert inkabb sajat megoldas utan nezunk. Ennek kapcsan csinaltam otthon egy prototipust, ahol a legkevesebb webes programozassal inkabb a szenzorokra, szerverre es a kommunikaciora koncentraltam, illetve arra hogy az osszes komponens ingyenes.
-
cog777
őstag
Talaltam egy eleg jo leirast hogyan kell kesz komponensekbol osszerakni egy IoT dashboard-ot sajat szerveren.
Ezzel a megoldassal nincs bedrotozva egy szenzor sem, teljesen dinamikus, tehat egy uj szenzor grafikonjait nagyon konnyel lehet fosszerakni.Dockerben fut, tehat nem piszkitja ossze a host rendszert.
Negy szolgaltatas van:- mosquitto: fogadja az mqtt adatokat es tovabbitja a python scriptnek. Egyelore felhasznalonev/jelszo parost hasznal de at lehet allitani TLS-re kesobb.
- Python script, elofizetese van a mosquittoval. A beerkezo adatokat Influxdb-ben tarolja, ami pont megfelelo analytics-re
- Influxdb
- Grafana framework, InfluxDB-bol olvassa a letarolt adatokat. Nagyon kenyelmes, konnyen lehet drag and drop modszerrel osszerakni a kivant dashboardot, kivalasztani a legordulo listabol az uj szenzorokat. Felbontashoz igazodik a megjelenites, tehat telefonon is jo a megjelenites
Az adatokat a jol bevalt esp8266 kuldi.
-
cog777
őstag
Ennyi ido utan megvilagosodtam
Tehat az eredeti cel hogy ketiranyu kapcsolatot hozzak letre a szerver es az Arduino kozott.
Igy akar a mobiltelefonomrol is be tudok kapcsolni egy LED-et, illetve latom a homersekletet a lakasban.
Egyelore az egyiranyu kapcsolat tovabbfejlesztett valtozata::
A szerveremet felkoltoztettem egy cloud szolgaltatohoz, vasaroltam domaint, ssl certificate-et. (Nagyon elegedett vagyok a szolgaltatoval, rengeteg pelda van az oldalukon mit es hogyan allitsak be)
Az RPi folyamatosan olvassa a homerseklet adatokat az arduino-bol, majd feltolti sima post-al a szerveremre, amely legenerlja a weblapot.
Ez egy "Hello world" szeru nagyon egyszeru megoldas (nincs jelszo keres stb, bar a szerverem https-t tudja mar.):
Szerver python kodja: [link]
Szerver html kodja: [link]
RPi-n futo kliens kod: [link]
Arduino kodja: [link]Lehet kesobb felteszem Bitbucket-ra vagy github-ra.
Kovetkezo lepes.
Most tanulom az MQTT-t es ez egy sokkal jobb megoldas mint a HTML post.
Egyreszt maga az MQTT nagyon rugalmas.
Kell egy kliens (RPi) ami kuldi az adatokat a brokernek, egy broker (RPi) ami tovabbitja az adatokat az en esetemben a felhobe. A felhoben futo szerveren fut egy masik broker ami fogadja az uzeneteket es kell melle egy masik kliens ami feldolgozza a kapott uzeneteket, pl megjeleniti azt vagy adatbazisba teszi stb.De pl a broker kuldhet tobb fele is adatot pl a helyi gepen egy naplozo kliensnek. Tehat broker-broker vagy broker-kliens kapcsolatokat is letre lehet hozni. Igy gyakorlatilag de-centralizalt rugalmas halozatot tudunk letrehozni. Persze akar titkositassal.
Mivel az egyik opensource implementacio, nevezetesen mosquitto-nak van tamogasa c++-ban es python-ban is, igy ezt fogom felhasznalni.
C++-ban irom meg az RPi-n futo klienst csak hogy ezt a temat is erintsem, szerveren a kliens-t pythonban keszitem el.
Ha az Raspberry-n futo kliensnek van "elofizetese" az adatokra, akkor ketiranyu is lehet a kapcsolat, azaz a weblaprol lehet vezerelni az Arduinot.
Most ezen dolgozom. Szerintem max par heten belul jelentkezek egy futo verzioval, legittelem
es megosztom.
Ha van kerdesetek, megprobalom megvalaszolni. -
cog777
őstag
Remelem en is.
Az a baj, ha rakeresek webes technologiakra, rengeteg talalatot kapok a google-ban, viszont nem ismerem fel az elavultakat amelyeket nem kellene mar hasznalni.
Gondolkodom hogy robot epitesben is kellene csinalnom egy topicot. Van egy elkezdett projektem, a motorok sajnos nem megfeleloek, rendelnem kell masikat de legalabb eljutottam valameddig.
Tovabba izgat egy robot sumo verseny, a cegnel paran hevesen erdeklodnek mar, csak ott meg sehol nem tartok, illetve az alkatreszeket valogatom. -
cog777
őstag
Udv!
Azert nyitottam a topikot mert a tema tobb teruletet erint, html5, javascript, python etc. es nem lehet egy technologiat kiemelni, viszont a koztuk levo kapcsolat fontos.
Keszitek egy egyszeru "Hello World" tipusu projectet:
Arduino megmeri a homersekletet, atkuldi a Raspberry Pi-be (a fejlesztes stadiumaban a laptopba) ahol egy futo python script beolvassa az adatot es tovabbitja a szervernek.
A szerver egy dockerben futo python script ami flask-et hasznal, legeneral egy egyszeru weblapot es megjeleniti a homersekletet.Igy barhol a telefonom segitsegevel meg tudom nezni a homersekletet. A szervert nem toltottem fel egyelore a felhobe, csak az otthoni gepemen fut. Ezt majd kesobb tervezem megtenni.
Eddig mukodik a dolog, viszont szeretnem ha a kommunikacio ket iranyu lenne, pl egy LED-et tudnek vezerelni, nyomogomb segitsegevel.
Tehat weblap/nyomogomb -> szerver python script -> kliens python script RPi-n -> ArduinoSzeretnek kerni otleteket, milyen iranyba induljak el. Lehet hogy az altalam hasznalt technologiak segitsegevel konnyeden meg lehet oldani, de nekem csak beagyazott rendszerek programozasarol van tapasztalatom, semmi egyeb, csak most tanulom a python-t, flask-et, html5-ot is.
Itt a szerver kodja:
[link]Generalt weblap(ok):
[link]
(illetve mivel ket helysegrol jovo homersekletet akarok megjeleniteni fuggetlen weblapon, itt van az egyiknek a weblapja. Valoszinuleg kulonbozo lesz a weblapjuk.)
[link]Kliens python kodja ami az RPi-n fut:
[link]Bar az Arduino-n futo kod trivialis (szamomra), a teljesseg kedveert kozze teszem:
[link]Szoval, eddig egyiranyu a dolog, ebbol kellene ket iranyut csinalni. Valahogy a weblapnak ertesiteni kellene a szervert, az pedig a RPi-t hogy az Arduino a LED-et be/ki kapcsolja.
Lattam peldakat ahol az RPi-n futott a szerver, es egyszerunek latszik az LED kapcsolasa, de az altalam vazolt helyzet mas mert a szerver a felhoben fut.
Szivesen veszek barmilyen tanacsot!
Új hozzászólás Aktív témák
Hirdetés
- Anglia - élmények, tapasztalatok
- Norvégia átmenetileg betiltja az áramigényes kriptobányászatot
- Milyen légkondit a lakásba?
- A fociról könnyedén, egy baráti társaságban
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Milyen program, ami...?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- Autós topik
- Sorozatok
- További aktív témák...
- Easun iSolar SMW 11kW Twin Hibrid inverter // Dupla MPPT // BMS // WiFi
- GAMER PC : RYZEN 7 5700G/// 32 GB DDR4 /// RX 6700 XT 12 GB /// 512 GB NVME
- GAMER MSI LAPTOP : 15,6" 144 HZ /// i5 12450H /// 16GB DDR4/// RTX 4050 6GB/// 1TB NVME
- Manfrotto 055 magnézium fotó-videófej Q5 gyorskioldóval
- Sony ECM-W2BT
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- Napi 1000 -ft tól elvihető RÉSZLETFIZETÉS BANKMENTES MSI Cyborg 15 A13VE
- Huawei Nova Y70 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen,
- Samsung Galaxy A06 128GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged