SA課の牛嶋です。Alibaba CloudのIoT Platformにおいて、同僚の有識者がAliOS ThingsについてMarkdown形式で記載してもらったので、Linkkit SDKと併せて、ブログで投稿して共有したいと思います。
目的
Alibaba Cloud IoT IoTオペレーティングシステム(別名AliOS Things)は、Alibaba CloudのIoT分野向けの拡張性の高いIoTオペレーティングシステムです。 AliOS Thingsは、極端なパフォーマンス、最小限の開発、クラウド統合、豊富なコンポーネント、セキュリティ保護などの主要な機能を備えたクラウド統合IoTインフラストラクチャの構築に取り組んでいます。 AliOS Thingsは、Alibaba Cloud Linkプラットフォームに接続されたさまざまなデバイスをサポートしており、スマートホーム、スマートシティ、産業、新しい旅行などの分野で広く使用できます。
本書はAliOS Things 関連の知識や AliOS Thingsを使ってIOT Platformと繋がる方法を紹介させてください。
本ガイドの全体的な流れは下記の通りです。
セクション | Topic | 説明 |
---|---|---|
前提知識 | AliOS と AliOS things | AliOS と AliOS things の関係の紹介 |
- | AliOS things と IOT Platform | AliOS things と IOT Platform の関係 |
基本構成 | 基本特徴 | AliOS things 基本特徴を紹介 |
- | アーキテクチャ | AliOS things アーキテクチャを紹介 |
- | 関連ハードウェア | 関連ハードウェアと開発Board紹介 |
- | 開発ツール | 開発ツールAliOS Things Studio |
開発サンプル | AliOSの開発事例 | AliOS使ってAlibabaCloudと繋がる事例を紹介 |
前提知識
本ガイドを理解するために、下記の前提知識が必要になります。
1.AliOS と ALIOS things の関係
AliOS Thingsは、AliOSファミリーに属するIoT指向の高度にスケーラブルなIoTオペレーティングシステムです。 AliOS Thingsは、限られた電力とリソース、接続されたソケットSoCを備えたMCU向けに設計されており、IoTデバイスに非常に適しています。
2.AliOS things と IOT Platform の関係
AliOS thingsを実装されたデバイスはIOT PlatformのSDK(Linkkit SDK)を実装不要で、簡単にIOT Platformへの接続が可能です。
もしデバイスはAliOS thingsを実装してない場合は、Linkkit SDKの実装でIOT Platformへの接続も可能です。ただし、Linkkit SDKとデバイス既存OSへの適合性によって、一部ハードウェア関連のドライバー部分はお客様自身で実装する必要があります。
基本構成
1.基本特徴
豊かな生態 AliOS Thingsは、認定された80以上のハードウェアプラットフォームと100以上のセンサーサポートを提供します。
高カスタマイズ性 オンラインでコンポーネントの組み合わせを選択できる。
安全統合 Alibaba Cloud IoTセキュリティサービスのデバイス側機能をネイティブに統合して、IoTデバイスの安全な操作を保護します。
IoTプロトコル Alink、MQTT、Http / Https、Coap、LwM2M、LoRaWANなど、さまざまなIoTプロトコルコンポーネントのサポートをユーザーに提供します。
便利な開発ツール 編集、コンパイル、およびデバッグを統合する開発ツールをサポートし、包括的な開発リンクツールをユーザーに提供します。
SALソケット抽象化コンポーネント AIoTのMCU外部通信モジュールシナリオに適した標準のネットワークソケット抽象化コンポーネントを提供します。異なる通信モジュールの接続の違いからユーザーを保護し、開発をより効率的にするため。
OTAオンラインアップグレード ユーザーに、ピンポンアップグレード、圧縮アップグレード、差分アップグレード、セキュリティアップグレードなど、複数のデバイス側のアップグレード方法を提供します。
2.AliOS things アーキテクチャ
AliOS Thingsのアーキテクチャは、階層型アーキテクチャとコンポーネント化されたアーキテクチャの両方に適用できます。下から上に、AliOS Thingsに含まれるもの:
- ボードサポートパッケージ(BSP):SoCベンダーによって主に開発および保守されています
- ハードウェアアブストラクションレイヤー(HAL):WiFiやUARTなど
- カーネル:Rhinoリアルタイムオペレーティングシステムカーネル、Yloop、VFS、KVストレージを含む
- プロトコルスタック:TCP / IPプロトコルスタック(LwIP)、uMeshネットワークプロトコルスタックを含む
- セキュリティ:セキュアトランスポートレイヤープロトコル(TLS)、トラステッドサービスフレームワーク(TFS)、トラステッドオペレーティング環境(TEE)
- AOS API:アプリケーションソフトウェアとミドルウェアのAPIを提供します
- ミドルウェア:一般的なIoTコンポーネントとAlibabaの付加価値サービスミドルウェアが含まれています
- サンプルアプリケーション:Aliの自己開発サンプルコード、および完全なテストに合格したアプリケーション(Alinkappなど)
すべてのモジュールはコンポーネントに編成されており、各コンポーネントには独自の.mkファイルがあります。これは、他のコンポーネントとの依存関係を記述するために使用され、アプリケーション開発者が必要に応じて選択するのに便利です。
3.関連ハードウェアと開発Board紹介
AliOS Things Starter Kit スターターキットは、AliOS Thingsに合わせて開発された開発ボードで、ボードレベルセンサー、LCDスクリーン(240 * 240)、オーディオ、オンボードWiFiモジュールなど、豊富なオンボードリソースを提供します。
GUIサンプル
詳細紹介:http://aliosthings.io/#/zh-cn/starterkit
AliOS Things Developer Kit
Developer Kitは、AliOS Thingsが作成した公式のハイエンド開発ボードで、スターターキットよりも豊富なリソースを提供します。
センサーに関しては、慣性航法加速度計およびジャイロスコープに加えて、磁力計、気圧計、温度および湿度センサー、赤外線センサー、近接光センサーなどの多数の環境センシングデバイスが提供され、さまざまなタイプのIoTビジネスシナリオを提供できます。クラウド統合ソリューションの検証。
詳細紹介:http://aliosthings.io/#/zh-cn/developerkit
-
サポートモジュール:
慶科(EMW3060)
EMW3060は、上海Qingke(MXCHIP)が発売した費用対効果の高い組み込みW-Fiモジュールで、ARM9、WLAN MAC /ベースバンド/ RFと高度に統合され、最高周波数は120MHzです。
楽鑫(ESP-WROOM-32)
乐鑫の最先端のSoCに基づいたESP-WROOM-32モジュールは、高性能で豊富な周辺機器を備え、Wi-FiとBluetooth機能を統合し、高度なIoTアプリケーションに高度に統合されたソリューションを提供します。
そのたDiscovery kit Development board STM32 B-L475E-IOT01A 詳細について、 Introduction of STM32
AliOSThings対応済みhardware一覧は下記リンクを参照してください: http://aliosthings.io/#/zh-cn/hardware
4.開発ツールAliOS Things Studio
AliOS Studioは、vscodeに基づいた一連の開発環境であり、windows、linux、macOSをサポートしています。 AliOS Studioには次の機能があります:
- 優れた開発体験とシンプルな操作インターフェース
- AliOS Thingsアプリケーション開発のサポート
- コード補完、インデックス作成、ヒントなど
- AliOS Thingsのコンパイル/ダウンロード/デバッグ
- 複数の開発ボードに適応
- シリアルツール、TSL変換ツールなど
インストール
- ダウンロードしてインストール Visual Studio Code
- 以下に示すように、vscodeを開き、AliOS Studioプラグインをインストールします
- aos-cubeインストール
AliOS Studioはaos-cubeに依存しています.aos-cubeを手動でインストールする場合は、システム環境のセットアップを参照してください。同時に、AliOS Studioは、以下に示すようにaos-cubeのワンクリックインストールもサポートしています:
使用
AliOS Studioの主な機能は、vscodeの下のツールバーに集中しており、左から右への小さなアイコンがアプリケーションプロジェクトを作成しています。
左側のhelloworld @ developerkitはコンパイルターゲットで、形式はアプリケーション名@ターゲットボード名のルールに従っています。クリックして、アプリケーションとターゲットボードを順番に選択します。
Build
Upload 開発ボードとコンピューターをUSBマイクロケーブルで接続し、下のツールバーの稲妻アイコンをクリックして、ファームウェアの書き込みを完了します:
Monitor USBマイクロワイヤを介して、送信パネルと電源を接続します。 最初の接続は、書き込みソケットのデバイス名と波の速度を示すことを示します。
Debug F5キーを押すか、メニューバー[デバッグ]> [デバッグの開始]をクリックして、デバッグモードに入ります。
開発サンプル
使用条件:
AliOS Things >= 3.0 aos-cube >= 0.3.7
1:AliOS Things 3.0ソースコードをダウンロード
- Open sourceから https://github.com/alibaba/AliOS-Things 全量ダウンロード。
- オフィシャルサイトから:https://aliosthings.iot.aliyun.com カスタマイズダウンロードも可能です。
2:AOS_SDK_PATH環境変数を追加する
AOS_SDK_PATHシステム環境変数を追加して、AliOS Things 3.0ソースコードパスを指すようにするAos-cubeは、AOS_SDK_PATH環境変数に従ってAliOS Thingsソースコードを検索します。さまざまなシステムがさまざまな方法で環境変数を追加します。
3:AliOS Studioのアプリケーションプロジェクト作成
Vscodeで、AliOS Studioが提供する「+」ボタンをクリックして、新しいプロジェクトを作成します(ボタンはvscodeの左下隅のステータスバーにあります)。AliOSStudioは、プロジェクト名>プロジェクトストレージパス>開発ボードの選択を求められ、指定したパスになります。以下で最も簡単なアプリケーションプロジェクトを生成します。
. ├── .aos # AliOS Things 3.0 アプリケーションの説明 ├── .vscode # AliOS Studio 構成ファイル ├── Config.in # Menuconfig 構成ファイル ├── README.md # 説明ドキュメント ├── aos.mk # Buildファイル ├── app_main.c # サンプルコード └── k_app_config.h # カーネル構成
完全な作成例:
4、Alibaba Cloud IoT プラットフォームへ接続する
-
4.1、クラウド上の5つのステップ:
- Alibabaクラウドアカウントを登録する
- IoTスイートを開始する
- 製品の作成、getProductKey
- デバイスを作成し、DeviceNameとDeviceSecretを取得します
- Topic (PRODECT_KEY)/ $(DEVICE_NAME)/ dataを定義し、アクセス許可を次のように設定します:デバイスはパブリッシュおよびサブスクライブできます
4.2、デバイス側のパラメーター変更 mqttアプリのソースコードは
AliOS-Things/example/mqttapp/mqtt-example.c
で、mqttサーバーに接続するための資格情報はframework/protocol/linkkit/iotkit /sdk-encap/imports/iot_import_product.h
にあります。 クラウドから取得した3つのパラメーター(ProductKey、ProductSecret、DeviceNameおよびDeviceSecret)は、コード内の3つのマクロPRODUCT_KEY、PRODUCT_SECRET、DEVICE_NAMEおよびDEVICE_SECRETに対応しています。
#elif MQTT_TEST #define PRODUCT_KEY "b1eszMRbDvz" #define DEVICE_NAME "mqtt_test" #define DEVICE_SECRET "CAaQz8Fc1JkFEyuzFhu4NpHSTlRSmRxV" #define PRODUCT_SECRET "Fxx6nyYptOugnS6H" #else
- 4.3、MQTT他のもののコンパイルアプリ 現在のAliOS Things mqttアプリのコンパイルコマンドラインは次のとおりです。
aos make mqttapp @ b_l475e
コマンドの実行後、生成されたbinファイルとhexファイルはout / mqttapp @ b_l475e / binary /ディレクトリーにあります。
5、Bulid, Upload, Debug
前章の「開発ツールAliOS Things Studio」を参照してください。
6、ネットワークとデータ接続の構成
上記の4つのステップの後、対応するmqttappバイナリがstm32L475開発ボードに焼き付けられ、次のようにポートプリントが開始されます。
Wifiモジュールは、コマンドラインを介して対応するAPに接続できます。
netmgr connect * ssid * * password * * open | wep | wpa | wpa2 *
デバイスがネットワークに接続できるようになると、mqttappが実行を開始します。次の図は、mqtt実行ログです。
以上です。