知慧華雲:2019 モノのインターネット (IoT) のフロントエンド戦略計画

知慧華雲:2019 モノのインターネット (IoT) のフロントエンド戦略計画

[[261992]]

モノのインターネットは、インテリジェント知覚、認識技術、ユビキタスコンピューティングなどの通信知覚技術を通じてネットワーク統合に広く使用されています。そのため、コンピュータとインターネットに続く世界の情報産業の発展の第三の波と呼ばれています。 Huayun Dataの「Smart Huayun」コラムでは、「2019年最前線戦略計画」に関する連載記事をお届けします。今号では、2019 年のフロントエンド戦略計画におけるモノのインターネット (IOT) について説明します。

基礎: IoT の 3 つのレイヤー

始める前に、モノのインターネットの基本について簡単に紹介しましょう。 Web 開発の経験がある方であれば、次の図が CS アーキテクチャであることをご存知でしょう。

IoT システムと比較すると、これは追加のハードウェア レイヤーとオプションの調整レイヤーにすぎません。

このハードウェア レイヤーは、IoT アプリケーションが Web アプリケーションよりも複雑であると判断します。ほとんどの Web アプリケーションの場合、クライアントは携帯電話、コンピューター、タブレットなどのデバイスであり、強力な処理能力を備えているため、追加の要素を考慮する必要はありません。

IoT アプリケーションでは、デバイス上の MCU の処理能力を考慮し、その処理能力と使用環境に応じて異なる通信プロトコルを使用する必要があります。たとえば、一部のデバイスでは CoAP プロトコルを使用する必要があります。一部のデバイスにはネットワーク機能が搭載されていないため、インターネットに接続できる補助レイヤーの使用を検討したり、低電力 Bluetooth、赤外線、Zigbee などの短距離無線伝送プロトコルを使用したりする必要があります。

モノのインターネット分野におけるJavaScriptの発展

2年前、NodeJS はすでに IoT アプリケーションを実現する可能性を秘めていました。当時、IoT プロトコル MQTT と CoAP 用のライブラリはすでに存在していました。当時は大規模なアプリケーション向けの開発標準が不足していたため、あまり良いものではなかったのですが、この点で JavaScript の将来性はすでに見えていました。

[[261994]]

1 年以上前、Ionic がまだ正式にリリースされていなかった頃、このフレームワークは本当に優れていました。一連の UI が付属し、NgCordova を使用して一連の Cordova プラグインが統合されていました。このフレームワークを IoT アプリケーション開発に使用するには、BLE や MQTT などのネイティブ プラグインも必要です。

その後、ARM プロセッサ上で Node.js を実行するために Node.js をコンパイルする必要がなくなりました。また、JavaScript を直接実行できる Tessel、Espruino、Kinoma Create、Ruff などの開発ボードもすでにあります。 Samsung はまた、より多くの組み込みデバイスが JavaScript を開発言語として使用できるようにする iot.js もリリースしました。

ハードウェア上で JavaScript が使用され始めたのには、Web の開発者が最も多く、JavaScript は簡単に始められるという事実など、さまざまな理由があります。

さて、今回は 1 つの言語だけで、3 つのレベルすべてで JavaScript を使用できるようになりました。

1つの言語でIoTアプリケーションを開発: JavaScript

Node.js + Node-CoAP + MQTT.js + MongoDB + Express を使用して、複数のプロトコルをサポートする IoT を構築します。

ただし、上の写真は IoT の完全版であり、コードは当然 GitHub: Lan にあります。サーバーとしての Node.js の能力は実証されています。ハイブリッド アプリケーションでも、テストに耐えることができます。ハイブリッド アプリケーションを使用すると、携帯電話でグラフを作成するのは簡単です (データを取得して表示するだけです)。

デモ

