2008年4月アーカイブ

こんにちは、DreamHUB開発チームです。

目に見えにくいテクノロジーをご説明してきましたが、今回は、非常にアナログなブログ記事になってます!

今まで社内、社外含めいろいろなイベント時に行なってきたPCに接続された照明をつけたり、扇風機をまわしたりしたデモがありますが、仕組みをご説明します。

(このブログの読者の方は、おそらくCEO石田のブログにあるデモをさわったことがあるかとおもいます。)

それでは、名付けて「ソトカラツケール」(仮称)を紹介します。

「ソトカラツケール」は、SemantiqNodeと連携し、携帯電話や PCのWebブラウザなどで 自宅の家電(照明など)のOn/Off を行えるようにするための機器です。

ソトカラツケール(以下 ST-2) 本体には、USBポートと100Vの電源コンセントが2つあり、このコンセントに電源の制御を行いたい照明等のプラグを差し込みます。

ST-2はUSBケーブルを使ってPCに接続します。その後、SemantiqNodeにプラグインをインストールして有効化すれば、後は以下のようなURLで指定のコンセントの電源をOn/Offできます。

http://snapi.dream.jp/ノード名/@fbx.homeapp.switch/?target=1&turn=on
この例では、1番コンセントに接続された家電をOnにします。

ST-2 の本体は、書籍「簡単!USBで電子制御」の10章「100V電源を制御しよう」を参照し製作しました。
はじめに USB-IOを入手し、さらに秋葉原でパーツを購入。部品リストは以下のようになりました。

参考:アキバ価格
USB-IO1,500円
ソリッドステートリレー(二個)500円
ヒューズホルダー(二個)230円
ヒューズ(二個)52円
電源ソケット(二個)152円
ACコード100円
ケース180円
合計2,714円


USB-IOはPCからの信号を受けて特定の端子(ポート)の電圧を変えることが出来ます。書籍ではこのポートにプッシュボタンとひとつのリレー回路を接続してますが、ST-2 ではふたつのリレー回路を接続しました。USB-IOには最大4つまでリレーを接続することが可能で、つまりはひとつのUSB接続で、4つの電源の制御を行うことができます。

sotokara1.jpg
組み立て前

sotokara2.jpg組み立て後


配線図や組み立ては先の書籍をごらんいただくとし、ハードウェアの次はソフトウェアです。書籍にあるUSB-IOの制御ライブラリは HSP言語で書かれているため、SemantiqNodeのプラグインの開発言語であるC++言語で新たに書き起こして使用しました。

はじめにスタンドアロン・アプリケーションを作成して ST-2 の動作を確認。それからSemantiqNodeのプラグインを開発し、URLを呼ぶことで照明の制御ができることを確認しました。
ソフトウェア自体の開発は、制御ライブラリを含めて3時間しかかかりませんでした。

SemantiqNodeというプラットフォームを使えば、簡単にこのようなアプリケーションを開発し、運用することができます。
たとえば書籍ではPCを使ってラジコンカーを操作する例が紹介されていますが、SemantiqNodeと連携すれば、携帯電話でラジコンを操作することもすぐにできます(実用的ではないかもしれませんが)

「ソトカラツケール」のプラグインのソースコードはもちろん、USB-IOを制御するライブラリは、プラグインSDKのリリースの際に公開いたしますので、どうぞお楽しみに。



こんにちは、DreamHUBチームです。

Webカメラplugin用のwindowにて不具合が報告されました。
以下のWebカメラ用の画面を開き、「OK、キャンセル」をクリックした後に、Windowから応答が返ってこなくなることがあります。

plugin_option02.gif

この不具合を解消するには、新しいSemantiqNodeをインストールしてください。(4/14にリリースしたVersionより、さらに1つ新しいVersionになります)

不具合を修正したSemantiqNodeはコントロールパネルからインストール

Webカメラをご利用のユーザの皆様には大変申し訳ありません。
お手数ですが、コントロールパネルから新Versionをインストールしてください。

どうぞよろしくお願いします。

フリービットのプレスリリースにてご存知のかたもいらっしゃると思いますが,本日SemantiqNodeデベロッパプログラムの申し込み受付を開始いたしました。

プレスリリース:

SDKについても、各種特許申請作業が終了したためようやくリリースすることが出来ました。

