Google Coralデモ：Google Coral開発ボードのフラッシュ

Coral Edge TPU開発ボードは印象的なシステムですが、有用なAI / ML作業を実行する前にフラッシュが必要です。 コマンドライン操作に精通している人にとっては、インストールを成功させるために必要なのは、GoogleのWebサイトにある数ページの指示だけです。

####Coral Dev Boardのフラッシュに必要な材料
1本のケーブルで物事を進める必要があるArduino Nanoのようなボードとは異なり、セットアップには重要な付属品が必要です。 これらには以下が含まれます:
- USB A-Micro USBケーブル

- データ転送用のUSB C-USB Aケーブル

- 2-3Aを提供できるUSB C電源（電源に接続された2番目のUSB A-USB Cケーブルを正常に使用できました）

- LinuxまたはMacコンピューター

Windowsのみを実行している場合、ここでは運が悪かったのです。 ただし、コンピューターでデュアルブート構成をセットアップしたり、USBスティックから実行したりすることは可能です。 また、Raspberry Piから実行することもできます。これは非常に便利なオプションです。

この実験のために、私は信頼できるT60 Ubuntuリグをクローゼットから引き出しました。ここ数年はあまり更新されていませんでした。

#### フラッシュの準備：初期セットアップ

プロジェクトを開始するには、次の手順に従います。

1.ディップスイッチが正しく設定されていることを確認します（オン、オフ、オフ、オフ）。 アセンブリは小さくて見づらいので、虫眼鏡を使用しても当然のことです。

2. Linux用SDK-Platform Toolsをダウンロードし、開始する前にDownloadsディレクトリに展開します。

3.まだ何もプラグインしないでください。ただし、ターミナルコマンドを使用していくつかのアプリをインストールする必要があります。

4. sudo apt-getインストール画面、mkdir -p〜/ .local / bin、およびsudo mv〜/ Downloads / platform-tools / fastboot〜/ .local / bin /を入力します。

5. fastboot --versionと入力して、すべてが機能することを確認します。これにより、いくつかの情報が返されます。

私は何も情報を返さず、最初の重要で苦痛なレッスンにつながりました。開始する前にLinuxインストールを更新してください！

Googleの指示では、「LinuxまたはMacコンピューター」を使用するように指示されています。 彼らが明確に述べていないのは、最新のOSを搭載したLinuxコンピューターが必要だということです（Macコンピューターにも同じ要件があると仮定します）。

結局のところ、Ubuntuの私のオリジナルバージョンは12でしたが、最新のLTSバージョンは18.04です。 これはかなりのギャップであり、最新の状態にするにはいくつかのアップグレードサイクルが必要でした。 インストールに問題がある場合は、必ずここから始めてください。

####テキスト入力とテキストの問題の修正

最新になったら、次の手順を実行します。

1.次を端末に入力します:

```
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0525\", MODE=\"0664\", \

GROUP=\"plugdev\", TAG+=\"uaccess\"' >> /etc/udev/rules.d/65-edgetpu-board.rules",
```

2.次に、```sudo udevadm control --reload-rules && udevadm trigger```を入力します。

最初のコマンドを入力するときに、エラーや、正しく入力したことを確認するメッセージは表示されません。したがって、タイプミスを行っていないことを確認するには、次のように入力します。

```
cat / etc / udev /rules.d/65-edgetpu-board.rules
```  

```
SUBSYSTEM == "usb"、ATTR {idVendor} == "0525"、MODE = "0664"、GROUP = "plugdev"、TAG + = "uaccess"
```
の応答が返されるはずです。

コマンドが正確に正しくない場合（Linuxでは大文字と小文字が区別されることに注意してください）、後で問題が発生します。 このセクションの最初のコマンドを再度実行すると、そのテキストがルールファイルに追加されます。 ただし、Viテキストエディターで開くことができます:

- ```sudo vi etc / udev / rules.d / 65-edgetpu-board.rules```と入力します。

