Degu v0.9.xからv1.0.0-rc1移行ガイド
概要
Deguの新ソフトウェアを2020年1月31日にリリースいたしました。
Deguゲートウェイ、Degu(ファームウェア/MicroPythonコード)を新ソフトウェアにアップデートすることにより、次の機能が利用できるようになります。
- セキュアエレメント(A71CH)に保存された証明書を使用した、AWSからの個体認証(Degu、Deguゲートウェイ共に個体認証可能)
- DTLSによるDeguゲートウェイとDegu間のセキュアな通信
- Deguのパワーマネージメント機能に正式対応
- OTAによるDeguのリモートファームウェアアップデート機能の正式対応
各種ソフトウェアバージョンの互換性に関して
ソフトウェアをアップデートする際は、互換性に注意してください。
新・旧混ぜた、下記のような組み合わせでは動作できません。
- Degu:旧ソフトウェア、Deguゲートウェイ:新ソフトウェア
- Degu:新ソフトウェア、Deguゲートウェイ:旧ソフトウェア
DeguとDeguゲートウェイは、以下の旧ソフトウェアバージョンと新ソフトウェアバージョンの組み合わせでのみ動作可能です。
項目 | 旧ソフトウェア | 新ソフトウェア | |
---|---|---|---|
ステータス | 非サポート | サポート | |
Degu | degu.bin(MTDファームウェア) | 0.9.5以前 | 1.0.0-rc1以降 |
MicroPythonサンプルコード | github公開の0.9.5以前の対応コード を利用する必要があります |
githubにて公開・継続メンテナンス | |
degu_router.bin(FTDファームウェア) | 0.9.5以前 | 1.0.0-rc1以降 | |
Deguゲートウェイ G3 | インストールディスクイメージ | install_disk_sd_20190520_degugw_iotg3_m1.img | install_disk_sd_20200131_degugw_iotg3_m1.img |
Debian GNU/Linux 9(Stretch) ユーザーランド |
debian-stretch-armhf_degugw_20190520.tar.gz | debian-stretch-armhf_degugw_20200131.tar.gz | |
Deguゲートウェイ A6 | インストールディスクイメージ | install-disk-degugw-a6-20191224.img | install-disk-degugw-a6-20200131.img |
Debian GNU/Linux 9(Stretch) ユーザーランド |
debian-stretch-armhf-degugw-a6-20190725.tar.gz | debian-stretch-armhf-degugw-a6-20200131.tar.gz | Deguゲートウェイ 共通 |
coap-mqtt-bridge | 1.1.0以前 | 2.0.0-1以降 | |
degugw-mqtt-client | ------ | 2.0.0-1以降 ※新規リリース | |
degu-manager | 1.0.3-1 | 2.0.0-1以降 | |
libengine-a71ch-openssl | ------ | 1.0.0-1以降 ※新規リリース |
新ソフトウェアのリリースノート
各種パッケージ、ファームウェアのリリースノートについては以下をご確認ください。
- Deguゲートウェイ
- Degu
Deguファームウェア バイナリのリリースに関しては以下を参照してください。
https://github.com/open-degu/degu/releases
旧ソフトウェアを継続して利用する際の手順
旧ソフトウェアを利用する際の手順を次に示します。
Degu
0.9.5以前のイメージを書き込んでください。
ファームウェアに関しては https://github.com/open-degu/degu/releases からダウンロードしてください。
Deguゲートウェイ
次のようにコマンドを実行し、 coap-mqtt-bridgeとdegu-managerをバージョン指定でインストールしてください。
バージョン指定をしないでapt installコマンドを実行すると、新ソフトウェア対応のパッケージが自動的に選択されます。
DeguGW # apt update
DeguGW # apt install degu-manager=1.0.3-1
DeguGW # apt install coap-mqtt-bridge=1.1.0
Deguゲートウェイの更新
以下に、Deguゲートウェイを新ソフトウェアへ移行する手順を示します。
AWS IoT CoreのモノからDeguゲートウェイを削除
AWS IoT Core上で、Deguゲートウェイのモノを削除してください。
登録されているモノのページで、アクション
->削除
をクリックしてください。
CA証明書を作成し、AWS IoT Coreへ登録
Linux PC上で、Deguゲートウェイのセットアップ の『CA証明書の作成、AWS IoT Coreへの登録、Deguゲートウェイへの設置』を参照し、CA証明書の作成とAWS IoT Coreへの登録を行ってください。
Deguゲートウェイのパッケージを更新
degu-managerを最新バージョンにアップデートします。
関連するパッケージも更新されます。
DeguGW # apt update
DeguGW # apt install degu-manager
DeguGW # apt install coap-mqtt-bridge
Degu v1.0.0-rc1に対応する、Deguゲートウェイ側Debianパッケージのバージョンは以下の通りです。
パッケージ名 | パッケージバージョン |
---|---|
degu-manager | 2.0.0-1 |
coap-mqtt-bridge | 2.0.0-1 |
degugw-mqtt-client | 2.0.0-1 |
ibengine-a71ch-openssl | 1.0.0-1 |
パッケージcoap-mqtt-bridgeを更新する際、以下のようなメッセージが表示されることがあります。
configuration file '/etc/coap-mqtt/mqttinfo.json'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** mqttinfo.json (Y/I/N/O/D/Z) [default=N] ?
このメッセージが表示された場合、一旦D
を押し差分を表示します。
更新前の設定ファイルの以下の内容を別な場所に控えておいてください。
"aws_endpoint" : "my_endpoint",
"secretaccesskey" : "my_accesskey",
"accesskeyid" : "my_accesskeyid",
"region" : "my_region",
控えた上で、Y
を押して設定ファイルを更新してください。
CA証明書とキーペアをDeguゲートウェイに設置
Deguゲートウェイのセットアップ の『CA証明書をDeguゲートウェイへコピー』を参照し、CA証明書を作成し、AWS IoT Coreへ登録
で作成したCA証明書とキーペアを、Deguゲートウェイに設置してください。
AWS情報設定ファイルの編集
Deguゲートウェイのセットアップ 『AWS情報設定ファイルの編集』を参照し、AWS情報設定ファイルを編集してください。
Deguゲートウェイのパッケージを更新
で控えた各項目の値はここで使用します。
Degu ゲートウェイをAWS IoT Coreへ再登録
Deguゲートウェイのセットアップ の『DeguゲートウェイをAWS IoTへ登録』を参照し、DeguゲートウェイをAWS IoT Coreへ再登録してください。
Deguの更新
以下に、Deguを新ソフトウェアへ移行する手順を示します。
ネットワーク情報のクリアとAWS IoT Coreへの再登録
AWS IoT Coreのシャドウが更新されないを参照し、Degu内のネットワーク情報をクリアし、AWS IoT Coreへ再登録してください。
Deguファームウェアの更新
最新の状態へのアップデートの手順を参照し、Deguファームウェアを最新にしてください。 v1.0.0-rc1のファームウェアは、https://github.com/open-degu/degu/releases/tag/v1.0.0-rc1 に存在します。
main.py更新
サンプルコードをそのまま使用している場合
サンプルコード から最新のサンプルコードをダウンロードし、Deguに適用してください。
独自のmain.pyをご利用の場合
おおまかな変更方針は以下の通りです。
- import zcoapの箇所をimport deguに置き換えてください。
- cli.request_post()をdegu.update_shadow()に置き換えてください。
- ポート番号の指定など細かい指定が不要となります。
例として、バッテリー残量センサーの差分は以下の通りです。
main.pyの適用方法
MicroPythonコードの変更を参照し、Deguに新しいmain.pyを上書きしてください。