フォト
2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ

« IchigoJamのファームウェアを0.91に更新しました | トップページ | Arduinoで16x16 LEDドットマトリックスを利用する(8) »

2015年1月21日 (水)

IchigoJamで作成したプログラムをパソコンにロード/セーブする

2015/05/25 GUIベースのツールも修正版しました 詳細は こちら



2015/01/28  記事を大幅修正しました

2015/02/08  記事を追記・修正、配布ファールのバージョンを更新しました
2015/06/14  配布ファールのバージョンを更新しました.

IchigoJamがじわじわをメディアに取り上げられてきていますね。
個人的には基板剥き出しではなく、MSXみたいな拡張スロットでIO拡張するような
形式にして欲しいなぁ。

さて、本題に入ります。
現在使っていてちょっと不便に感じるのは、作成したブログラムの保存ですね。

本体に保存は出来るのですが、プログラムを沢山作成した場合に対応できません。
好きな時に好きなプログラムを動かしたいです。

大きい画面のパソコンでプログラムを確認したり、ホームページに掲載されている
サンプルプログラムを気軽に動かしてみたいです。
公開や配布が不便だと思っております。

そこで、本日は休暇のためちょっとツールを作ってみました。

作成したツールの概要
 
IchigoJamで作成したプログラムをパソコンに取り込んだり、逆にパソコンから
  IchigoJamに転送するツールです。
  コマンドプロント上で動かして使います。

  本ツールを利用するには、シリアル接続を行う製品が別途必要となります。
  シリアル接続を行う製品、頻繁にファームウェアの改良が行われているので、
  ほとんど必須アイテムですね。

  ツール(コマンド)
 rsave.exe リモートセーブコマンド
      IchigoJam上のプログラムをパソコン上に保存します。 

  rload.exe リモートロードコマンド
      パソコン上のプログラムをIchigoJamにロードします。

  rcmd.exe リモート実行コマンド
      IchigoJam上で任意のコマンドを実行します。

突貫工事で作成したプログラムでテスト不十分な感がありますが公開します。

ダウンロードはこちら :ichigotools06.zip
  解凍すると、RLOAD.EXE とRSAVE.EXE、RCMD.EXE が得られます。
 
  <
      2015/01/22 修正

       環境により、MSVCR120.dll がないと動作ようです。
       このエラーが出ないように、プログラムを修正しました。

      2015/02/08 修正
       rloadコマンドを使う場合、1行の文字列が長いと文字抜けが発生する
        場合がありました。その修正をしました。
      2015/06/14 修正
       ファームウェアの更新によりrcmd、rsaveで出力が取り込めないエラーを修正しました。
 

  実行モジュールを含んでいるためブラウザが警告を出す場合がありますが、
  継続等を選択して続行して下さい。
   また、解凍した実行モジュールにはセキュリティのブロックがされている場合が
  あります。プロパティを開いて[ブロック解除]をしてから使って下さい。

  05

利用に必要なもの
・IchgoJam本体
・Windowsパソコン
・IchgoJamとパソコンでシリアル通信するための機器(3.3V対応であること)

 

  上記のような製品ですが、一般的には"USB-UART変換モジュール"と呼ばれています。
  様々な製品がありますが、次の条件を満たしていれば何でも良いです。
    1)3.3V対応であること(これは重要! 5V出力だとIchgoJamが壊れる可能性あり)
    2)信号線として GND、TXD、RXDがあればOK
    3)利用の際には、ドライバーソフトが必要なので、入手かつインストールが自力で
       出来ること。
       ドライバーソフトは製品で採用しているチップ(IC)により、入手のレベルが
       変わります。FTDI 社の正規ICが採用されていると、自動でインストール出来ます。
       (その分ちょっと高いです)。
       Silicon Labs社のCP210X、中華WCHのCH340とかが乗っている製品は安いです。
       写真は、CP2102搭載で240円くらいで入手したものです。