これらを記念し,SemantiqNodeとしての新しい機能を追加し、バージョン1.3βとして「メール検索」機能をリリースいたしました。よりいっそう便利に、また新しいユビキタスサービスを今後も進めて参ります。

インストーラもしくはアップデータにてインストールを行ってください。
(アップデート方法はこちらで確認ください)

今回の機能追加についてですが、

"自宅や会社のパソコンで受信したメールを、外出先(PC、携帯、iPod、wii)からブラウザを通して 「検索、内容確認、メール返信」 をすること"

が出来ます。
 
インターネットにさえ接続できれば、「自分がどこに居ても」「メールがあるPCがどこにあっても」、あたかも自宅のPCの前に座っているかのように、届いたメールを検索し、そして返信することが可能になります。

現在,対応しているメールソフトは
・OutlookExpress
・Thunderbird 2
となっていますが、ほかのメールソフトについても順次対応して行く予定です。

ただし、今回のベータとして出していますのは,メーラによって様々な書式が存在するため,正式リリースに向けて幅広いパターンで動作するべく、不具合があった場合はできるだけテストにご協力いただきたく思っております。 


■サービス概要

■メール検索利用方法
  1. 最新バージョンへのアップ
  2. タスクトレイアプリにてメール検索のアドオンの有効化
  3. タスクトレイアプリにて索引作成
  4. PCや、携帯,iPod touchまたはwiiのブラウザからメール検索し、返信が出来ます


■メール検索のURL

メール検索はこちら:http://dream.jp/mysearch/mail/

(同じURLにてPC、携帯,iPod touch、wiiに対応しています。)

SemantiqNode API

| | コメント(9) | トラックバック(0)
SemantiqNode API 概要

SemantiqNodeとの通信にはhttpを使用します。APIを使用するときはCGIを呼び出すのと同様の方法を用い、パラメータをクエリーに指定し、特定のCGIを呼び出します。APIの実行結果はhttpレスポンスのbody部分で受け取ります。その際の文字コードはUTF-8を利用します。
※説明では簡単に記載するために、GET形式を使っておりますが、実際にはPOST形式を使ってクエリーを送信します。

クエリーには必須パラメータとしてactionキーがあり、実行するアクションを指定します。さらにアクションに必要なパラメータについてもクエリーで指定します。

API
  • 認証
    • SemantiqNodeをインストールしたPCに対して認証を行ないます。
  • ファイル一覧
    • 指定したフォルダ内のファイル一覧を取得します。
  • ファイル取得
    • 特定のファイルを取得します。
  • デスクトップ検索
    • Googleデスクトップと連携し、検索結果を取得します。
  • メール検索
    • OutlookExpressやThunderbird 2で受信したメールを検索します。
JavaScriptライブラリ
  • MySearch用に開発し、JavaScriptからSemantiqNodeへアクセスするためのライブラリを用意しています。
ダウンロードはこちら
http://dream.jp/mysearch/javascripts/snodeapi.js
SemantiqNode フォトCGI
  • ブログパーツ用CGI。公開ディレクトリの「photos」フォルダにある画像一覧をXML形式にて返します。
説明、ダウンロードはこちら
http://blog.dream.jp/2008/04/20080418-7.html

SemantiqNode PhotoCGI

| | コメント(3) | トラックバック(0)
概要
  • ブログパーツ向けに以下のCGIをご利用ください。公開ディレクトリの「photos」フォルダにある画像一覧をXML形式にて返します。

写真数
  • 最大15のファイルをXML形式にてランダムにて返します。

利用方法
  • http://snapi.dream.jp/blog/snphoto.cgi?snhost=ノード名
(例)
http://snapi.dream.jp/blog/snphoto.cgi?snhost=dreamhubblog_node
概要
ここではメール検索を行なうためのAPIの説明をします。

リクエスト方法
  • HTTP
  • パラメータ必須

ホストパラメータ
  • ホスト:http://snapi.dream.jp/
  • ノード名:アクセスしたいノード名

引数
  • action:sn.search.query
  • q:検索キーワード
  • page:ページ番号
  • type:mail
アクセス例
http://snproxy.dream.jp/sn/dreamhubblog-node/do?action=sn.search.query&q=DTI&type=mail

レスポンス

  • JSONP形式
