Internet of Things Control APPの概要(5)--- android studioを使用して、Internet of Things ControlAPPを直接作成します

要約:IoT制御APPの作成に関する一連の記事の最終バージョンとして、この記事の利点は、誰もが自分で完全に制御可能なAndroidAPPを作成する方法を学ぶことができることです。サードパーティプラットフォームの自動生成、サードパーティプラットフォームのヘルプパッケージ、およびIoTStudioによって生成された制御ページを表示するためのandroidstudio生成フレームワークを使用して紹介された以前の記事と比較すると、最大の利点は、ソースコードを制御でき、続いて無料(開発用)であるということです。それらに関して)。難しいのは、習得するにはテクノロジーが多すぎることです。この記事では、実装の基本原則と操作手順を可能な限り詳細に紹介し、最後に、理論的な学習と実践的なオブジェクトの両方を使用できるように、通常どおりにコンパイルできるソースコードを提供します。

達成された効果は次のとおりです。

使用したソフトウェア環境:win7 x64、android studio3.5.1。

目次

1.サードパーティのプラットフォームが料金を請求するのはなぜですか?

2.自分でアンドロイドスタジオプログラムを作ることの難しさは何ですか?

3.自分でAndroidスタジオプログラムを作成する基本的な考え方

4.AndroidスタジオはIoTコントロールAPPを実際の戦闘にします

5。結論


1.サードパーティのプラットフォームが料金を請求するのはなぜですか?

Internet of Things制御システムのしきい値が高いため、サードパーティのプラットフォームによって設計されたこれらのオンライン製品は、多くのプログラマーのハードワークを凝縮しています。あなたがそれを学んだ後、あなたは仕事を見つけるかプロジェクトをするためにこのスキルを使うだろうと想像してください、そして仕事を見つけるかプロジェクトをする目的は何ですか?別の場所でそれについて考えれば、あなたは理解するでしょう。

サードパーティのプラットフォームは高品質のサービスを提供し、リーズナブルな価格を支払います。無料で欲しい場合は、それを行う方法を学ぶために、時間とエネルギーを数十倍または数百倍も費やすことができます。

2.自分でアンドロイドスタジオプログラムを作ることの難しさは何ですか?

デバッグが難しい。

埋め込まれている古いプログラマーは、この真実を理解する必要があります。

すべてのコードは問題ないと思いますが、調整することはできません。時々、句読点が1か月間あなたを罠にかけます。

この記事は同じです。一見シンプルなソースコードにより、実際にはapkファイルを正常に生成できます。クラウドプラットフォームとの通信に成功する前に、無数の問題を解決し、何晩も稼働し続けました。

つまり、コードが提供されてインストールパッケージが生成されても、クラウドプラットフォームと通信したり、IoTデバイスを制御したりすることはできません。

これはIoT制御アプリの場合です。これは単純なネイティブアクティビティではなく、自分で操作できますが、クラウドと通信し、実際のIoTデバイスと通信して目標を達成します。

3.自分でAndroidスタジオプログラムを作成する基本的な考え方

サードパーティであろうと自作であろうと、コアは通信データの送信を実現することです。ここを見ることを主張できる学生は、デフォルトで、MQTTの基本的な知識を習得しています。習得していない場合は、情報を確認してCSDNで学習してください。

簡単に説明します。MQTT(Message Queuing Telemetry Transport)は、IBMが何年も前に開発した通信プロトコルであり、低帯域幅で確実に送信できます(低コストの小トラフィックパケットまたはIoTカードに適合)。 、もともとはInternet of Things向けに設計されたものではありませんでしたが、Internet of Thingsのブームの下で成長し、Internet ofThings通信プロトコルの事実上の国際標準になりつつあります。

困っている学生は、私の他の記事を閲覧するだけで理解できます。私はMQTTの専門家ではないので、それについてはよくわかりません。

arduino D1 wifiモジュール(WeMos D1)を使用してAlibaba Cloud IoTプラットフォームに接続し、オンボードLEDを点灯するAPPを正常に実現します(5)--- MQTT.fxアナログデバイスはAlibabaCloudに接続します

以上のことから、PC上でMQTT.FXソフトウェアを使用して、Alibaba Cloud IoTプラットフォームに接続し、メッセージをサブスクライブ/公開できることがわかります。

ただし、Alibaba Cloud IoTプラットフォームと正常に通信する場合は、MQTTクライアントを設定する必要があります。ブローカーアドレス、ブローカーポート、クライアントIDなどのいくつかの重要なパラメーターがあります。クライアントIDは、いくつかのパラメーターを暗号化することによって計算されます(Alibaba Cloudプラットフォームのタイプはhmacsha1です)。

暗号化が必要ですか?もちろん。それ以外の場合は、Internet of Things通信の信頼性を確保する方法!独自のサーバーでMQTTサーバーを構築し、それを試してみることができます。実際のプロジェクトで実際に使用する場合は、大規模なプラットフォームで操作することをお勧めします。大きなプラットフォームは、必要なすべてのセキュリティおよび暗号化対策を提供します。

これらの基本的な条件で、クラウドプラットフォームに正常に接続し、サブスクリプション/公開ビジネスを開始できます。

APP、クラウドプラットフォーム、Internet of Things端末のいずれであっても、実際にはサブスクリプション/公開方法が通信に採用されており、非常に高度です。

