Posts By recotana

iPadでGoogleカレンダー同期(複数の)

最近はGoogleカレンダー無しではいられないほど依存してるのです。
なぜかというと忘れっぽい!依頼仕事速攻で忘れるので
なにかあったら、なにか作業したらその場で即Googleカレンダーへ記録するとゆーのを
習慣づけてます。ほんとに忘れっぽいんですよねえ。。。

ちょと前まではGoogle Sync側でiPadのデバイス設定が無かったのでできなかったけど
ちょとまえから出来るようになったみたい。
やっとiPadでもカレンダー同期できるうれすい。

ちょとやりかた記録しときます。

設定のメール/連絡先/カレンダーにて「アカウントを追加…」

アカウント追加

Exchangeを選びます

Exchangeを選ぶ

Gmailアドレスと、Googleアカウント&パス、説明は適当に

gmailアカウントとgmailアドレス

証明書云々のダイアログがでたら「了解」を

了解を!

そうすると サーバ 項目がでるので「m.google.com」を入力

サーバを入力

Googleと同期するものを選んでおきます。

同期するもの選択

これで、iPad側の設定は完了
メール/カレンダーが同期するようになってますよ。

完了

Googleカレンダーが1つの場合はこれでいいのですが
複数もってたり共有しているものがあればGoogleSync側で設定を行います。

iPadのSafariで「m.google.com/sync」を入力してgoogle syncを開きます

google sync側の設定(web)

日本語では設定できないので、「言語を変更」をタップ
言語は英語で!

English(US)をタップして英語を選択

English(US)選択

デバイスでiPadをタップ

iPadを選択

ここで、同期したいカレンダーを選択します。
My Calendersは自分で作ったカレンダー
Shared Calendersは他の人が作成し、自分が共有しているカレンダー
チェックし終わったら「Save」を押します。

同期したいカレンダーを選択

この画面で設定完了です。

完了

iPadのカレンダーを見てみましょう。
これはリスト表示
月表示もいいですが、スケジュールだけを見渡せて、かつ詳細も見られる。
GoogleAppsのカレンダーよりも見やすい!これすごく気に入りました〜〜
iPadのカレンダーのリスト表示が秀逸

Gmailもプッシュで同期したので、メールが来るとiPhone(同じ設定してる)、iPadもメール受信音がピコンピコンしてしまう

Share on Facebook

Ânon

なんと!じつに4ヶ月くらいぶりの更新?
放置にも程がある!

週末ちょいと用事足しに札幌へ行ってきたんですが
その用事の一つ、先日オープンした友人のお店へおじゃましてまいりました。

靴の修理やさんで「Ânon(アノン)」さん。
札幌のおしゃれフリーク御用達スポット裏参道のなんと路面店!
(ちなみに当時から健在なのはLAND USA)
?non(shoe repair shop @ sapporo)

改装はなんと小樽のuguisさんでやってもらったそうな。

恐ろしく居心地いいとこでした。
?non(shoe repair shop @ sapporo)

?non(shoe repair shop @ sapporo)

うちも以前の仕事は修理とか多くて部品探しに奔走したり
そーなるとなかなか儲けの出るもんでもなくなっちゃうんだけど
やっぱ愛着あるものを直してそれで喜ばれるってーのは
この上ない喜びだよねえ。

意外に靴ってどこ持って行ったらいいのかわからんけど
郵送でも受け付けてくれるので
興味のあるかたいましたら是非ご一報を・
いろいろ相談にのってくれると思いますよ!

Ânon(アノン)
札幌市中央区南2条西25丁目1−37内田ビル2F
TEL/FAX 011-644-8030
AM11:00-PM20:00
定休日 日曜 祝日
shoerepairanon@gmail.com

ちなみに?nonの中で話ししてたら、2Fのカフェの方がコーヒーの出前してくれました。
すごいいい人
つか、あのvaasa直系のカフェでした。ビックリ!
店内もフィンランド雑貨が!
and coffee
アノンの 2F左

