0

SkypeA2Aラッパー メモ

Org.Shokai.Skype.SkypeAPIControlFormが結構というか前に公開した奴でだいたい良いかなと思ったので、

Org.Shokai.Skype.A2A.Applicationの実装。

これ使うとそこそこ簡単に、SkypeA2AというSkype上のP2PフレームワークがC#で使えるよ、というラッパーです。

クラスが結構できてきたけど説明がめんどいので、とりあえずzipでおいとく

Source Code & exe (Visual Studio2005 C#.NET)

Form1.csを見ればわかると思うが一応自分のためにもメモ。

まずSkypeAPIとのやりとりするFormを作ろう。Show()しなければ非表示にできる。

usingOrg.Shokai.Skype;

SkypeAPIControlFormskypeControl;

skypeControl=newSkypeAPIControlForm();

skypeControl.Show();

A2A上で認識されるアプリケーションを作る。コンストラクタでさっきのSkypeAPIControlFormのインスタンスを渡してやる必要がある。多分ユニークな名前にしなければならないので注意。

Org.Shokai.Skype.A2A.Applicationa2a;

a2a=newOrg.Shokai.Skype.A2A.Application(skypeControl,”AppName”);

ここまでは、ネットワークに参加する全員が行わなければならない儀式。

相手のSkypeユーザ名を指定して接続。これはどちらからでも良い。

a2a.Connect(“shohashimoto”);

データの送信。StringでTCPみたいなのが送れる。

a2a.Send(“hello!!!”);

データの受信。関数を宣言しておいて、コールバックに追加してあげてください。

publicvoidonRecvData(Stringmessage){

Console.WriteLine(message);

}

a2a.onReceive+=onRecvData;

とりあえずチャットみたいな用途には使えるけど、まだまだ作りかけ。とりあえず1アプリケーション1Stream1ユーザに限定して使いやすいように実装してみた。

複数コネクションを張るにはOrg.Shokai.Skype.A2A.Applicationインスタンスを複数使えばまあなんとか動くかな?動かないかも知れない。

そのうちやる。

0

C# – SkypeAPIとの対話コンソール作った

SkypeAPIのコマンドをそのまま使える対話式コンソールを作った。

Skype4COMやSkypeXを使ってもWindowsアプリからSkypeを操作する事が出来るけど、なんかSkype4COMだとメッセージの返り値を受け取れなかった(俺のせい?)ので、自分で作った。

といってもほとんど完成してるコードを継承してGUIかぶせただけだけど。

Source Code & exe (Visual Studio 2005 C#2.0)

SkypeAPIControlPanel\bin\Release の中の「SkypeAPIControlPanel.exe」から起動できる。

なお、中に入っているSkypeBridge.csはSkype API Book Vol.1の17章に掲載されていたもので、ここからダウンロードもできる。

このアプリはSkypeBridge.csを継承してインタフェース部分を実装したもの。

起動すると実行の許可を求められるので、「許可」して「OK」する

SkypeAPI Dialogue

Read more

0

MacBook+BootCampでWindowsXPを使うときのキーボード設定

MacBook黒にBootcampでWindowsXP入れて1日使ってみた。

今日はPSoC Designer, PSoC Express, VisualStudio2005, Eclipse, Processing, AVR Dudeと色々なIDEを触ったけど、特にmacだからといって不具合は無かった。ソフトウェア系の開発はいいとして、外付けのマイコン書き込み機とかUSBシリアル変換ケーブルとかが不具合出たらやだなーと心配してたけどそんな事もなかった。

スリープ機能も[スタート]→[終了オプション]から普通に使える。

で、唯一問題あったのはキーボード。

まずインストールの時から全角/半角が無くて困るわけだが、そこはインストール手順へどうぞ。

■Bootcampでのキーボード

キーボードがMac/Winで異なるのは

・PrintScreenが無い

 →AppleKbWinでできるよ

・cmdキー(リンゴキー)

 →Windowsキーに割り当て

・F1~F5までの、モニタの明るさやスピーカ音量の設定

 →右下のFnと同時押しでいける

・CDイジェクトキー

 →普通に動作する

・deleteキー

 →back spaceになってる。Fn同時押しでdeleteになる

・home/end/pagedown/pageup

 →Fn+矢印キー

・全角/半角キー

 →ATOK2007の設定でなんとかなった(後述)

こんなもんか。あと、言語とかキーボードの設定で「日本語」以外をアンインストールしておかないと、キーボードが英語配列になってしまう。

■プリントスクリーンを使えるようにする

AppleKbWinの設定は、とくにキーは入れ替えないようにした。PrintScreenキーが無くてもcmd+shift+F3/F4でスクリーンショットが撮れるようになる機能だけありがたく使わせていただく。

MacBook keyconfig

ただし、このソフトは多分KeyboardHookとSendKeysを使っているので、他のキーフックを使うソフト(bluewindKeyPlayerとか)に影響する。

bluewindはショートカットキー割り当てをctrl+alt+spaceにしていると問題ない。

KeyPlayerの場合、ctrl+shiftにさらにcmdを押せば動く事を確認した。

■日本語入力モードの切り替え

全角/半角は無いけど、ATOK2007の設定でMacの日本語入力/英語入力の切り替えと全く同じように英数キー・かなキーで切り替えれるように設定した。多分IMEでもできるんじゃないか?

まずタスクバーのATOKアイコンを右クリックして「プロパティ(環境設定)」

MacBook keyconfig

Read more

0

Macbook Bootcamp 1.3b インストール手順

黒幕にBootcampでWindowsXPを入れた。

bootcampに付属の説明書(pdf)も印刷しておいた方が良いです。

■bootcampインストール、設定

アップル – Boot CampからダウンロードしてきてMacにインストールする。

アプリケーション/ユーティリティ/Bootcampアシスタント

から起動

パーティションを分ける時32GB以上だと警告が出るが、無視してWindowsに140GB割り当てた

そのまま指示に従って空のCD-Rにwindows用ドライバを焼く

■WindowsXP SP2インストール

bootcamp画面の指示に従って、windowsのCDを入れて「ok」を押す。

青画面が出てインストール開始。

キーボード選択

 S:その他 → 日本語キーボード

いちばん容量の大きいディスク(Cドライブ)を選択

NTFSでフォーマット、インストール

※俺の場合140GB割り当てたので一番大きいドライブがWindows用だとわかった。ここでMacのパーティションを上書きすると大変な事になるので気をつける

■Windowsの設定

WindowsのCDを取り出す。

まだ右クリックが使えないので、

[スタート]→[マイコンピュータ]の中でCDドライブを選択し、

左側のメニューの「このディスクを取り出す」

Bootcampで焼いたCD-Rを入れて、ドライバ類をインストールして再起動

これで二本指スクロールも使える。

■終わり

これで終わり。Windowsとして普通に使うことができる。

Optionキーを押しながら起動すれば、MacとWindowsを選べる。

Windowsアップデートと認証を忘れずに。

0

ArduinoがEthernet対応しそう

Bluetooth版のArduinoが少しずつ研究室にも届き始めているわけだが、

イタリアでArduinoを作っているtinker.itより。今度はLANにつながるぞ。

tinker.it Blog Archive The Arduino Ethernet board

ENC28J60とuIPを使ったのでXPortよりコストを抑えられるとのこと。(コメント欄)

確かにENC28J60+uIP+ATmega8系マイコンのサンプルは結構あって、日本でもENC28J60-SPI変換キットがオプティマイズで2300円買える

Arduinoぐらい安い基盤でTCP/IP使えると、HTTPでいろいろfeed持ってきて単体で動作するwidgetが安く大量に作れて楽しそう。

誰かArduino用のhashと正規表現ライブラリ実装してくれればな。各feed用のパーサーとか言わないのでせめて。

2か月前にこんなの作ったんだけど

明日の天気を色で教えてくれるてるてる坊主 – 奥出研2007年春合宿 XPort班

現実的にはArduinoにはhashや正規表現や可変長の文字列が無いので、LANにつながってもUSBケーブルが長くなった程度でしかない。

PC無しで動くambient widget系と電子工作をmashupするなら、こういう風にPCを裏方のゲートウェイにしてしまって、そのPC上で天気のフィードを解析するとか、GoogleCalendarやdiggに認証するとか、の方が楽なので、Arduino部分がEthernetだろうがBluetoothだろうがUSBだろうが設置性以外はあまり変わらないんだけどね。

でもArduinoがEther対応はワクワクする。