SORACOMでPLCとラズパイに接続

概要
---------------------------------------
LAN環境がない場所のPLCとラズパイに、SORACOMの携帯回線を使って接続する

結果
---------------------------------------
ラズパイのカメラとVNCには接続できました。
PLCには接続できず。**GXWorksのポート設定を調査中**　

（2024/1/25追記）
SORACOMに詳細なレシピが記載さて掲載されていますので
こちらを参考にされるほうが良いと思います

https://soracom.jp/recipes_index/15271/

運用のイメージ
---------------------------------------
LTEルーターに、PLCをLAN接続し遠隔地からPLCの設定調整を行う
またラズパイにはWEBラメラを取り付け、PLC周辺を映像で確認しながら製造現場の
状況把握に役立てる。
「コロナ禍なので、できるだけ出張は最小限に」と思い、この環境を構築してみました

今回のテスト環境
---------------------------------------
PLCにはLANユニットが装備されている
PLC付近にはルーターとラズパイ用として100V電源が確保されている
docomoの携帯回線電波が届く場所である
![InkedIMG_42673_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/3bf69302-9d75-6cc6-7e51-05b428fad97f.jpeg)


今回使用した機器
---------------------------------------
PLC側はLTEルーターRUT240とSORACOM IoT SIM、およびラズパイ簡易監視カメラの体験キット

https://soracom.jp/store/5194/

https://soracom.jp/store/5259/

https://soracom.jp/store/5234/

PC側は上記のIot体験キットに含まれているUSBドングルAK-02とSORACOM IoT SIMを利用

今回利用したSORACOMのサービス
------------------------------------------------------------------------------
今回はデバイス間通信サービス（SORACOM　Gate　D2D）の部分を利用し、LTEルーター+SimとUSBドングル+Simの間で通信を行います
![soracom.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/220643e1-1594-1733-6e60-cfb5896ecf56.jpeg)

LTEルーターとSORACOMの設定
---------------------------------------
LTEルーターのSimとUSBドングルのSimを[SORACOM　Gate](https://soracom.jp/services/gate/)で同じグループにし、VPGを設定することで直接通信が可能となります。（今回の設定例）

|　 機　器　 　| 　　IPアドレス　　 | デフォルトゲートウェイ | 
|:------:|:-:|:-:|:-:|
|  PLC150 | 192.168.21.150  |  192.168.21.1 |  
| Pi151  |  192.168.21.151 | 192.168.21.1   |  

| 機　器　| 　LAN側IPアドレス | 　　WAN側（Sim）IPアドレス　 | 
|:-:|:-:|:-:|:-:|
| PLC側 LTEルーター |   192.168.21.1|  XXX.XXX.XXX.55 |  
| PC側 PC130＋USBドングル |  192.168.10.130 |  XXX.YYY.YYY.77 |  
WAN側のSimにはSORACOMからプライベートアドレス自動で割り振られます

LTEルーターにポートフォワーディングを設定
------------------------------------------------------------------------------
LTEルーターのWeb 管理画面にログインし
[Network] → [Firewall] → [Port Forwarding] と進みます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/41c41221-8267-acb7-1e1c-224fffcad0c9.png)

| Name | Protcol | External Port | Internal IP | Internal Port ||
|:-:|:-:|:-:|:-:|:-:|:-:|
| PLC150  | TCP,UDP  | 65001 |192.168.21.150 |  1025-1026 | GX用  
| Pi151Cam  |  TCP,UDP | 65002  | 192.168.21.151  | 8081  |カメラ用
| Pi151VNC  |  TCP| 65003  | 192.168.21.151  | 5900  |VNC用

ラズパイの設定
---------------------------------------
ラズパイにWebカメラを設定しmotionというモジュールを動作させて
ブラウザーからカメラ映像を見えるように準備します。
こちらを参照にしました

https://qiita.com/westvirginia/items/ba79f7549b43da116467

PCからPLCとラズパイを遠隔操作
------------------------------------------------------------------------------
GXWorksでPLCへ接続（シーケンサー側のIPアドレスにはLTEルーターへのWAN側XXX.XXX.XXX.55を指定）しかしポート65001を**指定する方法が不明で調査中**。
![Inked87A.tmp_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/ec282fea-eeca-e4f2-112a-814e15b23681.jpeg)


ブラウザーでラズパイの映像表示（XXX.XXX.XXX.55：65002を指定）
![Inked55B8.tmp_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/020e4a34-7349-da97-4ab4-5e383ae8e668.jpeg)
VNCでラズパイを遠隔操作（XXX.XXX.XXX.55：65003を指定）
![Inked2A5F.tmp_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228252/60cf6658-6a10-ca01-fc15-1bec9c01367a.jpeg)

今後の課題
------------------------------------------------------------------------------
今回は臨時的な保守に対応するためこのような構成でテストを行いましたが
GXWorksのポート設定でつまづき**PLCへの接続には至っておりません**
恒常的に各PLCと通信するには工場と保守側にLTEルーターを設定しVPVを張る必要も出てきそうです
また、古いPLCはLANユニットが無いため「USBデバイスサーバー」を使っての接続も試したいところです

参考にしたサイト
---------------------------------------
[SORACOM Gate]
(https://users.soracom.io/ja-jp/docs/gate/feature/)
[レッツラズパイ！〜Webカメラで監視しちゃうゾ編〜]
(https://qiita.com/westvirginia/items/ba79f7549b43da116467)
[RUT240のポートフォワーディング設定](https://wiki.teltonika-networks.com/view/RUT240_Firewall#Port_Forwarding)
 [GX Works2でSLMP通信を試すための内蔵Ethernet設定](https://qiita.com/satosisotas/items/38f64c872d161b612071)