Share on Facebook

新しいOSCライブラリ(Obj-C)を作っている

こりゃー使い物になるかどうかは甚だ不明ですが
いまObjective-C版のOSCライブラリをスクラッチから書いています。
常々思うところが(後述)あっんですが、
赤松さんのBlogにて OSCライブラリの比較 という記事が後押ししたというか
いままで”OSC送受できる”というのはあれど、どのくらいのパフォーマンスなのか?というのが
ほとんど論じられてこなかったのでとても新鮮で興味深い記事でした。
最近ではArduino版を作ってきたのでちょっとかぶりつきで。

思うところといいますと、iPhone絡みで開発している以上、ライセンスの縛りも大きく
使いたいライブラリはLGPLばかりでBSDなどがいまいち少ない
しかもiPhoneではサードパーティー製のライブラリは静的リンクしかできないため、
LGPLでは有料アプリにはどうしてもそぐわなくなってしまう。
BSDのoscpackは赤松氏が書いてるようにC++との連携が必要になりどうしてもいびつな実装になってしまう。

このへんのジレンマもありなんとかせにゃな〜と常々おもってはいたんですが、
かつてAVR版、こないだはArduino版も作ってるし
コアの部分を流用して思い切ってObj-C版も作っています。

仕様としては
1 型は int32 , Float , String , Blob の4つ
2 *,?,[],{}などメッセージ受信におけるワイルドカードなどのパターンマッチは行わない。
(このメッセージがきても破棄しちゃう)
3 Bundle形式は非対応
4 Bonjour対応

1はOSC1.0の仕様で、基本的な型のみ実装
2 この手の文字列検索の処理コストってなんか勿体ないなーと。
 もしコストがかかるようであれば音楽用途だと致命的になりそうな。。
3 これはTimetagによる時間指定イベントを可能にするらしいのですが、ぶっちゃけ実装方法がわからない(笑)
4 Bonjourはこれからの通信機器に必須ということで。。

2,3 twitterでも聴いてみましたがあまり使ってる人はいなさそうということでずばっと省略。

ある程度できあがってはいるんですが
中身的には、エンコード/デコードなどは主にCで書いて、コンテナでObj-Cとやりとりする部分のみObj-Cでやってます。
NSArrayとかNSStringとか極力使わないようにしたかった。なんとなく重そうで。。

先日はOSC1.0仕様のの日本語訳を見つけたけど
これみてもBlobのデータ構造がいまいちわからんかった。。
しかたないので、ProcessingからBlogを送って、その受信バイナリを解析してました。。
こういうのはArduinoと違ってデバッガ完備でめちゃいいですね〜XCode

Share on Facebook

ArdOSC (とArduino DHCP , Bonjour )のデモ

できたてホヤホヤのArdOSCを使ってデモってみました。

そもそも

だれでも簡単に使える (iPhone用) 通信デバイス

実はこのことが自分の中では大きなテーマでして
本来であればZigBeeやBluetoothも視野にいれなくちゃなんですけど
ZigBee自体相手があんましいない。iPhoneにゃ標準で付いてない。もっと汎用なのが好き
Bluetoothも何気に壁が多い(個人レベルで。特にiPhoneだとMfiライセンスの壁が。。)

となると Ethernet(Wi-fi)しか残らなくなっちゃう。
あくまでLAN内前提ですが、どうしても自デバイスのIP設定や、相手側のIP/Port設定がネック。というか面倒くさいなーと思っていたところ
Arduino用 DHCP、Bonjourライブラリというのが公開されてたのでこれがあれば設定すっとばせるので設定面倒な懸念がイッキにクリアになりました。
ちなみにこのライブラリの作者、あのFTIRマルチタッチ用のドライバの作者でもありました・親しみを覚えちゃう。

