Category Archives: MicroComputer

紺屋の白袴(The final hack in 2016)

サーバのセットアップがほぼ完了し、WordPressのコンテンツに勤しみ始めた今日この頃。

自分のサーバにもirMagician付けないとダメじゃん?こう言うのを「紺屋(こうや)の白袴」って言うんだよ。って感じでイソイソと作業を開始した。各種の設定はチョボチョボやるとしてとりあえずハードの設置を行う事にした。まぁ、これからやる人の参考になれば幸甚です。

  • 材料
     irMagicianを設置しようとすると色々と細かい事が必要になるので、そういったものの理解の一助になればと思う。ほとんど材料は100均で入手出来ると思う。

    • irMagician本体
    • フレキシブルケーブル
    • USB延長ケーブル

    • 目玉クリップ

    • ネジ
       M3のネジとワッシャ、ナットを用意する。


  • 加工方法
     目玉クリップを加工して、フレキシブルケーブルのクランプベースを作る。これは単純にクリップを2つ重ねてネジ止めするだけ。





  • 設置
     制御対象物の側に設置する。TeamKNOxラボではエアコン、シーリングライト、リモコンコンセントなどが対象。これらに信号が届く位置に設置する。




情弱ってやだな。

 最近、ATMEL-AVRについて色々と製作したりしている。こちらを参考にさせてもらっているが、いくつかの点で内容が旧くなってしまっている。とくに書き込み環境については、かなり変化している。そのページで紹介されている、AVR-ISPをaitendoで買ってみたが、ファームウェアが旧くて、最近のavrdudeでは利用出来なかった。
 そこでアップデートする方法が無いかと色々と模索した。ファームのバージョンアップにはAVR-ISPのシステムが必要である。それがないから、先のAVR-ISPを買ったのに…。色々と情報を手繰っているうちに、Arduinoを利用した方法に行き着いた。配線を準備して、Arduinoのソフトをインストールした。チップの認識はしているもの、うまくかけない。そこで、そのエラーメッセージを追いかけて、Arduinoのスケッチの修正も行ってみたが結果は変わらず…。もう少し調べないとダメだな。

Mod-level:High

 irMagicianをYosemite対応にする為に、少しがんばってみた。結局、kextの再ビルドによるドライバレベルで対応するのは困難だと判断したので、ハードとファームウェアで対応する事にした。目標は再現性と現在のirMagicianの基板に取り付けである。

  • 前フリ
     現在、irMagicianはPIC18F2550を利用している。これにMicrochipがリリースしているUSBフレームワークを用いてCDC-ACMを実現している。これにシェルに相当するUBWと赤外線リモコンのハンドリングエンジンirMagicを組み合わせてファームウェアとしている。MacではOSX10.4.1以降からCDCの取り扱いが変わったようで、現在のirMagicianが利用しているMicrochipのフレームワークではうまく認識出来なくなった。そのためオープンソースで公開されているCDCのドライバを10.4以降の環境でリビルドを行い利用してきた経緯がある。

  • 問題点
     OSX10.9.5まで問題なく利用出来ていたドライバが10.10では動作しなくなってしまった。理由はcode-signingされていないためとシステムから反応があった。知り合いのデベロッパにお願いして、code-signしたkextをビルドしてもらったが、それでも動作はしなかった。トラシューを試みたものの理由がわからない。

  • 予備実験と新しい問題
     既にMicrochipの新しめのUSBフレームワークをirMagicianに移植して、10.4以降のOSX環境で動作出来る事は確認してある。ただ、新しい問題としてフレームワークの動作が重くなった為に赤外線LEDの変調周波数へのタイマタスクが間に合わなくなり、38KHz->10KHzまで下がってしまった。これではリモコンとしての動作は不確かなものになってしまう。

  • ハードウェア支援
     上記の新しい問題の対策として、赤外線LEDの変調生成を内蔵タイマから発振器を付加して生成する。

  • irMagicの見直し
     ハードウェアの付加に伴い、変調周波数生成タイマは不要になるのでこのハンドリング部分を除去した。

  • デグレ
     変調周波数が38KHzに固定化されたので、Mコマンドによる変調周波数の変更が出来なくなった

  • 動作確認手順
     実際に動作確認する為の手順

    1. ファームウェアの改造
       上記を踏まえたファームウェアの改造

    2. PIC10F200による変調周波数生成システム
       38KHzの変調周波数を生成する。プログラムの変更と外部ピンの設定による可変周波数も検討したが、現状の赤外線リモコンでは38KHzが大半なので固定にした。

    3. 実験基板への接続と動作確認
       PIC10F200の通常サイズで検討用の回路を製作し、開発用の基板と接続して実際の動作を確かめた。

    4. 米粒PICへの展開
       実際の回路ではDIPは使えないので、米粒PICと呼ばれる超小型のパッケージ品を使う。これを使う為の手順を示す。

      1. 米粒PIC書き込み治具の製作
         米粒PICに書き込むツールは高価なので、簡単に購入出来ない。そこで自作した。

      2. 基板レイアウト検討
         米粒PICを実際の基板に載せる為にレイアウトを検討した

      3. レイアウトに合わせてのプログラム変更
         ピンはプログラマブルなのでレイアウトに合わせて、プログラムの変更をおこなった。
  • Yosemite対応のメリットとデメリット
    • メリット
      • Apple純正ドライバの利用が可能
         ドライバの差し替えが不要
         

      • Windows, Linux, Macintoshの内蔵ドライバの利用が可能
    • デメリット
      • 改造要
         変調周波数生成用部品の取り付け

      • コスト高
         改造コストが必要

      • 変調周波数の変更不可
         38KHz固定