onJSONP(
{
"response":{
"action":"sn.search.query","info":{
"page":"1","pages":"14","allitems":"210"
},
"items":[
{
"href":"mail: OE_00000000014_TEST.dbx_0e3ae844_0e56c028",
"from":{ "name":"minako tanaka "},
"subject":"blogの確認",
"snippet":"This is a test.",
"prop":{
"datetime":"Fri, 11 Apr 2008 17:24:30 +0900",
"contenttype":"message/rfc822"
}
} ],
"mestat":{ "status":"200","message":"" }
}
});


概要
ここではデスクトップ検索を行なうためのAPIの説明をします。

リクエスト方法
  • HTTP
  • パラメータ必須

ホストパラメータ
  • ホスト:http://snapi.dream.jp/
  • ノード名:アクセスしたいノード名

引数
  • action:sn.search.query
  • q:検索キーワード
  • page:ページ番号

アクセス例

http://snproxy.dream.jp/sn/dreamhubblog-node/do?action=sn.search.query&q=DTI&page=1

レスポンス

  • JSONP形式
onJSONP(
{
"response":{
"action":"sn.search.query","info":{
"page":"1","pages":"9","allitems":"126"
},
"items":[
{
"href":"/_file/C/Documents+and+Settings/Taro+Tanaka/test.txt",
"displaypath":"C:/Documents and Settings/Taro Tanaka/デスクトップ/test.txt",
"name":"test.txt",
"snippet":"This is a test.",
"prop":{
"contenttype":"text/plain",
"datetime":"2008-04-07 15:00:00",
"size":"231"
}
} ],
"mestat":{ "status":"200","message":"" }
}
});
概要
ここではファイルの取得を行なうためのAPIの説明をします。

リクエスト方法
  • HTTP
  • パラメータ必須

ホストパラメータ
  • ホスト:http://snapi.dream.jp/
  • ノード名:アクセスしたいノード名

引数
  • action:sn.file.get
  • path:アクセスするファイル名(パス含む)

アクセス例

http://snapi.dream.jp/sn/dreamhubblog-node/_pub/do?action=sn.file.get
&path=/_pub/photos/yama.jpg


レスポンス

  • 指定のファイルのContent-Typeでバイナリ形式でファイルが返ります。ファイルが存在しない場合は、404エラーが返ります。
概要
ここではファイル一覧の取得を行なうためのAPIの説明をします。

リクエスト方法
  • HTTP
  • パラメータ必須

ホストパラメータ
  • ホスト:http://sngate.dream.jp/
  • ノード名:アクセスしたいノード名

引数
  • action:sn.file.getList
  • path:アクセスするディレクトリ
  • rformat:戻りのフォーマット
    • JSON
    • JSONP
アクセス例
http://snapi.dream.jp/sn/dreamhubblog-node/_pub/do?action=sn.file.getList
&path=/_pub/photos/&rformat=JSONP


レスポンス

  • httpレスポンスのbody部にjson形式またはjsonp形式にて格納されます。
element名 説明
action 実行したaction名を返します
info 現在のページ、最大ページ数、全ファイル数を返します
items セッションIDを表示します
href:相対パス+ファイル名を表示します
displaypath:相対パスを表示します
name:Unicodeでのファイル名を表示します
prop ContentType,作成日,ファイルサイズを表示します
mestat messageとstatus elementを保持します
status エラーの種類や状態を表します

例:JSON形式
{
	"response":{
		"action":"sn.file.getList",
		"info":{
			"page":"1",
			"pages":"1",
			"allitems":"1"
		},
		"items":[{
			"href":"/_pub/photos/yama.jpg",
			"displaypath":"%u002f",
			"name":"%u0079%u0061%u006d%u0061%u002e%u006a%u0070%u0067",
			"displayname":"",
			"prop":{
				"contenttype":"image/jpeg",
				"datetime":"2007-10-19 01:19:02",
				"size":"292479"
			}
		}],
		"mestat":{
			"status":"200",
			"message":""
		}
	}
}

例:JSONP形式
onJSONP(
{
	"response":{
		"action":"sn.file.getList",
		"info":{
			"page":"1",
			"pages":"1",
			"allitems":"1"
		},
		"items":[{
			"href":"/_pub/photos/yama.jpg",
			"displaypath":"%u002f",
			"name":"%u0079%u0061%u006d%u0061%u002e%u006a%u0070%u0067",
			"displayname":"",
			"prop":{
				"contenttype":"image/jpeg",
				"datetime":"2007-10-19 01:19:02",
				"size":"292479"
			}
		}],
		"mestat":{
			"status":"200",
			"message":""
		}
	}
}
);