だがしかーし、
このライブラリはとんでもなく超高校級のコードサイズ
使うだけで、最新Arduinoのプログラム領域の半分くらい使っちゃう
正直、そこまでしてArduinoでカッツカツでやるもんじゃないとは思います。。(特にこだわりはないので)
とはいえ、サックリ使えるのは非常に魅力なので、なんとかこれに軽量なOSCライブラリを組み込んでiPhoneと通信させようと作ったのが
今回の ArdOSC でした

前置きながい

今回のデモの構成(手書きww)はこんな感じです
iPhone <-> Arduino direct OSC(ArdOSC) control

Arduino+Ethernet ShieldはWiFiルーターと有線接続
iPhoneはWifiでルーターへ接続

Arduino、iPhone共にDHCPによりIPを取得しています。(Arduinoは EthernetDHCPを使用)

iPhone側ではOSCサーバを起動、およびBonjourにより iPhone IP , OSCサーバポートをパブリッシュさせています。
実際にはCopyByEar(新ver) 内でOSCサーバ起動、Bonjour Publishを行っています。(“_osc._udp”)

Arduino側では
EthernetDHCPによりArduinoのIPを取得
EthernetBonjourによりiPhoneでBonjour publishされた
iPhone IP,OSCサーバポートを自動で取得しています。
具体的には ”_osc._udp”を探し出し、複数の場合は最初に見つけたデバイスを選択
同一LAN内であることと指定のポート10000(CopyByEar側での決め打ち)であることを条件に接続先を決定します。

ここまでできると、相手IP,ポートがわかるので
あとはOSCメッセージをほいほい送るだけです

デモでは、
電源投入(というかリセットからの復帰ですけど、、)
DHCPでのIP取得(LED 赤)
Bonjourでの相手IP.ポート取得成功(LED 黄)

橙ボタン : CopyByEarの再生/ポーズ
緑ボタン : CopyByEarのボタン1(10秒戻る)トリガ
白ボタン : CopyByEarの マークジャンプ/ループ開始 トリガ

をそれぞれデモってます。

iPhone Arduino OSC(ArdOSC) connect demo from recotana on Vimeo.

Share on Facebook

ArdOSC (Arduino simple OSC Library )

なぜにひさびさにArduinoやってたかとゆーと
CopyByEar用の外部デバイスとしてArduinoでコントローラを作ってしまおうと画策してまして
当然OSCを使うわけですが、どーも物足りなくなって、以前作ったOSCライブラリを作り直しておりました。
名前も一般的すぎて埋もれがちなのでバージョンアップを期に固有名詞もつけました

ArdOSC (Arduino simple Open Sound Control Protocol Library )

ArduinoOSCの略ですけど、Twitterを考慮して省略。なことなーない

前回の作っておいてなんですけど、結構ばっさり変えちゃいました。
もっとさっぱりコード少なめで書き直して、かつもうちょい使いやすくしてみてます。(かな?)

前回のは、OSCアドレス設定は2コにわけてたけど、めんどいので廃止。1つでザっと設定してしまいます。
OSCアドレスは255文字まで
Serverでの ? や * などのパターンマッチは実装しておりません。
素のOSCアドレスの取得はできるので(当然)各自で実装をお願いします。

Argumentの種類は
int32
float
string
の3種類。
timetagはRTCもないのでいれませんでした。

int32はArduinoでは “int” (16bit)ではなく “long int”(32bit)なので注意してください!

argument数は全部で16コまで入るようにしました(ほんとはもっと入るけど)

バンドル形式は実装していません。
また、標準のEthernet Shield専用です。
現在のArduino firmware0018で動作確認しております。

まだできたてホヤホヤなのでバグありそうだなー
もしへんなとこあったら優しく指摘してくださいませ。。。

exampleにはProcessingのサンプルも置いてあります。loop backテストができます
ただしProcessingはoscP5必須です。

とりあえずこんなところかなー

ArdOSCのコア(エンコード/デコード)部はほぼ普通のCなので移植も簡単かも?
OSCメッセージをバイナリ変換/逆変換できるので、シリアル系とかでもいけそ
そうそうiPhone用のOSCライブラリも作りたいところ。

Share on Facebook