投稿日

Raspberry Pi CM4搭載「CM4Stack」をSORACOMとつなげてみた

こんにちは、ソラコムの事業開発担当の名児耶(ニックネーム:saki)です。

今回はM5Stack社のCM4Stack 開発キット(以下、CM4Stack)を手に入れたので、SORACOM Onyx LTE USBドングル(以下、Onyx)を使用してSORACOM Airでのネットワーク接続を行う手順、およびWindows環境でCM4StackのOSを初期化する手順についてご紹介いたします。

CM4Stackとは

M5StackとはM5Stack社が販売するディスプレイやスピーカー、通信モジュールなどを備えたArduino環境で開発ができるコンパクトなマイコンモジュールで、SORACOMでも3G拡張ボードおよび本体とセットを販売しております。

CM4Stackは、IoT用途でもよく使われるSBC(Single Board Computer)である「Raspberry Pi (ラズベリーパイ)」の組み込み用途向けのCM4(Compute Module 4)をベースに、M5Stackのように画面や周辺機器との接続ができるインタフェースを搭載した製品となっています。

今回はスイッチサイエンスさんで購入しました。

放熱台座や冷却ファンの搭載、暗号化チップによるデータ通信への対応、DINレールに取り付け可能な筐体の採用など、産業用途での利用も考慮した設計となっております。

イーサネット端子が搭載されているため、PLC等と接続することでセルラー通信経由で遠隔メンテナンスを行うようなこともできそうです。

CM4StackをSORACOMとつなげてみる

CM4Stackのセットアップ

CM4Stackを開封し、CM4Stack本体にUSBキーボード・マウス、HDMIケーブルを接続します。

起動直後の画面でBluetoothキーボード・マウスを接続することもできますが、機器によっては接続できない場合があることや、途切れた場合の再接続が難しいため、有線またはBluetoothではないUSBドングルタイプの無線キーボード・マウスで接続を行うのが良いでしょう。

電源ケーブルを繋げます。(USB Type-Cでの電源供給にも対応しています)

外部ディスプレイにOS(Raspbian)のセットアップ画面が表示されますので、画面の指示に従ってロケールやユーザー設定等の初期設定を完了してください。

初期設定完了後はデスクトップの画面が表示されます。

イーサネット端子にLANケーブルを挿入する、またはデスクトップ右上のアイコンからWi-Fiの設定を行い、インターネットに接続してください。

OnyxおよびSORACOM Airのセットアップ

OnyxのカバーをUSB端子と逆の方向にスライドさせ、SORACOM AirのnanoSIMを挿入します。

OnyxはSORACOMで提供している複数のSIM(サブスクリプション)に対応していますが、今回はplan-DのSIMを使用しました。

カバーを元の状態に戻し、OnyxをCM4StackのUSB-Aポートに接続します。

CM4Stack本体のUSB-AポートにOnyxを接続すると、もう片方のポートが干渉して使用できなくなります。複数のUSB-A機器を取り付けたい場合は、ハブや延長ケーブルを利用していただくことをおすすめします。

OnyxをCM4Stack(Raspberry Pi)で使用する場合、ドライバの導入は不要ですが、セルラー通信を行うため追加パッケージのインストールと設定が必要になります。必要なパッケージのインストールから 3G/LTE 接続に利用する PPP の設定を一括して行うスクリプト (setup_air.sh)を公開しておりますので、こちらを利用して設定します。

CM4Stackがインターネットに接続されている状態でLXTerminalを開きます。

  1. Onyxがシリアルポートとして認識されていることを確認します。
$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

上記が表示されれば問題ありません。

  1. setup_air.shをダウンロードします。
$ curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh

-Oは0(数字のゼロ)ではなく、O(大文字アルファベットの”オー”)です。

  1. setup_air.sh を実行します。
$ sudo bash setup_air.sh
--- 1. Check required packages
wvdial is not installed! installing wvdial...
...
ok.
--- 2. Patching /lib/systemd/system/ifup@.service
ok.
--- 3. Generate config files
Adding network interface 'wwan0'.
Adding udev rules for modem detection.
ok.
--- 4. Initialize Modem
ok.
Now you are all set.

Tips:
 - When you plug your usb-modem, it will automatically connect.
 - If you want to disconnect manually or connect again, you can use 'sudo ifdown wwan0' / 'sudo ifup wwan0' commands.
 - Or you can just execute 'sudo wvdial'.

plan-DUのSIMを使用する場合は、$ sudo bash setup_air.sh du.soracom.ioを使用してください。

OnyxをUSBポートから抜いて差し直すことで、セルラー通信が可能になります。

以上で、Onyxが初期化され、CM4StackがSORACOM 経由でインターネットに接続できるようになりました。

ifconfig ppp0で確認できるほか、一度有線・無線LANを切断してウェブブラウザ等でセルラー経由のインターネット接続を確認してみても良いでしょう。

CM4StackのOSを初期化する手順

開発中にOSが起動できなくなってしまったり、初期化をしたくなった場合はCM4StackのOSをクリーンインストールしましょう。

公式ページでも解説されていますが、実際にWindows環境で必要な手順を簡単に説明します。

  1. 必要なツールをダウンロードし、インストールします。
  1. CM4Stack本体側面のBOOTボタンを押しながらPCに接続し、インストールされたrpibootを開きます。

rpibootがCM4Stackを認識すると、CM4StackのeMMC領域を書き換えできるモードとしてPCにマウントされます。

  1. インストールされたRaspberry Pi Imagerを開き、「OSを選ぶ」ボタンをクリックします。

Raspberry Pi Imagerについてはこちらの記事「Raspberry Pi Imagerの使い方 ― v1.7.2以降 対応版」もご覧ください。

「カスタムイメージを使う」を選択し、ダウンロードしたカスタムイメージを選択します。

ストレージとしてCM4Stackである「RPI-MSD~」を選択して「書き込む」ボタンをクリックすることでOSの焼き直しが開始されます。

(書き込み前にフォーマットを行う場合は「OSを選ぶ」→「削除」から手動でフォーマットしてください。)

まとめ

今回はCM4StackをLTE USBドングルであるOnyxを使用してSORACOM経由でネットワークに接続する方法をご紹介しました。

CM4Stackにはタッチパネルのディスプレイ、周辺機器との接続ができるコネクタ、イーサネット端子やRTC等が搭載されており、センサーや産業用機器と接続することで様々な用途での活用が考えられます。

SORACOMのOnyxとセルラー通信を用いることで、IoTを実現するハードウェアとしてCM4Stackをご活用してみてはいかがでしょうか?

― ソラコム名児耶 (saki)