環境および手順
  1)IchigoJamとパソコン間のシリアル通信のための結線
    ・シリアル通信のための結線 ・・ 3線のみ
         IchigoJam側    USB-UART
         GND(22ピン)        GND
         RXD(15ピン)         TXD
         TXD(16ピン)         RXD 

    ・結線したらIchigoJamの電源をONにし、USB-UARTモジュールもパソコンに
     接続して通信可能な状態にします。

     ここで、結線には"ジャンパワイヤ"とか呼ばれている、電線を使ています。
     電線の両端が端子に接続しやすいようにオス、メス型になっています。
     IchigoJamはメス端子、USB-UARTモジュールはオス端子なので、
     ジャンパワイヤの片方がオス、もう片方がメスのものを使っています。
     これもあると何かとよいと思います。

   Dscn3553

  2)ツールを使う
     ・コマンドプロントを開き、ダウンロードしたコマンドが実行可能な状態にします。
      (パスを通す、ダウンロードしたフォルダに移動する等)
       01

     ・RSAVEコマンドでIchigoJamのプログラムをパソコンに保存する場合
       rsave com5 hogehoge.txt      
        02

        コマンドを実行すると、IchigoJam上で"LIST" コマンドを実行して、
        その結果を指定したファイルに保存します。
        保存形式はプレーンテキストなので、メモ帳で開くことが出来ます。

     ・RLOADコマンドでパソコン上のプログラムソースをIchigoJamにロードする場合
       rload com5 hogehoge.txt
       03

       コマンドを実行すると、 IchigoJam上で"NEW" コマンドを実行して、
       プログラムを消去後、1行単位でプログラムを転送します。
       1行毎に0.8秒の待ちを行っているので、プログラム行数が多いと時間がかかります。
       待ちを行わないとデータの取りこぼしが発生するので入れています。

     ・RCMDコマンドでIchigoJamで命令文を実行する場合
       rcmd com5  PRINT 1+1
       rcmd com5  PRINT \"Hello World\"
       rcmd com5  PRINT 1+1
       rcmd com5  "LED 1:WAIT 50:LED 0:WAIT 50"
      
       シリアル通信経由で、IchigoJam上でコマンドを実行します。
       実行した出力結果はシリアル通信でパソコンで取り込み、表示します。
       PRINT文などで使う "(ダブルクォーテーション)文字を使う場合は、\” とします。
       ゲーム等のスクリーン座標を制御するプログラムの実行には向きません。

       ※ 本コマンド、実行結果の表示の最終行にゴミが表示される場合がありますが、
          気にしないで下さい。    

     06

< 2015/02/08 追記
  実際の利用では、サクラエディタからこれらのコマンドを呼び出して使っています。

  Photo

 
外部呼出しマクロを作成し、メニューに登録しています。
 
  エディタから、現在編集中のソースをIchighoJamにアップロードしたり、
  IchighoJam上のソースを取り込んだり、アップロードしたプログラム実行したり
  できます。



注意事項

    プログラムソースはテキスト形式ですが、IchigoJamとパソコンで扱える文字で
    異なる部分があるので、文字化けが発生する場合があります。
    取りあえず、半角カタカナは問題ないみたいです。

    あまりデバッグを行っていないので、他の環境では正常に動かないかもしれません。

おまけ:コマンドプロントで簡易的にIchigoJamの操作を行う方法
    パソコンとIchigoJamを同時に使っている時、キーボードが1つで済むのでちょっと
    便利な技です。

    まずは、シリアル通信が確立しているものとし、ポートCOM5を例に説明します。

    MODEコマンドでシリアル通信の設定を行った後、
 > mode COM5 BAUD=115200 PARITY=n DATA=8 STOP=1 to=off xon=off odsr=off octs=off dtr=off rts=off idsr=off      
    > TYPE CON > COM5
    と実行すると、入力した文字列をそのままIchigoJamに転送してコマンドの実行が
    出来ます。

   04

   上の画面はlistコマンドを実行しています。
   結果はIchigoJamに接続しているモニターに表示されます。
   フルスクリーン操作は出来ませんが、ロード/セーブ時の確認には使えます。

   CTRL+Zを入力後、ENTERキーを押すと終了します。
   私は入力がめんどいのでバッチコマンドを作って利用しています。
     setserial.bat com5
 
  中身
     mode %1: BAUD=115200 PARITY=n DATA=8 STOP=1 to=off xon=off odsr=off octs=off dtr=off rts=off idsr=off
   
  送信が出来るのなら、受信も出来るはずと、
  TYPE COM5 > hogehoge.txt

  をやっても何故かうまく行きません。
  何か方法があるかも..

こちらに、続きの記事があります。

« IchigoJamのファームウェアを0.91に更新しました | トップページ | Arduinoで16x16 LEDドットマトリックスを利用する(8) »

IchigoJam」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/61008845

この記事へのトラックバック一覧です: IchigoJamで作成したプログラムをパソコンにロード/セーブする:

« IchigoJamのファームウェアを0.91に更新しました | トップページ | Arduinoで16x16 LEDドットマトリックスを利用する(8) »