Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

MQTT

2015-04-22 08:30:00 | 最新技術動向展開
今回はMQTTを紹介します。

M2MやIoTで使えるプロトコルです。
(formerly Message Queue Telemetry Transport)
アプリケーションレイヤーのプロトコルです。

M2MやIoTの何に使えるのか?
M2MやIoTの世界では、
機器同士がお喋りするわけです。

お喋りのお約束が必要ですよね。
まさに「プロトコル」なのですが、
機器同士でやり取りする
メッセージのお約束が「MQTT」です。

特徴は、軽量なところ。
メッセージヘッダとか、少なめ。
何故軽量である必要があるか?

M2MやIoTの世界、
ひ弱な機器もいるでしょう。きっと。
また、たくさんの機器がおるわけで、
トラフィックも半端ないでしょう。
想像できますね。

なので、
軽量なメッセージングプロトコルが必要なわけです。

ちなみに、
MQTT v3.1.1 というバージョンが、OASISで仕様化されています。

ちょっと MQTT に触れてみよう!というJava好きな方は、
「Apache Apollo」と「Eclipse paho」を使うと
簡単にM2Mのサンプルが作れるようです。

以前は「Message Queue Telemetry Transport」と言っていた。
MQTTには「Queue」という概念がないため、
いまは「MQ Telemetry Transport」が正しいようだ。

私は、
M2M,IoTというキーワードに関連してMQTTを知りましたが、
Facebook MessengerはMQTTを使っているのですね。

調べ物、もっと上手にならないとな。
ここから派生して、いくらでも調べられるわけで、
知らないことは山ほどあるわけで。

興味があるものから少しずつ、
私の最新技術動向として展開できればと思っております。


以上


monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業
コメント

HTML5のお勉強 第1回 ~WebSocket~

2015-04-21 20:04:24 | 最新技術動向展開
ブラウザベースのアプリケーションがどんどん増えてきました。
例えばDropBoxのようなクラウドストレージやdesknet'sなどですね。

そんな中でWebアプリケーションを作る立場から出ていた声として
「リアルタイムな(遅延の少ない)通信がしたい」
「サーバーからプッシュ通知がしたい」
などがありました。

AjaxやCometなどの技術によって一応は実現されていましたが、
いずれもHTTPの技術にひと工夫を加えたものであり、
どこか問題を抱えていてスマートな解決はできていませんでした。


そこで登場したのが「WebSocket」です。
名前の通り「Web」上で動作する、「Socket」ライクな通信プロトコルです。
TCP/IPのアプリケーション層で動作します。
最大で14バイトと非常に軽量なヘッダを持ち、双方向通信を可能とするため、
従来では簡単にできなかった「サーバーからの通知」が
低遅延で手軽に実装可能となります。


実例としては、WebSocketを使うことで
タブレット端末がテレビの多機能リモコンになったり、
ブラウザからリモートデスクトップができたりするようです。
特別なソフトのインストールを必要とせずに
ブラウザさえあればいろいろなことができる、
というのは導入も簡単で良いですね。

※参考
 りもこんプラス http://techon.nikkeibp.co.jp/article/FEATURE/20130513/281137/
 ThinVNC http://www.forest.impress.co.jp/docs/news/20120208_510596.html


現在自社で開発している新製品でもWebSocketを使用しています。
「リアルタイムに情報が欲しい」
「いちいちリクエストを投げたりしたくない」
「しかも簡単に扱えるものがいい」
ということで、リアルタイム通知に使っています。

一番通信量の多いところで
だいたい50msごとに50バイト程度のデータを送っていますが、
遅延などはほとんど感じられません。(LAN内でのWi-Fi通信です。)

Webアプリケーションを開発する際の参考になれれば幸いです。

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業
コメント

BABIP(Batting Average on Balls In Play)

2015-04-20 23:32:08 | 最新技術動向展開
最新というわけではありませんが、
最近知った「BABIP(バビップ)」を紹介したいと思います。

野球の成績評価の方法の一つで、打率や防御率の仲間です。
イメージしやすいであろう打者のBABIPで話を進めたいと思います。

一般的に知られている打率と違うところは「on Balls In Play」とある通り、
インプレー打球のみ対象としている点です。
計算式で表すと、BABIPと打率はそれぞれ↓のようになります。

BABIP = (安打-本塁打)÷(打数-三振-本塁打+犠飛)
打率 =  安打     ÷ 打数

これだけ見ると、ただ計算方法を少し変えただけとしか思えず
何も面白くありません。

ですが、このBABIPというのは、どんな打者でも
0.3付近の数値に落ち着いていくそうです。
(確率の話なので、母数が多ければ多いほど)

BABIPが近似値を持つという事を知っていれば、
打率を上げるために一番効果的なのは「三振を減らす」事であると
なんとなく見えてきます。

業務でも似たような事は良くあることで、
いつもと違った角度から分析すると問題が浮き彫りにできる事もあります。

我々の業界と無関係と思われる所にもヒントは隠れていて、
それらに気付く事も技術だと思いました。

以上、私の最新技術の動向でした。

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業
コメント