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

推薦する

大馬美有事件から、第三者データ機関の不正行為が明らかになる

文/ビアン・ハイフェンスポーツ競技では、審判のミスの発生によって試合の最終結果が左右されることがよく...

遅さよりも遅いのは方向を見失うことだ。深淵の魚を妬むよりも後退して網を編むほうがよい。

「あなたが提案した『差別化マーケティング』のアイデアはまだ遅すぎる」と、私の「草の根レベルの人々が差...

企業のウェブサイトはWeiboを使ってクレイジーなWeiboマーケティングをどのように実行できるのでしょうか?

今、Weibo はますます人気が高まっています。Weibo の魅力に感心するしかありません。140 ...

インポートしたリンクの影響を深めてウェブサイトの権威を高める方法

ウェブサイトの被リンクは、ショッピングモールの人の流れのようなものです。人が入れば入るほど、ビジネス...

エッジコンピューティングストレージ戦略を開発するための重要な考慮事項

[[400111]]実践から、企業はエッジ コンピューティング ストレージ プランを策定する際に、帯...

elixant-tech-$3.5/512m メモリ/50g SSD/10T トラフィック/カナダ

elixant-tech.com はこれまで見たことがありません。ドメイン名は年末に登録され、今年か...

オンライン広告大手の戦い

インターネットの最初の実際の収益モデルとして、オンライン広告はポータル、分類情報ウェブサイト、検索エ...

微信の公開アカウントが是正の焦点となる。テンセントは報告者に25万元の報奨金を支給したと述べた。

業界関係者は、今回の是正措置はWeChatのユーザー活動などの指標に影響を及ぼすとみているが、WeC...

母親と乳児のためのウェブサイトを始めるには: BabyTree が答えを持っています

BabyTreeが答えを持っています赤ちゃんの日記、子育ての知識から幼児教育用品まで、母子向けウェブ...

企業はトラフィックを増やし、B2CとB2Bを促進するためにブログとWeiboを無視してはならない

HubSpotは最近、7,000社以上の法人顧客を対象に「ブログとSNSがウェブサイトのトラフィック...

ウェブサイトとユーザーとの接続が失われたらどうなるでしょうか?

Baidu によるウェブサイトの重み付けの決定には複雑な論理的判断が伴いますが、本質的な出発点は依然...

IDC: 中国のEA SaaS市場規模は2026年に183.1億米ドルに達する

IDCの最新の「IDC中国エンタープライズアプリケーション管理(EA)SaaS市場2021年下半期追...

ビジネスの中断を回避する、K8s ノードのトラブルシューティング ガイド、ぜひご覧ください。

Kubernetes は強力なコンテナ オーケストレーション システムですが、動作中にノード障害が発...

Baiduアルゴリズム調整後のウェブサイトのオリジナルコンテンツと転載率を調整する方法

ウェブサイトのコンテンツの更新は時間のかかる作業です。すべてのコンテンツをオリジナルにすることは不可...

Amazon Innovation Day 2020: 人工知能と機械学習のデジタル推進力について深く掘り下げる

アマゾン中国は「2020年アマゾンイノベーションデー」を盛大に開催し、イノベーションの「中国フォーミ...