-問題のある行を削除し、必要に応じて新しい行を追加します。

-エスケープしてから：wqを押して終了して保存します。 エスケープしてから：g / ^ $ / dを押すと、Viの空白行を削除できます。

####接続のセットアップ
これらの手順が完了すると、Googleの指示に従って物理的な接続が行われます。これは、ケーブルを正しく配置すればかなり簡単です。 関係する接続の数と、プロセスの異なる時点でそれぞれを接続する必要があることを考えると、すべてが物理的な領域から別の領域にどのように到達するかを評価することをお勧めします。 これは当初、左側にUSBポートが1つしかないT60での課題でした。

注：ここでは、コンピューターの電源でCoralボードに電力を供給しないでください。2〜3アンペアを提供することは、ホスト（コンピューター）とCoralボードのハードウェアを危険にさらす可能性が高いためです。

#### Fastbootの実行と潜在的な問題
ここでは、fastboot 0 terminalコマンドを使用してfastbootを実行し、指示に従ってUSBデータラインを接続する必要があります。

（すでに実行されている端末に加えて）新しい端末を開き、fastbootデバイスを入力します。 すべてうまくいった場合は、文字の後に「fastboot」というテキストが表示されます。 許可エラーが表示された場合は、「詳細テキスト」セクションに間違った内容を入力した可能性があります。 もう一度見てください。

特に、最初に〜/ .local / $ binディレクトリからfastbootを実行しようとしたときに実行されませんでしたが、代わりにsudo apt-get install android-tools-fastbootと入力してプログラムをインストールするように促されました。 これは大きな問題ではありませんでしたが、公式の指示には記載されていなかったので、あなたのケースでこれを行う必要があるかもしれません。

#### 最終ステップ：Coral TPU開発ボードのフラッシュ
前述のようにcurlコマンドを最初に動作させることはできませんでしたが、代わりにこのブラウザーを使用してファイルをダウンロードしました。次に、Ubuntuのグラフィカルファイルマネージャーで抽出しました。面倒を見て、指示に記載されているように、そのディレクトリからbash flash.shコマンドを実行できます。 Coral TPUボードをLinux ML / AIデバイスとしてフラッシュし、すべてが快調に進むはずです。点滅している間、さまざまなテキスト出力が表示されます。プロセスが完了するまでに数分かかります。

これが完了したら、両方のデフォルトのユーザー名とパスワード「mendel」で新しくフラッシュされたシステムにログオンできます。あるレポートによると、強化されたSSHセキュリティは、ログオンするためにさらにいくつかの手順に従う必要があるかもしれないことを意味しますが、これは私のデバイスにとって問題ではありませんでした。

Googleの指示では、インターネットにログオンして画像分類スクリプトの例を実行する方法を説明しています。 Coral TPU Devボードをフラッシュしてアクティブにすると、さまざまな可能性が広がります。人々がそれを使って作成する新しいアプリケーションを見るのが楽しみです。

Coralは、2019年3月にGoogleによって導入された、ローカルAIを使用してインテリジェントデバイスを構築するためのプラットフォームです。Coralは、開発者がプロトタイピングから製造までインテリジェントハードウェアを簡単に作成できる完全ローカルAIツールキットを提供します。 ハードウェアコンポーネント、ソフトウェアツール、およびデバイス上でローカルにニューラルネットワーク（NN）を作成、トレーニング、および実行するのに役立つコンテンツが含まれています。
**Google Coral 海外代理店** [Gravitylink](https://store.gravitylink.com/global)
![alt](https://blogimg.goo.ne.jp/user_image/7a/f6/b70c2d2c00080dd683412bbf4e047c39.jpg)
Google Coralシリーズのすべてのハードウェアデバイスが販売されています。（DevBoard, USB Accelerator, Mini PCIe Accelerator, M.2 Accelerator A+E/ B+M key, System-on-Module (SoM) ）