ããŒãã®èšå®
.ironflock/ãã£ã¬ã¯ããªã«port-template.ymlãã¡ã€ã«ãäœæããŠãã¢ããªããªã¢ãŒãã¢ã¯ã»ã¹çšã«å
¬éãããµãŒãã¹ãå®çŸ©ããŸãã
åºæ¬çãªäŸ
ports:
- name: Web Interface
port: 5000
main: true
protocol: httpsããã«ããããŒã5000ããªã¢ãŒãã¢ã¯ã»ã¹å¯èœã«ãªããŸããæ¬çªããã€ã¹ã«ã¢ããªãã€ã³ã¹ããŒã«ãããšãã®ãã³ãã«ããªã³ã«ãªãããããã¯ãŒã¯æš©éãæã€ãŠãŒã¶ãŒã¯ããã€ã¹äžã®ã¢ããªèšå®ãããã³ãã«ããªãã«ããããåã³ãªã³ã«ãããã§ããŸãã
å®å šãªäŸ
ports:
- name: Web Interface
port: 1100
main: true
protocol: http
- name: Video Stream
port: 1200
protocol: http
- name: Remote Desktop
port: 5900
protocol: tcp
- name: LoRaWAN Gateway
port: 1700
protocol: udpãã£ãŒã«ããªãã¡ã¬ã³ã¹
| ãã£ãŒã«ã | å¿ é | 説æ |
|---|---|---|
name | ã¯ã | ããã€ã¹ã®ã¢ããªèšå®ã«è¡šç€ºãããã©ãã« |
port | ã¯ã | ãµãŒãã¹ããªãã¹ã³ããããŒã«ã«ããŒãçªå· |
main | ããã | trueã®å Žåãããã€ã¹ã®ã¢ããªäžèЧã®ã¯ã€ãã¯ã¢ã¯ã»ã¹ã¢ã€ã³ã³ã«ãã®ããŒãã䜿çšãããŸã |
protocol | ããã | httpïŒããã©ã«ãïŒãhttpsãtcpããŸãã¯udp |
remote_port_environment | ããã | TCPãšUDPã®ã¿ïŒREMOTE_PORT_FOR_<port>ã«å ããŠãããã€ã¹ãšãŒãžã§ã³ãããã³ãã«ã®ãªã¢ãŒãããŒããéç¥ãã远å ã®å€æ°åã0.19.8ããåã®ããã€ã¹ãšãŒãžã§ã³ãã¯ããã®ååã§ã®ã¿éç¥ããŸã |
æ³šå ¥ãããç°å¢å€æ°
宣èšããåããŒãã«å¯ŸããŠããã©ãããã©ãŒã ã¯ã¢ããªã®ã³ã³ããã«ç°å¢å€æ°ãæ³šå ¥ããŸããããã«ãããã¢ãã¬ã¹ãããŒãã³ãŒãã£ã³ã°ããããšãªãããµãŒãã¹ãå®éã«å°éå¯èœãªå Žæãã³ãŒãããæ€åºã§ããŸãïŒ
| 倿° | 説æ |
|---|---|
DEVICE_LAN_IP | ããŒã«ã«ãããã¯ãŒã¯äžã§ã®ããã€ã¹ã®IPã¢ãã¬ã¹ |
DEVICE_PORT_FOR_<port> | 宣èšããããŒããããŒã«ã«ãããã¯ãŒã¯ã«å ¬éãããããã€ã¹äžã®ããŒã |
REMOTE_PORT_FOR_<port> | ãã³ãã«ãã¢ã¯ãã£ããªéã«ãã³ãã«ãµãŒããŒã«ãã£ãŠå²ãåœãŠããããããªãã¯ããŒãïŒTCPãšUDPãããã€ã¹ãšãŒãžã§ã³ã0.19.8以éïŒã0ã¯ãŸã å²ãåœãŠãããŠããªãããšãæå³ããŸã |
REMOTE_PORT_FOR_<port>_CLOUD | ã¯ã©ãŠãçµç±ã§ãã³ãã«ã転éããIronFlockã€ã³ã¹ã¿ã³ã¹äžã§ããã€ã¹ã皌åããŠããå Žåã®ãã€ã³ã¿ãŒãããåŽã®ããŒãïŒTCPãšUDPïŒ |
TUNNEL_DOMAIN | ããã€ã¹ã®ãã³ãã«URLã®çµã¿ç«ãŠã«äœ¿ããããã¡ã€ã³ïŒã¯ã©ãŠãã§ã¯app.ironflock.comããªã³ãã¬ãã¹ã¢ãã©ã€ã¢ã³ã¹ã§ã¯ã¢ãã©ã€ã¢ã³ã¹ã®ãã¡ã€ã³ããã¡ã€ã³ãªãã§ã€ã³ã¹ããŒã«ãããã¢ãã©ã€ã¢ã³ã¹ïŒãã¬ãŒã³ã¢ãŒãïŒã®ãšããžããã€ã¹ã§ã¯localhost |
INSTANCE_KEY | ãªã³ãã¬ãã¹ã¢ãã©ã€ã¢ã³ã¹ïŒã€ã³ã¹ã¿ã³ã¹ïŒã«å±ããããã€ã¹ã§ã®ã¿èšå®ãããŸãïŒãã®ããã€ã¹ã®ã¯ã©ãŠãçµç±ã§è»¢éããããã³ãã«URLã«å«ãŸããã㌠|
<port>ã¯port-template.ymlã§å®£èšããããŒãçªå·ã§ããäžèšã®ãªã¢ãŒããã¹ã¯ãããã®äŸã§ã¯ãã¢ããªã¯DEVICE_PORT_FOR_5900ãåãåãããã³ãã«ãã¢ã¯ãã£ããªéã¯REMOTE_PORT_FOR_5900ãåãåããŸããIronFlock SDKã¯ãgetRemoteAccessUrlForPortã§ãããã®å€æ°ããããŒãã®ãªã¢ãŒãã¢ã¯ã»ã¹URLãçµã¿ç«ãŠãŸãããã©ãããã©ãŒã ã¯CLOUD_TUNNEL_DOMAINãèšå®ããŸããïŒã¢ããªããã®å€æ°ãèªãèšå®ããªãéããã¯ã©ãŠãçµç±ã§è»¢éãããURLã¯app.ironflock.comã䜿çšããŸãã
ãã³ãã«ã¯æ¬çªã€ã³ã¹ããŒã«ã«ã®ã¿ååšããŸããéçºïŒDEVïŒã³ã³ããã«ã¯ãç¬èªã®ãã³ãã«ããªã¢ãŒãããŒãããããŸãã â 代ããã«ããã€ã¹ã®ããŒã«ã«ãããã¯ãŒã¯äžã§ã¢ã¯ã»ã¹ããŠãã ããïŒDEVICE_LAN_IPãDEVICE_PORT_FOR_<port>ïŒã
è€æ°ã®ã¢ããªãåãããã€ã¹äžã§åæã«å®è¡ãããå¯èœæ§ãããããã宣èšãããããŒãã¯èªåçã«ããã€ã¹äžã®ç©ºãããŒãã«ãããã³ã°ãããŸãã宣èšããããŒãçªå·ããã®ãŸãŸåæãšãããå¿ ãæ³šå ¥ãããå€ããããŒã«ã«ãããã¯ãŒã¯ã®ã¢ãã¬ã¹ãçµã¿ç«ãŠãŠãã ããïŒ
import os
lan_ip = os.environ.get("DEVICE_LAN_IP")
lan_port = os.environ.get("DEVICE_PORT_FOR_5900")
# ãµãŒãã¹ã¯ããŒã«ã«ãããã¯ãŒã¯äžã® {lan_ip}:{lan_port} ã§å°éå¯èœã§ããããã®å€æ°ã¯ã³ã³ããã®èµ·åæã«èšå®ãããŸãããã³ãã«ããŒãã¯ã¢ããªã®å®è¡äžã«å€ããããšãããããïŒäŸãã°ãã³ãã«ã忥ç¶ããå ŽåïŒããã³ãã«ããŒãã®å€æ°ïŒREMOTE_PORT_FOR_<port>ãããã«å¯Ÿå¿ãã_CLOUD倿°ãããã³ã«ã¹ã¿ã ã®remote_port_environmentåïŒã¯ã/data/env/<VARIABLE_NAME>.txtã®ãã¡ã€ã«ãšããŠãåžžã«ææ°ã®ç¶æ
ã«ä¿ãããŸããIronFlock SDKã¯ãããã®ãã¡ã€ã«ãèªåçã«èªã¿åããŸãããã®ä»ã®å€æ°ãå€ããã®ã¯ãã³ã³ããã®åèµ·åæã ãã§ãã
ã¯ã©ãŠãããŒãããªããªããšïŒã¯ã©ãŠã転éããªãã«ãªã£ãå ŽåïŒãããã€ã¹ãšãŒãžã§ã³ãã¯_CLOUDãã¡ã€ã«ãåé€ããŸãããããã£ãŠããšãŒãžã§ã³ãã®ãã¡ã€ã«ãååšããéã¯ã_CLOUDãã¡ã€ã«ãååšããªãã空ã§ããããšã¯ã¯ã©ãŠãããŒãããªãããšãæå³ããSDKã¯ã³ã³ããã®èµ·åæã®å€ãå€ã«ãã©ãŒã«ããã¯ããŸããã
ã³ã³ããå
ã®ãã¹ãŠã®ãŠãŒã¶ãŒããããã®ãã¡ã€ã«ãèªã¿åããŸããå€ãããã€ã¹ãšãŒãžã§ã³ãã§ã¯ã/data/envãrootã ããèªã¿åããããã«ããŠããŸããããã®å Žåãå¥ã®ãŠãŒã¶ãŒãšããŠå®è¡ãããã³ã³ãããåç
§ã§ããã®ã¯èµ·åæã®å€ã ãã§ããã®åŸã«å€ãã£ããã³ãã«ããŒãã¯åæ ããããSDKã¯èŠåã1åãã°ã«èšé²ããŸãã
ãããã³ã«ã®åäœ
HTTP / HTTPS
WebããŒã¹ã®ãµãŒãã¹åãã§ããIronFlockã¯ããã€ã¹ã®ããŒã«ã«ããŒãã«ãã©ãã£ãã¯ããããã·ããããã³ãã«ãã¡ã€ã³äžã®URLãäœæããŸãããŠãŒã¶ãŒã¯ãã©ãŠã¶ã§URLãéããŸãããã®URLã¯ãã©ã€ããŒãã§ãããŒããPublicã«åãæ¿ããªãéããIronFlockã«ãµã€ã³ã€ã³ããŠããŠããã€ã¹ãžã®ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã ããéããŸãã
TCP
VNCïŒãªã¢ãŒããã¹ã¯ãããïŒããã€ã¬ã¯ããœã±ããæ¥ç¶ãªã©ã®ãããã³ã«åãã§ããIronFlockã¯ãã³ãã«ãµãŒããŒäžã«ãªã¢ãŒãããŒããå²ãåœãŠãREMOTE_PORT_FOR_<port>ãšããŠã¢ããªã«å
¬éããŸãããµãŒãã¹ã«ã¯tcp://<TUNNEL_DOMAIN>:<remote port>ã§å°éã§ããŸãã
UDP
LoRaWANéä¿¡ãVPNãã³ãã«ãªã©ã®ãããã³ã«åãã§ããTCPãšåæ§ã«ããªã¢ãŒãããŒããå²ãåœãŠãããREMOTE_PORT_FOR_<port>ãšããŠå
¬éãããŸãã
ããŒããžã®åã蟌ã¿
åã蟌ã¿ãŠã£ãžã§ããã䜿çšããŠãããã€ã¹ã®ãªã¢ãŒãã¢ã¯ã»ã¹ãã³ãã«ãããŒãã«çŽæ¥åã蟌ãããšãã§ããŸããããã«ããããŠãŒã¶ãŒã¯ã·ãŒã ã¬ã¹ãªäœéšãåŸãããŸãïŒ
- ãã¹ãŠã®ããã€ã¹ããã®ã°ããŒãã«ããŒã¿ãç£èŠ
- åã蟌ãŸããWeb UIãéããŠåã ã®ããã€ã¹ãšå¯Ÿè©±
ãã¹ãŠãåãããã·ã¥ããŒãå ã§è¡ããŸãã
æ¬çªããã€ã¹ã«ã¢ããªãã€ã³ã¹ããŒã«ãããšããã®
port-template.ymlã«ãããã¹ãŠã®ããŒãã®ãã³ãã«ããªã³ã«ãªããŸããHTTPãšHTTPSã®ãã³ãã«ã¯ãã©ã€ããŒãã®ãŸãŸã§ãããŒããPublicã«åãæ¿ããªãéããIronFlockã«ãµã€ã³ã€ã³ããŠããŠããã€ã¹ãžã®ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã ããéããŸããTCPãšUDPã®ãã³ãã«ã¯ãã³ãã«ãµãŒããŒäžã®ããŒãããã®ãŸãŸå ¬éãããã®ã§ãåæ®µã«ãã°ã€ã³ããªããããã¢ããªèªèº«ãã¯ã©ã€ã¢ã³ããèªèšŒããå¿ èŠããããŸããããã€ã¹ã«å¯Ÿãããããã¯ãŒã¯æš©éãæã€ãŠãŒã¶ãŒã¯ããã³ãã«ããªãã«ããããåã³ãªã³ã«ãããã§ããŸãããã³ãã«ã®ç®¡çãåç §ããŠãã ããã