android studioを使用して独自のAPPを作成します。コアは、APP内に独自のクライアントを実装し、APP内の規制に従って暗号化することです。次に、トピックをサブスクライブ/公開できます。トピックをサブスクライブ/公開できるようになり、残りはすべて詳細になります。あなたから得るのは難しいことではありません。

アリババクラウドのIoTStudioモバイルビジュアル開発は、実際にはWeb側のアリババクラウドIoTプラットフォームと通信するデフォルトのパッケージコンポーネント/サポートパッケージと同等であるため、コードをほとんどまたはまったく使用せずにコントロールページの開発を実現できます。

4.AndroidスタジオはIoTコントロールAPPを実際の戦闘にします

まず、Alibaba CloudIoTプラットフォームで新しい製品と機器を構築する必要があります

新しいデバイスをAlibabaCloudIoTプラットフォームに追加する方法

次に、androidstudio開発環境を準備します。この記事ではandroidstudio3.5.1を使用し、gradleはgradle-5.4.1-allを使用します。国内のミラーイメージが使用されていることに注意してください。そうしないと、移動せずに1日でスタックする可能性があります。

参考記事:さまざまなバージョンのgradleをダウンロードするには遅すぎます--- Tencentは国内のミラーを作成しており、直接ダウンロードできます

次に、プロジェクトbuild.gradleに、Pahoウェアハウスアドレスを追加します。アリババクラウドが提供するウェアハウスの方が高速であるため、パホウェアハウスを追加する際は、他のウェアハウスのアドレスを変更することに注意してください。

build.gradleをandroidstudioによるAlibabaCloud有効アドレスとして設定する方法の記事を参照してください

次に、アプリケーションbuild.gradleに、Paho AndroidServiceを追加します。

次に、AndroidManifest.xmlに次の情報を追加します

また、権限を追加します。この時点で、pahoの基本設定は完了です。

パホとは?以下は英語による説明です。これは標準のC言語で書かれたクライアントであり、非常に優れた移植性を保証します。

PosixおよびWindows用のMQTTCクライアント

Paho MQTT Cクライアントは、ANSI標準Cで記述されたフル機能のMQTTクライアントです。移植性を最大化するために、C ++ではなくCが選択されました。C ++ API このライブラリの上にはPAHOでもご覧になれます。

実際、2つのCAPIがあります。API呼び出しがそれぞれMQTTClientおよびMQTTAsyncで始まる「同期」および「非同期」。同期APIは、よりシンプルで役立つことを目的としています。このため、一部の呼び出しは操作が完了するまでブロックされ、プログラミングが容易になります。対照的に、非同期APIでは1つの呼び出しブロック(waitForCompletion)のみがブロックされます。結果の通知はコールバックによって行われるため、APIはアプリケーションが制御のメインスレッドではない環境での使用に適しています。

次に、Internet of Thingsへの接続を開始し、MainActivityにトリプル、トピック、およびクライアント情報を追加します。

次に、接続の準備をします。MQTT接続パラメーターclientId、ユーザー名、およびパスワードを計算し、ユーザー名とパスワードをMqttConnectOptionsオブジェクトに設定します。

次に、MqttAndroidClientオブジェクトを作成し、コールバックインターフェイスを設定してから、mqttConnectOptionsを使用してconnectメソッドを呼び出し、接続を確立します。

メッセージを公開するためのラッパー機能

OnCreateのボタンを押してメッセージを公開し、「helloIoT」というメッセージをAlibabaCloudプラットフォームに公開します。

最後のステップはコンパイルです。設定のすべての詳細が解決された後、コンパイルは成功します。

apkファイルを電話にコピーしてインストールし、再度実行します。

アリババクラウドIoTプラットフォームの対応する機器がすでにオンラインになっていることがわかります。

 

[公開]ボタンをクリックし、Alibaba Cloud Internet of Thingsプラットフォームの下のログに戻って確認すると、メッセージが正常にリリースされました。

これまでに、Alibaba CloudIoTプラットフォームに接続できる完全なMQTTクライアントがデバッグされました。公開することを学び、それから購読することができ、IoTMQTT通信のコアが習得されます。次に、どのIoTデバイスまたは属性が制御されていても、同様の操作を実行できます。

5。結論

Internet of ThingsがAPPプログラミングを制御するための鍵は、最初にMQTTクライアントです。これは、Internet of Thingsプラットフォームに接続された情報がAPPによって自動的に計算されて接続されることを除いて、独自のAPPに組み込みのMQTT.FXソフトウェアがあることに似ています。また、独自の情報は必要ありません。計算はトリプルに基づいています。2つ目はサブスクリプションと公開機能の実現です。InternetofThings通信はサブスクリプション/公開モデルを使用します。さまざまなトピックがさまざまな属性に対応します。このスキルを習得すると、絶えず変化する「モノ」を実現できます。最後に最も重要なのはデバッグスキルです。このスキルがないと、ソースコードを提供しても正常にコンパイルできません。コンパイルが成功すると、簡単な変更を加えることができません。

この記事は、いくつかのAlibabaCloudヘルプドキュメントとandroidstudioプログラムのデバッグにおける私自身の経験に基づいています。ソースコードのすべての単語が自分で書かれているわけではありません。一連の記事を書くのを手伝ってくれたAlibabaCloudパートナー、教師、学生に感謝します。

皆様のお役に立てれば幸いです。

ソースコードは、困っている友人のために、長い時間を費やしてきました。

https://download.csdn.net/download/youngwah292/14015473

あらゆる種類のフリップを歓迎します。

 

おすすめ

転載: blog.csdn.net/youngwah292/article/details/112131225