IoTサービス連携 (Acty-G3)


Termux アプリを使用してLinuxライクなコマンド実行を行う

Androidで動作するLinuxライクな動作環境のアプリ Termuxがあります。

今回はこのTermuxをインストールし、各種操作を行ってみます。

Termuxのインストール

以下の手順で Termux アプリをインストールします。
Termuxアプリは F-Droid からインストールするため、まずは F-Droidアプリをインストールします。

F-Droid のインストール
  1. PCからVysor でActy-G3の画面を表示します。
  2. Acty-G3の画面より、Chromeアプリ(Webブラウザ)を起動します。
  3. Webブラウザから https://f-droid.org/ のページを開きます。
  4. ページ内の「 F-DROIDをダウンロード 」をクリックします。
    「お使いのデバイスに悪影響を~」と表示されますが、無視して「OK」を押すと、F-Droid.apk というファイルがダウンロードされます。
  5. 「F-Droid.apk を開く」をクリックし、F-Droidアプリをインストールします。
    「セキュリティ上の理由で~インストールできません」の表示が出た場合は、「設定」をクリックし、「この提供元のアプリを許可」を有効にします。
Termuxのインストール
  1. F-Droid アプリを起動します。
    なお、初回起動時は画面表示までにしばらく時間がかかります。
  2. 画面が表示されたら、右下の虫眼鏡アイコンをクリックし、「Termux」のキーワードで検索します。
  3. 検索結果より、「Termux」「Termux:API」「Termux:Boot」の3つのアプリをダウンロードし、インストールします。
    「セキュリティ上の理由で~インストールできません」の表示が出た場合は、「設定」をクリックし、「この提供元のアプリを許可」を有効にします。
  4. Termuxアプリを起動します。
    Linuxのターミナルのような画面が表示されます。ここからLinuxと同様にコマンド操作を行うことができます。
Termuxを利用した各種操作
OS・ミドルウェアのアップデート

Termuxを起動します。ターミナルから以下のコマンドを入力して実行すると、各種ミドルウェアのアップデートが行われます。

pkg update

pkg コマンドは、Ubuntu/Debian/Raspberry Pi OS の apt コマンドと同様のソフトウェアのインストール・アンインストールを行うコマンドです。

IIJ IoTサービスへの接続を確認する

Termux のターミナルから、以下のコマンドを入力します。

ping -c 4 gw.iot.iij.jp

pingの応答があった場合は、IoTサービスのサーバーに正常に接続できている状態です。エラーが表示された場合は正しく接続できていない状態です。

モバイル回線を使用してIoTサービスに接続している場合、Wi-Fiに接続していると IoTサービスのサーバーへの接続ができません。Wi-Fi はOFFにしてください。

IIJ IoTサービスにデータ送信をしてみる

Termux のターミナルから、以下のコマンドを入力します。

curl -v -X POST -H 'Content-type: application/json' http://gw.iot.iij.jp/v1 -d '{"name":"test", "value":100}'

200 OK のレスポンスが返ってくれば、データ送信は正常に終了しています。

応用編:Termuxを使用した各種テクニック
sshサーバーを起動する

Termuxにopenssh をインストールし sshdを動作させることで、Termux上で sshサーバーを動かすことができます。

  1. Termuxのターミナルから、以下コマンドを実行し、opensshをインストールします。

    pkg install openssh
  2. passwd コマンドを使用し、ログインパスワードを設定します。

    passwd
  3. sshd を起動します。

    sshd

    sshd を起動すると、8022 番ポート※1 で sshサーバーが起動します。

    他のPCなどから sshクライアントを使用してログインする場合は、ユーザー名は適当な文字列※2 を入力し、パスワードは 2. で入力したものを使用すると、ログインできます。

スクリプト言語を動かす

Termuxに各種の言語処理系をインストールすることで、スクリプト言語やコンパイラ等を使用することができます。
今回は、node.js をインストールしてみます。

  1. Termuxのターミナルから、以下コマンドを実行し、node.js をインストールします。

    pkg install nodejs
  2. nodeコマンドでスクリプトを動かすことができます。

    node -e 'console.log("test");'

同様の方法で、python, ruby, golang, gcc などの言語処理系をインストールすることが可能です。

Acty-G3 は搭載メモリ量が少ない(1GB)ため、大容量のメモリを使用するようなスクリプトは動作しない可能性があります。


Acty-G3で動作するAndroidアプリケーションを開発する

Androidアプリの開発について

Acty-G3はAndroidで動作する端末ですので、通常のAndroid開発環境でアプリケーションを開発できます。
Acty-G3固有の機能の開発については、以下のメーカー公式のブログ記事をご参照ください。

Acty-G3 固有の機能と開発方法

IIJ IoTサービスのサンプルAndroidプログラム

IIJ IoTサービスへデータ送信するサンプルプログラムをご提供することも可能です。詳細はお問い合わせフォームからご連絡ください。



脚注

※1 Androidの制限により Termuxで使用できるポートは 1024番ポート以降のため、sshd は 22番ポートではなく 8022番ポートで起動します。

※2 Termuxはシングルユーザ環境であるためユーザーの概念がありません。sshクライアントからログインする際はパスワードのみで認証が行われるため、ユーザー名は適当な文字列を使用します。