知慧華雲: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技術の主な応用シナリオ

推薦する

Linodeについてはどうですか? [年] Linode Fremont データセンター クラウド サーバー レビュー

Linode はまだ役に立ちますか? Linode の米国西海岸唯一のデータセンターであるフリーモン...

携帯電話メーカーは、ユーザーオペレーションの必殺武器である「ファンエコノミー」をどう活用できるのか?

Hammer スマートフォンの突然の人気は、ファン モデルがスマートフォンで効果的であることを改めて...

pq.hostingはどうですか? 10Gbps帯域幅のアイルランドVPSの簡単なレビュー

pq.hosting には、アイルランドのデータセンターを提供するアイルランドの VPS 事業を含め...

ウェブサイトを再設計する際には、まず Baidu を考慮すべきでしょうか、それともユーザーを考慮すべきでしょうか?

最近、会社のウェブサイトがリニューアルされる予定です。以前よりも機能が増え、レイアウトも美しくなりま...

IBMはオープン性がエッジ開発の大きな利点だと語る

組織は、データが最大の価値を生み出した後、できるだけ早くそのデータを取得してそれに基づいて行動するこ...

初心者が本物のSEO担当者になるために直面​​するいくつかの大きな問題

初心者の場合は、指導してくれる人がいるのが最善です。しかし、何があってもすべては人間の努力にかかって...

ユーザーが「登録解除」する 6 つの理由とは?

メディア製品を作るのは簡単ではありません。購読者を増やすために多大な努力を払っていますが、いつもキャ...

8月25日の百度のアルゴリズム調整をどう見るかの簡単な分析

百度が8月22日にアルゴリズム調整の通知を発表し、8月25日に大規模なアップデートと調整を行ってから...

Lefeng.comの親会社は、シリーズBの資金調達で4000万ドルを調達したと発表した。

4月26日午後、東方鳳星グループは、Bラウンドで中国国際金融公社(CICC)と中国ブロードバンド基金...

2014年に世界で最も収益を上げたブロガー

今日では、多くの人が、オンライン体験を共有するためであれ、ライフスタイルとしてであれ、毎日ブログを使...

クラウドコンピューティングがさまざまな業界に与える影響

ある調査機関が最近発表した調査レポートによると、世界のクラウドコンピューティング業界は2021年の4...

ブランドとマーケティングのゲームの境界!

あなたのブランドがあなたに何ができるかを尋ねるのではなく、まずあなたのブランドが顧客のために何ができ...

企業ウェブサイトデザインの予算を管理する方法

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています企業がウェ...

中国ブログネットワークは本日、すべての無料ブログを閉鎖します

中国国際放送、北京、3月31日(劉楽記者)中国国営ラジオ「CNRニュース」の報道によると、中国ブログ...