tag:blogger.com,1999:blog-43454549530312141642024-03-14T17:29:37.998+09:00空飛ぶエンジニアの実験室家の設備を外から制御できる仕組みを作っています。
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.comBlogger195125tag:blogger.com,1999:blog-4345454953031214164.post-90688248561108080662016-08-16T20:44:00.000+09:002016-08-22T14:34:54.322+09:00PHILIPS Hueを67個制御してみた<br />
暫く更新をサボってしまいました。<br />
<br />
今回機会に恵まれて、会社のFabLabを開設するプロジェクトに参加して照明システムを作ってみました。フロア全体の設計はNOIZ ARCHITECTSさんにお願いしています。<br />
<br />
約400平米のフロア全体にPHILIPS Hueを67個(うち2個はHue light ribbon 6m)入れて、Hue Bridge2台をRaspberryPiにいれたnode.jsでWebアプリを立てて制御するシステムを組んでいます。<br />
<br />
<br />
GUIはこんな感じで、右半分で制御対象のランプを矩形、もしくは領域選択ボタンで指定して左側のColorPickerで色と明るさを指定するというものです。<br />
ColorPickerの下のボタンは色を登録しておくボタン、SCENE SELECTボタンは全体の状態を登録しておくボタンです。<br />
<br />
<img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmHDUzwLQo1rMuz3o9qMhKavYlBD7GOwRpGxRTXjq97qf9rc_3PST6c9yy-6NyVO2b24ZwGhqKb91kHHaGd27PRzD_yAXZF2nqTG0Qw7vKcglJLQZQi1tVKdamp2OU6Psaj9k2J9tPei1M/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-08-22+14.34.13.png" width="400" /><br />
<br />
<br />
こちらは管理者向け画面で、SCAN LIGHTSでlinkされてないHue lampを探して左側にオレンジの丸で表示し、それをDragすると実物のランプが赤くフラッシュし続けるので右画面のマップ上の位置にDropするとその位置に登録します。67個を如何に手を抜いて設置&設定をするかを考えた末のUIです。<br />
マップ上のランプの色の違いはつながっているBridgeの違いを表しています。<br />
<br />
<img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjncFWZjQNht5UUkLjor0El6uL4j-haDYW02Jl-pM3qFgLAki4sk4EKM041w9Kv0RTaiF-5tOy0_pJ20u6eXMNl89xzXGSy3Ybfw6auxidLC3V5uBGTtNi9bsqV9dssdd5nhwnkcZ4-I_Qo/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-08-16+10.41.07.png" width="400" /><br />
<br />
Hueのスターターキット(第2世代 Bridgeが四角のHomeKit対応のもの)を2セット借用して自宅で色々APIを叩いてなんとかなるだろうと高をくくっていたのですが、67個を制御しようとするとそう簡単ではなく色々とうまくいかないところが出てきてスケジュールぎりぎりにようやく動かすことが出来ました。<br />
Googleで検索しても数個を制御している例しか見つからないので、引っかかったポイントを記しておきます。<br />
<br />
1.一度Hueのランプを1つのHue Bridgeとペアリングさせると、Delete ligthsで登録を削除しても他のHue Bridgeとペアリング出来ないことがある。(出来ることもあったので条件が何かあるのかもしれません。)<br />
<br />
やってみたこと<br />
・Hue Bridgeを2台使用して1台目のBridgeとペアリングして制御できる状態のランプをDelete lightsして、2台目のBridgeでSearch new lightsでbodyを空の状態で検索<br />
-> なにも見つからない<br />
・同じく2台目のBridgeでSearch new lightsでbodyにランプのシリアルNoを指定して検索<br />
-> ランプが点滅して繋がったように見えるが、検索結果には何も見つからない<br />
ただ、不思議な事に1つのランプだけは他のBridgeに移動することが出来た<br />
スターターキットはBridgeとランプ3個が既にペアリングされた状態になっているので、結果的に片方のBridgeには4個がペアリングされた状態になり、もう片方には2個がペアリングされた状態になってしまいました。時間切れでこの件はこれ以上追っていません。<br />
<br />
2.HueのランプはAPIからはUniqueIDやBridgeに登録されているLightの番号は引けるけど、Search new lightsではランプの側面に書かれているシリアル番号が必要になる可能性があるため取り付け前にシリアル番号を控えておく必要がある。<br />
今回は、ランプが全て設置された状態からセットアップだったので全て外して確認するのは大変だと思ったのですが、Search new lightsでbodyが空でも全てのランプが検索できたので外さずに済みました。<br />
<br />
3.数が多いので制御対象を都度group登録してstateを変更して制御しようとしたけど、連続してAPIを叩くと色々とエラーになって指定してないランプの色まで変わってしまったり、ところどころ色が変わらなかったりする。特にon/offの制御を取りこぼすと1つだけ点いていたりして目立つのでちょっとNGかな。<br />
-> 結局、groupでの制御はやめて、set light stateで個別制御を制御対象全てのランプに投げてエラーが返ってきたものについてはretryを3回ほど投げる仕様にして、その後2秒間GUIの制御が無い場合は全ランプの最終stateの状態を2度投げることでリカバリーすることにした。これはSuccessが返ってきているにもかかわらず、Stateが正しくないランプがあったので念の為にこうしている。<br />
<br />
色々と書きましたが、色の均一性とか表現範囲はHueが一番かと思います。これだけ並べて色が均一に出ているのが素晴らしいです。<br />
<br />
<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-5157428277552712352016-04-27T00:17:00.000+09:002016-04-27T00:17:53.692+09:00RaspberryPi 3 Model BRaspberryPi 3 Model Bをようやく入手しました。<br />
これまでRaspberryPi 2 Model Bを使用していたうちのシステムに入れ替えたところ早速トラブりました。<br />
まず、XBee制御に使用していた/dev/ttyAMA0はWiFi/BT用に使用されるとのことで、40pinのコネクタに出ているUARTは/dev/ttyS0に変更されています。<br />
BCM2835の仕様書とGPIOのPinMuxの設定値を調べてみると、なかなか微妙な仕様になっていました。<br />
<br />
RaspberryPi 2の場合<br />
40pinコネクタの8,910,11,36はTXD0,RXD0,RTS0,CTS0で/dev/ttyAMA0にアサインされていて、UARTのIPはARM PrimeCell PL011です。<br />
RaspberryPi 3の場合<br />
40pinコネクタはTXD1,RXD1,RTS1,CTS1で/dev/ttyS0にアサインされてIPは16550 UART下位互換のMiniUARTになっています。<br />
これは対応ボーレートが476bps~31.25Mbpsになっていますが、一般的な115200とかのボーレートの場合誤差がそれなりにありそうです。(ちゃんと計算してませんが)<br />
<br />
それでもまぁ大丈夫だろうと取り敢えず試してみようと繋いでみましたが、最初動作しているのに暫くすると動かなくなる現象が発生しました。<br />
通信路を見ていると途中から周波数が変化している現象が発生しています。<br />
ネットで色々調べてみると、CPUのcore clockがIPのCLKになっているようで、現状のraspbianではCPU周波数が変動するとMiniUARTのクロックも一緒に変動してしまうようで使い物になりません。<br />
これは対策として/boot/config.txtにcore_freq=250を追加することで対応できるようです。<br />
そのうちクロックソースを固定のものから供給する設定になる気がしますがいまのところこの対策しかないようです。<br />
<br />
もう1つRaspberryPi3で発生した問題が、PWR-LEDの問題です。<br />
/sys/class/leds/led1が消えていたのでPWR LEDが消せなくなってしまいました。<br />
どうもPWR-LEDの制御がメインCPUのGPIOから他の所のGPIOに移動したようで、直接制御できなくなってしまったようです。<br />
そのうち、対応策が出てくることを期待して取り敢えず置いておきます。<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-76306788468516254922016-04-01T23:51:00.001+09:002016-04-04T23:34:07.327+09:00RP-5基板の組み立てKiCadで設計してElecrowに注文していた基板も上がってきて、部品も揃ったので組み立ててみました。<br />
<br />
ちなみに今回はFedExにしてみました。<br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/15火曜日の夜 出図</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/16水曜日 製造開始</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/22火曜日 写真付きで基板できたよとの連絡</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/23水曜日</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">17:32<span class="Apple-tab-span" style="white-space: pre;"> </span>出荷地のFedEx営業所を出発 YUEN LONG HK</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">21:50<span class="Apple-tab-span" style="white-space: pre;"> </span>FedEx経由地に到着 GUANGZHOU CN</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/24木曜日</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">03:13<span class="Apple-tab-span" style="white-space: pre;"> </span>FedEx経由地を出発 GUANGZHOU CN</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">05:06<span class="Apple-tab-span" style="white-space: pre;"> </span>輸送中/処理中 GUANGZHOU CN</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">07:32<span class="Apple-tab-span" style="white-space: pre;"> </span>仕向国仕分け場所 NARITA-SHI JP</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">11:57<span class="Apple-tab-span" style="white-space: pre;"> </span>輸送中/処理中 TOKYO-KOTO-KU JP</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">14:14<span class="Apple-tab-span" style="white-space: pre;"> </span>国際輸送許可 - 輸入 TOKYO-KOTO-KU JP</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">20:16<span class="Apple-tab-span" style="white-space: pre;"> </span>輸送中/処理中 TOKYO-KOTO-KU JP</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">3/25金曜日</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">10:02<span class="Apple-tab-span" style="white-space: pre;"> </span>FedEx 営業所 TOKYO JP</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">13:24<span class="Apple-tab-span" style="white-space: pre;"> </span>配達完了</span><br />
<div>
<br /></div>
<div>
製造開始から土日を挟んで9日間で到着しています。</div>
<div>
<br /></div>
<div>
今回はTAKACHIのケースに合わせて基板を設計しました。</div>
<div>
当然ながらピッタリと収まっています。</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-sPTtieVdHJD1pS2WUcbW0lw7I5o5xdTpTjsBPrlL8GBYq9iDBF4AuQald1aRv48italOLJnU1x39LCY7xkvc8Xj_S5dlRB-9gGDpCclbeXT4IiU47-IB6Acg8XkxJzH7k7xd0Kso6JC0/s1600/IMG_6472.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-sPTtieVdHJD1pS2WUcbW0lw7I5o5xdTpTjsBPrlL8GBYq9iDBF4AuQald1aRv48italOLJnU1x39LCY7xkvc8Xj_S5dlRB-9gGDpCclbeXT4IiU47-IB6Acg8XkxJzH7k7xd0Kso6JC0/s320/IMG_6472.jpg" width="320" /></a></div>
<br />
レーザーカッターで1.5mm乳白色半透明のアクリル板を切り出して赤外線LEDと受光部の窓を作っています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIzi6aBs5v1aJqx6we1TMYa54PHjNepQyIR0-g3XPU4XmgZ5sozP9Oz5yCjSk696wSLimVB7JInhszmF1hmZgn-nvipgdStpWJlb9soX7ydXU_ms0WnpiA4ojWPUUiLpH0pdGoJnmHptZ/s1600/IMG_6475.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIzi6aBs5v1aJqx6we1TMYa54PHjNepQyIR0-g3XPU4XmgZ5sozP9Oz5yCjSk696wSLimVB7JInhszmF1hmZgn-nvipgdStpWJlb9soX7ydXU_ms0WnpiA4ojWPUUiLpH0pdGoJnmHptZ/s320/IMG_6475.jpg" width="320" /></a></div>
<br />
後ろ側も同じ板で電源とUSB、Etherの口をRaspberryPi 2 Model-Bの穴位置に合わせて加工しています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44I170jGWeK-4kHTYBrqH8ipoHPM0k9kyXK-tdB2w1z-fHUNfPap2ZFxETnoroN-A7JRPh8kjXF7BX5wdWdB6QAGb3glSuOgzP6CQqLhV8bzPrPVGEuWMEh0YqoreEdN1SxgjhcfcasXY/s1600/IMG_6476.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44I170jGWeK-4kHTYBrqH8ipoHPM0k9kyXK-tdB2w1z-fHUNfPap2ZFxETnoroN-A7JRPh8kjXF7BX5wdWdB6QAGb3glSuOgzP6CQqLhV8bzPrPVGEuWMEh0YqoreEdN1SxgjhcfcasXY/s320/IMG_6476.jpg" width="320" /></a></div>
<div>
本当は段差が無いようにできればいいのですが、素人の加工としてはこのくらいが限度でしょうか。</div>
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-74461943629379553502016-03-24T20:00:00.000+09:002016-03-24T20:00:26.498+09:00HomeServerのinstallGitHubにRaspberryPi 2 Model Bを使ったSiri対応の学習リモコンのコードを<a href="https://github.com/mnakada/ha1control">公開</a>しました。<br />
RaspberryPi Model A+/B+でも動くと思います。RaspberryPi 3に関しては確認できたら報告します。<br />
<br />
■このソフトで現時点で出来ること<br />
・赤外線リモコン、HA端子(JEM-A端子)、弱電スイッチなどの制御<br />
・赤外線リモコン信号、HA端子、弱電スイッチ、各種センサーなどのステータス情報取得<br />
<br />
- telnet(socket)経由での上記制御と情報取得(human-readble IF, JSON IF)<br />
- HomeKit対応アプリからの上記制御と情報取得(HAP-nodeJS経由)<br />
AppleTV(3rd generation以降)を経由して外出先からの上記制御と情報取得<br />
iPhoneのsiriによる上記制御と情報取得<br />
※ ただしAppleがHomeKitの認証を強化すると動かなくなる可能性あり<br />
- javascript(node.js)での制御<br />
センサー等の変化や30sec intervalのイベントでjavascriptの関数が呼び出されるので条件を設定して制御することが可能<br />
日没にあわせてシャッターを閉める、あかりをつける<br />
玄関のロックが5分間開いていたらメールする<br />
雨が降ってきたら窓を閉める<br />
室温に応じて起床前にエアコンをつける<br />
窓を開けたらエアコン停止<br />
etc<br />
<br />
■今後追加していきたい機能(余裕があれば)<br />
- リモコンの学習、各種設定のWebUI化<br />
- javascriptでの制御部分のVisualPrograming化<br />
<br />
■下のブレッドボード用回路の機能<br />
- 赤外線リモコン送信・受信<br />
<br />
■RP-5基板の機能<br />
- 赤外線リモコン送信・受信<br />
- ZigBee(XBee)経由でのリモート子機(HA-5)制御<br />
- HA-5子機の故障診断とファームウェアアップデート、ペアリング<br />
<br />
■HA-5基板の機能<br />
- 赤外線リモコン送信・受信<br />
- HA端子(JEM-A端子)での家電制御、ステータス確認<br />
- 弱電(24V以下)のスイッチ制御・ステータス確認(電動シャッターなどのスイッチ)<br />
- 各種センサー情報の取得(温度、湿度、雨、人感、etc)<br />
<br />
<br />
ブレッドボード用回路は以下のとおりです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_kHS4S6aODygEfTghxkLjO0G2BpWneriobs55x4PXb8yWWfdW6iSKdNmFMwkvpZsvtGTcf4kjWyw9S_mB-lKRYw_SWdlOa3mFw9qM3Fv8jSUjH7VTv7YFPhOx3Ci0esirgvAGJcd5_s55/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-24+18.25.16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_kHS4S6aODygEfTghxkLjO0G2BpWneriobs55x4PXb8yWWfdW6iSKdNmFMwkvpZsvtGTcf4kjWyw9S_mB-lKRYw_SWdlOa3mFw9qM3Fv8jSUjH7VTv7YFPhOx3Ci0esirgvAGJcd5_s55/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-24+18.25.16.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
リモコン学習時のブザー音とリモコン発光時の発光音が不要なら真ん中のブザー音出力ブロックは不要です。<br />
<br />
LED101/102はリモコン用の940nmあたりの波長の赤外線LEDなら大体動くと思います。<br />
ちゃんと赤外線LEDが発光しているかどうかはデジカメ等で見ながら発光させると確認できます。<br />
ただし、iPhoneはカメラに赤外線フィルターが入っているようで見えませんでした。<br />
<br />
赤外線受光モジュールは電源が逆になっているデバイスもあるので他のものを使う場合は気をつけて下さい。<br />
<br />
FETもNchで耐圧がOKなら動くかと思います。こちらもピン配置を確認して使って下さい。<br />
<br />
installの大まかな手順を書いておきます。<br />
詳細手順は<a href="https://github.com/mnakada/ha1control">こちらのREADME.md</a>を御覧ください。(下の方です)<br />
<span style="color: red;">※scriptからダウンロードするので、gitをcloneする必要はありません。</span><br />
<br />
1.最新版のRASPBIAN JESSIE LITEをダウンロードしてSDカードに書き込みます。<br />
2.SDカードをRaspberryPiにセットしてNetworkを接続し起動後loginします。<br />
3.setup scriptを実行する<br />
> curl -O https://raw.githubusercontent.com/mnakada/ha1control/master/setup.sh<br />
> sudo bash setup.sh<br />
4.piのアカウントpasswordを変更する<br />
5.reboot<br />
6.HomeKit対応アプリをiPhoneにinstall<br />
7.対応アプリでHA1HomeServerを登録<br />
<br />
国内のエアコン等も大抵のものは動くかと思います。<br />
Daikin/Panasonic/三菱重工は確認しました。<br />
<br />
AppleTVの第3世代以降があってiCloudの設定をしてあれば外出先からもアクセス出来ます。<br />
ただし、AppleTVの自動updateをonにしているとupdate後自動起動してくれるのですが、iCloudのloginを一度解除してからもう一度loginし直さないとアクセスできなくなってしまいます。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-35948767697245572002016-03-19T00:02:00.000+09:002016-03-19T00:02:35.243+09:00RP-5基板最近XBeeの新型のS2Cが出たり、ATmega328も昨年からATmega328pbが出ていてRaspberryPi3も出るし、Kicadも最新版をbuildしたので、回路を見なおして基板を起こし直すことにしました。<br />
これまで親機の方はアクリル板をレーザーカッターで切り抜いてケースを作っていましたが、曲げ加工とか手間がかかるのでTAKACHIの<a href="http://www.takachi-el.co.jp/data/a_newproduct/images/201409_03.pdf">PF-15-3-10W</a>を使ってみることにしました。<br />
赤外線を通す必要があるので、このケースの前後のパネル部分の代わりに乳白色の半透明アクリル板をレーザーカッターで加工して使ってみます。<br />
赤外線LEDや受光部、RaspberryPiの各種コネクタの位置をパネルの範囲に入るように配置しながら高さ方向の適当な位置を考えていきます。<br />
下の図の赤い線で書かれているのがRP-5基板とRaspberryPiの位置になります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidliLorkR7jQKxblwIAHP8Zx8vOPR93X-q7m2LGIw4FAsICTKnG9wMYi7FDedxi1spN90SsxZ0vLIqciWatm_eDUS-BxRC6hL3PIgidEcw2-urL8ttc-PBuRlkwlbFbpL6O-UY8BOnPBP1/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidliLorkR7jQKxblwIAHP8Zx8vOPR93X-q7m2LGIw4FAsICTKnG9wMYi7FDedxi1spN90SsxZ0vLIqciWatm_eDUS-BxRC6hL3PIgidEcw2-urL8ttc-PBuRlkwlbFbpL6O-UY8BOnPBP1/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.30.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
最初は基板固定用のM2.3用ボスで基板を固定することを考えたのですが、この高さで固定するとRaspberryPiのコネクタがパネルの高さ内に収まらないため3mm程度スペーサーで嵩上げする必要があります。<br />
そこで、ケースの固定用の支柱部分に基板をいれて上側に適当なクッションを入れることでちょうどいい高さに収まらないかと考えています。<br />
<br />
基板の回路はこれまでとほとんど変わってませんが、RaspberryPiと接続してIRリモコンの学習用の受光部と発光部、子機との通信用のXBeeと将来置き換えていけるようにESP8266用の回路を入れています。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibEv5nDZjRSPn_kLfV_-RVuTtBVh9ycrk6NdZXp8eAB8t0xMvyCOJc5xOwvrGwZI6WK85_sn6TCB2Hkhc4qKPNpnodHPv-RgO_ygWmbuw_7Z3dnHc93fUyfQXkZ-Ci1e2k7q3Wk0FO_ADS/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibEv5nDZjRSPn_kLfV_-RVuTtBVh9ycrk6NdZXp8eAB8t0xMvyCOJc5xOwvrGwZI6WK85_sn6TCB2Hkhc4qKPNpnodHPv-RgO_ygWmbuw_7Z3dnHc93fUyfQXkZ-Ci1e2k7q3Wk0FO_ADS/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.43.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
RaspberryPiと接続して使う場合は下の回路だけ部品をのせることで親機としての機能になります。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZF0UQOpkBZsT8EF0CURAuw7P0pr1Dfgd0nLSXdsgFxOXrb4XxBVFgrBBbDNpMIIPlCePAgyFhIa0WwZIS8H6phU0d1W_0DVgGJwzJPK05c_GEG2BTagdOgWksT-UF6gUnsNWKmiBOzQBC/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZF0UQOpkBZsT8EF0CURAuw7P0pr1Dfgd0nLSXdsgFxOXrb4XxBVFgrBBbDNpMIIPlCePAgyFhIa0WwZIS8H6phU0d1W_0DVgGJwzJPK05c_GEG2BTagdOgWksT-UF6gUnsNWKmiBOzQBC/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.56.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bee経由で子機として使う場合はATmega328pbでリモコン機能を中継する形になります。</div>
<div class="separator" style="clear: both; text-align: left;">
回路はシンプルで電源とマイコン、XBee、赤外線受発光部だけになります。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ocSKifbb7dxY-7FNvlNN4kOCrWvzVm0ZHaB089jaPqMfiBrV4ndxjECan9e8zaag7LSVtIzz1QsLOg-ixffmLC8kVQbf0p0Mo8YEzbhvvO1kql6k7z0_volfXTUn5yESuPsYwNnqIM3G/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.45.04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ocSKifbb7dxY-7FNvlNN4kOCrWvzVm0ZHaB089jaPqMfiBrV4ndxjECan9e8zaag7LSVtIzz1QsLOg-ixffmLC8kVQbf0p0Mo8YEzbhvvO1kql6k7z0_volfXTUn5yESuPsYwNnqIM3G/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.45.04.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
この回路を丁度ケースに入るような形で設計したのが下の基板です。</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1_GO1hketLRUXzx-JFCd1h7en4qPU4MsZehNvN4xaRO4J2qJPRZm4lleEi4-dnPsFt-zMPO2FRf-P2xuIp1_ZyjnHVvqhjoQ8Z9SA33dMxOpLbPNNrFsE42fp7TfNSUv15sAijNt2ZHLV/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1_GO1hketLRUXzx-JFCd1h7en4qPU4MsZehNvN4xaRO4J2qJPRZm4lleEi4-dnPsFt-zMPO2FRf-P2xuIp1_ZyjnHVvqhjoQ8Z9SA33dMxOpLbPNNrFsE42fp7TfNSUv15sAijNt2ZHLV/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-03-18+23.44.16.png" width="400" /></a><br />
<br />
それほど面積は要らないのですが、ケースに固定する部分の関係で10x15cmに入る位の大きさになってしまいました。<br />
もう1つのFriskサイズの子機基板と一緒にElecrowに発注しました。<br />
今月末くらいに届く予定です。<br />
<br />
もう1枚の基板については次回書きます。<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-79190652691482346632016-03-05T22:22:00.001+09:002016-03-05T22:22:49.089+09:00玄関の電気錠の修理うちの玄関はユーシン・ショウワの電気錠なのですが、最近冬場になると鍵を掛けてもステータスが解錠状態のままになっている現象が発生するようになってきてしまいました。<br />
<br />
この現象何が困るのかというと、うっかり解錠状態だと思って施錠ボタンを押してしまうと施錠状態なのにさらに施錠しようとしてretryを繰り返し盛大に施錠音が繰り返され、さらにダメ押しに施錠できなかったことを知らせる電子音が鳴り響きます。<br />
子供が寝てる時にうっかりやると確実に起こしてしまうことになります。<br />
<br />
最近発生頻度が高くなってきたので、修理見積もりをお願いしたのですが、部品代2万円、工賃1万円の合計3万円だそうです。どうもよくある故障らしいです。<br />
最悪3万円で修理できる事が判ったので、自分で分解修理してみて出来なければ依頼することにしました。<br />
<br />
まず、玄関ドアから電気錠のユニットを取り外します。<br />
ユーシン・ショウワ製のN-EPPX-51という製品です。<br />
<br />
<img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh4QPqgJHkqmbRTrvFHRLs63Bz3A_EcCpffY66EdrIjf7cJ1jlQCHNAyOYrvqKjBvmuUD20L_9FbacSbFzmcToFFrc1u4E2gFo_dqmYHJlyApVq2Ow6V11CtoC7qow4vVl1Qtbv-zeUJmb/s400/IMG_5897.jpg" width="300" /><br />
<br />
シールの下もふくめて4本のネジを外して表の金属板を外します。<br />
開けてみるとモーターでギアを回してユニット内のデッドボルトの出し入れをしているのと同時に、右側の白いラックを上下させてドアのダブルロックのもう一方側を制御する仕組みです。<br />
<br />
<img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd6qtFGWkrBMCLZqD_1NyVGZEah7OVUry9feGzBVkgXgZjFnpXWZHW0Us5fbxRqn7ggGogrFlUhl8wUUSYONKrib-IOVTpObsjD0cUWbIsIvuV9uApCV6EfR0gNeRrYqeF0qk4jYS3oZWI/s400/IMG_6232.jpg" width="300" /><br />
<br />
ラックの内側にある金属のプレートが上下することで上下に付いているマイクロスイッチを押して施錠、解錠の状態を見ているようです。<br />
<br />
<img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7oGA4sNfUEskjv597iPK9yRn89dbGbVBOIUojf2k60XfoKyOs0Be3kwQWArL9LOzVxJ7XprmYo8-Z1amF8P4Z-tmVjjGDn-mcVw2bToln9NC_giKvmTxFEv8HZRdo2A8JzNyxFYNvsfhyphenhyphen/s400/IMG_6229.jpg" width="300" /><br />
マイクロスイッチの不良か、半田クラックかと見当をつけて基板を取り出して見てみました。<br />
マイクロスイッチ自体はテスターで見てみると問題ありません。<br />
そしてハンダ部分をよく見るとクラックが発生していました。<br />
構造的な問題かと思います。(基板の写真撮り忘れてしまいました)<br />
施錠、開場時にスイッチを押す金属プレートは結構な勢いでマイクロスイッチにぶつかっています。<br />
このマイクロスイッチは力がかかるところなのに3本の脚をハンダ付けして留めてるだけでネジなどで固定されていません。施錠、解錠を繰り返すうちに半田にクラックが発生するのも当然かと思います。<br />
本来なら下面の金属に対して上面からネジ止めするべきなのでしょうが、加工が大変なので基板側からタッピングビスでマイクロスイッチを固定しておきます。<br />
バラす時にギアとラックの位置関係が判るようにマジック等で印を付けてから外していかないと後で苦労します。<br />
<br />
<img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvMGCKRvOr0B2dPVw_XPrYGA-3YHgIfIoHi39Nto5YLFEWk8auyB_K-KK-jeXhce18G5xXBOrKY7eGB47Yn0yVKnacK09qcJ3JQPlEbhRHvjS6F2cLJjYyfrjhpOKBEsUuaT_2ksrg3uZw/s400/IMG_6237.jpg" width="400" /><br />
うっかり印を付け忘れたため、最適な位置にするために何度も組みバラしすることになってしまいました。<br />
最終的に、バラした手順で仮組みし、コネクタを接続して正常に動くことを確認後取り付けて完了です。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-13907723995043074282016-03-01T23:21:00.003+09:002016-03-11T12:53:06.248+09:00KiCad 4.0.2 bzr6238 for OS-X<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">OS-Xに関連するbugが今のところfixしているようなので、KiCad 4.0.2 bzr6238をbuildしたイメージを</span><a href="https://drive.google.com/open?id=0B5LhqdaY_M_BQUxNVno3OGhNYTg" style="color: #6699cc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; text-decoration: none;">ここ</a><span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">においておきます。</span><br />
<span style="background-color: white; color: red; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">(すみません。日本語fontを入れ忘れてたため更新しました。3/11)</span><br />
サイズが大きいのでGoogleドライブのウィルススキャン出来ないと警告が出ますが、そのままダウンロードを選択してください。<br />
<br />
念のためSHA1のhash値です。<br />
> openssl sha1 kicad-4.0.2_bzr6238j.dmg<br />
SHA1(kicad-4.0.2_bzr6238j.dmg)= 3b1fe687a90742ead03cb6ae08bdd15c14e8fa5c<br />
<div>
<br /></div>
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">標準のbuildとは下記の点が異なっています。</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">- TrackPad/MagicMouseの動作をMacの標準的な動作に変更しています</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">- Library/Application Support/kicad/internat/ja/のリソースを読むように修正しています</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">- fontが日本語対応になっています</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;"><span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">変更分のpatchは</span><a href="https://drive.google.com/file/d/0B5LhqdaY_M_BQjNXd0tSb0p2b2M/view?usp=sharing" style="background-color: transparent; color: #6699cc; font-family: arial, tahoma, helvetica, freesans, sans-serif; text-decoration: none;">これ</a><span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">です。</span></span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">あと、なぜかオフィシャルパッケージのkicad-4.0.1.dmgからinternat以下の各国語リソースが抜けてるので、追加してあります。</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">Bazaarのツリーの方はbzr6225に4.0.2のTagが打たれていますが、公式パッケージは4.0.1が最新のようです。</span><br />
<br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">イメージをダウンロードして開くとkicadアプリケーションとkicadディレクトリがあります。</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">kicad.appは/Applications</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">kicadは/Library/Application\ Support</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">にそれぞれコピーします。(finderで開いた時の矢印のとおりにDrag&Dropして下さい)</span><br />
<br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" />
ライブラリをgitではなくlocalで持ちたい場合はKiCad extrasも<a href="http://kicad-pcb.org/download/osx/">ここ</a>からダウンロードして展開、modulesとfp-lib-tableをREADME.txtの通りisntallしてください。<br />
<br />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">最初の1回めは開発元が未確認のため開けませんと言われてしまうので、/Applicationフォルダを開いてKiCadを右クリックし「開く」を選択して、ダイアログボックスの「開く」を選択すると起動します。</span><br />
<br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" />
<span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">詳細とbuildの手順はRC2.0の時に書いたので</span><a href="http://flying-engineer.blogspot.jp/2015/11/kicad40rc2.html" style="color: #6699cc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; text-decoration: none;">こちら</a><span style="background-color: white; color: #333333; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 15px;">を参照して下さい。</span>flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-9853836233284229592016-02-27T14:05:00.000+09:002016-02-27T14:05:52.554+09:00HomeBridge改めHAP-nodeJSと接続してsiriで家をコントロール その4Siriとの会話に疲れてきたので、現状のコードを整理してGitHubに上げました。<br />
とりあえずdemoModeに設定してあるので単独で動いて同じネットワーク上のiPhoneから繋がります。<br />
demoModeではコントロールサーバーにコマンドを投げる所をconsole.logの出力だけ、statusなどを受ける所をダミーデータに置き換えています。<br />
<br />
<a href="https://github.com/mnakada/HA1HomeBridge.git">https://github.com/mnakada/HA1HomeBridge.git</a><br />
<div>
<br /></div>
<br />
動作確認済み環境<br />
MacBookPro OS-X El Capitan 10.11.3<br />
RaspberryPi2 RASPBIAN JESSIE LITE kernel 4.1.17<br />
node.js v4.3.1はnodejs.orgからinstall<br />
多分v5系でも動くと思います(未確認)。<br />
<br />
iPhone側の環境は<br />
iPhone6S iOS9.3beta4<br />
(beta3以前の場合、package.sonファイルのhap-nodejsのversion指定を0.2.4にすると動くかもしれません)<br />
HomeKitアプリはElgato Eve (App Storeでhomekitで検索すると出てきます)<br />
<br />
> git clone https://github.com/mnakada/HA1HomeBridge.git<br />
<div>
で取得後、</div>
<div>
> cd HA1HomeBridge</div>
<div>
> nam install</div>
<div>
> node .</div>
<div>
でHomeKitのBridgeとして起動し、PINを表示します。</div>
<div>
あとでこのPINの画面を取り込むのでそのままにしておきます。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
iPhoneをWiFi接続にしてElgato Eveを起動</div>
<div>
-> アクセサリを追加</div>
<div>
-> 自動でホームの名前が入るので適当に修正して右上の次へ</div>
<div>
-> アクセサリを選択でHA1HomeBridgeを選択</div>
<div>
-> 真ん中のXXX-XX-XXXが囲われているところを選択</div>
<div>
-> HomeKitアクセサリを追加のDialogでこのまま追加を選択</div>
<div>
-> iPhoneのカメラで先ほどのPINの画面をキャプチャすると自動で接続してくれます。</div>
<div>
(もしPINが読み込めないようでしたら、下の方にある手動で登録から登録します)</div>
<div>
-> 部屋を選択は後で設定できるので取り敢えず次へ</div>
<div>
-> 追加済みのアクセサリで完了</div>
<div>
-> ホーム(デフォルトの部屋)を選択するとコントロール画面にたどり着きます。</div>
<div>
<br /></div>
この状態でアプリからスイッチなどをいじってnode.js側にそれらしいコマンドの表示が出ていれば正常につながっています。<br />
<br />
siriで使えるコマンドはclient.uiファイル内でsiriNameのarrayで記述されているものになります。<br />
ここのsiriNameで記述されているものがEveのコントロール画面の項目名として見えていて、siriへの指示はこの項目名に対して指示を出します。<br />
例えば<br />
「玄関の鍵を開けて・閉めて」「風呂のお湯を入れて・止めて」「南側のエアコンを一八度に設定して」「ダウンライトを点けて・消して」「リビングの湿度は?」「寝室の温度は?」<br />
などが動いています。<br />
現状、わかっている問題点は<br />
1.「南側の窓を開けて」は「100%に設定しました」と答えて動くけど「南側の窓を閉めて」も「100%に設定しました」といわれて窓が開いてしまう<br />
シャッター、ブラインドも同様<br />
2.エアコンの温度は設定できるけど、暖房、冷房のモード切替が出来ない、エアコンをoff出来ない<br />
3.「NHKをつけて」はWebの’NHKをつけて’を検索に行ってしまう<br />
と言った感じです。<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-66984936608464465242016-02-27T00:25:00.000+09:002016-02-27T00:25:14.819+09:00HomeBridge改めHAP-nodeJSと接続してsiriで家をコントロール その3コントロールサーバーの動いているRaspberryPi2の上にhomebridgeを動かして、pluginとしてコントロールサーバーと接続しようとしていたのですが、いろいろ実装していく内にhomebridgeの下のレイヤーであるHAP-nodeJSと直接繋ぎこんだ方が良さそうなことがわかってきて繋ぎ方を改めました。<br />
ところが、実装を切り替えて試してみてもEveで初期設定まではうまくいくのですが、接続されたホームの中にAccessoryが何もない状態になってしまいます。<br />
そんなこんなをしている内にHomeBridgeとの接続も同じ状態になってしまい訳がわからなくなってしまいました。<br />
2日ほどわからない状態だったのですが、色々と試している内に最初に試していたdirectoryのイメージを起動するとちゃんと繋がることに気が付きました。<br />
差分を切り分けるために実験していくとHAP-nodeJSのVersionが0.2.4以前ならちゃんと繋がることが分かりました。<br />
どうも0.2.5でHomeKitの最新のプロトコルにupdateされていたようで、自分のiPhoneがiOS9.3beta3だったため繋がらなかったようです。<br />
iOS9.3beta4にupdateして、HAP-nodeJSも0.2.5にしたら無事に繋がるようになりました。<br />
このdebugの過程でdebug情報を色々出していたのですが、何故かAppleTVとの通信をしているlogが残っていました。<br />
AppleのHomeKitのページをよく読むと、うちにある第3世代のAppleTVだとHomeKitの外からのアクセスを中継してくれるようです。<br />
AppleTVのiCloudの設定を再度し直して、LTE回線からiPhoneでEveを起動してみるとちゃんと繋がり、コントロールもできています。<br />
LTE回線経由でもsiriでのコントロールもちゃんとできました。<br />
なかなかいい感じです。<br />
<br />
siriとの会話の方は相変わらず実験中で、まだエアコンとシャッター、電動窓、TVはNHKがうまくコントロールできていません。<br />
エアコンは温度設定はできるのですが、暖房、冷房を指定することが出来ません。<br />
エアコンを切ることも出来ていません。<br />
シャッター、電動窓は開くことは出来ても閉じることが出来ません。<br />
「シャッターを開けて」で「100%に設定しました」と言われてシャッターが開きますが、「シャッターを閉めて」でも「100%に設定しました』と言われてしまいます。これはsiriのbugのような気がします。<br />
「NHKをつけて」はNHKをつけてをwebで検索されてしまいます。<br />
もう少し会話の練習が続きそうです。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-33778944010888339352016-02-19T23:36:00.000+09:002016-02-26T23:56:43.053+09:00homebridgeと接続してsiriで家をコントロール その2homebridgeを使って自宅システムをsiriでコントロール出来るようにするために色々と試しています。<br />
とりあえずざっくりとしたつなぎ込みは出来て、eveというhomekit対応のアプリで接続できるようになりました。<br />
<br />
ステータスを取得する方は結構つながってきました。<br />
<br />
「リビングの湿度は?」『34%に設定されています』ちょっと日本語が変ですが値は返ってきます。<br />
「寝室の湿度は?」『56%にせっていされています』こちらも日本語がおかしいですが値は返ってきます。<br />
「2階の温度は?」『4.7度から17.6度です』これは全ての温度デバイスの値を読み込んで範囲を回答してます。<br />
「1階の温度は?」->「外の温度は」(文字が勝手に外に置き換わる) -> 自宅周辺の天気予報から温度を答えてくる<br />
「外の気温は?」 -> 同じく自宅周辺の天気予報から回答<br />
<br />
制御の方もなんとなく動いてきてます。<br />
「リビングの床暖房をつけて」『デバイスからの応答がありません』eveからは制御できています。<br />
「ダイニングの床暖房をつけて」『デバイスからの応答がありません』こちらもeveからは制御できています。<br />
「風呂のお湯を入れて」-> OK<br />
「冷暖房の自動運転を入れて」-> OK<br />
「テレビを消して」『私には無理です』<br />
「テレビをオフして」->OK<br />
「NHKをつけて」->WebからNHKをつけてに関する情報を表示<br />
「日本テレビをつけて」『よくわかりません』<br />
「Eテレをつけて」->OK<br />
「日テレをつけて」->OK<br />
「TBSをつけて」->OK<br />
「テレビ東京をつけて」->OK<br />
「テレビ朝日をつけて」->OK<br />
「テレ朝をつけて」->OK<br />
「フジテレビをつけて」->OK<br />
「テーブル照明をつけて・消して」->OK<br />
「スポット照明をつけて・消して」->OK<br />
「間接照明をつけて・消して」->OK<br />
「ダウンライトをつけて・消して」->OK<br />
「カウンター照明をつけて・消して」->OK<br />
「南側のエアコンを18度にして」->OK<br />
「南側のエアコンを消して」『デバイスからの応答が有りませんでした』<br />
「西側のエアコンを20度にして」「西川のエアコンを20度にして」(勝手に変換される)『私には出来ません』<br />
「西川のエアコン」も登録するとOK<br />
<br />
なかなか難しいです。<br />
『デバイスからの応答が有りません』系は何かプログラムに問題がある気がするのでもう少し検討ですね。<br />
他の勝手に違う単語に置き換えられる系はその単語も登録してしまう作戦で行くことにします。<br />
もう少しSiriとの会話?戦い?は続きそうです。<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-11918113343763570372016-01-30T23:39:00.000+09:002016-02-26T23:56:25.155+09:00homebridgeと接続してsiriで家をコントロール最近homebridgeというopen sourceのHomeKitのブリッジソフトが流行っているようなので、自宅のシステムと仮接続してみました。<br />
とりあえず、まだTVのon/offだけですが動作させることが出来ました。<br />
ただ、siriがどんなコマンドを受け付けてくれてサービスをどう登録するのかがよく判りません。<br />
「テレビをonして」「テレビをoffして」は動きますが「テレビをつけて」はダメでした。<br />
放送局とかを指定したりボリュームをコントロールするには何と言えばいいんですかね?<br />
<br />
とりあえず、呼び出される関数の中でhomebridge.hap.Serviceをdumpすることで<br />
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
AccessoryInformation: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
AirQualitySensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
BatteryService: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
BridgingState: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
CarbonDioxideSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
CarbonMonoxideSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
ContactSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Door: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Fan: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
GarageDoorOpener: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
HumiditySensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
LeakSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
LightSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Lightbulb: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
LockManagement: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
LockMechanism: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
MotionSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
OccupancySensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Outlet: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
SecuritySystem: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
SmokeSensor: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
StatefulProgrammableSwitch: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
StatelessProgrammableSwitch: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Switch: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
TemperatureSensor: [Circular],</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Thermostat: { [Function] super_: [Circular] },</div>
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
Window: { [Function] super_: [Circular] },</div>
<br />
<div style="background-color: #00fbb2; font-family: 'Courier New'; font-size: 13px; line-height: normal;">
WindowCovering: { [Function] super_: [Circular] } } }</div>
<div>
といったサービスの種類があることは分かりました。</div>
<div>
現状はSwitchにTVのon/offを接続しているだけなのですが、少しずつ他のWindowとかDoorやLightあたりを掘っていってみようかと考えています。</div>
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-2987283906673991482016-01-15T22:46:00.000+09:002016-01-15T22:46:56.066+09:00バーチカルブラインドの電動化その後<a href="http://flying-engineer.blogspot.jp/2015/07/blog-post_10.html">以前電動化したバーチカルブラインド</a>ですが、やはりちょっとモーターの出力に対して負荷が重いようで、たまにきちんと閉まらなかったりしてました。<br />
<br />
現在使っているモーターはSWITCHSCHIENCEさんで売っている<a href="https://www.switch-science.com/catalog/1784/">Pololuの75:1ギアドモーター</a>なのですがギア比をもう少し高くして低速化することでトルクを確保しようかと検討してみました。<br />
<br />
たまたま立ち寄った千石電商で<a href="http://daisen-netstore.com/shopdetail/000000000101/Motor-Wheel/page2/brandname/">ダイセン電子工業の132:1ギアドモーター</a>が置いてあったのですが3.3V品でパワーがあまり出なさそう。<br />
しかもPololuのモーターでエンコーダーを取り付けている後ろ側のシャフトが出ていません。<br />
ただ、ギア部分の寸法が同じなのでうまく組み替えてPololuのモーターを132:1に出来るかもしれないと買ってみました。<br />
<br />
ギアボックス部のネジ2本をはずして取り外して見てみたところ軸に付いているギアの歯数が違うので圧入されているギアも一度外して組み替える必要がありました。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTrbBW_BKU8qmVBiISBHjNvvHRSGO9snqbKK12gzvgktfTYNhn5_zC36OV3ogniIpPGmi74mGkUPZz40Sijh1iEDTquhcveId9NPs6ooL4j_RDdzOQfBSzp4GScw8G34rgDSrIUt-2mvb5/s1600/IMG_5925.jpg" imageanchor="1"></a><img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP7t6pcvcoXgABeuhc9NOwMkU-jWRczE_ovQ-k-dPZE1R4MEB8dGV2xJVjtLpbbxlK5SURITq0PnLh8EjE1vheYoVTFCE4UpSId7FMOsDgZ9222iFA2fsopRy1HYFygv8Uc2MxUHxBFulD/s320/IMG_5929.jpg" width="320" /><br />
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTrbBW_BKU8qmVBiISBHjNvvHRSGO9snqbKK12gzvgktfTYNhn5_zC36OV3ogniIpPGmi74mGkUPZz40Sijh1iEDTquhcveId9NPs6ooL4j_RDdzOQfBSzp4GScw8G34rgDSrIUt-2mvb5/s320/IMG_5925.jpg" width="320" /><br />
<br />
<br />
なんとか外して組み替えてPololuのモーターに132:1のギアボックスを組み合わせ、取り付けてみました。<br />
<br />
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg008nnLquolnl0CvkIBXczt3HP4FMAs8513Uxo9-NHjPL1VaeUh9iAAYMbQVF6Mn9bYfst_6WP0ApixGYtYtbMt3JlkSzAIBvgbiPQa-syNPMLYX0OPhHhHpMjflVtwXv2lKPDRJpfXxjz/s320/IMG_6143.jpg" width="320" /><br />
<br />
これを組み付けて<br />
<br />
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNLzEf0ogaeWve_F71Cn4eMpIs7Qqn4KxBqETibmzEW9jtYmumpRsRPyARAjWLKMPlYzfeqLp6UZsp1tegbd4hmXcyM0X3O9-JaJlec8Mrd4weQWkjnuFpGtE5ac8Ygb0WUeJy9RdAg3cs/s320/IMG_5038.jpg" width="320" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNLzEf0ogaeWve_F71Cn4eMpIs7Qqn4KxBqETibmzEW9jtYmumpRsRPyARAjWLKMPlYzfeqLp6UZsp1tegbd4hmXcyM0X3O9-JaJlec8Mrd4weQWkjnuFpGtE5ac8Ygb0WUeJy9RdAg3cs/s1600/IMG_5038.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNLzEf0ogaeWve_F71Cn4eMpIs7Qqn4KxBqETibmzEW9jtYmumpRsRPyARAjWLKMPlYzfeqLp6UZsp1tegbd4hmXcyM0X3O9-JaJlec8Mrd4weQWkjnuFpGtE5ac8Ygb0WUeJy9RdAg3cs/s1600/IMG_5038.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><br />
<br />
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRnjyzKJsPtOridqapAUd3y-4q6x9Ej57rsDGIFqNB-H0E1EWaD8aiuQ_TQKp_P6z2gKuLvpEFCc8Ua11v7aVgkKw2x9_Vqv5Nnx4l57Ll_-WAnrEriWuZHUO_L2EWKgqjr8TLBJI5LqH7/s320/IMG_5041.jpg" width="320" /><br />
<br />
取り付けます。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNLzEf0ogaeWve_F71Cn4eMpIs7Qqn4KxBqETibmzEW9jtYmumpRsRPyARAjWLKMPlYzfeqLp6UZsp1tegbd4hmXcyM0X3O9-JaJlec8Mrd4weQWkjnuFpGtE5ac8Ygb0WUeJy9RdAg3cs/s1600/IMG_5038.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6BBkx23wU9W-A03ktU5CV5E_EQJFJD1-J0KqlWjU9U7LXMr4KkXTiYO9bVb55PMjSohgQbmNJ8GJ7gl63SJPufMYdoKX-FGWNAwkzrxaFlDUSQ8VpYDTuv0zottwbqMfTwwdvy5Z6h2vT/s320/IMG_5307.jpg" width="320" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNLzEf0ogaeWve_F71Cn4eMpIs7Qqn4KxBqETibmzEW9jtYmumpRsRPyARAjWLKMPlYzfeqLp6UZsp1tegbd4hmXcyM0X3O9-JaJlec8Mrd4weQWkjnuFpGtE5ac8Ygb0WUeJy9RdAg3cs/s1600/IMG_5038.jpg" imageanchor="1"></a><br />
ちゃんと速度が半分くらいになって多少の負荷でもきちんと開閉出来るようになりました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: left;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dy_v3wwcxweMgxZJSXUwyXGuqZmKuIzbekCHQxryEf87BvKtQT13JxSI6kg5JC6-8HpLmwxRnlymsbJBsx9wQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxtVCA5MzAH4SOVTZzDYgt7Gfvrl6eJg4OSg6ruQAWRy6GhgqsCj5tf2uByfKPtafShgzmCHjCw2uG6nKXZHw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-38112465521231690422016-01-04T22:51:00.001+09:002016-01-04T22:51:48.828+09:00node.js foreverをRaspberryPi起動時に自動起動するように設定するnode.jsをRaspberryPiでnvm管理下で使っていたのですが、サービスを常時動かしておこうとするとforever等で管理することになります。<br />
ところが、foreverはinit.dに登録されているわけではないのでRaspberryPiを再起動すると自動で動いてくれません。<br />
最初nvmを使ってnode.jsをinstallしていたのですが、nvmだと自分のアカウントのhomeの.nvmというディレクトリ以下に色々とinstallされてしまいシステムの起動スクリプトに記述するには気持ち悪い事になってしまいます。(まぁ、そこはそういうものだと割りきってしまっても良いのですが)<br />
nvmは開発用の環境であって運用のための環境ではないということかと思います。<br />
次に考えたのはapt-getでnode.jsをinstallすることですが、versionが0.10.29と古いため結局試行錯誤の末node.js自体はnodejs.orgのDOWNLOADSのLTSのv4.2.4を入れることにしました。<br />
今回は/usr/local/にダウンロードしてきたイメージを展開して/usr/local/nodeにシンボリックリンクを張って運用しています。<br />
ダウンロードの実体は/usr/local/node-v4.2.4-linux-armv7l/以下に展開されて、そこに/usr/local/nodeからシンボリックリンクされているという形です。<br />
<span style="font-family: Courier New, Courier, monospace;">$ PATH=/usr/local/node/bin/:$PATH</span><br />
とpathを通してから<br />
<span style="font-family: Courier New, Courier, monospace;">$ npm install -g forever</span><br />
でforverをinstallします。<br />
これでnode, npm, foreverが準備出来たので、次に/etc/init.d/に起動スクリプトを用意します。<br />
<br />
以下の例は/etc/init.d/ha1observerという名前で/var/ha1/ha1observer.jsにパラメータを付けて起動するためのものです。<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">-----</span><br />
<span style="font-family: Courier New, Courier, monospace;">#!/bin/sh</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">### BEGIN INIT INFO</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Provides: ha1observer.js</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Required-Start: $network $syslog</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Required-Stop: $network $syslog</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Default-Start: 2 3 4 5</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Default-Stop: 0 1 6</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Short-Description: forever running ha1observer.js</span><br />
<span style="font-family: Courier New, Courier, monospace;">### END INIT INFO</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">USER=ha1observer</span><br />
<span style="font-family: Courier New, Courier, monospace;">SCRIPT=/var/ha1/EventValidate.js</span><br />
<span style="font-family: Courier New, Courier, monospace;">PIDFILE=/var/run/ha1observer.pid</span><br />
<span style="font-family: Courier New, Courier, monospace;">LOGFILE=/var/ha1/ha1observer.log</span><br />
<span style="font-family: Courier New, Courier, monospace;">PATH=/usr/local/node/bin:$PATH</span><br />
<span style="font-family: Courier New, Courier, monospace;">FOREVER=/usr/local/node/bin/forever</span><br />
<span style="font-family: Courier New, Courier, monospace;">NODE=/usr/local/node/bin/node</span><br />
<span style="font-family: Courier New, Courier, monospace;">NODEAPP=/var/ha1/HA1Observer/ha1observer.js</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">start() {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> $FOREVER start --pidFile $PIDFILE -l $LOGFILE -a -d -c "$NODE $NODEAPP -u $USER -f $SCRIPT"</span><br />
<span style="font-family: Courier New, Courier, monospace;"> RETVAL=$?</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">restart() {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> $FOREVER restart $NODEAPP</span><br />
<span style="font-family: Courier New, Courier, monospace;"> RETVAL=$?</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">stop() {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> $FOREVER stop $NODEAPP</span><br />
<span style="font-family: Courier New, Courier, monospace;"> RETVAL=$?</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">status() {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> $FOREVER list</span><br />
<span style="font-family: Courier New, Courier, monospace;"> RETVAL=$?</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">case "$1" in</span><br />
<span style="font-family: Courier New, Courier, monospace;"> start)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> start</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ;;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> stop)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> stop</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ;;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> status)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> status</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ;;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> restart)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> restart</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ;;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> *)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> echo "Usage: {start|stop|status|restart}" >&2</span><br />
<span style="font-family: Courier New, Courier, monospace;"> exit 1</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ;;</span><br />
<span style="font-family: Courier New, Courier, monospace;">esac</span><br />
<span style="font-family: Courier New, Courier, monospace;">exit $RETVAL</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">-----</span><br />
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
ha1observer.jsは起動後に-uで渡されたユーザーにprocess.setuid()で切り替えて実行されます。<br />
init.dからはrootで実行されるのでsetuidしないと色々と危険です。<br />
これを準備したあと<br />
<span style="font-family: Courier New, Courier, monospace;">$ update-rc.d ha1observer defaults 3 1</span><br />
を実行することでrc?.dにシンボリックリンクが張られます。<br />
再起動して<br />
<span style="font-family: Courier New, Courier, monospace;">$ ps aux | grep ha1observer</span><br />
で確認するときちんと実行されていることが分かります。<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-31799823532266251362015-12-11T21:58:00.000+09:002015-12-11T21:58:35.205+09:00KiCad 4.0.1 (bzr6195)KiCadが立て続けに更新されてます。<br />
<br />
KiCad 4.0.1をbuildしたイメージを<a href="https://drive.google.com/file/d/0B5LhqdaY_M_BbUR0SFFpendsSTg/view?usp=sharing">ここ</a>においておきます。<br />
<br />
<span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">標準のbuildとは下記の点が異なっています。</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">- TrackPad/MagicMouseの動作をMacの標準的な動作に変更しています</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">- Library/Application Support/kicad/internat/ja/のリソースを読むように修正しています</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">- fontが日本語対応になっています</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" />変更分のpatchは<a href="https://drive.google.com/file/d/0B5LhqdaY_M_BQjNXd0tSb0p2b2M/view?usp=sharing">これ</a>です。<br />
<br />
<span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">イメージをダウンロードして開くとkicadアプリケーションとkicadディレクトリがあります。</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">kicad.appは/Applications</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">kicadは/Library/Application\ Support</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">にそれぞれコピーします。(finderで開いた時の矢印のとおりにDrag&Dropして下さい)</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">最初の1回めは開発元が未確認のため開けませんと言われてしまうので、/Applicationフォルダを開いてKiCadを右クリックし「開く」を選択して、ダイアログボックスの「開く」を選択すると起動します。</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">詳細とbuildの手順はRC2.0の時に書いたので</span><a href="http://flying-engineer.blogspot.jp/2015/11/kicad40rc2.html" style="color: #6699cc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; text-decoration: none;">こちら</a><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;">を参照して下さい。</span><br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-36168670740407843312015-12-08T22:04:00.000+09:002015-12-08T22:05:30.474+09:00KiCad4.0.0 (bzr6194)KiCad4.0 stable releaseが出ました。<br />
buildしたのでイメージを<a href="https://drive.google.com/open?id=0B5LhqdaY_M_BVXpoQWdvMHkzajA">ここ</a>に置いておきます。<br />
<br />
<br />
標準のbuildとは下記の点が異なっています。<br />
- TrackPad/MagicMouseの動作をMacの標準的な動作に変更しています<br />
- Library/Application Support/kicad/internat/ja/のリソースを読むように修正しています<br />
- fontが日本語対応になっています<br />
<br />
イメージをダウンロードして開くとkicadアプリケーションとkicadディレクトリがあります。<br />
kicad.appは/Applications<br />
kicadは/Library/Application\ Support<br />
にそれぞれコピーします。(finderで開いた時の矢印のとおりにDrag&Dropして下さい)<br />
<br />
最初の1回めは開発元が未確認のため開けませんと言われてしまうので、/Applicationフォルダを開いてKiCadを右クリックし「開く」を選択して、ダイアログボックスの「開く」を選択すると起動します。<br />
<br />
詳細とbuildの手順はRC2.0の時に書いたので<a href="http://flying-engineer.blogspot.jp/2015/11/kicad40rc2.html">こちら</a>を参照して下さい。<br />
<br />
一つだけ、buildするのに引っかかった点を書いておきます。<br />
brewでboostをいれているとpcbnewを起動した時にExceptionで落ちてしまうようです。<br />
自分でbuildする場合はbuildする前にbrew uninstall boostでuninstallしておいて下さい。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-64906416551541049662015-11-27T22:32:00.001+09:002015-11-27T22:32:56.256+09:00スマートロックちょっと頼まれて普通の鍵の玄関を電気錠化して遠隔制御を出来るようにしてみました。<br />
自宅は建てた時から電気錠だったのでHA端子接続で簡単につなげられていたため、これまで普通の鍵を置き換える検討をしてませんでした。<br />
<br />
今回鍵の電気錠化の部分は㈱ユーシン・ショウワの<a href="http://www.u-shin-showa.co.jp/products/reborn2.html">リ・ボーンII</a>を使います。<br />
<br />
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOqYIb8mkc5yUOyIWjc5VcDmSJx4Wc33n0zqYBobhYwGmGHpqx3POdQC0Q8mnM1Yfk0yHZKoDWPiesQlv4-wzbXjhkywpg8HCLhab3ndPV4w_4hHMsCsfA1uEL70BMm4ENk_SGdwOm_6Fl/s320/IMG_5776.jpg" width="320" /><br />
<br /><br />
最初はAkerunとかQrioSmartLockとかも検討したのですが、どちらもBluetooth接続で暗号化されているのと鍵という性質上セキュリティが厳しくHack出来ないと考え別のものを探してみました。<br />
リ・ボーンIIは玄関のサムターン部分を外して代わりにつけるタイプで、AkerunやQrioSmartLockと比べて面倒ですが、リモコンキーで制御なのでリモコンキーのボタンを制御できればどうとでもなるはずと考えて、とりあえず入手して検討します。<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
蓋をあけるとDIP-SWがあります。</div>
<div class="separator" style="clear: both; text-align: left;">
今回はAutoLockはこちらで制御するので単純にopen/closeのリモコンでの制御通りに動くモードに設定します。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuzK_IgNP2jvmL2TnmKjqQ2g5heQ3GDT-_dLaZAFspS5cX8XBFFjwWZiIX4_WlJ2EYpABY34iy8G0ran64J9SBYjLkdq1cP9rpIsXhg-fl56Q9Q76JMkh9VCQOzappnUGGKTLPLBjYWold/s320/IMG_5775.jpg" width="320" /></div>
<br /><br />
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZYxNPFNXCJeIqREoYLT7uiT61KmSOtnpjLqGvnUo0hx47VqsWfdNregO981NwbedkEnj6lKCIR6ea7YF8sZF17_ZnORP2taaVkNmawcoTmLPhNti7auigxc6kB0nskq0CfwUcfIFH2xbf/s320/IMG_5767.jpg" width="240" /><br />
まず、リモコンキーをバラして確認していきます。<br />
<br />
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiINVNllLnyfEQGMfsPH8zPZeNO6laacCTWtRNSpHBkbR2DoMLRvc1swUSGEe-v-Wmn_uwqkmc03l091tIHdIX-GwN1MAhsSrRz-eTDTk0i3b3mHU-gn5jN6eLOYgQgd2cM0FC0j8Cbo2yR/s320/IMG_5771.jpg" width="240" /><br />
<br />
CR2032電池なので公証3Vですが回路は電池の初期電圧とかも当然対応しているので3.3Vでも大丈夫でしょう。<br />
<br />
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhStmKEl1yQlwTzhg7Bfr0nRlYNO94xX7y4oiIbG7pafFNndbeDezUuhUF6XJOsARKjbKv4a5ds6Vo6U0bZUZ_pZdiHSeo9vMpSuEclgHFP653WttGqu5xZSthYYS64-v7w2TEONx-SoG0l/s320/IMG_5773.jpg" width="240" /><br />
<br />
open/closeのpush-swがあって、片方の端子がGNDにつながっています。もう片方がpull-upされているようで、sw-offで3V,sw-onでGNDになります。<br />
なので、ここをコントロールすれば鍵を制御できます。<br />
<br />
改造に邪魔なので電池ホルダーをはずして、制御モジュールのコネクタと配線を繋いでいきます。<br />
電源の3.3V,GNDの線とFET-SWの線をopen,closeのpush-swのpull-up側に接続します。<br />
これで鍵自体は制御できました。<br />
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBcl3c6nUf0fj0pyiOXNBeMewg6v_FL6yb7WL3W0Sx3Os8znluNXM3INmwthC7Uk0MrAeLCzxY6EBn_v5AVGM0zDX7mjLvbPh_kAmqVoGqfEgg5dCxDQNy3Ufs0wf3tjpN3hycIK2Us-D/s320/IMG_5774.jpg" width="240" /><br />
<br />
これにドアが開いているかを検知するセンサーと内側からドアを開けたい場合に押すスイッチを追加して完成です。<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNa5LglU7Pl6YwpsmlgQidLKU9Gtzl_Jf6MkbJlujczo25CLzE2e08k3lW3hElVMXmtPAXnUytPXJxeTAbi3_S5JMpt1YuJ6ozRF34CNTcD8w0S5FhrqOfVqxN60tzWwRv7VD3MX67jJAe/s320/IMG_5823.jpg" width="240" /></div>
<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-52975053658672646752015-11-20T22:57:00.000+09:002015-11-20T22:57:10.716+09:00車のバッテリーチェック以前、車の室内灯を点けっぱなしで一週間おいてしまいバッテリーが上がってしまったことがありました。<br />
室内灯のスイッチがPush-Pushのスイッチなので頭があたったか何かで点いてしまったのかもしれません。<br />
そのときは近所の人にブースターケーブルで繋いでもらい暫く走ってなんとか復活したのですが、なんとかしないとまたやりそうなので対策を作ってみました。<br />
回路は簡単でバッテリーの12VをDC-DCコンバータで3.3Vに落としてXBeeの電源とし、同じ12Vを33Kと2Kで分圧してXBeeのADCに入れています。<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcPtxnxzL-l7Ag4WZGBHTAL51dEbwmij26iiNe6HDp0z-g5-KmkGT23OQxBQ-AidAj3GZelxRraLUi2izQEHBXOekxKc3jeTnTHre9PsWKyrdoNL66Ms1FkxpqxZo2JFcJLbT0Me-CwnG5/s1600/IMG_5786.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcPtxnxzL-l7Ag4WZGBHTAL51dEbwmij26iiNe6HDp0z-g5-KmkGT23OQxBQ-AidAj3GZelxRraLUi2izQEHBXOekxKc3jeTnTHre9PsWKyrdoNL66Ms1FkxpqxZo2JFcJLbT0Me-CwnG5/s320/IMG_5786.jpg" width="320" /></a></div>
DC-DCを使ったのは12Vから3.3Vにレギュレータで落とすとちょと損失が大きくなるためです。<br />
実測するとXBeeの送信時に10mA程度、sleep時には0.1mA程度で30秒に1回500ms程度通信するので問題なさそうです。<br />
サーバーのほうはXBeeが送ってくる電圧が12Vを切ったらメールするように設定したのでバッテリーが上る前に気がつけると思います。<br />
<br />
FRISKケースに入れて<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtZ9L9sNn9nFXNVWng07DMx8ufAn2bfRpfGo5m2PgLtA-X6IlgEA-cA4Sr7MhsBOYg6pA3EP9GABRJiJAkic5aI7PHkI1AellRHOaBq-zcmuIQyKwZ0GQLhTjM8Hst5-SY3ERX5hB6kQTB/s1600/IMG_5785.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtZ9L9sNn9nFXNVWng07DMx8ufAn2bfRpfGo5m2PgLtA-X6IlgEA-cA4Sr7MhsBOYg6pA3EP9GABRJiJAkic5aI7PHkI1AellRHOaBq-zcmuIQyKwZ0GQLhTjM8Hst5-SY3ERX5hB6kQTB/s320/IMG_5785.jpg" width="320" /></a></div>
<br />
車の中のバッテリー電源に接続します。<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_eyKudEKHfJVeqfiUMPuCDoRrDwwSB4OyFXXsKGZWr3YWBrdP9qvV5HMVBdoGERJm1MiJZB-8XYE1dgjgwt3MkAxqmWQPQkKdncaqRhK4DdyPNDhr2l5v7cDm52RUtXaufPcaHhLJBEzT/s1600/IMG_5802.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_eyKudEKHfJVeqfiUMPuCDoRrDwwSB4OyFXXsKGZWr3YWBrdP9qvV5HMVBdoGERJm1MiJZB-8XYE1dgjgwt3MkAxqmWQPQkKdncaqRhK4DdyPNDhr2l5v7cDm52RUtXaufPcaHhLJBEzT/s320/IMG_5802.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
金属部品だらけなので電波が飛ぶか心配でしたが家のすぐ前なので大丈夫でした。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-34893398575498189262015-11-14T14:16:00.000+09:002015-11-16T23:02:07.457+09:00KiCad4.0RC2KiCad4.0RC2が出ました。<br />
buildしたのでイメージを<a href="https://drive.google.com/file/d/0B5LhqdaY_M_Bd2NJclY5dHRSaGc/view?usp=sharing" rel="nofollow">KiCad4.0RC2.dmg</a>に置いておきます。<br />
<br />
標準のbuildとは下記の点が異なっています。<br />
- TrackPad/MagicMouseの動作をMacの標準的な動作に変更しています<br />
- /Library/Application Support/kicad/internatが読まれてないので検索パスを追加しています<br />
- fontを日本語対応のものに差し替えています<br />
<br />
イメージをダウンロードして開くとkicadアプリケーションとkicadディレクトリがあります。<br />
kicad.appは/Applications<br />
kicadは/Library/Application\ Support<br />
にそれぞれコピーします。<br />
(finderで開いた時の矢印のとおりにDrag&Dropして下さい)<br />
<br />
最初の1回めは開発元が未確認のため開けませんと言われてしまうので、/Applicationフォルダを開いてKiCadを右クリックし「開く」を選択して、ダイアログボックスの「開く」を選択すると起動します。<br />
<br />
変更の詳細とbuildの手順を以下のとおりです。<br />
今回はKiCadのbuildよりもOS X El Capitanに入れ替えた影響で色々とはまってしまいました。<br />
<br />
変更内容はRC1の時にも書きましたが、もう一度書いておきます。<br />
<br />
build済みはNightlyBuildが<a href="http://downloads.kicad-pcb.org/osx/">http://downloads.kicad-pcb.org/osx/</a>にありますが、TrackPad/MagicMouseの使い勝手がMacの標準的な使い方とあっていません。<br />
具体的にはTrackPadならピンチで拡大・縮小、2本指の操作で指を動かす方向にスクロール、MagicMaouseなら1本指で指を動かした方向にスクロールというのが標準的な使い方かと思います。(人によっては異論があるかもしれませんが、私はこれに慣れてしまっています)<br />
NightlyBuildの方はTrackPadのピンチは効かず、2本指の操作で拡大/縮小、MagicMouseの1本指の操作も拡大/縮小になっています。<br />
これはWindowsマウスのホイール動作に拡大/縮小が割り当てられているためと思われますが、クリック感があり上下にしか動かないホイールの動作とTrackPad/MagicMouseの360°操作では使い勝手が大きく違って、何をするにも画面が大きく拡大/縮小されてしまって使い物になりません。<br />
仕方がないので自分でbuildします。<br />
<br />
幸いなことに、この件に関するpatchがKiCadの中に既に含まれていて必要なpatchを当ててbuildしてくれるscriptが用意されています。<br />
以前~gcorral/kicad/osx-trackpad-gesturesというbranchで進んでいたOSXのtrackpad対応が入っているようです。<br />
これでbuildしてみて実行してみましたが、どうも以前のようにうまく行きません。<br />
TrackPadのピンチで拡大/縮小が出来るようになっているのですが、2本指での操作でも拡大/縮小になってしまいます。MagicMouseの方も同様です。<br />
osx-trackpad-gesturesと4.0のツリーを比較してみると関係ありそうな所が数箇所あったので修正してみました。<br />
後々の為にpatchにしておきます。(あとでbuildの詳細でやり方を説明します)<br />
これでbuildすると、当初の目論見どおり2本指の操作でスクロール、MagicMouseでもスクロールに出来ました。<br />
さらに基板に日本語でシルクを入れられるように日本語フォント対応も追加します。<br />
Windows環境が必要ですが、ここの手順どおりで日本語フォントを含んだnewstroke_font.cppを作成出来ます。<br />
<a href="http://wiki.kicad.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E3%83%9E%E3%83%BC%E3%82%B8%E6%89%8B%E9%A0%86">http://wiki.kicad.jp/日本語フォントのマージ手順</a><br />
<br />
ここまででひと通り準備が整ったので、以下buildの詳細手順です。<br />
<br />
最初に面倒くさいところからやっていきます。<br />
1.brewの対応のための/usr/local/の作成(これは既にbrewをinstallされてれば存在しているので不要です)<br />
2.boostのbuildの対応のために/usr/libにsymbolic-linkを貼ります<br />
こちらは/usr/libに幾つかdylibが存在しないためエラーになるための対応です。<br />
<br />
El Capitanの場合、通常は/usr以下はroot権限でも書込みできません。<br />
そのため以下の手順で一旦書き込みできる状態にして、変更後に書き込みできない状態に戻します。<br />
<br />
⌘-Rを押しながら再起動してリカバリーモードに入ります。<br />
ユーティリティのTerminalを起動し<br />
# csrutil disable<br />
を設定し再起動<br />
# sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/*.dylib /usr/lib<br />
でsymbolic linkを作成<br />
もし/usr/local/を作ってない場合は作成します。<br />
# sudo mkdir /usr/local<br />
# sudo chown $(whoami):admin /usr/local<br />
一応セキュリティリスクを減らすためにrootlessをenableに戻します。<br />
再度⌘-Rを押しながら再起動し<br />
Terminalで<br />
# csrutil enable<br />
にもどして再起動<br />
<br />
以下はXcodeとCommandLineTools、brewが入っている前提で書きますので無い場合は入れて下さい。<br />
<br />
まずはbrewを最新の状態にして必要な物をinstallします。<br />
# brew update<br />
# brew upgrade<br />
# brew install cmake bzr glew cairo swig openssl<br />
<br />
bzrに自分の名前とメールアドレスを設定します。<br />
# bzr whoami '自分の名前 <name@example.net>'<br />
<br />
適当なところにKiCad build用のdirectoryを掘ります。<br />
# mkdir KiCad4.0<br />
# cd KiCad4.0<br />
<br />
KiCad 4.0のソースコード入手<br />
# bzr branch lp:kicad/4.0<br />
<br />
wxPythonソースコード入手<br />
http://www.wxpython.org/download.php#source<br />
から下の方にあるwxPython-srcのlinkをたどってtar-ballを取得し先ほどのdirectoryに移動し展開します。ブラウザで辿ってもいいですが下記で取得できます。<br />
# curl -O http://jaist.dl.sourceforge.net/project/wxpython/wxPython/3.0.2.0/wxPython-src-3.0.2.0.tar.bz2<br />
# tar xjvf wxPython-src-3.0.2.0.tar.bz2<br />
<br />
展開されたdirectory名を変更しておきます。<br />
# mv wxPython-src-3.0.2.0 wx-src<br />
<br />
<a href="https://drive.google.com/file/d/0B5LhqdaY_M_BUVFZLVdBdVZ4eWc/view?usp=sharing" rel="nofollow">kicad4.0rc2_macosx_patch.tgz</a>をダウンロードして先ほどのdirectoryに移動し展開します。<br />
<br />
<br />
kicad_macosx_scroll.patch<br />
kicad_macosx_internat.patch<br />
newstroke_font.cpp_j<br />
の3のつのファイルができます。<br />
<br />
TrackPad、MagicMouseのスクロール対応とEl Capitan対応<br />
# cd 4.0<br />
# patch -p0 < ../kicad_maxosx_scroll.patch<br />
<br />
このpatchで<br />
common/draw_panel.cpp<br />
common/view/wx_view_controls.cpp<br />
scripts/osx_build_wx.sh<br />
の3つのファイルを修正しています。<br />
<br />
/Library/Application Support/kicad/internatのパスを検索していないようなので修正<br />
# patch -p0 < ../kicad_macosx_internat.patch<br />
<br />
このpatchで<br />
common/pgm_base.cpp<br />
のファイルを修正しています。<br />
<br />
日本語フォント対応<br />
# cp ../newstroke_font.cpp_j common/newstroke_font.cpp<br />
<br />
更になぜか私の環境ではbzr-svnで/Library/Python/2.6/site-packages/subvertpy/client.soを呼び出しているところでrpathが設定されておらず下のようなエラーが発生します。<br />
<br />
bzr: ERROR: Unable to import library "subvertpy": bzr-svn: Unable to load subvertpy extensions: dlopen(/Library/Python/2.6/site-packages/subvertpy/client.so, 2): Library not loaded: @rpath/lib/libsvn_diff-1.0.dylib<br />
Referenced from: /usr/lib/libsvn_client-1.0.dylib<br />
Reason: image not found<br />
<br />
これは私の環境だけかもしれないのでエラーが出たら以下の対処をして下さい。<br />
/Library/Python/2.6/site-packages/subvertpy/client.soに細工をします。<br />
# cd /Library/Python/2.6/site-packages/subvertpy<br />
戻せるようにbackupをとって<br />
# sudo cp client.so client.so_org<br />
client.soにrpathを/usrとして追加<br />
# sudo install_name_tool -add_rpath /usr client.so<br />
これでbzr-svnのエラーが出なくなります。<br />
<div>
<br /></div>
次にwxPythonのbuildです。結構時間がかかります。<br />
# sh scripts/osx_build_wx.sh ../wx-src ../wx-bin ./ 10.11 -j4<br />
# cd ..<br />
<br />
kicad本体のbuild。こちらもかなり時間がかかります。<br />
# mkdir build<br />
# cd buld<br />
# cmake ../4.0 \<br />
-DCMAKE_C_COMPILER=clang \<br />
-DCMAKE_CXX_COMPILER=clang++ \<br />
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \<br />
-DPYTHON_EXECUTABLE=`which python` \<br />
-DKICAD_SCRIPTING=ON \<br />
-DKICAD_SCRIPTING_MODULES=ON \<br />
-DKICAD_SCRIPTING_WXPYTHON=ON \<br />
-DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \<br />
-DPYTHON_SITE_PACKAGE_PATH=`pwd`/../wx-bin/lib/python2.7/site-packages \<br />
-DCMAKE_INSTALL_PREFIX=../bin \<br />
-DUSE_IMAGES_IN_MENUS=ON \<br />
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \<br />
-DCMAKE_BUILD_TYPE=Release<br />
# make<br />
# make install<br />
# cd ..<br />
<br />
次にその他のリソースをNightlyBuildから持ってきて無理やりパッケージし直します。<br />
<a href="http://downloads.kicad-pcb.org/osx/">http://downloads.kicad-pcb.org/osx/</a>のRC2相当はkicad-r6303なのでこれをダウンロードしてマウントします。<br />
<br />
# curl -O http://downloads.kicad-pcb.org/osx/kicad-r6303.20151109-045453.dmg<br />
<br />
そのままではReadOnlyなのでRW出来るように変換します。<br />
<br />
# hdiutil convert kicad-r6303.20151109-045453.dmg -format UDSP -o kicad-r6303.sparseimage<br />
# hdiutil attach kicad-r6303.sparseimage<br />
<br />
アプリケーション本体を置き換えるため大文字のKiCadディレクトリを削除します。<br />
# rm -rf /Volumes/KiCad/Kicad<br />
finder上の位置合わせをconsoleからできないのでfinderでbin/KiCad.appを開いているKiCad Volume上のKiCadディレクトリがあったところにコピーします。<br />
<br />
フォルダを開いたままの状態でdiskimageをdetachします。<br />
# hdiutil detach /Volumes/KiCad<br />
<br />
イメージの未使用領域を開放します。<br />
# hdiutil compact kicad-r6303.sparseimage<br />
<br />
最終的なReadOnly圧縮イメージに変換します。<br />
# hdiutil convert kicad-r6303.sparseimage -format UDZO -o KiCad4.0RC2.dmg<br />
<br />
このイメージが一番上のほうに置いてあるイメージになります。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-2618230008786400282015-11-07T22:06:00.001+09:002015-11-07T22:06:31.420+09:00KiCad 4.0RC1でESP-WROOM-02用基板作成 その6次はESP-WROOM-02版です。<br />
<br />
RP-3基板<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzXGTG-Nxm8Ss96Od9lTGWQhOUQe-3FNCb4Rvb1pgywBKp2fRfJjRiwANjncuml8yRvHZmPm-_32pp3_5rkPFQL2MF775C2W-FTHP7z8udK8LL-3M5tV5CsVgYi7R9zPsJbMf9MbCLL9Oh/s320/IMG_5690.jpg" width="240" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzXGTG-Nxm8Ss96Od9lTGWQhOUQe-3FNCb4Rvb1pgywBKp2fRfJjRiwANjncuml8yRvHZmPm-_32pp3_5rkPFQL2MF775C2W-FTHP7z8udK8LL-3M5tV5CsVgYi7R9zPsJbMf9MbCLL9Oh/s1600/IMG_5690.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzXGTG-Nxm8Ss96Od9lTGWQhOUQe-3FNCb4Rvb1pgywBKp2fRfJjRiwANjncuml8yRvHZmPm-_32pp3_5rkPFQL2MF775C2W-FTHP7z8udK8LL-3M5tV5CsVgYi7R9zPsJbMf9MbCLL9Oh/s1600/IMG_5690.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
HA-4基板</div>
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsE7cqsrke-pOnrEXZPzgezZUmmYpMu8cTcKj-thYimZE_hvUkltAep_tm58-M-kgGRigV71epDEZGP12Ai2gLmvDkU_iKZs5yq88GanybbqgYBWMwT04Basx8jkNY7zkAUuY2zW2U_wEF/s320/IMG_5688.jpg" width="240" /><br />
<br />
こちらの基板はXBeeの裏面に書かれているアドレスを読み取れるようにXBeeの下のところに穴を開けてあるのですが、ESP-WROOM-02を載せると丁度放熱用のPadのところが穴に位置してしまってあまりよろしくないかもしれません。<br />
<br />
まだ、ESP-WROOM-02をどう使うか悩み中です。ATコマンドのままでうまく使っていくのか、何らかの独自のバイナリのI/Fを定義してAVRと通信させるのか、とか考えてるところです。<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-63832270941485189182015-10-31T10:49:00.001+09:002015-11-07T22:06:43.032+09:00KiCad 4.0RC1でESP-WROOM-02用基板作成 その5基板が上がってきたので部品をマウントしてみます。<br />
まずは従来通りのXBee版です。<br />
<br />
RP-3基板<br />
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGSQGp1id-5L-mFXaW8FIUMRW63CBisO8tiLGS5PjAUjlj7VLrHuYijYBXbYFiEg4c9zT3ItdUkjQ4WJyKgXDoxUe-qONhebej2xizt51vPPKQQxA6mP1MaJLCx_GeH0LOU7XiYAF43c9b/s320/IMG_5684.jpg" width="240" /></div>
<div class="separator" style="clear: both; text-align: left;">
いい感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
HA-4基板</div>
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0Efy83s2R-9F0oC9vMgsTPrLQR3AvlnnV5oiBJbU3Mj-c4cwTUjztLjJ5apvqeb3MU_G2CgQDWRePwssiB0qXgeW9Xsh4Yn8N0NGvAeLNk6zvT9GuBA4AFe97xZ0QhjEnQ7pQBn55AqsX/s320/IMG_5686.jpg" width="240" /></div>
こちらもいい感じです。<br />
<br />
<br />
RP-3基板をRaspberryPi2と組み合わせます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHgoyHKa024lVNMkl1QGav6b5o73BBFFmQylUqNjyXfY_a7-mIkQeXOZO51b_xnZMc8BvunOP2Eohym1xUypLka_9_1BAk0xJqogE8YX4mMQlSwyJLG6s4FapHwDSK_X3qlYeU4FCf-Ps4/s320/IMG_5692.jpg" width="320" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHgoyHKa024lVNMkl1QGav6b5o73BBFFmQylUqNjyXfY_a7-mIkQeXOZO51b_xnZMc8BvunOP2Eohym1xUypLka_9_1BAk0xJqogE8YX4mMQlSwyJLG6s4FapHwDSK_X3qlYeU4FCf-Ps4/s1600/IMG_5692.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHgoyHKa024lVNMkl1QGav6b5o73BBFFmQylUqNjyXfY_a7-mIkQeXOZO51b_xnZMc8BvunOP2Eohym1xUypLka_9_1BAk0xJqogE8YX4mMQlSwyJLG6s4FapHwDSK_X3qlYeU4FCf-Ps4/s1600/IMG_5692.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>あれ?</div>
<div class="separator" style="clear: both; text-align: left;">
<img adlesse_been_here="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB26BHCvLswE5x-27mSovqID3LKnjz2uks4167_MhFYw6GwlY6-0P_cvoiwYFSeAq-9QIB-Kh8HVzh_y3wTuNj9Thh-uvLlaR_SHR0NE_8D87N0ratjtOmGbqzSJG4Be0U8sWvP5HGzain/s320/IMG_5691.jpg" width="320" /></div>
<br />
RP-3基板のHA-4基板書き込み用のコネクタがRaspberryPi2のHDMI、Audioコネクタと干渉しています。<br />
CAD上で基板の板端をギリギリで避けたつもりだったのですが、コネクタの出っ張りを考慮するのを忘れてました。<br />
実物確認しなかったためのミスです。<br />
回路動作チェックをしてソフト書いたらもう一度出し直しです.......<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-50274349198948583832015-10-23T22:00:00.000+09:002015-11-07T22:06:51.626+09:00KiCad 4.0RC1でESP-WROOM-02用基板作成 その4日曜日に届きました。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJI3TKmmholBGK3sa7NpzwZXu0BmPdqBeBZs65tTU5wYXGmMO-9KPY45dR-j6zuO-4CMYyyhwoaqXOmVIsSVf2_VI0SAOD5NI1BO9qSXooUeUun5InTXd8F0m5hyH2sHLCWRBlXaR7Cqrj/s1600/IMG_5635.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJI3TKmmholBGK3sa7NpzwZXu0BmPdqBeBZs65tTU5wYXGmMO-9KPY45dR-j6zuO-4CMYyyhwoaqXOmVIsSVf2_VI0SAOD5NI1BO9qSXooUeUun5InTXd8F0m5hyH2sHLCWRBlXaR7Cqrj/s320/IMG_5635.jpg" width="240" /></a></div>
<br />
速かったです。注文してから8日です。<br />
10/10(土)の朝に出して10/14(水)の夕方には基板が上がってきてDHLに渡されています。<br />
business day 4-7日となっていたのに土日も動いてくれてるんですね。<br />
そのあと39時間後の10/16(金)の朝には国内についてますが、そこから配達されるまで49時間もかかってます。<br />
実際の配達は佐川急便でした。<br />
深センから成田のほうが成田から東京より近いようですね。<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Wednesday, October 14, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">1 Shipment picked up<span class="Apple-tab-span" style="white-space: pre;"> </span>SHENZHEN - CHINA 18:50</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">2 Processed at SHENZHEN - CHINA 22:59<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">3 Departed Facility in SHENZHEN 23:04<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">4 Clearance event SHENZHEN - CHINA, PEOPLES REPUBLIC 23:18</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Thursday, October 15, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">5 Customs status updated<span class="Apple-tab-span" style="white-space: pre;"> </span>HONG KONG 00:16<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">6 Clearance processing complete at SHENZHEN - CHINA 01:19<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">7 Arrived at Sort Facility HONG KONG 03:17<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">8 Processed at HONG KONG 06:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">9 Clearance processing complete at HONG KONG 06:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">10 Processed at HONG KONG 19:15<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">11 Departed Facility in HONG KONG 22:34<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Friday, October 16, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12 Customs status updated<span class="Apple-tab-span" style="white-space: pre;"> </span>TOKYO - JAPAN 03:07<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">13 Transferred through TOKYO - JAPAN 08:42<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">14 Arrived at Sort Facility TOKYO - JAPAN<span class="Apple-tab-span" style="white-space: pre;"> </span> 10:00<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">15 Clearance event TOKYO - JAPAN 10:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">16 Processed for clearance at TOKYO - JAPAN 10:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">17 Customs status updated<span class="Apple-tab-span" style="white-space: pre;"> </span>TOKYO - JAPAN 22:42<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">18 Clearance processing complete at TOKYO - JAPAN 22:56<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Saturday, October 17, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">19 Processed at TOKYO - JAPAN 01:21<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">20 Departed Facility in TOKYO - JAPAN 01:45<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">21 Arrived at Delivery Facility in TOKYO - JAPAN 08:13<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">22 Forwarded for delivery<span class="Apple-tab-span" style="white-space: pre;"> </span>TOKYO - JAPAN 09:33<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Sunday, October 18, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">23 Delivery attempted; recipient not home 10:58<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">24 Delivered - Signed for by : DLVD BY AGNT 19:31<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<div>
<br /></div>
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-17890244485300637302015-10-16T22:00:00.000+09:002015-11-07T22:06:58.900+09:00KiCad 4.0RC1でESP-WROOM-02用基板作成 その3とくにパターン的におかしくなかったのでElecrowに出してみました。<br />
Elecrowの注文のページは以前はクレジットカードもPayPalのシステム経由だったのでちゃんとしていたけど、今回は直接クレジットカードの番号を入れるように変わってました。<br />
ただ、このページhttpで暗号化されていません。クレジットカードの入力が暗号化されてないのはちょっと不安なのでpaypalにしました。<br />
送料は820gでShenzhen DHLが$20.44、Registerd Air Parcelが$17.02と$3位の差なのでDHLを選択。<br />
片方はpanelize有りなので+1日かな。国慶節の連休明けなので注文が溜まってるから動きが遅そう。<br />
10/10(土)に出したので月曜日から作業し始めてbusiness dayで10日くらいとすると10/26の週に到着ぐらいかな.....と思っていたら10/10の内に<br />
10/10/2015<span class="Apple-tab-span" style="white-space: pre;"> </span>In production<span class="Apple-tab-span" style="white-space: pre;"> </span>Dear Customer,<br />
We have put your design into production, it will needs about 4-7 business days. Thank you!<br />
Best Regards<br />
Elecrow<br />
と返ってきました。それでも混んでるから7business daysだろうと考えていたのですが10/15(木)の朝に写真付きで出荷の連絡がきました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn1ERfJlH2H6rCZ-LUxWzxFSsStpAcw6QCP56CzCKvErUJVk2XIAnKxLflhNOjSXFewHLT5JLCy5ikXXgCmhm2yeAD2YVant72Pb7Qy0mUicrZx6n46cL18qFVZuwRosB9DTDpIfcJoGuH/s1600/23902.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn1ERfJlH2H6rCZ-LUxWzxFSsStpAcw6QCP56CzCKvErUJVk2XIAnKxLflhNOjSXFewHLT5JLCy5ikXXgCmhm2yeAD2YVant72Pb7Qy0mUicrZx6n46cL18qFVZuwRosB9DTDpIfcJoGuH/s320/23902.png" width="227" /></a></div>
<div>
<br /></div>
<br />
この辺がElecrowのいいところですね。深センは時差の関係で10/14(水)です。<br />
<br />
DHLのTrackingを確認すると<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Wednesday, October 14, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">1 Shipment picked up<span class="Apple-tab-span" style="white-space: pre;"> </span>SHENZHEN - CHINA 18:50</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">2 Processed at SHENZHEN - CHINA 22:59<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">3 Departed Facility in SHENZHEN 23:04<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">4 Clearance event SHENZHEN - CHINA, PEOPLES REPUBLIC 23:18</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Thursday, October 15, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">5 Customs status updated<span class="Apple-tab-span" style="white-space: pre;"> </span>HONG KONG 00:16<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">6 Clearance processing complete at SHENZHEN - CHINA 01:19<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">7 Arrived at Sort Facility HONG KONG 03:17<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">8 Processed at HONG KONG 06:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">9 Clearance processing complete at HONG KONG 06:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">10 Processed at HONG KONG 19:15<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">11 Departed Facility in HONG KONG 22:34<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Friday, October 16, 2015</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12 Customs status updated TOKYO - JAPAN 03:07<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">13 Transferred through TOKYO - JAPAN 08:42<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">14 Arrived at Sort Facility TOKYO - JAPAN 10:00<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">15 Clearance event TOKYO - JAPAN 10:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">16 Processed for clearance at TOKYO - JAPAN 10:37<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<br />
この調子だと週末か週明けには到着しそうです。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-1088777575418209972015-10-09T22:00:00.000+09:002015-11-07T22:07:06.606+09:00KiCad 4.0RC1でESP-WROOM-02用基板作成 その22つ目の基板を作成してみました。<br />
HA端子、SW制御、赤外線リモコン送信、受信、GPIO、ADC機能の子基板で以前XBee用に設計したものをESP-WROOM-02対応とダイオード、FETが小さすぎてハンダ付けがしにくいのでひとまわり大きいものに変更したり、機能を変更したりしました。<br />
<br />
回路図は以下のとおり<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEI9Nl465mVImv9YTAR4tylw_uWv_qHi5VsEs-C9AK2tgu5E-QWz-xhwamLTidsWvIx0-y4TprXTgBEmnFgDSmmK_VXoRGRvXW8P9bpAYxrU_ry-o0Q-UCH1ABVcUb8MGR6CIjKcEJT6Ry/s1600/HA-4_Schematics.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEI9Nl465mVImv9YTAR4tylw_uWv_qHi5VsEs-C9AK2tgu5E-QWz-xhwamLTidsWvIx0-y4TprXTgBEmnFgDSmmK_VXoRGRvXW8P9bpAYxrU_ry-o0Q-UCH1ABVcUb8MGR6CIjKcEJT6Ry/s320/HA-4_Schematics.png" width="320" /></a></div>
<br />
出来上がったパターンは以下のとおりです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaJarPNnhdMqu4CLe538-lO4HwiePPL4h9jwLNMKyif4AbRemShUG7eZ3bIlckJsTVWrIOOuxk5-INmx0BgfgojzV4cE76-FnqCeY65r1z0cT1MbQfSLEQepkRw3TQgnOa2jJgAIlmQZkz/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.34.04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaJarPNnhdMqu4CLe538-lO4HwiePPL4h9jwLNMKyif4AbRemShUG7eZ3bIlckJsTVWrIOOuxk5-INmx0BgfgojzV4cE76-FnqCeY65r1z0cT1MbQfSLEQepkRw3TQgnOa2jJgAIlmQZkz/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.34.04.png" width="320" /></a></div>
<br />
<br />
KiCADのバグでしょうか?<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT5aobFyJZAzchWfGYQCnVC9x9NkxeZLb3c6s8aC_sHCVdQDHDJDJ_4X81KiuLISFx9_E7mpjKAm9-5w8bXqS3XiCvyw1skHp4ruNtay3cmLR8H2EuycB0aigA9rFy42yu0FACwqxeuF-b/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.34.54.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT5aobFyJZAzchWfGYQCnVC9x9NkxeZLb3c6s8aC_sHCVdQDHDJDJ_4X81KiuLISFx9_E7mpjKAm9-5w8bXqS3XiCvyw1skHp4ruNtay3cmLR8H2EuycB0aigA9rFy42yu0FACwqxeuF-b/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.34.54.png" width="320" /></a></div>
<br />
DRCの未配線は無いので大丈夫だと思うのですが、KiCADのpcbnewをOpenGLモードで見ていると下側のStatusのところの未配線が2になっています。<br />
<br />
これが表示設定を標準にすると0になります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNbpaPUTQwGrMrc1GyxTE0feNB_IyN4QDkqvstfF1VpQQISlkTE88Xd5Bh67qLDZzdlQkX3BDZwEcg6dx1jCdoRDdE64VP1xwM1ISB2hWx7Dlout3cLexKiANUJuKb1CMv5l3GCzZmMv-r/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.35.08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNbpaPUTQwGrMrc1GyxTE0feNB_IyN4QDkqvstfF1VpQQISlkTE88Xd5Bh67qLDZzdlQkX3BDZwEcg6dx1jCdoRDdE64VP1xwM1ISB2hWx7Dlout3cLexKiANUJuKb1CMv5l3GCzZmMv-r/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-07+22.35.08.png" style="cursor: move;" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
KiCADのBZR5814とかで作った前回のパターンからいじったのでどこかにゴミデータでも残っているのかもしれませんが、よくわかりません。BZR5814で開くとOpenGLモードでも未配線が0になります。<br />
最初から4.0RC1で作成したRP-3基板はOpenGLモードでも未配線0なので、この基板データ固有の問題かもしれません。<br />
<br />
急いでも仕方が無いので週末にガーバーの確認をしてから出図しようかと思います。<br />
Elecrowも国慶節明けで混んでそうなので、週明けくらいに出してもあまり変わらないかと。<br />
<br />
今回の基板は10cm x 10cmに3枚面つけでV-Cutの予定です。<br />
RP-3基板と今回の基板それぞれ10枚で、まとめると送料が安くなりそうです。<br />
<br />
<br />
<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-3410735973101828802015-10-02T22:00:00.000+09:002015-10-02T22:00:02.103+09:00KiCad 4.0RC1でRaspberryPi2用のESP-WROOM-02用基板作成KiCad 4.0RC1をせっかくbuildしたのでESP-WROOM-02用の基板を作成してみました。<br />
RaspberryPi2用の基板ですがHAT規格ではありません。合わせられる所はHAT規格に合わせてますが、ACアダプタ用のコネクタを後ろ側から出すため基板外形を変更しています。<br />
ケースは<a href="http://flying-engineer.blogspot.jp/2015/04/rp-2_17.html">以前作成したRP-2基板用のもの</a>を流用する予定です。<br />
<br />
回路は色々と余計なものがついていますが、基本的にはRaspberryPi2の電源をUSB-miniからではなくACアダプタ用のコネクタを背面側に出すための回路と、XBeeモジュール・ESP-WROOM-02のいずれか経由で子機と接続するための回路、RaspberryPi2に赤外線リモコンの送受信機能を追加するための回路、子機として使う時のためのAVRマイコン回路で必要に応じてマウント部品を変更して使うようにしています。<br />
<br />
回路図は以下のとおり<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2fhlgQZWfm4rYiN3K8iG1f4gtm_UDr-1SByL9FuH-EWIwdWGigEa7w2CLEmPNOsmwKbcMU3EUrm4U8EK2hHGbWprzd0aM7wTOF4U6sKIZtutymcIMOFjIe7y2PN7xhTkd9vSUbFKOTRn/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.44.38.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2fhlgQZWfm4rYiN3K8iG1f4gtm_UDr-1SByL9FuH-EWIwdWGigEa7w2CLEmPNOsmwKbcMU3EUrm4U8EK2hHGbWprzd0aM7wTOF4U6sKIZtutymcIMOFjIe7y2PN7xhTkd9vSUbFKOTRn/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.44.38.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2fhlgQZWfm4rYiN3K8iG1f4gtm_UDr-1SByL9FuH-EWIwdWGigEa7w2CLEmPNOsmwKbcMU3EUrm4U8EK2hHGbWprzd0aM7wTOF4U6sKIZtutymcIMOFjIe7y2PN7xhTkd9vSUbFKOTRn/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.44.38.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2fhlgQZWfm4rYiN3K8iG1f4gtm_UDr-1SByL9FuH-EWIwdWGigEa7w2CLEmPNOsmwKbcMU3EUrm4U8EK2hHGbWprzd0aM7wTOF4U6sKIZtutymcIMOFjIe7y2PN7xhTkd9vSUbFKOTRn/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.44.38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img adlesse_been_here="true" border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2fhlgQZWfm4rYiN3K8iG1f4gtm_UDr-1SByL9FuH-EWIwdWGigEa7w2CLEmPNOsmwKbcMU3EUrm4U8EK2hHGbWprzd0aM7wTOF4U6sKIZtutymcIMOFjIe7y2PN7xhTkd9vSUbFKOTRn/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.44.38.png" width="320" /></a></div>
<br />
<br />
で出来上がったパターンが以下のとおりです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmtfk0SuDk52ETjaOmKsI4MsgAv71qAR185ZSne6ITAkcQhz3799kOrIvrc9fuGnRuBc9bQD-z4UKb36HXkJC5pKlEum3NKRZgCcvBBzvhtXDFyUm1LyV8WjDeDqQ3BCvgdkqzffo9M1Xt/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.37.53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img adlesse_been_here="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmtfk0SuDk52ETjaOmKsI4MsgAv71qAR185ZSne6ITAkcQhz3799kOrIvrc9fuGnRuBc9bQD-z4UKb36HXkJC5pKlEum3NKRZgCcvBBzvhtXDFyUm1LyV8WjDeDqQ3BCvgdkqzffo9M1Xt/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-10-01+22.37.53.png" width="315" /></a></div>
<br />
SWITCH-SCHIENCEがSeedStudioのPCB作成サービスの取り扱いを始めたのでこちらでお願いするか、以前出したElecrowに出すか、どちらが安いのか比較してみます。<br />
今回は10cm x 10cm x 1.0mm panelizeなし、黒レジスト、10枚です。<br />
<br />
SWITCH-SCHIENCEの場合<br />
Greenレジスト 10cmX10cm基板で3074円<br />
それ以外のレジスト 10cmX10cm基板で5882円<br />
+パブリックベータ期間なら送料324円、通常は1080円<br />
で緑レジストの最安なら3398円<br />
黒レジストにすると6206円<br />
<br />
Elecrowの場合<br />
Greenレジスト 10cmX10cm基板$14<br />
それ以外のレジスト 10cmX10cm基板$15.9<br />
+ 送料(Registerd Airmaailで$10.37,DHLで$16.37)<br />
で緑レジストの最安で$24.37 = 2924円 ($1=120円換算)<br />
黒レジストにすると$26.27 = 3152円<br />
DHLにすると+720円<br />
<br />
価格は緑レジストにすればいい勝負ですが他の色の場合はElecrowの方が半額近いですね。<br />
納期はSWITCH-SCHIENCEは14-21日、ElecrowはこれまでDHLでの経験では1回目14日、2回目v-cutありでも14日だったので、こちらもそれほどの違いはなさそう。<br />
ということで今回は黒色にしたいのでElecrowでRegisterd Airmailを試してみます。<br />
.........<br />
ところが、注文しようとしたらElecrowは国慶節で10/7までお休みでした。<br />
別に急いでないので、もう1つの基板も描いてまとめて注文しようかと思います。<br />
<div>
<br /></div>
flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0tag:blogger.com,1999:blog-4345454953031214164.post-73718331781856374292015-09-25T22:00:00.000+09:002015-09-25T22:00:02.725+09:00angular.jsとonsenUInode.js、express、mongoDBときているので次はangular.jsです。<br />
UIはどうしようかと思ったのですが、angular.jsと相性が良さそうで日本語で情報が豊富なonsenUIにしてみました。<br />
ちょっとまだソースコードがグチャグチャなのでもう少し整理してから後ほどGitにでもあげようと思います。<br />
まだ、どの処理をサーバーのnode.js側で処理してどの処理をクライアントのangular.js側で処理するのがいいのかを悩み中です。<br />
最初はほとんどの処理をangular.js側に持っていったのですが、mongoDBから読みだしたデータを大量に送った場合にかなり動作が重たくなることがわかったので、ある程度サーバーサイドで処理して扱いやすい形に変換してからクライアントサイドでUIに表示する形にしたほうがいいようです。<br />
サーバーを動かしているさくらVPSのx86仮想サーバーとiPhone5sのARM系64bitCPUではやはりパフォーマンスが違いますね。<br />
<br />
<br />flyingengineerhttp://www.blogger.com/profile/12060247154158895638noreply@blogger.com0