SMSで必要な時だけ起動＆4G回線を使った遠隔モニタリング：Raspberry Piメタルケースセットの活用法

[4GPi]:https://mechatrax.com/products/4gpi/
[slee-Pi 3]:https://mechatrax.com/products/slee-pi/
[Pi-protect]:https://mechatrax.com/products/pi-protect/
[ADPi]:https://mechatrax.com/products/adpi/
[機能拡張モジュール]:https://mechatrax.com/products/
[イプシム]:https://ipsim.net/
[USB-シリアル変換ケーブル]:https://store.mechatrax.com/product.php?id=38
[弊社]:https://mechatrax.com/
[メカトラックス株式会社]:https://mechatrax.com/
[SORACOM]:https://soracom.jp/
[SORACOM Napter]:https://soracom.jp/services/napter/
[Remote.It]:https://ja.remote.it/
[@hayat00]:https://qiita.com/hayat00
[Raspberry Pi Imager]:https://www.raspberrypi.com/software/
[弊社オンラインストア]:https://store.mechatrax.com/
[Tera Term]:https://ja.osdn.net/projects/ttssh2/
[OSイメージ]:https://mechatrax.com/data/4gpi/
[2段用]:https://store.mechatrax.com/product.php?id=62
[3段用]:https://store.mechatrax.com/product.php?id=63
[メタルケースセット]:https://store.mechatrax.com/list.php?c_id=22
[メタルケースセット（4GPi + slee-Pi 3）]:https://store.mechatrax.com/product.php?id=70


# はじめに
[メカトラックス株式会社]では[メタルケースセット]を販売しております。
[メタルケースセット（4GPi + slee-Pi 3）]には、Raspberry Pi 4 Model Bと、ラズパイで4G（LTE）通信が使用可能な[4GPi]、電源管理や時刻の保持が可能な[slee-Pi 3]を搭載しています。さらに、環境構築済みSDカードやACアダプタ等も付属しており、すぐにお使いいただくことが可能です。

また、[4GPi]と[slee-Pi 3]を組み合わせることで、不使用時はラズパイをシャットダウンしておき、緊急時等の必要な時にだけSMS（ショートメッセージ）を使ってラズパイを起動し、4G（LTE）回線を使用して遠隔からモニタリングすることができます。
4G（LTE）回線を使用することで、メインの回線が使用不可となった場合や、そもそも回線がない環境でも使用可能なため、遠隔地のサーバーや設備の監視等にお使いいただけると思います。また、モニタリング時の回線を4G（LTE）回線に分けることが可能なため、セキュリティ面の担保にも貢献できるかと思います。

今回は[メタルケースセット（4GPi + slee-Pi 3）]と[SORACOM]のIoT SIMを使用し、緊急時等の必要な時にだけSMSを使ってラズパイを起動し、ラズパイに4G（LTE）回線を使用して遠隔からログインする方法をご紹介します。
（SORACOMのIoT SIM以外でもSMS機能付きであれば一部を除いてご利用いただけます。）

# 使うもの

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/5cdae59b-f8bc-733e-52c1-6aa3a2c3e9f3.png)


