趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • TOCOS Wireless Engineを試してみた

    投稿日 2013年 12月 21日 コメントはありません

    秋月でTOCOS Wireless Engineを入手してみたので動かしてみました。

    入手したのはUSBドングルタイプのToCoStickを1つと、モジュールのTWE-Lite DIPの半完成品タイプ2つです。半完成品なので、マッチ棒アンテナとピンヘッダを半田付けしないといけないです。モジュールの端子とピンヘッダの端子がかなり近いので、ショートさせないように気をつける必要があります。

    アンテナとピンヘッダを取り付けたら、初めからモジュール内にはアプリケーションが書き込まれているということで、まずはTWE-Lite DIP使用方法(初級編)に沿って動かしてみました。当然かもしれませんが、無事に動きました。本当に「あっ」という間に動くようになります。これだけで簡単なリモコンが実現できそうな感じです。(実際にはIDがぶつからないように設定変更するべきですが)

    次に、TWE-Lite DIPを子機だけ1台に設定し、ToCoStickを親機にして制御してみることにしました。
    ・・・が、ToCoStick用のアプリケーションはLinux版は存在しません。ですので、Android版を試してみました。手持ちの中華Android4.0パッドでは動きませんでしたが、Xperia Aでは問題なく動作しました。こちらの画面では電波の強度も表示できるので、自室(鉄筋コンクリートのマンションで共用通路側です)に子機を置いて、Xperia + ToCoStickの組み合わせで歩き回って見たところ、奥のベランダ側の窓際で電波強度はギリギリ、共用通路側は自室前は問題ありませんが、隣家の前まで行ってしまうと電波強度はギリギリでした。まあ、WiFiの電波も飛び交っている所ですし、窓は防犯用の網入り窓ガラス + アルミ合金製ブラインドがついている(しかも閉めっぱなし)なのでしかたがないところだと思います。

    次にToCoStickをLinuxマシンにさしてターミナルプログラムで115.2kbpsにて /dev/ttyUSB0 をみてみると、子機から飛んでくるデータがすでに見えています。TWE-Lite DIP使用方法(上級編)をみると、UARTでの制御は簡単そうです。

    また、Raspberry Piに挿して、sshでRaspberryPiにログインした後、

    $ screen /dev/ttyUSB0 115200

    とすると子機からのデータが流れてくる様子をみることができます。(終了は CTRL-A + 大文字K)

    ちょっと動かしてみただけですが、TWE-Liteは非常に扱いやすくまとめられていて、いろいろ工作のネタがありそうです。特に初めから収められているアプリケーションはIDさえ変えて混信回避の策をとれば十分にいろんなことに使えそうです。それに何といっても『認証済みの無線モジュールが秋葉原で安価に手に入る』というのは夢のようです。
    欲を言えば、縦方向に場所を取るマッチ棒アンテナではなく、チップアンテナやパターンアンテナタイプがあればいろんなものに押し込むのに便利な所ですが・・・。


  • また気圧計の電池がなくなりました

    投稿日 2013年 11月 24日 コメントはありません

    前回10月30日に電池交換した気圧計ですが、今日電池がなくなって止まってました。
    今日の昼間は稼働していたので、ほぼ25日間の動作ということになります。単三で作れば2ヶ月くらい駆動できるかな?
    自作の電池駆動機器で簡単にこれだけの期間連続動作させられるようになるなんてしばらく前には予想できませんでしたね。


  • 秋月に新しいユニバーサル基板が登場

    投稿日 2013年 11月 24日 コメントはありません

    秋月電子のサイトを見ていたら、新しいユニバーサル基板が出ているのを発見。

    従来の2.54mmピッチの端子間に表と裏にそれぞれ異なる向きで電源バスを這わせて、交差点の部分にスルーホールを設けた構造みたい。
    単一電源の回路であれば電源・GND配線が格段に簡単になる上に、4層基板には届かなくても電源インピーダンスは確実に下がるはずので、いろいろ作りやすくなりそう。
    (かといって、沿面距離は何をしても大幅に小さくなってしまうので、高電圧がかかる回路は絶対に避けないといけないですが)

    プルアップやプルダウンの抵抗・パスコンも1005のチップ品を使えば電源グリッドのスルーホールから直接接続できそうな感じ。1608ではちょっと苦しいかな(いけたらうれしいのだけど)

    サイズはBタイプCタイプの2種類。今度見かけたら買ってみることにします。


  • DIP版18F14K50ボードを作ってみました

    投稿日 2013年 11月 6日 コメントはありません

    余っていたDIP版のPIC18F14K50とユニバーサル基板でテスト用のボードを作ってみました。

    OLYMPUS DIGITAL CAMERA

    このボードを作ってみたのは、部品が余っていたから・・・というのもありますが、秋月の800円PIC18F14K50ボードとブレッドボードの組み合わせでは不便な点があったからです。それは、

    • 秋月の800円PIC18F14K50ボードではRA3はPICkit3へ接続するようになっている。
      よって、ブレッドボードではこの端子は扱えない。
    • USBでいろいろなソフトウェアを作って試すには、ブレッドボードでは持ち運びには不便。

    というところからです。双方向でのデータのやりとりを試してみたいので、余っていた気圧センサとI2Cのキャラクタ液晶も載せてあります。気圧センサは液晶の下に置いてあります。(最初の写真は気圧センサから読み取った値を液晶に表示しています)

    OLYMPUS DIGITAL CAMERA

    裏面はこんな感じです。(自分用です。回路図を作っていないのでその代用(^^;。クリックすると特大画像が開きます。)

    OLYMPUS DIGITAL CAMERA

    各部分の説明(自分用です)

    • 基板裏面から見て右上の部分
      USBのBコネクタで、緑色の部品は100mAの保護用ポリスイッチです。
    • 基板裏面から見て真ん中やや上
      PIC18F14K50です。GND周りに付いている2個の小さな1608のコンデンサは1uFのチップコンです。VUSBのコンデンサは0.22~0.47uFが推奨だったと思いますが、半端な容量のコンデンサが手持ちになかったので1uFとしています。茶色の2012の大きなコンデンサ2個はクリスタル周りの22pFで、その左の4.7kΩはRA3のプルアップ抵抗、その左の1.2kΩ×2個はLEDの電流制限抵抗、その左の24kΩはタクトスイッチのプルアップ抵抗です。ポートCは内蔵プルアップがないので外付けせざるを得ませんでした。
    • 基板裏面から見て左の部分
      アナログジョイスティックと3.3VのCMOSレギュレータです。CMOSレギュレータIN/OUTには1uF16Vのチップコンがそれぞれついています。
    • 基板裏面から見て左下の部分
      2個のタクトスイッチです
    • 基板裏面から見て右下の部分
      LCDモジュールへのコネクタと気圧センサです。4.7kΩ×2個はI2Cバスのプルアップ抵抗です。

    ポートアサインは以下の通りとしています。

    • RA3 – ブートローダスイッチ(L:ブートローダ起動)
    • RB4 – I2CバスSDA
    • RB5 – not use
    • RB6 – I2CバスSCL
    • RB7 – not use
    • RC0 – 3.3Vリファレンス電圧入力
    • RC1 – アナログジョイスティックY軸入力
    • RC2 – アナログジョイスティックX軸入力
    • RC3 – LED GREEN(H:点灯)
    • RC4 – LED RED(H:点灯)
    • RC5 – not use
    • RC6 – スイッチ入力左(L:ON)
    • RC7 – スイッチ入力右(L:ON)

    I2Cバスのアドレスアサインは以下の通りです。

    ソフトウェアはとりあえず以下の通りです。

    • PIC18F14K50側ブートローダ
      タクトスイッチとLEDのポートアサインを修正
    • PIC18F14K50側アプリケーション
      カスタムHIDデバイスのデモプログラムをベースにして、先に作った気圧センサ用のPIC16F1823用のI2C/LPS331/LCDドライバを移植。
      さらにTimer0割り込みを使って時間管理(似非マルチタスク処理)ができるように割り込み処理を追加。
    • Linuxホスト側ブートローダ
      Microchipのサンプルプログラムのまま
    • Linuxホスト側アプリケーション
      昔作ったHIDRAWでデータをやりとりするプログラムを改造し、双方向で希望するデータのやりとりができることを確認

    これでLinux環境下でデータのやりとりをUSB経由で好きなようにできそうです。


  • RasPiに緊急地震速報を報告させてみました

    投稿日 2013年 10月 30日 5個のコメント

    連続稼働に向けてラックに吊り下げたRaspberryPiですが、こいつに緊急地震速報を報告させてみました。

    Pythonのスクリプトとして作ったのですが、処理としては以下のような感じです。表示および音声合成は別スクリプト&別スレッドにすることで、表示処理と音声読上げを同時に起動し、遅れをなるべく少なくするようにしています。

    1.RaspberryPiでEEWBOTを監視し、地震速報を取得する

    Twitterのアカウントでeewbotというbotアカウントを運営している方がいて、実験的に高度利用者向けの緊急地震速報をcsvで配信されています。
    こちらのtweetをストリーミングAPIで受けとります。

    2.受信した内容をデコードします。

    デコードと言っても、都合のいいように表示用と読上げ用のテキストを生成するだけです。

    3.USB接続のLCDに表示させます

    生成したテキストをUSB接続のLCDに表示させます。

    4.スピーカに音声出力します

    RaspberryPiに接続したスピーカに合成音声で出力します。音声合成にはAquesTalk Piを使っています。いわゆる「ゆっくり声」で読み上げます。(笑)
    (注:AquestTalk Piは商用利用では有償なので、真似する人はご注意を)

    いまのところ、RaspberryPiのスピーカ端子にダイソーの100円スピーカ(ケーブルなし)を挿しているので、音量が小さくて静かな状況でないと聞き取れません。なるべくシンプルかつ小さくアンプを仕込む方法を考えています。

    5.動かしてみて

    遠めの地震だと地震速報の読上げ&表示後に揺れがきます。比較的近くだと揺れが先か同時くらいですが。音声だけだと読み取れなくても同じ内容がLCDをみれば表示されているので、読上げ完了を待たなくても内容がわかりますし、聞き取れなくてもやはり内容はわかりますので、結構便利です。

    ちなみに、日本気象協会の地震情報(tenkijp_jishin)もフォローしていて、その内容もそのまま表示&読上げをしています。こちらは緊急地震速報が落ち着いてしばらくしてからTweetされます。

    6.メモ

    以降は自分用のメモです。

    動かすの使った追加パッケージは以下のとおり。

    $ sudo apt-get install python-gd
    $ sudo apt-get install ttf-kochi-gothic-naga10 ttf-kochi-mincho-naga10
    $ sudo pip install pyserial

    「TweetToVoiceLCD.py」を走らせれば動作開始。


  • PIC18F14K50の他のサンプルを動かしてみる

    投稿日 2013年 10月 22日 コメントはありません

    調子に乗ってPIC18F14K50の他のサンプルを秋月の800円ボードで動かしてみました。

    動作環境はLinuxMint13 + PicKit3です。「MPLAB-X」「MPLAB C18ツールチェーン」「Microchip Library for Applications」はすでにインストールされているものとします。(といっても、ダウンロードして、スーパーユーザー権限でスクリプトを走らせるだけでインストールできますが)

    まず、サンプルプロジェクトを開いて初期設定を行います。ここではUSBキーボードのサンプルプロジェクトを動かしてみます。

    1. MPLAB-Xを起動します
    2. 「File」→「Open Project」で既存のプロジェクトを開きます。
      ダイアログボックスが開くので、ホームディレクトリの下の
      $HOME/microchip_solutions_v2013-06-15/USB/Device – HID – Keyboard/Firmware/MPLAB.X
      を開きます。
    3. プロジェクトが読み込まれますが、この状態では他のチップ用になっていますので、PIC18F14K50では動きません。
    4. 「File」→「Project Properties(Device – HID – Keyboard)」でプロジェクトの設定を行います。
    5. 左下の方にある「Manage Configurations」をクリックします。
    6. 開いたダイアログから「LPC_USB_Development_Kit_PIC18F14K50」を選択して、右側の「Set Active」ボタンをクリックします。
    7. 「LPC_USB_Development_Kit_PIC18F14K50」の右側に「(active)」が移動したら、「OK」をクリックします。
    8. 左側の「Categories」から「Conf: [LPC_USB_Development_Kit_PIC18F14K50]」の下にある「PICkit3」を選択します。
    9. 右半分がPICkit3関連の設定画面に変わります。
    10. 上の方の「Option categories:」から「Power」を選択します。
    11. 「Power target circuit from PICkit3」にチェックを入れて、「Apply」をクリックします。
      こうしないと、秋月の800円ボードに電源供給されないので書き込みができません。
    12. 「OK」をクリックして、ダイアログを抜けます。

    次にビルド&書き込みを行います。

    1. 秋月の800円ボードのUSBコネクタをホストから外します。ICSPの信号線とUSBのD+/D-の信号線は同じ端子なので、USBを抜かないと書き込みできません。つまり、電源も供給されないので、PICkit3から電源供給してやらないとダメなのです。
    2. 次に、一旦PICkit3のUSB端子を外して改めて接続します。外すことでPICkit3からの電源供給を止めてやります。そうしないと、次にボードと接続する際に活線挿抜になってしまいます。運が悪いとボードが壊れるかもしれません。
    3. 秋月の800円ボードのICSP端子をPICkit3に接続します。
    4. IDE上の下向きの緑矢印がついたボタン(マウスカーソルを載せると「Make and Program Device」という表示が出ます)をクリックします。
    5. しばらくまつとコンパイル、書き込み、ベリファイが行われます。
      「Programming/Verify complete」と表示されたら完了です。
    6. PICkit3をボードから引き抜きます。
      この段階でPICkit3側のMiniUSBコネクタも一度引き抜いておいてもいいでしょう。
    7. 適当なエディタを開いて、新しいファイルを作成して、文字入力ができる状態にしておきます。
    8. ボードのUSBコネクタとホストをUSBケーブルで接続します。
    9. エディタに勝手に文字が入力されていきます。
      ここで慌てて他のウインドウを選択するとそちらに入力されていきますので、ご注意を(笑)
      動作を確認したら、USBケーブルを抜きましょう。

    本来は評価ボードにはスイッチがついているので、そのスイッチを押すと文字が入力されるようなのですが、800円ボードにはそんなものはありませんので、勝手にキー入力されていってしまいます。

    何のキーが入力されるかは、keyboard.c の907行目で HID REPORT にキーのコードに相当するusageを設定しています。usageはUSBの仕様書のうち、HID Usage Tableの53頁からの一覧表に乗っていて、4が「A」のキーに相当します。その後の926行目付近ではキーを話した場合のREPORTを送っています。

    この辺を読んでソースを弄っていけば、変なキーボード(CTRL + ALT + DEL専用キーボードとか)も作れるはずです。(^^;


  • LPS331による気圧計の製作

    投稿日 2013年 10月 21日 コメントはありません

    しばらく前に秋月で安価な高精度気圧センサLPS331のモジュールが出ていたので購入してあったのですが、これを電池駆動の気圧センサとして仕立ててみました。

    OLYMPUS DIGITAL CAMERA

    おもなキーパーツは、

    • 気圧センサ:LPS331AP
    • 液晶モジュール:AQM0802A
    • マイコン:PIC16F1823
      何でもよかったのですが、手頃なサイズでI2Cをもっているので採用しました。
    • スイッチングレギュレータ:HT7750A
      47uHのインダクタを使って一旦5Vを生成します。
    • CMOS三端子レギュレータ:S-812C33AY-B-G
      5VからPICマイコンおよびLCDモジュール用の3.3V生成に1個、センサの電源用に1個使っています。消費電流を抑えるため、CMOSのレギュレータとしています。

    といったところです。

    小型軽量かつ長時間駆動を目指すため、単4電池1本からスイッチングレギュレータを使って電源を生成しています。
    当初はHT7733Aを使用し、LCフィルタでノイズを低減して使用していたのですが、どうも動作が安定しないのでノイズが原因かと疑って、一旦5Vにしてから3.3VのCMOSリニアレギュレータで電源を生成しています。(根本原因は他にあったので、結局これがどのくらい影響しているかはわかりません)

    OLYMPUS DIGITAL CAMERA

    センサにはLEDが搭載されていますが、電池での動作時間を伸ばすため、その右上の電流制限抵抗を除去することでLEDへの電流をカットしています。

    OLYMPUS DIGITAL CAMERA

    背面は試行錯誤の繰り返しで汚くなってしまいました。

    ソフトウェアはMPLAB-X+XC8で作成していますが、このLPS331というデバイスは結構くせがあり苦労しました。(XC8にもいろいろ癖があって苦労しました)
    当初は自動モードで勝手に連続変換させて、変換終了時に割り込みにてPICに通知、値を読み取って表示させようとしていました。しかしこちらの記事にあるように連続モードで変換すると、変換の処理自体?が抜けていることがあるのです。そこで、約1秒周期でワンショットの変換コマンドを発行することにしたのですが、それでも表示の変動が起こります。「レジスタは初期値に関わらず全部書き込まないとダメ」など、いろいろWebで見かけた情報を取り込みながら、最終的には約2秒周期での変換とすると変換値の暴れが収まるようですので、約2秒周期での変換&表示としています。それでも時折温度については±1℃程度の範囲で暴れることがあるようですが、妥協しました。

    OLYMPUS DIGITAL CAMERA

    以前作ったArduinoベースの温度・湿度・気圧計との比較です。

    気圧についてはLPS331APの方がごくわずか・・・0.2hPa程度ですが、低めに出る傾向があるようです。
    温度の方はLPS331APの方が0.7℃程度ですが低めに出ています。
    値の安定性については気圧・温度ともにSCP1000の方が明らかに安定しています。

    LPS331のほうはドキュメントもよく読むとおかしな所が結構あって(ドキュメントの)出来がよくありません。ドキュメントの出来が悪いデバイスは概してデバイス自体にもいろいろ問題を抱えている場合が多いように経験しています。

    #原因切り分け用に買い足したLPS331APがあるのだけど、どうしようかな・・・(^^;

    それと消費電流ですが、電池のところで測定すると、センサが動作していないタイミングでは1.8mAくらいで、センサが動作すると4mA程度に上がります。ただ、デジタルテスタで測定しているので、どのくらいが本当のピークなのかはわかりません。センサの動作時間自体は100msにも満たないようなので、平均でも2mA以下くらいなのでしょうか。2mAとすると、単4アルカリ乾電池の容量は700~800mAh程度のようですので、電池1本で350~400時間程度(電圧が下がってくるので、もうちょっと短いか)=約2週間程度の動作時間というところでしょうか。

    現状では消費電流を下げて駆動時間を伸ばすためにPICの動作周波数は内蔵オシレータ使用で125kHzとしてあります。さらに消費電流を下げるために表示更新の待ち時間でのPIC自体のスリープも考えたのですが、内部の31kHzのLFINTOSCでスリープ動作させる方法が見つかりませんでした。どうやら外付けの32kHzのクリスタルで動作させないといけないようで、そこまで部品追加するのは面倒なので止めました。

    ソースも置いておこうかな・・・と思ったのですが、コメントが古い(試行錯誤する前)ので、とりあえずやめておきます。(コメントを整理したら置くかも・・)


  • TwitterをUSB LCDモジュールに表示させてみる

    投稿日 2013年 10月 13日 コメントはありません

    製作したUSB LCDモジュールですが、Twitterのtweetを表示させてみました。

    Streaming API で指定したキーワードが含まれているTweetを表示させてみます。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    import sys, json, tweepy, re, os
    
    # Account
    consumer_key= '        '
    consumer_secret= '        '
    access_token= '        '
    access_token_secret= '        '
    
    class Listener(tweepy.streaming.StreamListener):
        def on_status(self, status):
            message = status.user.name.encode("utf-8") + ":" +  \
                      re.sub(r'\n',r' ',status.text.encode("utf-8"))
            print status.id,":", \
                   status.lang,":", \
                   status.user.screen_name.encode("utf-8"),":", \
                   status.user.name.encode("utf-8"),":", \
                   re.sub(r'\n',r' ',status.text.encode("utf-8"))
            os.system('./usblcd.py "'+message+'"')
            return True
     
        def on_error(self, status):
            print status
      
    if __name__ == '__main__':
        l = Listener()
        auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(access_token, access_token_secret)
     
        stream = tweepy.Stream(auth, l)
        stream.filter(languages=['ja'],track=['tbs','fujitv','ntv','tvasahi','tvtokyo'])

    今回はキーワードを’tbs’,’fujitv’,’ntv’,’tvasahi’,’tvtokyo’として、テレビ局に関するTweetを拾ってみます。

    sDSC06133

    Pythonスクリプトを動かすとこんな感じで表示されました。

    どんどん表示される感じがわかるように動画ファイルも上げておきます。

     


  • USB LCDモジュールの製作

    投稿日 2013年 10月 12日 コメントはありません

    PIC18F14K50を使ってUSBで接続・制御するグラフィックLCDモジュールを作ってみました。

    OLYMPUS DIGITAL CAMERA

    LCDモジュールは手持ちの秋月の128×64のグラフィック液晶です。

    OLYMPUS DIGITAL CAMERA

    PIC18F14K50では端子が不足するので、74HC273(Dラッチ)を使って制御信号をラッチしてからLCDモジュールのデータ線に信号を与えています。

    OLYMPUS DIGITAL CAMERA

    この74HC273はパーツ箱に眠っていたもので、デートコードは8820でした。つまり1988年の第20週ですから25年以上前の1988年5月下旬頃に製造されたものということになります。無事に動くか少し不安ではありましたが・・・。

    OLYMPUS DIGITAL CAMERA

    裏側はこんな感じでぐちゃぐちゃになってしまいました。本当はLCDは180度回した形で取り付けたかったのですが、このLCD、図面の右側から端子が振ってあって、思いっきり間違えてしまいました。それで急遽LCDの方を回して、コネクタをもう一つつける形にしてしまいました。

    ファームウェアは例によって /dev/ttyACM0 としてUSBシリアルとして認識されるようになっていて、液晶モジュールへの制御信号とデータの繰り返しで垂れ流すとそのままLCDモジュールをPICが制御するようになっています。PC側はPythonで記述してあって、一旦GDライブラリを使ってビットマップ上にTrueType(のビットマップフォント)を展開した後、LCD用のコマンド列を生成するようになっています。LCDにはnaga10フォントで半角24文字×6行の表示ができるようになっています。


  • PIC18F14K50でI2C液晶を制御

    投稿日 2013年 9月 29日 コメントはありません

    CDCで動くようになった秋月800円PIC18F14K50ボードですが、これに秋月I2C小型液晶(他でも売ってますが・・・)をつけてみました。

    まあ、日本語データシートに沿ってI2Cの初期化と、液晶の説明書に沿って液晶の初期化をして、CDCでの入力された文字を(エコーバックに加えて)液晶にも表示させているだけです。

    実験風景はこんな感じです。

    OLYMPUS DIGITAL CAMERA

    OLYMPUS DIGITAL CAMERA

    1枚目の写真は全景で、ttyACM0として認識した後、GtkTermで入力した文字が表示された様子です。2枚目はPIC周辺の拡大写真です。
    PICkit3でプログラムを書き込んだ後PGC/PGDは抜いておかないと、これらがUSBのD+/D-になっているためUSBで認識できませんので、2本だけ線が外してあります。ブレッドボード上でピロンと2本伸びたジャンパ線がI2Cの信号線です。I2Cバスのプルアップ抵抗(2.7kΩ)は液晶の下にあります。最初は液晶モジュールのピッチ変換基板に載っているのと同じ10kΩを使っていたら動作が安定せず、2時間くらい悩んでしまいました。やっぱり規格はちゃんと調べて値を決めないとダメですね。
    縦に実装している小さな基板にはSOT23パッケージの5V→3.3Vレギュレータ(TAR5S33)が見えていない面に載っています。液晶モジュールの電源電圧が3.3Vなので入れていて、この基板の裏側にはチップ部品を載せるパッドがあるのでそこにパスコンを載せています。
    ソフトウェアの方ですが、液晶の制御はI2Cで行いますが、シングルマスタモードでの動作前提なので簡単でした。

    PIC18F14K50はPIOはもちろんのこと、今回使ったI2Cの他に、ADC、コンパレータ、PWM、タイマ、UARTなどがある上に、Linuxでバッチリ認識できるUSB付きでボードで800円、チップ単体だと150円(SSOP)とか170円(DIPSOP)で手に入ります。そもそもPICというのがプログラミングする上で多少ナニではありますが・・・、周辺コントローラ(Peripheral Interface Controller = PIC)なのでそう割り切ればまあいいでしょう。

    ここまでの作業はすべてLinuxMint13上で実施しているのですが、このやり方だとPICおよび周辺回路のプログラミング・デバッグはx86のLinuxでしっかりやっつけてほぼ完成したところでRaspberryPiに持っていく、ということが非常に容易になります。実際に今回作ったものを持っていってみました。

    Screenshot-rdesktop

    残念ながら、RaspberryPiではGtkTermは動かないようなのですが、上記の通りしっかり認識できています。
    削除していない評価ボードのプログラムが悪さしているものの、他のターミナルプログラム(cutecom)でも液晶に表示ができています。