» »

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?
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
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?
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
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.

korenje3 ::


šele zdej vidim, da se tile wago konektorji lahko štukajo :(
slabo sem to naredil...
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
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

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:)

techfreak :) ::

korenje3 je izjavil:

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…

Isotropic ::

korenje3 je izjavil:

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.

python je ČIST na izi. pogooglaj za diveintopython3, ga bos v par tednih ze cist dost znal.

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

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.

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

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

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


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Online baza

Oddelek: Programiranje
242256 (1549) Yacked2
»

PHP vs. ASP.NET vs. $OTHER (strani: 1 2 3 4 )

Oddelek: Programiranje
16313950 (11305) Spura
»

Izbira programskega jezika

Oddelek: Programiranje
61498 (1153) ql000
»

Baza podatkov - kako in s čim

Oddelek: Programiranje
171988 (1664) OwcA
»

kaj programirate/delate nasploh?

Oddelek: Programiranje
403168 (2124) Reso

Več podobnih tem