- [メタルケースセット（4GPi + slee-Pi 3）]
- [DCジャック - XHP-2コネクタ変換ハーネス](https://store.mechatrax.com/product.php?id=40) および [ACアダプター（4GPi、slee-Pi 3向け推奨品）](https://store.mechatrax.com/product.php?id=12)（それぞれ2つずつ使用します。それぞれ1つずつメタルケースセットに同梱されているため、追加で１つずつ購入が必要です。）
- 2mmピッチジャンパーピン
- [SORACOM]のIoT SIM（SMS機能つき、[グループA](https://users.soracom.io/ja-jp/docs/air/send-sms/)のSIMをお選びください）
- 開発用のPC、ラズパイへのログイン用の[USB-シリアル変換ケーブル]もしくはLANケーブルなど

# ハードウェアの準備

![カバー外した.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/2fa167d1-2336-d934-2814-a4610f575197.jpeg)
1． [メタルケースセット（4GPi + slee-Pi 3）]のカバーを外します。


![sleePi外した.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/1c9fcd0e-47b9-1aea-7233-90b4f955e496.jpeg)
2． 一番上の基板（[slee-Pi 3]）を外します。

![sleePI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/3042d8ff-d5d0-5632-c306-3c8b1782cbfe.jpeg)
3． 外した基板（[slee-Pi 3]）のJP1に2mmピッチジャンパーピンをさします。JP1にジャンパーピンをさすことで、SMSの着信時にGPIO経由でラズパイを起動できます。この時、ジャンパーピンをさす位置で、使用するGPIOをGPIO16とGPIO18から選択できます（今回はGPIO16を使用）。
ジャンパーピンの位置、詳細は[こちら](https://github.com/mechatrax/slee-pi3/wiki/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2#%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2)を参照してください。　


![PXL_20240819_091012581.MP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/7bb765be-5c90-9655-77f6-ad99309e15f4.jpeg)
4． 2番目の基板（[4GPi]）のJP2に2mmピッチジャンパーピンをさします。この時、2．のslee-Pi 3と同じGPIOを使用するようにさしてください（今回はGPIO16を使用）。また、JP1のジャンパーピンを2つ抜き、ラズパイへの電源供給を4GPiから行わない（slee-Pi 3から供給する）ようにします。
ジャンパーピンの位置、詳細は[こちら](https://github.com/mechatrax/4gpi/wiki/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2#3-%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9)を参照してください。　

![PXL_20240820_025919294.MP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/ed86fbfc-ba23-dcda-a9c9-5470c6fd2065.jpeg)
![PXL_20240820_025928644.MP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/352374cd-3918-1483-fc51-9b863b987603.jpeg)
![PXL_20240820_025944706.MP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/3ac67365-508f-dac9-37b8-506b7fb15530.jpeg)
5． 4GPiにSIMカードをさしてください。アンテナ、USBケーブル、電源ハーネスを図のように取り付けます。

# ソフトウェアの準備

1． 先ほど取り付けた2つの電源ハーネスにACアダプタを接続し、電源を供給します。ラズパイが起動したらPCからラズパイにログインしてください。初期ログイン情報は[こちら](https://github.com/mechatrax/pi-protect/wiki/OS%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8#%E5%88%9D%E6%9C%9F%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E6%83%85%E5%A0%B1%E3%82%AB%E3%83%BC%E3%83%89)を参照してください。また、ラズパイへのログイン方法は[こちら](https://qiita.com/hayat00/items/0d586f5500e998ab4d2e#raspberry-pi%E3%81%B8%E3%81%AE%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3)などを参照してください。

2． 次に先ほど取り付けたジャンパーピンの情報を設定ファイルに書き込みます。`/etc/default/4gpi`のファイルを下記のように編集してください。

![WS100032.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/8f550c3e-4d3e-5e89-8f15-437787e6ed95.jpeg)
`# Power off 4GPi at shutdown`を`AUTO_OFF=0`に、`# Enable the modem to wake up on ring during standby`を`WAKE_ON_RING=1`に書き換えます。

3． 一旦再起動をします。
`$ sudo reboot`

4． 続いてSIMのAPN情報を登録します。SIMの提供会社から公開されているAPN情報をご用意の上、下記のコマンドを実行してください。
`$ sudo nmcli con add type gsm apn 「APN」 user 「ユーザー」 password 「パスワード」`

SORACOM社の場合は[こちら](https://users.soracom.io/ja-jp/guides/getting-started/setup/)で公開されており、コマンドは下記のようになります。
`$ sudo nmcli con add type gsm apn soracom.io user sora password sora`

また、下記のように任意の接続名を入力することで、APN設定に名前を付けて保存することも可能です。
`$ sudo nmcli con add type gsm ifname "*" con-name 「任意の接続名」 apn 「APN」 user 「ユーザー」 password 「パスワード」`

5． 4G（LTE）回線への接続が完了すると、4GPiの青色LEDが点灯から点滅に代わります。

# SORACOM Napterを利用して遠隔からログインをする

こちらの方法を利用するためにはSORACOMのIoT SIMが必要になります。また、SORACOM Napterの詳細は[こちら](https://soracom.jp/services/napter/)を参照してください。SORACOM以外のSIMをご利用の場合は、[Remote.Itを利用する方法](https://mechatrax.com/blog/4gpi-remoteit/)や[IP固定SIMを利用する方法](https://mechatrax.com/blog/4gpi-static-ip-sim/)をお試しください。

まず、SSHの許可設定を行います。下記のコマンドを実行してください。
`sudo raspi-config nonint do_ssh 0`

続いて、ラズパイのUFW(Uncomplicated Fire Wall)に対し、4G（LTE）回線からSSH接続をするため、許可の設定を行います。
下記のコマンドを実行し、SSH接続で使用する22ポートの許可を先頭に設定します。
`$ sudo ufw insert 1 allow 22`

再起動をします。
`$ sudo reboot`

次に、SORACOMのユーザーコンソールを開き、4GPiにさしたSIMのチェックボックスをクリックします。
![xzvi7vhYRmSY1RK1724134955_1724134971.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/79e79251-85ea-9df4-1ae8-298795fd8457.jpeg)

上部の「操作」をクリックし、「Webターミナルで接続」をクリックします。
![0ocBpMXM77KlUJV1724138571_1724138593.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/9e411ffe-de29-78c3-4541-8873844f6a2e.jpeg)

「Webターミナルを起動」をクリックします。
![riGJQ0JUrRUB28O1724138528_1724138556.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/32b2b22e-cec7-2deb-37b3-2ba3f100151b.jpeg)

ターミナル画面が開かれます。ユーザー名とパスワードを入力し、ログインしてください。
![N9Nz9DTGSJhiHnT1724138482_1724138515.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/775347c6-e930-2de9-a250-a6e380ead141.jpeg)

以上で、遠隔から4G（LTE）回線を使用してラズパイにログインすることができました。

# SMSからラズパイを起動する
下記の①もしくは②の方法をお試しください。
## ①スマホ等からSMSを送信する

お手元のスマホ等からSMSを送信し、ラズパイを起動します。ただし、この方法は電話番号を知っている全員がSMSでラズパイを起動できてしまうため注意が必要です。SMSでラズパイを起動できる人を制限したい場合、次の「SORACOMのユーザーコンソールからSMSを送信する」方法を推奨します。

まず、下記のコマンドで4GPiにさしたSIMの電話番号を調べます。
`$ sudo mmcli -m 0 | grep 'Numbers'`

出力される電話番号を控えておき、ラズパイをシャットダウンしてください。
`$ sudo shutdown now`

ラズパイのシャットダウンが完了したらスマホ等から先ほどの電話番号にSMSを送信します。送信内容は見ていないため、任意の文字列で構いません。

ラズパイが起動したら下記のコマンドを実行すると`ri`と出力され、ラズパイの起動要因がSMS着信起動であることが分かります。その他の起動要因は[こちら](https://github.com/mechatrax/sleepi3-utils?tab=readme-ov-file#usrsbinsleepi3ctl)を参照してください。
`$ sleepi3ctl get wakeup-flag`

## ②SORACOMのユーザーコンソールからSMSを送信する
こちらの方法を使用するためには[SORACOM]のIoT SIMのうち、[こちら](https://users.soracom.io/ja-jp/docs/air/send-sms/)のグループAに該当するSIMの利用が必要です。

まず、ラズパイをシャットダウンしておきます。
`$ sudo shutdown now`

SORACOMのユーザーコンソールを開き、4GPiにさしたSIMのチェックボックスをクリックします。
![xzvi7vhYRmSY1RK1724134955_1724134971.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/79e79251-85ea-9df4-1ae8-298795fd8457.jpeg)

上部の「操作」をクリックし、「SMSを送信」をクリックします。
![bUYervvKzXCKBsV1724134915_1724134939.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/eb9f0cbf-fb86-78af-cf27-2e91582eea6c.jpeg)

送信する文字列を入力します。送信内容は見ていないため、任意の文字列で構いません。「SMSを送信」をクリックしてSMSを送信します。
![Xp7lbbMZAlfR3st1724134885_1724134901.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/ab028dd3-4348-9691-0caa-a6c3e97cc751.jpeg)

ラズパイが起動したら下記のコマンドを実行すると`ri`と出力され、ラズパイの起動要因がSMS着信起動であることが分かります。その他の起動要因は[こちら](https://github.com/mechatrax/sleepi3-utils?tab=readme-ov-file#usrsbinsleepi3ctl)を参照してください。
`$ sleepi3ctl get wakeup-flag`

# 終わりに
今回は[メタルケースセット（4GPi + slee-Pi 3）]と[SORACOM]のIoT SIMを使用し、緊急時等の必要な時にだけSMSを使ってラズパイを起動し、ラズパイに4G（LTE）回線を使用して遠隔からログインする方法をご紹介しました。
ラズパイを使ったサーバーや装置のモニタリング等にお試しいただければ幸いです。