以前から製作していた秋月C基板サイズのArduinoがCielduino(シルディーノ)としてスイッチサイエンスさんから発売されることになりました。今度のMTM07にて販売が開始される予定です。47mmのユニバーサル基板サイズです。288などの一般的な小型ユニバーサル基板とぴったり合います。普通のArduinoの位置に加えてこれらのユニバーサル基板と繋ぎやすい位置にもI/Oピンが出してありますので、高〜いバニラシールド(ま、あれだけ凝った形の少量基板があの値段になるのは仕方ないわけですが)を買わずに全部のピンを使ったシールドを自作することができます。固定穴も同じなので、ちゃんとネジを通してしっかり固定することも可能ですし、凸凹の変な位置に穴開けしなくてもキレイに4点で止められます。基本的に背の高い部品は一切載っていない状態で出荷されますので、ピンヘッダやDCジャックなどの背の高い部品を付けなければ、非常に薄い空間にも収められます。Shieldの上から刺すことで、長くて扱いにくいピンを切ってしまってスッキリと薄く収めることができるようになっています。本体上にもユニバーサルエリアを設けてありますので、ちょっとした回路であれば、別にシールドを作るまでもなく、本体上で済ませてしまうことができて便利です。CSTCE部品表のうちコネクタはすべて未実装です。(NM)が付いているものは完成品では未実装です。はんだ付けしやすい)部品が使えるようにパターンは両対応にしてありますので、指定の部品が入手できない場合にはこちらの代替品をお使いください。R5だけはちょっと特殊で、FTDIベーシック側からの電源供給がデフォルトではオンになっていますが、何らかの理由でこれを切って再度接続したい場合にマウントすれば良いようになっています。(明らかに手ハンダで、これを付けることも稀なのでこれだけは裏面配置です)X1のパターンはレゾネータではクロック精度的に困る場合に水晶に置換するためにも便利だと思います。普通のHC-49/Sの水晶を貫通穴で取付けて、裏に1608のチップセラミックコンデンサを付ければOKだと思います。ユニバーサルエリアについて本体の中心部に9x13のユニバーサルエリアが用意してありますので、ご自由にお使いください。シールド接続用のピンの左右にもユニバーサルエリアがありますので、コチラもLEDを並べてみたりする場合等に便利に使えるかと思います。配線との距離の都合上配線の近くのランドは0.8mm穴になっているものもありますが、基本的には0.9mm穴のランドになっていますので大抵の部品は刺さらなくて困ることは無いだろうと思います。ランドは片面ユニバーサル基板と比べると小さく見えるかもしれませんがスルーホールですので、部品の足に沿ってハンダがスルーホールに吸い込まれていけば十分はんだ付けは接合しているはずですので大丈夫です。パターンを注視していただければ解りますが、CN8の並びの一番上の行には5Vの電源が2つと、GNDが4つ、R3の隣にもGNDと繋がっているランドを2つ用意してあります。こちらもユニバーサルエリアの電源ラインの配線に便利だと思いますのでご利用ください。基板単体で入手された方へおそらく表面実装部品のはんだ付けにも慣れていて自信もある方でしょうから釈迦に説法かとは思いますが、普段私が手ハンダでこう言うものを作る場合の手順を書いておきます。普通はディスクリートの熱にも強い抵抗からとは言われますが、他の部品があると邪魔なのと、失敗すると付け直しに甚大な労力を要するQFPから先につけてしまいます。角のピンのランドに軽くハンダを盛って位置を合わせてピンをコテで暖めて仮固定します。引き続き位置を微調整しつつ対角のピンを止めます。位置がバッチリであれば最初に止めたピンに微調整の応力が掛かったままだといけないのでハンダも足しつつ本はんだ付けします。あとはピンもバッチリ揃っているはずですので、他のピンを順にはんだ付けしていきます。必要に応じてフラックスを塗ってピンをコテでなめてあげてハンダがキレイに流れていてブリッジもしていないのをルーペで確認します。ブリッジが見つかったらハンダ吸い取り線で適宜補修します。あとは適宜好きな順番に部品を付けていけば良いと思います。IC2の前にC7ははんだ付けしておいた方が良いだろうと思います。C、Rは片側のランドに軽くハンダを盛っては仮固定して反対のはんだ付けしてから再度最初のピンも本ハンダということをしています。リセットスイッチ(SW1)もサイドの固定用のランドのハンダはつけ難いので、ピンからはんだ付けしていった方が良いと思います。自作ですとArduinoとして動かす時にはファームウェアの書き込みが必要です。CN8に2列のピンヘッダを実装して、AVRISP-IIを接続してArduino環境からファームウェア書き込みができるはずです。参考ページ)薄いままにしておきたい場合は、はんだ付けまでしなくても手で押さえながら書き込んじゃうことも不可能ではありませんが、自己責任でお願いします。1.1が出回り始めるようです。改良点は以下の通りです。TokyoでのUstream配信の機材構成はいろんな意味で当たりだったと思うので、まとめておきたいと思います。Pro2台でUstream配信と、モニタ、タイムラインの監視を分担しました。今回はFMLEとCamTwistを使って1台でStreamの配信を行い、もう1台でBroadcasterを使って放送/録画の制御と、放送モニタ、タイムラインの監視を行いました。することで、カメラ操作とスイッチングを一人(私)がやって、もう一人が録画操作とタイムラインの監視、放送のモニタというバランスの良い分担ができたわけです。タイムライン上の不適切発言の削除やspammerの追い出しなどはUstreamにログインしたマシンからでないとできないので、Broadcasterの操作とタイムライン監視は1台にまとめる必要があったのと、CamTwistとFMLEと比較的重い作業をしているマシンにさらにモニタのH.264のデコード負荷を与えたり、操作者にTL監視までの負荷を与えずにカメラとスイッチングやテロップ等の絵作りに集中させることが出来たのは良かった点です。モニタ側のマシンは、Broadcasterでサーバーからのモニタと、さらに通常にアクセスしたサーバーからのモニタのH.264を2系統のデコードとタイムラインの表示ということで、割と軽い負荷で済んでいました。モニタ側PCの操作も基本的にはTLの監視とプレゼン毎に切った録画の操作が主業務で、あとはサブミキサの微調整程度で十分余裕を持って対処できる仕事割だったと思われます。当初の予定からは、もう一つ仕事が加わってしまっていて、手元カメラの画像をモニタ用のMacの外部モニタ出力から配信用マシンに送っていたので、それの操作も必要になっていましたが、パニックになるほどの仕事量でも無く収まったかと思います。以下が、全体の配線図です。それなりに複雑なシステムですが、会場のディスプレイにも手元カメラや発表者のプレゼン画面を表示しつつ、それをカメラで撮ってUstreamに流すと言う事ではなく、VGAのビデオキャプチャで場合によっては会場にいるよりも見やすくUstreamに流せたと思いますので、かなりのQualityになっていたと思います。あと、棒の先に付けたC905mが俯瞰映像を撮ってくれたので、これも会場の雰囲気を伝えたり、メインのDVカメラを振る間の中間映像として使うのに非常に便利だったと思います。幟を立てる支えの棒をホームセンターで安く売っているので、それを使うのが伸縮機構とかもついていて3mくらいまで伸びて非常に便利です。(この写真やこの写真やこの写真の白い棒がそれですね)もう一つカメラとして、iPad等でのデモを撮るために手元カメラを用意しましたが、これは普通にNTSCのコンポジット信号が出てくるような小型の監視カメラを使いました。これらは秋月電子で売っているこのカメラ(ネジ穴が上下両方にあるのもGood)と、このレンズの組み合わせを1/4インチのネジに変換するアダプタを付けたブームスタンドに取り付けたものです。このカメラシステムも、アイリスからズーム、ピントまでフルマニュアルで、調整さえちゃんとしてやれば変にオートで迷ったりしないし、比較的小型で良かったんじゃないかと思います。当初の予定ではこのカメラについてもいったんアップコンバータでVGAにしてVGA切替器を通してプロジェクタとUstreamに分ける予定だったんですが、アップコンバータのVGA出力にプロジェクタが対応していなかったので(640x480だったのが低解像度過ぎて)、急遽モニタ用のマシンにいったんADVC-55で取り込んで、その画面をXGA出力のサブ画面として出力してスクリーンとUst配信マシンに出すと言う構成に方針転換したのでした。Handを使用しました。以上の用に、マシンの負荷という面でも、人員の作業負担と言う意味でもかなりバランスの良いシステムになっていたと思われるので、みなさんの参考になればと思いましてまとめさせていただきました。2.5G/4G/250Gのマシンですね。2.8GHzか3GHz)だったので、当初そちらを配信に使う事も考えましたが、やはり使い慣れてるマシンである方がトラブル時の対処に大事だと見てそれぞれ自分のマシンを使うようにしました。あと、「X1204USBなんだから配信用マックとの接続はUSBだろ〜」というツッコミが入りましたが、当日はUSB接続はうまく行かなかったため、ラインインに接続してありますので、緑のままで正解です。いう場合にも対処できるように、USBと決めつけずにどっちでも大丈夫なようにケーブルを用意ししておくのも現場仕事では大切ですね。こんなものが出来ました。X用のコマンドラインtoolですが、現在見ているUstreamの番組のViewer数をログに書き出せるようになります。自分でClientのRTMPコネクションを張るのも面倒だったので、tcpdumpと同じくpcapを使ってパケットを横取りして覗いているのでroot権限が必要です。log.txt等のようにしてお使いください。コマンドラインツールの使い方も分からんという質問にはお答えできませんので悪しからず。Xでしかコンパイルもしていませんが、たぶんLinuxやCygwinでもコンパイル出来るんじゃないかと思います。コンパイルできるハズ...(さくらインターネットのFreeBSDではこれでMakeできました、root権限無いしUstも見られないので動かしても意味無いですが...)ソースプログラミングには、こちらを参考にさせてもらいました。http://www.tcpdump.org/pcap.htmなんだかFlashのViewer数と20くらいの誤差があるようなんですが、なぜかは不明です。同じデータ見てるはずなんですけど、なんか拡張ルールがあるのかもしれません。viewersとかのストリングを見つけて、その後のdoubleらしき領域を読んでるだけなので、それ以上のルールがあるかどうかは不明なんで対処のしようがありません。【追記】あまりにも雑な判定だったので、だいぶとんでもない値を表示したりする事があったり、データが取得できなかったりしたのを多少改善しました。(まだまだ真面目にはやってませんが...)それとExcelとかで後処理もしやすいように、tab区切りにして日付の表記も直しました。BSDライセンス条項もソースに追加しましたのでライセンス書いてないって記述を削除。【追記2】どうもstdoutのflushがうまくできてなかったんですが、なんとか直せたようです。FreeBSDでコンパイルチェックもしてみたので、それについての記述を追加。【追記3@2010.9.19】有線LANでしかチェックしてなかったので、無線LAN接続時にen1を指定できなくて困りました。en1と言う風にパラメータで監視インターフェースを指定できるようにしました。あと、Usageもプリントするように整備しました。DATAのわけあり品セールで4,980円と安かったので、LCD-USB7XBを導入。800x480でTLの表示用にバッチリ。解像度が高めなので、私のお目目には辛かったかもしれない。Ustの放送モニタとかにも使えるはずなので、そういう使い方でも便利なんじゃないかと思ってます。ちなみに、色が変に写ってますが、実物はここまで酷くないです。カメラでこう言うものをちゃんと撮るのは難しいみたいですね。(1)はんだづけカフェ特別メンバーになりました先日の「はんだづけカフェ」のオープニングイベントに参加して、プレゼンをしてきたので、特別会員にしていただきました。partsをデザインに貼れないようなので、とりあえず記事にして貼っておきます。う〜む、どうしてなのかなぁ??ちょっと不吉な13番ですが、今後も悪魔のささやきをすべく頑張って行こうと思います。Screenにしか表示できないという弱点がありました。このせいで例えばKeynoteを編集して表示しようとかっていう時に、どうしても編集中の画面が見えちゃうっていうような問題があったわけです。実験してみたところ、これを回避する方法が見つかったので、Blogにまとめておく事にしました。モニタを変えるにしたがって、そちらに移動するということになっているようです。Xであれば、TweetBubblesを起動する時だけセカンドスクリーンをメインスクリーン(システム環境設定のディスプレイの調整タブでメニューバーを移動してやればOK)にして、TweetBubblesが起動し終わったら元に戻してやれば良いだけです。モニタとして使用する」にチェックを入れて適用ボタンを押せばOKです。(金)iPhoneのマイク入力コネクタ前回の他のマシンのプレゼン画面を放送したいという目標は達成できたので、次は軽装で済ませたい時にiPhoneからUStream中継をしたりするのに問題となる音声の収録です。プレゼン画面と講演者が入る程度のちょうど良い画角の場所に陣取ると、どうしても音声が遠くなってレベルが低くなってしまいがちです。見る時にヘッドホンをつけてボリューム最大で聞かないといけないってなことになっちゃって困るんですよね。いうことで、ヘッドホンの4極端子に外部マイクつけられないかなぁってのが今回のお題です。30pinコネクタにもラインインがあるというウワサもありますが、充電もしながらじゃないと長時間の収録/放送に堪えないので、30pinコネクタでやるには結構配線数も多くなって嫌なんですよねぇ。前に作ったiPod用コネクタ基板もこの目的には使えませんし、何かと自作の30pinコネクタはトラブルをはらみがちで懲りてるってのもあるので、ヘッドホン端子の方に挑戦です。手持ちの4極コネクタとiPhoneの付属のヘッドホンを使ってあたりをつけてみると、どうやら先からヘッドホンのL,R,GND,Micとなっているっぽいです。マイク端子には1.5V程度のバイアスがかかっているようです。そのままGNDとマイクの端子を2pinの3.5φジャックに繋ぐような変換コネクタを作ってみました。PC用のコンデンサマイクを繋いで実験してみると音が出ない/めっちゃ遠い状態で全然ダメです。あいたたた、入力インピーダンスがすごく低いのか、マイクアンプがヘッドホン側に入ってるんですねぇ。ことで、実際に付属ヘッドホンを1.5Vの電源に10kΩでプルアップして波形を見てみると100mVp-pも出て来ます。ことで、途中にマイクアンプ入れないとダメって事が分かりましたので、基板作んなくっちゃ〜、ってことで今日はオシマイ。ちなみに、ライン入力をプリアンプでググッとボリューム絞って入れてみたらちゃんとボイスメモで録音できました〜。レベル調整やライン入力も入れられる基板作るかなぁ。言うのだと欲しいって人も出てきますかねぇ?集まるんならちゃんとパターン起こして基板屋さんに頼みますが...【2010.5.14追記】マイクアンプを作って再挑戦してみました。Broadcasterがヘッドホン端子のマイク入力を使ってくれません。ことで、この計画はダメっぽいですわぁ。さんの「特定の人からメールが着信するとスカイプからケータイに電話かけてくれる機能欲しい。」というtwittを見て、ちょっと作ってみました。MacならAppleScriptで簡単に実装できんじゃない?と思って調べてみたら、次の1行で済んじゃいました。"SkypeCall"echo123のところを目的の電話番号(日本なら+81で始めて最初の0は削除した番号列)に変更すればOKです。Editorでスクリプトとして保存して、Mail.appなりでフィルタに特定のメールアドレスでAppleScriptが起動するようにルールを設定すれば良いだけですね。それだと確かに電話は掛かってくるんですが、無言のイタズラ電話状態なので、なんか寂しいですよねぇ。ことで、ちゃんと繋がったのを確認して、特定の音声ファイルを再生するようにしてみました。Editorにペーストしてコンパイルしてからゆっくり眺めてください。echo123は適宜電話番号に置き換えてください。/path/to/soundfile.wavを再生する音声ファイルにして、その音声ファイルの長さに合わせてdelayコマンドのパラメータの30秒の部分を修正してください。sample/sec、16bitのWavファイルだけしか受け付けてくれないようです。nameパラメータは何でも良いんですが、スクリプト内で一貫させておいてください。あと、最初に実行した時にSkypeの方でコマンドを受け付けても良いか聞かれるので、許可してあげてください。ニーズがあるのかどうか分かりませんけど、せっかく作ったんで公開しておきます。Skypeのスクリプトも色んな事出来そうなのが分かったので、今後もなんか作るかもしれませんし、興味を持って調べて何かもっと使い手のあるものでも作ってもらえると嬉しいかなと思います。ProducerがPro版とFree版が出て不安定なFlash君無しで中継が出来るのは嬉しいところです。11月からTMUGのUStream録画(中継は回線が不安なので、ブツ切れしないように録画にしている)をやっていて、色々と改善したい点があったりするわけですが、その一つがプレゼン画面をカメラで写さないで、直接スクリーンキャプチャから持ってこれないか?ってところでした。Pictureで表示できるわけで、とってもリッチで嬉しいわけです。Pro版を買うほどの事もないので、まずはFree版での実験をして無事成功したので、手順を公開します。Presenterというソフトが別に立ち上がります。Producer.appのパッケージを開くと、Contents/Resourcesの中に入っています。ProducerとはTCP/IPの7272番ポートで接続するような仕様みたいです。netstatで見てやると*.7272でLISTENしています。fowardをかけてみたところバッチリ繋がりました。forwardすることに変更しました。これでもtcp的な見た目は同じ事なので無事繋がります。細かい手順を説明して行きましょう。Producerも何も立ち上げない状態から始めます。放送側のMacにリモートログイン出来るように設定します。システム環境設定の共有でリモートログインのチェックをオンにしてやります。次に、放送側とプレゼン側の2台のMacのIPアドレスのうち同じネットワークにあるIPアドレスを調べます。両者が無線LANの同じ基地局で繋がっているのであれば、無線LANのポートに付いているアドレスですね。放送側のアドレスだけで大丈夫です。プレゼン側は繋がらないなどの現象があった場合にトラブルシューティングとして調べればOKです。システム環境設定のネットワークを選んでEthernetならば左のリストからEtherを選べばアドレスも表示されますが、AirMacの場合は詳細...ボタンを押して更にTCP/IPタブを選んでください。この例の場合は192.168.10.125になります。次はプレゼン側に移ります。アプリケーションフォルダのユーティリティフォルダに入っているTerminalを立ち上げます。ここに以下のようなコマンドを打ちます。test@192.168.10.125ここで、testの部分は放送側のMacにログイン出来るログイン名に適宜置き換えてください。すると、こんな風にPasswordを要求してきますので、放送側のMacのログインパスワードを入力します。この時にキーインしても何も表示されませんので、確実に一気に入力してください。間違えた場合は再度パスワードを要求されます。パスワードの前にAuthenticationがどうのこうのと言ってくる場合もあるかもしれませんが、その場合にはyesと入力してください。Presenter.appをプレゼン側のMacにコピーして立ち上げます。プレゼン側のMacのIPアドレスがこの場合は192.168.10.12になっています。Producerを立ち上げます。Shotを選ぶと下にScreencastの選択肢が出てくるはずです。その画面はプレゼン側のMacの画面になっているはずです。Producerの使いこなしの話しになってしまうので、それは他の方にお任せしま〜す。ちなみに、こうやって一度設定してあげると、sshのコネクションを切っても再接続すれば大丈夫です。いうことで、プレゼンする人が変わる時には、再度そちらのマシンからsshコマンドを打ってあげれば良い事になります。元のプレゼンターからの接続は先に切っておかないといけませんので、前のプレゼンが終わったら固まっているように見えるTerminalでCtrlキーを押しながらcのキーを押します。それでプロンプトが戻ってくるはずですので、切断に成功した事になります。<2010.2.5追記>Windowsでのプレゼンも放送できた方が嬉しいと思うので、Windowsからもやってみました。-Rでの接続(sshはCygwinで入れました)で無事放送できました。forward用のソフトはあったと思うので、Cygwinにsshをインストールしてない場合もそう言ったソフトを入れれば良いんじゃないでしょうか。Producer\rsrc\に入ってました。(月)初見の方に今日(2010/1/31)は初めてお会いする人も多かったので、私のブログも初めてと言う方も多いかなぁということで、見所を並べておきます。最近の作品ですが、Twitterをレシートプリンターにダラダラ出しちゃうってもんです。21世紀メディアを紙テープ風1970年SFテレビ番組テイストで読めるギャップが楽しい。その後タイムラインプリンターとして商品化されています。業務用機器という位置づけなので売価は5万円+消費税です。販売元は株式会社ヒマナイヌ川井さんです。去年の3月に買った電動の原付関連の話題。実機の写真は一番下です。書いてませんが実はLiPoバッテリで動かす改造なんかも実施済です。インバータを開けたら若干ヤバい事が解って自粛中。ラジコン用の18.5V2200mAhのバッテリ3本で3.5km走りました。自作インバータ化も鋭意計画中です。載せてないんですが、昔お手伝いさせてもらったワーキングモックアップです。他にもコレとかコレとかも中身を作るお手伝いをさせてもらいました。今日の豚組でも終了後に披露させてもらった小型のスピーカーとアンプのセットです。熱を持たないし、図体の割に良い音鳴らします。なんか反響が大きかったので、こちらにもリンクしておきます。1でのプレゼン資料です。