ポータブルIoTデバイスを開発する際に考慮すべき3つの主要なパラメーターは、低消費電力、ワイヤレス接続、およびセキュリティです。これら3つを念頭に置いて、Microchip社はPIC IoTWGと呼ばれる新しい開発ボードを立ち上げました。このボードは、ATWINCWi-Fiモジュールとその他多くの興味深い機能を備えた16ビットPICマイクロコントローラーを搭載しています。この記事では、このボードの詳細と、IoTデザインでの使用方法について説明します。他のIoT開発ボードに興味がある場合は、Arduinoによって最近導入されたArduino Nano 33BLEセンスボードもチェックしてください。
PIC IoT WG開発ボード:
このボードの名前から始めましょう。これはPICIoT WGと呼ばれ、WGはWiFiとGoogleの略です。はい、MicrochipとGoogleは提携して、Google CloudIoTコアサービスと簡単かつ安全に通信できる組み込みIoTアプリケーションの設計に役立つこの素晴らしい開発ボードを提供しています。以下に示すように、開発ボードには多くのコンポーネントがあり、独自のマイクロコントローラー、Wi-Fiモジュール、暗号化コプロセッサー、いくつかのセンサーなどがあります。
PIC IoTWGハードウェアの概要
ボードは、充電器セクション、デバッガーセクション、コントローラーセクションの3つのセクションに分かれています。各セクションとそこに存在する重要なコンポーネントを見てみましょう。
WINC1510Wi-Fiモジュールを備えたPIC24Fマイクロコントローラー
コントローラーセクションには、PIC24FJ128GA705であるこのPICマイクロコントローラーとWINC1510であるこのWi-Fiモジュールの2つの最も重要なコンポーネントがあります。マイクロコントローラ部分については、PIC24Fは、統合された12ビットADCを備えた32MHzクロック周波数で動作する非常に低電力の16ビットマイクロコントローラです。また、Wi-Fiモジュールは同じくマイクロチップ製のATWINC1510であり、低電力認定のIoTネットワークコントローラーです。バッテリー駆動のIoTEdgeデバイスを設計しようとしている場合は、これらのデバイスはどちらも適しています
安全なデータ通信のための暗号化コプロセッサ
コントローラの左側には、ATECC608と呼ばれる暗号化コプロセッサである別の興味深いICがあります。今日、心拍数モニター、継続的な血糖値モニタリングデバイス、資産追跡デバイスなど、非常に多くの敏感なデバイスがクラウドに接続されています。これに伴い、データセキュリティが大きな懸念事項になりつつあります。ここで暗号化コプロセッサIC ATECC608が登場します。したがって、ここで発生するのは、ボードが秘密鍵と公開鍵を生成することです。。秘密鍵は、このボードから送信されるすべてのメッセージを暗号化するために使用され、公開鍵は、GoogleIoTクラウドなどのサービスプロバイダーと共有されます。次に、ボードからのこの暗号化されたメッセージがクラウドに到達すると、クラウドは公開鍵を使用してこのメッセージを検証および復号化します。
ここでのATECC608ICは、これらの秘密鍵と公開鍵を作成および管理するための暗号認証デバイスとして機能します。また、ICは、ボードとGoogleクラウドIoTコアの間で認証が行われるように事前構成および事前プロビジョニングされています。つまり、ボードを受け取るまでに、ボードの秘密鍵はすでに生成されてロックされており、このICと公開鍵は、Google CloudIoTでホストされているマイクロチップサンドボックスアカウントに登録されています。この方法で行う必要はありません。 IoTデバイスを安全にするためのネットワーキングまたは暗号化の専門家になりましょう。後で、プロトタイピングが完了したら、ボードをプライベートレジストリに移動することもできます。
オンボード温度および光センサー
暗号化コプロセッサーICの両側には、テストの準備ができている2つのオンボードセンサーがあります。1つはTEMT6000X01であるこの光センサーであり、もう1つはこのMCP9808温度センサーです。光センサーは、PICコントローラーの10ビットADCに接続された単純な電流検出センサーであり、温度センサーは、-20 * Cから100 * Cまでの温度を0.25 * Cの標準精度で測定でき、 I2C。
オンボードリチウム充電器
PIC IoT WG開発ボードは、マイクロUSBポート、またはバッテリー端子(白色)に接続できる4.2Vリチウムバッテリーのいずれかで電力を供給できます。さて、バッテリーでボードに電力を供給している場合、ボードには充電ICもあり、マイクロUSBポートを介して4.2Vの充電電圧と100mAの充電電流でリチウムバッテリーを充電します。また、ボードの隅に2つのLEDがあります。赤いLEDはバッテリーが充電中であることを示し、緑のLEDは完全に充電されていることを示します。
PKOB –プログラマーおよびデバッガー
開発ボードには、PKOBと呼ばれる独自のオンボードプログラマー、エミュレーター、およびデバッガーもあります。PKOBという用語はボード上のPic-kitの略であるため、以前は別のpic-kitを使用してコントローラーをプログラムおよびデバッグしていましたが、このボードにはオンボードエミュレーターがあり、シリアル通信もサポートしているため、デバッグに非常に便利です。外部ハードウェアを必要としません。
ピン配列、LED、およびスイッチ
ここには、それぞれ異なる色の4つのLEDがあります。1つ目はボードがWi-Fiネットワークに接続されているときに点灯する青色LED、2つ目はGoogleクラウドサービスに接続している場合に点灯する緑色LED、3つ目は黄色のLEDですクラウドにデータを送信するたびに点滅し、4番目の色は赤色で、ボード上のエラーを示すために点灯します。また、softAPモードに入るのに使用できる2つのスイッチSW1とSW2があります。
ピン配置になりましたが、ボードの両側に8つのメスのヘッダーがあり、Mikro Elektronikaのさまざまなセンサーとモジュールを接続できるMikrobus拡張として機能します。PICコントローラーの他の汎用ピンにも、このコントローラーの下部にあるこれらのパッドからアクセスできます。
PIC IoT WG –ソフトウェアサポート
ソフトウェアの部分に関して言えば、Microchipは、このボードのプログラミングとデバッグを簡単に行えるようにしました。このボードをコンピューターに接続すると、フラッシュストレージデバイスとして検出され、Wi-Fi資格情報を変更したり、単純なドラッグアンドドロップオプションで再プログラムしたりできます。また、これは16ビットPICコントローラーであり、XC16コンパイラーを備えたMPLABX IDEを使用してプログラミングできます。また、迅速なプログラミングとデバッグのためにMicrochips Code Configurator(MCC)もサポートしています。
また、このボードを受け取ると、このボードは事前にプログラムされ、デモ用に構成されます。このデモでは、この光センサーと温度センサーの値を読み取り、Googleクラウドプラットフォームでグラフ化できます。
PIC IoTWG開発ボードの使用を開始する
まず、ミニUSBケーブルを入手して開発ボードに接続し、もう一方の端をコンピューターに接続します。ボードが点灯し、コンピューター上で、好奇心と呼ばれる新しいフラッシュドライブを見つけることができます。ドライブを開くと、以下に示すようにドライブの内容が表示されます。
CLICK-ME.HTMというファイルをクリックして、Webページを開きます。Webページで、Wi-Fi資格情報を入力し、構成のダウンロードをクリックします。
これ により 、 WiFI.config というファイルがダウンロードされ、このファイルを好奇心ドライブにドラッグするだけで、ボードの青いLEDと緑がオンになり、ボードがWi-FiとGoogleクラウドに接続されたことを示します。もう一度Webページを開いてボードのステータスを確認し、下にスクロールして、ページにグラフ化されているボードの光と温度のセンサー値を確認します。ご不明な点がございましたら、上のビデオをご覧ください。
同様に、Googleクラウドからデバイスにデータを送信することもできます。パテなどのシリアルモニターソフトウェアを開いてボードのCOMポートに接続し、このテキストボックスにサンプルメッセージを入力して、[デバイスに送信]をクリックするだけです。
ご覧のとおり、パテ端末には送信したメッセージが表示されます。このデモプログラムを試した後、下にスクロールして独自のセンサーノードプログラムを作成するためのオプションを見つけることができます。次に、このデモ環境からプライベート環境にボードを移動できるgradientというオプションがあります。詳細およびここから先に進むには、Microchip社のこのPIC IoTWGユーザーガイドが役立ちます。
次に、MPLABX IDEを使用して独自のコードを書き始めます。これも前述のとおり、ボードはMCCをサポートしているため、すばやく簡単にプログラミングできます。これは、PIC IoTWG開発委員会での私のレビューをほぼ要約しています。ボードについての知識を楽しんでいただき、ボードを使って何かを構築したいと思っていることを願っています。コメントセクションでこれについてのあなたの考えを教えてください、そして私は別のエキサイティングな開発委員会との別の総説であなたに会います。