Forum » Programiranje » programček - nasvet
programček - nasvet
korenje3 ::
Ok zadeva je taka. Imam beaglebone black na katerem bi rad naredil programček za upravljanje GPIO on/off. S tem da bi lahko dostopal do upravljanja preko internetne strani. Na kakšen način bi to lahko najlažje naredil? gre se za avtomatizacijo hiše, tako recimo bi moral web vmesnik brati iz neke baze ali pa spomina? Predvsem se gre recimo za pomnenje ali so rolete dvignjene ali spuščene ipd...
Kaj predlagate, kako naj se lotim zadeve?
Kaj predlagate, kako naj se lotim zadeve?
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Mavrik ::
Vzameš python z enim zelo lightweight frameworkom (kak pyramid + jinja) ter uporabiš sqlite bazo za shranjevanje podatkov. Lahko tudi datoteke.
The truth is rarely pure and never simple.
korenje3 ::
Nek program bi se sicer moral izvajat v ozadju zaradi timerjev ipd. Preko web vmesnika pa bi moral dostopat do nastavitev in upravljanja...
V mislih sem imel C++ za osnovni programček, kak silverlight pa za web vmesnik. Bi to šlo?
V mislih sem imel C++ za osnovni programček, kak silverlight pa za web vmesnik. Bi to šlo?
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
techfreak :) ::
Šlo bi kar želiš, vendar se mi zdi C++ malenkost težji za to nalogo, Silverlight pa je omejen na Windows/Mac brskalnike.
Osebno uporabljam Flask web framework, MySQL bazo ter Python servise, ki vedno tečejo v ozadju ter se odzivajo nad dogodki v bazi / okolju (GPIO - senzorji) ter glede na čas (npr. izklopi ogrevanje stanovanja ob izbrani uri).
Python je veliko lažji kot C++, Flask je lightweight web framework in vsaj meni se zdi lažji od Pyramid, servis, ki se izvaja v ozadju je prav tako lahko napisan v Pythonu, MySQL pa bi tudi moral spodobno delovati na BBB. Namesto Siverlighta pa bi na tvojem mestu vzel HTML + JS kar ti bo omogočalo da do BBB dostopaš tudi preko mobilnih naprav.
Moj setup izgleda takole:
- web interface (Python / Flask)
- API za mobilne naprave (Python / Flask)
- servisi ki dostopajo do baze in komunicirajo z drugimi napravami preko UART (Python)
- baza (MySQL)
in je vse to brez težav delovalo na prvi verziji RPija z 256MB RAMa.
Osebno uporabljam Flask web framework, MySQL bazo ter Python servise, ki vedno tečejo v ozadju ter se odzivajo nad dogodki v bazi / okolju (GPIO - senzorji) ter glede na čas (npr. izklopi ogrevanje stanovanja ob izbrani uri).
Python je veliko lažji kot C++, Flask je lightweight web framework in vsaj meni se zdi lažji od Pyramid, servis, ki se izvaja v ozadju je prav tako lahko napisan v Pythonu, MySQL pa bi tudi moral spodobno delovati na BBB. Namesto Siverlighta pa bi na tvojem mestu vzel HTML + JS kar ti bo omogočalo da do BBB dostopaš tudi preko mobilnih naprav.
Moj setup izgleda takole:
- web interface (Python / Flask)
- API za mobilne naprave (Python / Flask)
- servisi ki dostopajo do baze in komunicirajo z drugimi napravami preko UART (Python)
- baza (MySQL)
in je vse to brez težav delovalo na prvi verziji RPija z 256MB RAMa.
korenje3 ::
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Zgodovina sprememb…
- spremenil: korenje3 ()
korenje3 ::
maš prav. kaj pa perl? perl sem včasih obvladal, medtem ko o pythonu nimam pojma. moti me pa predsem to da so to skriptni jeziki ki se morajo interpretirat.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
blackbfm ::
niso to skriptni jeziki..in zakaj te sploh moti če se mora interpretirat? a ti je lažje prevajat stvar za vsak popravek?
poleg tega, če ti je c jasen, potem ti mora bit python še 3x bolj oz ne bi smel imet nekih problemov z razumevanjem..mal preveč kompliciraš, poslušaj nasvete
poleg tega, če ti je c jasen, potem ti mora bit python še 3x bolj oz ne bi smel imet nekih problemov z razumevanjem..mal preveč kompliciraš, poslušaj nasvete
techfreak :) ::
maš prav. kaj pa perl? perl sem včasih obvladal, medtem ko o pythonu nimam pojma. moti me pa predsem to da so to skriptni jeziki ki se morajo interpretirat.
Perl je primer skriptnega jezika, ki se tudi mora interpretirati.
Sicer lahko uporabiš tudi perl za spletno stran, za servis pa mislim da ni najbolj primeren.
Zgodovina sprememb…
- spremenil: techfreak :) ()
Isotropic ::
Mavrik ::
techfreak :) je izjavil:
Šlo bi kar želiš, vendar se mi zdi C++ malenkost težji za to nalogo, Silverlight pa je omejen na Windows/Mac brskalnike.
Osebno uporabljam Flask web framework, MySQL bazo ter Python servise, ki vedno tečejo v ozadju ter se odzivajo nad dogodki v bazi / okolju (GPIO - senzorji) ter glede na čas (npr. izklopi ogrevanje stanovanja ob izbrani uri).
Python je veliko lažji kot C++, Flask je lightweight web framework in vsaj meni se zdi lažji od Pyramid, servis, ki se izvaja v ozadju je prav tako lahko napisan v Pythonu, MySQL pa bi tudi moral spodobno delovati na BBB. Namesto Siverlighta pa bi na tvojem mestu vzel HTML + JS kar ti bo omogočalo da do BBB dostopaš tudi preko mobilnih naprav.
Moj setup izgleda takole:
- web interface (Python / Flask)
- API za mobilne naprave (Python / Flask)
- servisi ki dostopajo do baze in komunicirajo z drugimi napravami preko UART (Python)
- baza (MySQL)
in je vse to brez težav delovalo na prvi verziji RPija z 256MB RAMa.
Hmm, zakaj bi na embedded napravi laufal nekaj tako težkega kot je MySQL, če imaš na voljo za praktično istim vmesnikom veliko preprostejši in lažji sqlite?
The truth is rarely pure and never simple.
techfreak :) ::
Opisoval sem mojo izkušnjo in pozabil omeniti da MySQL ni najbolj primerna. Osebno sem potreboval MySQL zaradi drugih zadev in sem jo uporabil še za to.
korenje3 ::
vidim da je ta bbb zeloooo počasen pri compajlanju... lahko rečem za faktor 100 počasnejši kot moj pc.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
techfreak :) ::
Definitivno. Mogoče imaš srečo in so iskani paketi na voljo v repozitoriju za distribucijo, ki jo uporabljaš, drugače pa bo trajalo kar nekaj časa.
Sicer pa lahko pogledaš za cross-compiling, kjer lahko s svojim računalnikom prevedeš program za BBB.
Sicer pa lahko pogledaš za cross-compiling, kjer lahko s svojim računalnikom prevedeš program za BBB.
korenje3 ::
a mogoče veš kako narediti dhcp client za eth0 v tem arch linuxu ki pride zraven?
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
techfreak :) ::
Privzeto je nameščen Angstrom Linux in ima nastavljen DHCP za eth0 (prebral na internetu, nimam izkušenj). Preko USBja se lahko normalno povežeš gor?
korenje3 ::
ja preko usbja dela, preko mreže pa noče.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
korenje3 ::
ok sem zrihtal, je manjkala "interfaces" datoteka.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Online bazaOddelek: Programiranje | 2275 (1568) | Yacked2 |
» | PHP vs. ASP.NET vs. $OTHER (strani: 1 2 3 4 )Oddelek: Programiranje | 14082 (11437) | Spura |
» | Izbira programskega jezikaOddelek: Programiranje | 1504 (1159) | ql000 |
» | Baza podatkov - kako in s čimOddelek: Programiranje | 1996 (1672) | OwcA |
» | kaj programirate/delate nasploh?Oddelek: Programiranje | 3193 (2149) | Reso |