Raspberry Pi はシリアルポートを介して PM2.5 センサーデータを受信し、IO を介してブザーとモーターを制御し、MQTT を介してクラウドサーバーと対話します。 wiring-pi、serialpor、MQTT ライブラリに依存します。

  1. 定数 COM = require('serialport');
  2. const port = new COM('/dev/ttyAMAO', { ボーレート: 9600 });
  3.  
  4. ポート。 on ('データ'、関数(データ) {
  5. データハンドラ(データ);
  6. }

このコードは非常にシンプルです。シリアル ポート ライブラリを導入してシリアル ポートにバインドし、両側のボー レートが一致していることを確認します。次に、データが到着するとポートにイベントが発生し、データが処理されます。また、データ損失の問題を考慮する必要があります。この問題は現実に頻繁に発生しており、ハードウェアに携わる人であればこの問題について深く理解しているかもしれません。

  1. const wpi = require('wiring-pi')
  2. ブザー = 7;
  3. wpi.setup('wpi')
  4.  
  5. wpi.pinMode(BUZZER、 wpi.OUTPUT );
  6. wpi.digitalWrite(ブザー、wpi.HIGH);
  7. wpi.digitalWrite(ブザー、wpi.LOW);
  8. wpi.digitalRead(ブザー);

上記のコードは、通常、ハードウェア開発者がコードを記述する方法です。まず動作モードを設定し、デジタルデータの書き込みと読み取りを行います。 js を使用してデバイス側のコードを記述するには、ハードウェアに関する知識がまだ必要であり、そうでないと効率は高くなりません。

  1. 定数 mqtt = require('mqtt')
  2. const クライアント = mqtt。 connect ('mqtt://<ip:port>');
  3.  
  4. クライアントをサブスクライブします('/car');
  5. client.on ('message',関数(トピック, メッセージ){
  6. if(トピック === '/car') {
  7. メッセージハンドラ(message.toString());
  8. }
  9. });

MQTT 部分については、パッケージをインポートし、MQTT プロキシ アドレスと IP ポートを入力するだけです。車の制御指示を知るには、車に関連するすべてのイベントを登録するだけで済みます。誰かがプロキシに指示を送信すると、プロキシはそれを自動的に転送します。

使用されるクラウド サーバーは ECS であり、利便性を高めるために追加のパブリック IP が備わっています。データ転送にはMQTTを使用します。データストレージでは、MySQL、MongoDB、Redis など、データの種類に応じてさまざまなデータベースを選択できます。フロントエンドの表示は高速です。主に mosca、mysql、mongo、redis、express に依存しており、タイプに応じてストレージに異なるデータベースを選択します。

ヒント

ハードウェア製品を作る場合、それが品質の高い製品となるためには長い時間がかかります。まず、市場に行ってモデルを選択する必要があり、その後の購入サイクルは注文数量に応じて決定されます。センサーのサプライヤーは多くありません。比較したい場合は、それらを購入し、検証とテストに多くの時間を費やす必要があり、これは長いプロセスです。製品が完成した後は、評価、認証、テストを繰り返す必要があり、長い時間がかかります。このプロセス全体により、ハードウェア開発サイクルは非常に長くなります。

MagicLight は、Amazon で非常によく売れている Wi-Fi 制御のランプです。しかし、このランプには欠点があると思います。それは、携帯電話でしか制御できず、壁のスイッチでは制御できないことです。これはユーザーエクスペリエンスにおける大きな問題です。スイッチと携帯電話の両方を制御したい場合は、リンクを作成する必要があります。

そこで、物理的な構造を維持しながら携帯電話で制御できるスイッチを作った人がいました。しかし、WiFi 部分を動作させ続けるには、電流が流れ、ループが必要です。つまり、ライトがオフになっている場合でも、電流は流れ続けるため、Wi-Fi の制御回路は通過できます。これは、単線活線スイッチの問題であり、現時点では解決できません。

IoT アプリケーションにおけるもう 1 つの非常に重要なポイントは、ユーザーのニーズを満たすことです。経験上の問題を解決するためであろうと、何らかの利益をもたらすためであろうと、業界の問題点を解決することは有意義です。

<<:  大手企業はクラウドコンピューティング業界での競争に力を入れている

>>:  SDN技術の主な応用シナリオ

推薦する

オラクルは好調な業績を報告したが、投資家はクラウドの成長を懸念し続けている

データベースおよびビジネスソフトウェア大手のオラクルが予想を上回る四半期業績と見通しを発表したにもか...

ウェブマスターネットワークからの毎日のレポート:タオバオとTmallは9年間で1兆元を突破、360はセキュリティリスクを抱えている

1. タオバオと天猫の売上高は9年間で1兆元を超え、成長の鈍化は避けられないこれまでオンラインショッ...

ウェブサイトの重量を改善するための一般的な方法

ウェブサイトの重みは、ウェブサイトを評価する上で重要な要素です。ウェブマスターとして、自分が担当する...

ZhongAn Tianxia が新世代の SaaS セキュリティ サービス プラットフォームを開始

さまざまな業界でデジタル化、インテリジェント化が進むにつれ、クラウドコンピューティング、ビッグデータ...

小紅樹の十字路:草を植えるコミュニティ?

コンテンツ コミュニティはユーザー ロイヤルティが高く、利用時間も長いですが、収益化への道は常に非常...

過去のウェブマスターを思いながらソフト記事執筆の考え方を語る

SEO に触れたことのある人なら、ソフト記事の鋭い武器を知っているでしょう。検索エンジン最適化、広告...

ウェブサイトのマーケティング機能を向上させる新しいオンラインプロモーション方法

企業がネットワーク運用モデルに参加し、マーケティング Web サイトを構築した後は、プロモーションと...

2022年に人気の欧米トレンドに関する洞察

年末の販促シーズンが近づくにつれ、消費者のショッピング意欲は高まり続けています。このシーズン中にいか...

vivoコンテナクラスタ監視システムを最適化する方法

1. 背景vivo のビジネスがコンテナ プラットフォームに移行するにつれて、vivo のクラウド ...

Open NOS によるクラウドとデータセンターの再構成の習得

企業は、データセンターの運用コストを削減しながら、生産性、ビジネスの回復力、持続可能性を向上させるこ...

エッジコンピューティング: ソースでのデータ処理に革命を起こす

接続されたデバイス、データに基づく意思決定、そしてスピードへの飽くなき追求の時代において、エッジ コ...

BlueVM レビュー: 4GB メモリ/100GB ハードドライブ/3TB トラフィック/月額 3.3 ドル

以前、この VPS について記事を公開しました: bluevm - 4g メモリ/100g ハードド...

第18期中国共産党中央委員会第3回全体会議におけるIT・起業・中小企業の改革政策の概要

電子商取引における外国投資の制限解除元の政策テキスト: 投資アクセスを緩和する。国内投資法と外国投資...