エアコンはOK

ソフトを色々と見直して、可能性がありそうな部分を潰していたら、エアコンのリモコンは動作させることが出来た。まだ、パイオニアのAVアンプが制御しきれない。ここが出来れば、自宅にある全ての機器の制御が可能になる。もうちょっとがんばろう。

配達が遅れ気味

Aliexpress の業者、勝手にDHLにしやがった。DHLは週末は移送しないから使えないんだよ。

ちゃんぽんな構成

 PIC の開発をしているが、ブートローダは MPLAB でビルド、その上で動作するアプリは SDCC と言うチャンポンな構成になってしまった。どちらもお手軽に利用できるので、問題ないがなんとなく気持ちが悪い。ブートローダは適当にメンテが入るけど、アプリは自分がメンテしなくてはいけないからなぁ。一応、すべて再現する方法が確認できたので、ソフトの改修に本格的に着手する。それが出来たら、基板を起こすことも考える。

昔のコードを見直してみた

 自分自身の経年劣化が激しく、昔書いたコードを最新のフレームワークに対応させることが困難になってきた。そこで、以前のコードの開発環境を再現させることにした。とりあえず、開発環境の再現は出来たので、コードの改善に着手する。とにかく、動作して良かった。

とりあえず作った割にはうまく動作した

 英数/かなキーボードの応用で、標準入力センサーを考えていた。今日は帰宅時間が遅かったけど、センサーも到着していたので、気合い一発、作ることにした。最初はうまく動作しなかったけど、プルアップ抵抗を付けることにより、安定した動作になった。ロボットをやりたがっている ICT エンジニアの福音になることを切に願う。

動作確認が出来たので追加で購入だ

 タブレットの動作の確認が出来たので、秋葉原に追加で購入しに行った。おまけに 16GB の microSD を付けてくれるはずだったのに横浜では付けてくれなかったので、もらいに行った。少しグズグズしてたけど、とりあえずゲット。ユーザターミナル側の SuperGamer-ole はダイレクトショップがお休みなので、購入出来なかった。ウィークディに買いに行く事にしよう。その他の色々な用事を済ます事が出来たので、自分なりには色々と出来たと思う。夕食後に半沢直樹も視ずに PIC の開発環境の整備を行った。Mac と PICKit3 の接続に戸惑ったけど、ナントカ動作させることが出来た。これでしばらく闘えそうだ。

今日は在宅。

 降雨もあったので今日は在宅勤務にした。最近は仕事では大きなイベントはない。空いている時間を使って、ハードの改修。ハードがようやく fix した。作業時間2時間。