Tutorialに沿ってデバイスを作成していきます。
新しいVirtual Productの作成
Tutrialの「Prototype Your Product」のStep1の「Create a Virtual Product」に沿ってデバイスを作成します。
Alexa Connect Kitのページに行って、左のメニューからProductを選択、Development Kitだけがある状態ですが、ここでCreate Productをクリックして、こんな感じで入力してみました。カテゴリーはTutrialのとおり、LIGHTのままにしておきます。〔注:「Region support」のところに書いてあるのですが、現状はACKのサポートはUSとCanadaだけです。なので、Region 1を選んでおかないと後でプロビジョニングでエラーになります。この時点で気づかなかったので後でエラーになって追加することになります。〕
Create productをクリックすると・・・
SampleLightが作成されましたが、『作成には1時間以上かかるかもしれないよ、作成が完了したか確認する場合はページをリフレッシュしてね。生成が一旦完了したら、productの設定とかその他の情報を編集できるよ。』ということで、Refreshボタンのある画面になりました。
実際、数分待ってRefreshを押してみましたが、
ということで、まだ作成中でした。
ACK Module Utilityの準備
待っている間にModule Utilityを準備しておきます。左のメニューからResourcesをクリックすると、すでにProductからSampleLightが選べるようになっていました。module typeとして「ACK Module with Espressif chipset」を選択して、Module Utilityをダウンロードします。ダウンロードしたらホームディレクトリにACKというディレクトリを作成してここに展開しました。
Module Utility CLI Quick Startに書いてある通りに、ユーティリティのバージョン確認をしました。
~$ java -jar ACK/ModuleUtility_5.0.67.0/ackmoduleutility.jar version java -jar ackmoduleutility.jar Version: 5.0.67.0 ~$
ESP32-PICO-V3-ZEROのDBG_TXDとDBG_RXDにUSB-UART変換基板を接続します。この時、電源もこのUSB-UART変換基板から5Vの供給を受けました。ESP32-PICO-V3-ZEROの電源は5Vから3.3Vを生成するレギュレータで生成しています。このときはSeeeduino Xiaoはこの時はUSB-UART基板から5Vの供給を受ける形になっています。
Module Utilityのコマンドラインインタフェースのリファレンスを参照してデバイス情報を読み出してみました。
~$ java -jar ACK/ModuleUtility_5.0.67.0/ackmoduleutility.jar deviceinfo --port /dev/ttyUSB0 DSN : (シリアルナンバーっぽい文字列) Firmware version : 3.307002820.build2106232357.01 PUK : (BASE64っぽい文字列) ~$
ということで、無事にデバッグポートの通信が確認できました。
プロビジョニングファイルのダウンロードとモジュールのプロビジョニング
確認しているうちに、デバイスの作成が終わっていました。
Step2のプロビジョニングファイルを入手します。Alexa Connect Kitのページで左のメニューからProductを選択、作成したSampleLightをクリックします。
右上のDownload provisioning fileをクリックして、プロビジョニングファイルをZipファイルでダウンロードして、ダウンロードしたファイルを~/ACKディレクトリの下に展開しました。
ダウンロードしたプロビジョニングファイルでACK moduleをプロビジョニングします。
ここで、Waiting for you to login using “Login with Amazon” のところで、ブラウザが開いてAmazonへのログインが促されるので、amazon developer accountでログインします。
ログインすると、Alexa Connectキットへの接続許可が求められます。
許可をクリックすると続きの処理が行われて、プロビジョニングが完了しました。
製品登録用2次元バーコードの作成
TutrialのStep3に沿ってAlexa Appで製品登録するために使用する2次元バーコードを作成します。
~/ACK$ java -jar ModuleUtility_5.0.67.0/ackmoduleutility.jar barcode --port /dev/ttyUSB0 --upc 000000000001 Barcode files successfully created in ./ directory.
ここで、–upcの後に設定する数字はCLIのリファレンスのbarcodeの項目によると生産者が製品のために割り当てるuniversal product codeという12桁の数字とのことです。ここでは000000000001としておきました。
成功するとカレントディレクトリに2次元バーコードのPNGファイルが2つとのその中身を記したテキストファイルが2つ生成されました。