= TOPPERS BASE PLATFORM でAzure IoTに接続するサンプルプログラム [https://www.toppers.jp/edu-baseplatform.html TOPPERS BASE PLATFORM]を使い Azure IoTに接続するサンプルアプリ。 - STマイクロ版 [https://www.st.com/en/evaluation-tools/nucleo-f767zi.html NUCLEO F767ZI]向けで、[https://savannah.nongnu.org/projects/lwip/ lwIP]を利用し、Ethernetで通信します。 ソースコードは[https://dev.toppers.jp/trac_user/contrib/browser/azure_iot_hub_f767zi/trunk こちら]にあります。 - RISC-V版 [https://dl.sipeed.com/MAIX/HDK/Sipeed-Maix-Bit Sipeed Maix Bit]向けで、[https://www.espressif.com/ ESP-WROOM-32]のATコマンドのTCPを利用しWifiで通信します。ESP32とはIO6とIO7のUARTで通信します。 ソースコードは[https://dev.toppers.jp/trac_user/contrib/browser/azure_iot_hub_riscv/trunk こちら]にあります。 リストの下にある「Download in other formats:」の「Zip Archive」をクリックすると、zipファイルでダウンロードできます。 == 開発環境 ビルドはGCCとGNU makeを使用します。 ここではWindowsでの開発環境について説明します。 GCCは[https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/ ここ]で、 GNU makeは[https://www.msys2.org/ MSYS2]のものを使います。 IDEとして、[https://code.visualstudio.com/ Visual Studio Code]を使います。 MSYS2とVisual Studio Codeの環境構築は、下記を参照してください。 https://qiita.com/takasehideki/items/fa0a1a6567a22f469515 ARM GCCの環境構築ですので、RISC-V版の場合はRISC-V GCCに置き換えて読んでください。 Visual Studio Codeの設定は、下記にGCCが展開してある設定になっています。 STマイクロ版は「C:\Program Files (x86)\GNU Tools ARM Embedded\9 2019-q4-major\bin」で、 RISC-V版は「C:\xpack-riscv-none-embed-gcc-8.3.0-1.2」です。 Sipeed Maix BitのCPU Kendryte K210向けのGCCも使用できますが、下記の違いを直す必要があります。 ||-||xpack||Kendryte||備考|| ||インストールしたフォルダ||C:\xpack-riscv-none-embed-gcc-8.3.0-1.2||C:\kendryte-toolchain||各自の環境に合わせる|| ||コマンドプリフィックス||riscv-none-embed||riscv64-unknown-elf||-|| ||marchオプション||-march=rv64imafdc||-march=rv64imafc||-|| ||mabiオプション||-mabi=lp64d||-mabi=lp64f||-|| TOPPERS BASE PLATFORMのリリースに合わせてxpackを使用しています。 == ビルド ルートフォルダにある「azure_iothub.code-workspace」を、Visual Studio Codeで開きます。 初回の起動では下記の手順が必要です。 「Ctrl+@」でターミナルを開きます。この時警告のポップアップが出るので、「許可」してください。 Visual Studio Codeを一度終了して、もう一度起動します。 「Ctrl+Shift+B」でビルドが始まります。 「app_iothub_client\Debug\app_iothub_client.bin」が出力ファイルで、これを書き込みます。 == 書き込み NUCLEO F767ZIは、USB接続した際にドライブにコピーすることで書き込みます。 Sipeed Maix Bitは、[https://github.com/kendryte/kendryte-flash-windows/releases K-Flash]を使って書き込みます。 ボーレートは115200が安定して書き込めます。 == Lisence ||フォルダ||名称||ライセンス|| ||app_iothub_client/src||アプリ||ファイルヘッダー参照|| ||app_iothub_client/kendryte||[https://github.com/kendryte/kendryte-standalone-sdk Kendryte K210 standalone SDK]||Apache-2.0 License|| ||asp_baseplatform||[https://www.toppers.jp/edu-baseplatform.html TOPPERS BASE PLATFORM]||[https://www.toppers.jp/license.html TOPPERS License]|| ||azure_iot_sdk||[https://github.com/Azure/azure-iot-sdk-c Azure IoT C SDKs and Libraries]||MIT License|| ||wolfssl-4.4.0||[https://www.wolfssl.jp/ wolfSSL]||GPL License\\or\\[https://www.wolfssl.jp/license/ 商用ライセンス]|| ||zlib-1.2.11||[http://zlib.net/ zlib]||[http://zlib.net/zlib_license.html zlib license]||