Explorer(IE)のバージョンをサポートしておりません。最適なウェブサイトパフォーマンスを実現するため、最新バージョンのブラウザへアップデートしていただくことをお勧めします。簡単な4つの検索方法1.検索したい用語を入力した後、そのままエンターキーを押すか、サーチアイコンをクリックしてください。入力された用語でそのまま検索されます。2.検索したい用語を入力すると、ドロップダウンで検索の提案が表示されます。提案された項目をクリックすると、関連のページが直接表示されます。3.検索の提案の右端にマウスを持っていくと「検索」のリンクが表示されます。これをクリックすると、提案された用語に基づく検索結果が表示されます。4.検索結果のページには、結果を絞り込むフィルタが表示されます。こちらもご活用ください。Nanoを使ってデータを取得し、Webブラウザに表示をさせました。今回は、無線通信に関して少し説明をしつつ、前回使用したソースコードの解説を行います。Nanoという製品を使用しています。方を対象に、IoTの無線センサーノードを構成するにあたり、重要な点は以下の点と考えました。上記のポイントを踏まえながら、検討をしました。簡単に使えるという点には、ネットに情報が多く、トラブルを自己解決可能かどうかも検討に入れました。初期投資を低く設定できれば始めやすいと考えました。低消費電力であれば、電池で動作が可能で持ち運びや実験が可能になります。屋外でコンセント(電源)を確保するのは難しいため、この点にも注意しました。電池で動くことで、無線センサーノードを小型化するという点にもメリットがありました。無線通信の検討まず、無線通信を選定する上でいくつかの選択肢がありました。検討にあたり比較表を作って見ました。使用環境や端末のプロファイルなどによって変わります。無線通信には、周波数帯域と呼ばれる、あらかじめ法律で許可された周波数で通信を行う必要があります。定められた周波数帯域以外で、電波を使用することは法律で禁止されています。WifiやBluetoothなどは、2.4GHzの周波数帯を利用した通信規格です。データの転送スピードが数Mbps以上と速いため、家庭内やオフィスなど屋内で高速にデータを通信する場所で広く普及しています。通信距離が短く限られたエリアでの使用となります。一般的には10m〜数十m程度の通信距離と言われています。携帯電話で採用されている3GやLTEなども無線通信規格の一つです。3GやLTEにはいくつかの周波数帯域が割り当てられており、データの転送スピードも速く、通信キャリア会社が日本全国に基地局を配置しているためエリアが広く、この通信を使えばほぼ確実に通信ができます。通信料金が高く、たくさんセンサー使用する場合には通信量やその料金に注意する必要があります。この他の通信には、920MHzという特定小電力無線という通信があります。アナログ・デバイセズ社でもWi-SUNという920MHFz帯を使用する通信規格に対応した製品を展開しています。Wi-SUNは通信スピードが100kbps程度とWifiやLTE/3Gなどに比べると低速ですが、通信距離が長いため、データ通信スピードは低速だが、長距離通信が必要な新しい需要に向けて提案がされています。家庭よりも広い工場やビルのセンサー、家庭の電力メータ(スマートメータ)などがその一例になります。Wi-SUN同士の通信では、通信料金は発信しません。3G、LTEは簡単にWebへの接続が可能ですが、通信契約やクラウド環境の整備などのコストがかかることと、通信モジュールの消費電力が比較的大きく、「無線センサーデバイス」として使用する場合に、小型化が難しいことを懸念しました。Wifiモジュールは、エリアは限られますが、家庭やオフィスで実験が可能だったため、色々と時間をかけて検討をしましたが、消費電力が大きい点が懸念点となりました。Energy(略してBLE)という、低消費電力の規格がすでに多くのIoTのセンサーデバイスなどで採用されています。市場のスマートフォンと連携するIoTデバイスと呼ばれる製品は、ほとんどがBLEを採用しています。API」という新しい開発手法を発見し、こちらを採用することで、小型で低消費電力に、そして簡単に実験できると考え採用することにしました。Nanoを使用することに決めました。今回は、BLEを使用したコンテンツを制作していますが、こちらは用途によって選定基準が異なってきます。データ通信が1日に1度で良いという場合は、中・長距離でデータレートが低いものが最適なケースもありますし、中・長距離でそこそこのデータ通信が必要なケースもあり、どれがIoTに最適か?というのは、使用するケースに依存するので、良く検討することを推奨します。アナログ・デバイセズ社では、920MHz帯のWi-SUN無線通信や2.4GHz帯を使用したDUSTネットワークという信頼性に優れた製品ラインナップを持っています。IoT向けのマイコン製品もリリースをしております。ご興味がある方は、アナログ・デバイセズの技術サポートフォームからお問い合わせください。BLEについての説明コードの解説に入る前に、BLEを使用したデータのやり取りを行う仕組みに関して、簡単に触れたいと思います。BLEの通信は、簡単に以下のプロセスで動作します。今回の例では、Macなどの端末のブラウザ上でデバイスを探します。ブラウザ上でデバイスが見つかり、それをクリックすると接続されます。HTMLとデバイス側で登録していたUUIDを確認して、UUIDが合えば接続が完了します。このUUIDが異なる場合には、接続がエラーとなります。デバイスとメッセージをやり取りする。デバイスのデータに対し、Macなどの端末で読み込んだり書き込んだりすることができます。基本的には、以上の過程を経てデータの取得を行い、ブラウザへ表示します。前回の可変抵抗を回すと、Webブラウザ上の表示が変わるコードは、mbedのサンプルコードに若干の変更を加えたものです。元のサンプルはこちらです。元のサンプルは、データを擬似的に作っています。Nanoの「アナログ入力」の電圧を測定しています。Nanoの内蔵機能を利用して、このPin(端子)に接続した部分の電圧を計測することできます。Nanoのアナログ入力端子への電圧が変化します。半固定抵抗のつまみを回すと、抵抗値が変化します。Nanoの「アナログ入力」に接続された電圧値が変化します。抵抗値変化の際の分圧の解説この端子の電圧を読み取り、データを変換した後、Webブラウザにデータを転送しています。設定手順として、アナログ端子の電圧を読み取るために、アナログピンの設定と、アナログ入力のコードを追加します。ピンの設定には、端子の番号を指定します。Converter)」と呼ばれるアナログの電圧信号をデジタルコードに変換する機能が使用されています。この変換されたデジタルコードは、そのまま電圧値(Vボルトなどの単位)で使用できない形式なので、一旦データ変換をしてからWebブラウザに送付します。アナログ入力については、標準のライブラリを使用して、データを読み、その値を「BatteryLevel」に代入し、アップデートを行います。一般的には、電圧に変換して表示を行うのですが、今回はBatteryLevelの形式に合わせて残量を表示するために0から100の値になるように計算をしています。アナログ値の読み込みのコード変換した値を、アップデートすることで値が更新されます。UUIDに設定し、Webブラウザ側もこれに合わせた形で設定をしています。このUUIDが違うと、通信が成立しません。0002a19-0000-1000-8000-00805f9b34fbHTMLコードの解説HTMLは、HTMLとCSSに加え、BLEを使用する為のJavaScriptの構成となっています。APIの記述は、bluejelly.jsで処理されています。Readのボタンを押すと、Scanの処理が始まります。デバイスをWebブラウザ上で指定するとConnectが行われ接続します。170619_1BatteryLevel_Read.htmlの解説その1この時、UUIDを確認します。UUIDはbluejelly.jsのUUIDの設定で変更が可能です。今回の例では、BatteryServiceを使用しています。170619_1BatteryLevel_Read.htmlの解説その2その後、データを取得し表示を行います。その後readの処理を繰り返します。BatteryServiceでは、あらかじめ送信できるデータのフォーマットが決まっていますが、こちらはプログラムで変更が可能です。APIの解説には、今回ソフトウェアの設計に協力いただいたJellyWare様のHP上で詳細な説明がございますので、そちらを参照ください。まとめ今回は、前回使用したコードの解説を中心に、無線デバイスの選定や規格などを説明しました。次回は、今回使用したコードを少し改造したり、別のサンプルコードを使用して、応用を行ったりしたいと思います。ccкийアナログ・デバイセズは、ウェブサイトの利便性を向上させるためにCookieを使用しています。弊社の会員サービスへ安全にログイン頂くための必要不可欠なCookieと、機能性を高めウェブサイトを最適化するためのCookieがあります。ウェブサイト上での活動データの収集は、弊社の製品およびサービスを改善するために使用されます。当サイトが提供できる最高のパフォーマンスと機能をお使いいただくために、クッキーを承認することをお勧めします。クッキーの詳細をご覧ください。プライバシーポリシーの詳細はこちらをご覧ください。承認して続ける承認して続ける使用されるCookieは、次のように分類されます。必要不可欠なCookie:analog.comの閲覧に必要、または機能的に提供される特定のCookieです。顧客情報をネットワーク送信するという目的に使用されます。お客様が要求するオンラインサービス(技術問合せ送信や、オンラインでの製品購入など)を提供するために必要不可欠です。分析/パフォーマンスCookie:これらのCookieにより、訪問者の数を認識してカウントし、訪問者がWebサイトをどのように移動するかなど、ウェブ分析またはその他の形式の情報を測定できます。これにより、たとえばユーザーが探しているものを簡単に見つけられるようにウェブサイト上のリンクを設定/調整するなど、ユーザビリティの改善に役立ちます。機能的Cookie:これらのCookieは、お客様が当社のウェブサイトに戻ったときにお客様を認識するために使用されます。これにより、コンテンツをパーソナライズし、個人設定(言語や地域の選択、会員サービスへのログイン情報など)を記憶することができます。これらのCookieの情報が失われると、サービスが機能しなくなる場合がありますが、ウェブサイトが機能しなくなることはありません。ターゲティング/プロファイリングCookie:これらのCookieは、当社のWebサイトへのアクセス、およびサービスの使用、アクセスしたページ、追跡したリンクを記録します。この情報を使用して、ウェブサイトとそこに表示される広告を顧客の興味に関連するものにします。その目的のためにこの情報を第三者と共有する場合があります。時間のないエンジニアの皆さんのために、セミナー情報や興味のある製品に関連したさまざまな技術情報を集めてタイムリーにお届けします。AnalogDialogueなどもご紹介しています。