Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
discount 30 + hiring
Avatar
michal Čepelák:30. června 13:27

Zdravím ,
jak by se dala udělat komunikace mezi RPi, které mám na své vnitřní síti s připojením k internetu bez veřejné IP adresy a webserver kde běží PHP, web server je mi mojí síť a je dostupný z venku má svojí doménu.

Zkusil jsem: Zkoušel jsem googlit ale nevím co přesně mám hledat.
Děkuji

Chci docílit: Potřebuji přes webovou stránku poslat příkaz RPi pro otevření vrat.
Napadlo mě to udělat přes websocket ale nevím jak moc by to zatěžovalo síť.
Děkuji za rady

 
Odpovědět
30. června 13:27
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30. června 15:50

Mozna je problem v tom, ze nemuis popsat, co chces :)
Pokud mas webovou stranku, ta ta vetsinou pracuje s http requesty, url adresami. Napriklad odkazy, iframe, obrazky, tag script, js-requesty:

<a href="server/adresa?akce=1">1</a>
<a href="server/adresa?akce=2">2</a>

Slo by ze stranky pomoci js pracovat i se sockety, ale s tim je dost drbacka. Resi se tam autentizace, pripojeni, na serveru musi bezet socket server. Ano, bude to rychlejsi. Ale, jestli chces jen tlacitka otevrit-zavrit vrata, tak ti staci jen odkazy, ne?

RPI, server pocitac, na kterem bezi php, pripojeny nekde na tvuj router, to se da nejak nastavit na routeru, jakym zpusobem bude dostupny. Muzes si tam spustit i name-server, prekladac textovych URL na IP adresu. Ale, muzes to volat i pres IP adresu. Ta bude ve tvaru neco jako http://192.168.1.1, cili

<a href="http://192.168.1.1:8080/adresa?akce=2">2</a>

Tak podobne funguji tiskarny v siti, tvuj pocitac ve stejne siti posle adresu tiskarny routeru a tiskarna si to prevezme. A dal za router, ven, to uz nejde.

Ted je otazka, zda tu stranku chces spoustet jen na lokalnim pocitaci nebo ma byt viditelna z venku? Z venku potrebujes tu vlastni home-ip-adresu, si myslim. Ale moc jsem zatim nic takove nedelal.
Cili, pokud spustit stranku na lokalnim pocitaci, tak ti odkazy s tou ip budou fungovat. Z venci nikoliv, protoze z venci to jde pres router cloveka, kde hostujes stranky a on do tve site nema pristup. Ale, tvuj router ma nejakou adresu a na ni to poslat muzes, kdyz mu pak reknes, co s tim ma pak delat.

Nebo, muzes si udelat nekde na webu prostrednika.
U sebe na pc spustis program, ktery se bude neustale, treba pres ty websockety, dotazovat prostrednika, zda ma nejaky pozadavek. A kdyz se pozadavek objevi, zpracuje ho a posle na to RPI.
Cili, funguje to podobne jako chat. Se tam nalogujes a vybiraz data z sql. Ty pak tvuj program preposila na to RPI. Nebo v pripade chatu na obrazovku :)

 
Nahoru Odpovědět
30. června 15:50
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30. června 15:56
[pc1 outside/inside stranka] ---> (send) [pc2 outside php/sql server]

[pc3 inside stranka] <--- (receive) <--- [pc2] // aby to fungovalo, tak pc3 musi neustele skenovat pc2, byt zapnut
[pc3 inside stranka] (working)
[pc3 inside stranka] ---> (send) ---> [pc4 inside rpi] ----> (send) ---> garaz motor

pc3 a pc4 muze byt jeden a tentyz, rpi :)

Blbe je, ze ti takto, pokud to nezasifrujes, muze nekdo spamovat pozadavky. A tez nepohlidas, jak casto lze pozadavky zasilat a pretizi ti doma sit, treba. A ze k tomu potrebujes ten venkovni server.
A blbe je, ze ziskat adresu routeru nevim, zda ti dovoli firma, co u ni mas internet :)

Editováno 30. června 15:58
 
Nahoru Odpovědět
30. června 15:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.