2017-09-15 11 views
0

IoTデバイスがMQTTブローカーと通信するホームオートメーションシステムを構築する予定です。このシステムには、ios /アンドロイドデバイス用のAPIを提供するDjango Webサーバーも含まれています。私が実装したいものの例を説明します。MQTTブローカーとDjangoを処理するシステムを構築する方法

モバイルアプリからDjangoサーバにAPI呼び出しを行い、デバイスをオンにします。このようなAPIリクエストがDjangoに対して行われると、MQTTプロトコルを介してIoTデバイスにデータを転送する必要があります。

また、IoTデバイスは、リアルタイム・データをMQTTブローカに送信します。そのようなデータを受け取ると、apns/fcmを介してモバイルアプリにプッシュ通知を送信したいと思います。

これはどのように実装できますか。 Djangoチャネルが目的を果たしてくれるのでしょうか、またはDjangoサーバをMQTTクライアントとして動作させ、MQTTブローカと通信する必要がありますか?あるいは、これを実装する他の方法があります。

答えて

3

はよく、私はそれがGoogle Chrome拡張機能MQTTLensと素敵な体験ですPAHO-MQTTにほとんどのプロジェクトをしました。(uはすでにこれを使用していない場合は、これを試してみてください)

あなたのケースでAPIを構築するためにDjangoのrest-frameworkを使用することができ、フロントエンドでは、クリスピーフォームを使用してON-OFF信号を生成することができ、これはあなたができるDjangoのビューに直接通信しますクライアントと加入者の詳細を記述します。

にフォーカスを合わせるモバイルアプリからDjangoサーバーにAPI呼び出しを行い、デバイスをオンにします。このようなAPIリクエストがDjangoに対して行われると、MQTTプロトコルを介してIoTデバイスにデータを転送する必要があります。

  • あなたは、これは我々が持っている最高のオプションですdjango-rest-frameworkを確認することができ、そのための任意のデバイスからのAPI呼び出しへの応答ビューを作ることができます。

となりましのIoTデバイスは、このためのMQTTブローカー

  • にいくつかのリアルタイムデータを送信する、あなたはGoogle's this articalを確認することができます。 MQTTブローカーは、Djangoのビューを簡単に渡すことができます.DjangoのDRY concpetのモジュラー構造を使用すると、このプロセスはあまり複雑ではありません。一方、

、あなたはまた、単にクライアントのさまざまなビューを作ることができますまたはブローカーのために、それはあなた次第ですが、私はこのアプローチは、私はとてもモバイル開発について知らないようなアプリケーションをdevlopeするのに長い時間がかかるだろうと思います私はその:(のお手伝いをすることはできません。

+0

を現在、私はAPI.But HTTPプロトコル経由のIoTデバイスとモバイルアプリはDjangoのサーバーと通信システムを作っている私のIoTのために少し重いです私はIoTの軽量MQTTプロトコルに切り替えることにしました - サーバー通信とモバイルアプリケーション - サーバー通信のためのAPI。しかし、私はどのようにシステムを実装するか分かりません。この例で言及されています。 –

+0

あなたが今すぐ確認できる答えにコンテンツを追加しました –

+0

この回答が役に立ちそうなら答えを受け入れることができます –

関連する問題