都市はますますスマートになっており、私たちの有力なグループは、都市が解決する最初の問題が交通であることを望んでいます。 そして、渋滞の頭痛の原因の 1 つは駐車です。 それで、どうやってそれを解決するのですか?
スマート パーキング メーターで!このチュートリアルでは、IBM Bluemix と PubNub を使用して、IoT 対応のスマート パーキング メーター アプリケーションのプロトタイプを作成する方法を示します。 このアプリには 3 つのコア機能があります: 利用可能な駐車スペースと使用済み駐車スペースのリアルタイム ビューをドライバーに表示する ドライバーが駐車スペースを予約できるようにする ドライバーのアクション (駐車スペースへの出入りなど) に基づいて課金を自動的に追跡する プロジェクトのセットアップと完全なコード レポこのプロジェクトはIoT 愛好家のための素晴らしい DIY 実験です。
試してみたい場合は、GitHub にアクセスして bluemix-parking-meter プロジェクトの完全なソース コードを入手してください。ハードウェアの構成からアプリケーションのホスティングと実行までの詳細な手順については、ビルド手順と readme ファイルを参照してください。 . このアプリケーションをホストするには、Bluemix と PubNub のアカウントを作成する必要があります。
IBM Bluemix サインアップ ページと PubNub アドオン ページにアクセスして、それぞれのアカウントを作成します。 どちらのサービスも、サービスを試すための無料利用枠のアカウントを提供しています。 コンポーネント アプリケーションには 3 つのコンポーネントがあります。Parking Management Server (PMS) は、すべての駐車スペースを監視し、すべてのユーザーの計測と課金を管理します。
IoT ハードウェア プラットフォームは、駐車スペースを PMS に接続し、車両の有無も検出します。モバイル アプリは、ドライバーが空きスペースを見つけ、駐車場の使用と請求を管理するのを支援する簡単なインターフェイスを提供します。 ハードウェア プラットフォームは Arduino Yun を搭載しており、超音波センサーを使用して駐車スペース内の車両の有無を検出します。
PMS は、Python で実行されるアプリケーション サーバーとして実装されます。 すべてのデバイスを追跡し、請求と予約を管理します。 モバイル アプリ (オート パークとも呼ばれます) は、Cordova および JavaScript ベースの Android アプリです。
PMS アプリケーション サーバーは IBM Bluemix クラウド プラットフォームでホストされ、PMS からハードウェアへ、および PMS からモバイル アプリへの通信全体は、PubNubs Realtime Data Stream Network によって強化されます。 ●SR04超音波センサー(3個) ) ブレッドボードでのセットアップ例を以下に示します: ハードウェア回路の関連する回路図を以下に示します: ハードウェアには 3 つの機能部分があります: マスター コントローラー WiFi 対応の Arduino Yun は、いくつかのパーキングを制御するためのマスター コントローラーとして機能します。スペース。
超音波センサーを介して、管轄内の各駐車スペースの状況を定期的に監視して取得します。 また、PubNub を介して PMS とインターフェイスし、パーキング ステータスを公開します。センサー コントローラー これは、ATMega32 チップを搭載した Arduino Yun ボードの内部コンポーネントです。 センサーと直接インターフェースし、数秒ごとにループを実行して、各センサーの最新のステータスを取得します。超音波センサー 3 つの HC-SR04 センサーを使用して、3 つの駐車スペースをシミュレートします。
ハードウェア セットアップのソース コードは、GitHub リポジトリの yun_pubnub ディレクトリ (マスター コントローラー用) および device/hcsr04 ディレクトリ (センサー コントローラー用) の下にあります。 駐車場管理サーバー (IBM Bluemix) PMS は Python で記述されており、PMS としてインストールできます。 IBM Bluemix ホステッド サービス。 IBM Bluemix は、PMS がハードウェア デバイスを監視し、ユーザーの駐車料金の計測と請求を管理するためのコンピューティング パワーを提供します。
さらに、PMS が PubNub と連携するには、PubNub アドオン サービスを IBM Bluemix アカウントに関連付ける必要があります。 PubNub を使用して Bluemix で Python アプリケーションをセットアップしてホストする方法については、README.md の手順を参照してください。
PMS のソース コードは、GitHub リポジトリのパーキング メーター ディレクトリにあります。モバイル アプリ モバイル アプリは、標準の Cordova ベースの Android アプリです。 駐車スペースを色分けした駐車エリアの地図を表示し、ユーザーが空いているスペースを選択できるようにします。
モバイル アプリのソース コードは、GitHub リポジトリの MobileApp ディレクトリにあります。PubNubPubNub は、システム全体の通信ミドルウェアとして機能します。 これは、70 以上の SDK をサポートするクラウドベースのリアルタイム データ ストリーム ネットワークを提供し、あらゆるデバイスがインターネット上の他のあらゆるデバイスと通信できるようにします。
このアプリケーションは、すべてのコンポーネントに対して 3 つの PubNubs SDK を使用して、相互にシームレスに通信します。 これらは次のとおりです。モバイル アプリ用の Javascript SDK PMS 用の Python SDK Arduino Yun 用の POSIX C SDK このアプリケーションは、以下に示すように、コンポーネント間の通信を可能にするためにいくつかの PubNub チャネルに依存しています。 PMS と 1 つのモバイル アプリ。 PubNub チャネルを介して交換されるすべてのメッセージは JSON 形式です。
駐車場の予約を要求するすべてのモバイル アプリに対して、PMS はその特定のモバイル アプリに対してこのチャネルを介してメッセージを開始します。 すべてのチャネルの重要性は、次のセクションで明らかになります。システムの運用とシナリオこのシステムの完全な運用は、次の 5 つのシナリオに分けることができます。
シナリオ 1: アプリの初期化モバイル アプリがインストール後に初めて起動されると、ユーザーの車両のナンバー プレート/登録番号が要求されます。 これは、請求目的で PMS がアプリを追跡するための一意の識別子として機能します。その後、アプリは PMS にリクエストを送信して、すべての駐車スペースのステータスを取得します。
これはマップを表示するために使用され、各スペースはスロット番号 (001、002、および 003) で識別されます。 PMS とモバイル アプリの間でメッセージ交換がどのように行われるかを次に示します。アプリからの JSON 要求には、すべての駐車スペースの一括ステータスを取得するための要求を示す値 1 のパラメーター RequestType が含まれています。 PMS からの JSON 応答には、駐車スペースのスロット番号がパラメーターとして含まれ、そのステータスが 0 または 1 として含まれており、スペースが空いているか占有されているかを示します。
モバイルアプリの地図表示では、現在空いている駐車スペースは緑色で表示され、占有または予約されている駐車スペースは赤色で表示されます。シナリオ 2: デバイス ステータスの更新駐車スペースが車両の有無を検出するたびに、ここで、001 はスペースのスロット ID 番号を識別し、値 1 は駐車スペースが占有されていることを示します。
または、値 0 は、スペースが空いていることを示します。 また、PMS はこの情報をグローバル PubNub チャネル parkingapp-resp に中継して、すべてのアプリが駐車場マップの表示を更新できるようにします。シナリオ 3: 予約リクエスト & 課金開始空き駐車スペースに近づいたユーザーは、アプリ上で希望の空き駐車枠をタップすることで、事前に予約することができます。
これにより、PMS がユーザーの課金セッションを開始するように求められます。 PMS は、プライベート チャネルでアプリにメッセージを送信して、請求の開始を開始します。 これに伴い、PMS もタイマーを開始します。
このインタラクションにおける JSON メッセージの形式を詳しく見てみましょう。値 2 のパラメータ RequestType は、予約のリクエストを示します。
この時点で、PMS はタイマーを停止します。 シナリオ 5: 請求停止後、ユーザーが駐車スペースから車両を引き出すと、ハードウェア デバイスはこれを再び感知し、スペースが空であることを示すステータス更新を PMS に送信します。 この更新を受信すると、PMS はユーザーの請求を計算し、プライベート チャネルを介して請求の詳細と共に請求セッション停止メッセージをモバイル アプリに送信します。
モバイル アプリが受信した JSON メッセージには、請求書の詳細のパラメーターが含まれています。:
この場合、ユーザーには最低請求額 $10 が請求されます。 さらに、このアプリケーションには、(シナリオ 4 の一部として) 駐車中にユーザーを認証する機能はありません。これにより、駐車スペースを予約したユーザーが実際にそのスペースに車両を駐車するユーザーであることを確認できます。 これは、このアプリケーションをさらに強化し、実際の展開により近いものにしたいと考えている読者のための課題として残されています。
このアプリケーションを構築して操作するのは非常に楽しい時間でした。エンド ツー エンドのシナリオをテストすることは、非常に多くのサブシステムが関係していることを考えると非常に興味深いものでした。 IBM Bluemixの使用 & PubNub サービスは、開発者が異なるサブシステム間の通信を機能させる方法を心配することなくアプリケーション ロジックに集中できるため、開発上の課題を大幅に簡素化します。 これとは別に、両方のサービスは、247 の稼働時間と数千のランダム ユーザーが入る必要がある同様の実世界のアプリケーションを構築するために活用できる大規模なスケールを処理できます。
もともと公開されていたすべての最新の進歩と技術ニュースは、受信トレイに直接送信されましたか?. 関連する質問 Google Glass Explorer Edition を入手できませんでした。
ハードウェアなしでGlass devを学ぼうとするのは無駄な努力ですか? いいえ、あなたはまだハードウェアなしでガラス开発の基础を学ぶことができます。 これを実現するには、主に3つのアプローチがあります。1) Mirror APIドキュメントにアクセスし、遊び場にアクセスして、いくつかのコードのハッシュを開始します。
最も快適なPHP、Java、およびPythonライブラリをダウンロードしてください。 専門用語とコンヴァーション (タイムライン、バンドル、メニューなど) に精通してください。 Glassハードウェアが実際にどのように機能するかについては、サポートドキュメント (以下の2番目のリンク) をお読みください。
この仕様に合わせていくつかのアプリをビルドします。 すぐに、あなたはハードウェアを持つ友人を見つけるでしょうt
深センTigerWongテクノロジー株式会社
電話:86 13717037584
メール: info@sztigerwong.com
住所: シリコン バレー パワー デジタル工業団地、ビル A2、1 階、No. 龍華区観蘭街大福路22号
中国広東省深セン