SemantiqNode 認証API

| | コメント(0) | トラックバック(0)
概要
SemantiqNodeにログインするための認証APIについてご説明します。プライベート領域へアクセスさせるためには認証が必要になります。

リクエスト方法
  • HTTP
  • パラメータ必須

ホストパラメータ
  • ホスト:http://sngate.dream.jp/
  • ノード名:アクセスしたいノード名

引数
  • action:auth
  • egid:メールアドレス
  • password:SemantiqNodeパスワード
  • rformat:戻りのフォーマット
    • JSON
    • JSONP
アクセス例
http://sngate.dream.jp/dreamhubblog-node/?action=auth
&egid=taro_dti@dream.jp&password=abcd123&rformat=JSONP


レスポンス

  • httpレスポンスのbody部にjson形式またはjsonp形式にて格納されます。
element名 説明
account メールアドレスを返します
prop 親elementに関係したプロパティを保持します
sessid セッションIDを表示します
mestat messageとstatus elementを保持します
status エラーの種類や状態を表します
例:JSON形式
{ 'account':'taro_dti@dream.jp', 'prop':{ 'sessid':'925412b370f619fcc5926c77f79571cf', 'timeout':'300' }, 'mestat':{ 'status':'200' } }

例:JSONP形式

onJSONPAuth(
{
'account':'taro_dti@dream.jp',
'prop':{
'sessid':'925412b370f619fcc5926c77f79571cf',
'timeout':'300'
},
'mestat':{
'status':'200'
}
}
);

こんにちは、DreamHUBチームです。

現在、SemantiqNodeにはアクセスチケットという機能がありますが (自分のPCにあるファイルを外部の他ネットワークからもアクセスできるURLを生成する) 、画像赤枠内に生成されるURLが正しく生成されない場合があるという事象が報告されております。

ticket.gif

・赤枠内に生成される不正なURLの例
 /sn/あなたのノード名/_pub/@sn.file.ticket/RVGC0EXADilX/xx.zip 

赤枠内に生成される正しいURLの例
 http://snapi.dream.jp/sn/xxxxxx/_pub/@sn.file.ticket/RVGC0EXADilX/xx.zip 
※"xxxxxx" には、あなたのマイノード名が表示されます。

ユーザの皆様にはご迷惑をおかけしてしまい誠に申し訳ありません。

実際に不正なURLを多くの知人に伝えてしまった事例など、不便な思いをされたユーザ様からのご連絡もいただいており、重ねてお詫び申しあげます。

この不具合につきましては、早急に対応することで現在動いており、近日中に発表する次バージョンにて必ず修正されることをお約束します。それまではご迷惑をお掛けしてしまい大変恐縮ですが、生成されたURLが不正でないことをご確認の上、ご利用ください。

不正なURLが生成された場合には、以下の対応手順にて回避していただきますようお願い申し上げます。

赤枠内に不正なURLが生成された場合の対応手順
①:タスクトレイにあるSemantiqNodeアイコンにて、右クリックし「終了」を選択
②:" C:\Program Files\FreeBit\SemantiqNode " にある「SNodeApp.exe」をクリック
③:タスクトレイにSemantiqNodeアイコンが表示されるのでダブルクリック
④:SemantiqNodeのwindowが開く
⑤:アクセスチケットのタブにてURLが正しく表示される

こんにちは、DreamHUBチームです。

すでにお気づきの方もいるかもしれませんが、このブログを携帯電話のブラウザーからもアクセスできるようになりました!

URLは、http://blog.dream.jp/ でパソコンと同じなのですが、携帯ブラウザーを識別して携帯用のページに切り替わるようになっています。
このページ左側にQRコードを置いていますので、携帯電話のバーコードリーダーで読み取っていただければ簡単にアクセスできます。


mobile_qr_image.gif


携帯電話からアクセスできると、移動中や外出時にチェックできて本当に便利です。
コメントも入力できますので、ぜひ使ってみてください。

マイノードフォト

This is flash contents area.
この「マイノードフォト」は、Dream SemantiqNodeサービスを使って開発チームメンバーのPCに保存された画像を表示しています。

DreamHUB Blog.携帯版

このアーカイブについて

このページには、2008年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年3月です。

次のアーカイブは2008年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。