今回は列車を往復運転させる簡単なスクリプトを通して、基本的なスクリプトの書き方、実行の流れを解説します。

Continue reading »

Tagged with:  

それでは連載ということで、JMRIとPythonをつかって自動制御を進めていきたいと思います。

今回はPythonとはです

Pythonとは

Pythonとはプログラミング言語(他にはC言語,PHP,Java ….)の一種でパイソンと読みます。Wikipediaには大変詳しい説明が載っています。が、JMRIにおけるPythonの立場を本当に簡単に説明したいとおもいます。

たまにJMRIの解説サイトで多く見られる誤解はPythonをJMRIで自動運転するためのスクリプト言語であるというものです。が、Pythonは汎用のプログラミング言語でありJMRI専用ではありません、JMRIではPythonで簡単に鉄道模型の制御ができるようにライブラリ(関数群)を用意しているのです(これが書きたかったのです)。ですからPythonを使えるようにすることはJMRIのみならずパソコン用のプログラミングもできるようになる可能性があるわけです。また、Pythonはプログラミングを初めて勉強するのに向いているほうの言語ですからその後にC言語やJava等の言語を学習するハードルを下げることができるかもしれません。

 

 

 

今回は短い記事となりましたが、次回から実際に利用していきたいと思います。

Tagged with:  

BDL168とRX4のLoconetとの通信部分は解析できたので次は車両から発信(発光?)するパケットの構造を決めてAVRで送受信の実験をしたいと思います。
(実はAVRとLoconetの接続を避けているだけなのですがw。UARTを一旦MAX232を通せばLocoUSB Rev.1と同じ回路でLoconetに接続できるのですが、LoconetはオープンコレクタなのでわざわざRS232に変換しなくても….長くなるので今度にします。)

  1. パケット構造の決定
  2. パケット内容の決定
  3. AVRに実装

という順番で書きます。

Continue reading »

Tagged with:  

AVRとLoconetの接続

On 2009年5月10日, in DCC機器の自作, by chibiegg

車両検出を行うにあたり、最後の実験であるAVR(マイコン)をLoconetに接続し、実際にLoconet上に検出情報を送信することを試みます。

Loconetはマイコン関係でいうところのUART(USART)、パソコンではRS-232CのTTLレベル(正論理)に相当する信号です。詳しくはDigitraxのLocoNet ® Personal Use Edition 1.0を参照してください。

LocoUSB Rev.1では一旦MAX232でRS-232C(負論理)に変換してからJMRIのページの参考回路を利用しましたが、TTLレベルのシリアルをMAX232を利用せずに安価な回路でLoconetに接続することを実現したいと思いました。

Continue reading »

Tagged with:  

BDL168 & RX4のLocoNetパケット解析

On 2009年5月6日, in DCC機器の自作, by chibiegg

車両検出機器を自作するにあたり、BDL168 & RX4と完全互換にしたいので、それらがLocoNetに送出するパケットがどのようなものか調べていきます。(車両検出機器の構想についてはコチラを参照ください。)
が、実機をもっていないのでインターネット上の資料からのみ推測します。
Python初心者のNゲージ自動制御に挑戦!さんのJMRIでトランスポンディングという記事のJMRIのLoconet Trafficのスクリーンショットが手がかりでした。(写真は当方で同じ状態を再現したもの)

BDL168 & RX4のLocoNet パケット

BDL168 & RX4のLocoNet パケット

JMRIにはLoconet Trafficを利用するることで、LocoNet上に流れているパケットが説明付きで見れます。また、Send LocoNet Packetを利用することで好きなパケットをLocoNet上に流すこともできます。
これを利用して調べていくことにします。

Continue reading »

Tagged with:  

車両検出機器の構想

On 2009年5月4日, in DCC機器の自作, by chibiegg

最終目標はもちろん自動運転なのですが、そのためには列車の位置を把握する必要があります。

DigitraxではBDL168というレール上の消費電力を元に在線検知するボードと、RX4というデコーダから発信されるアドレスを受信するアンテナを利用するのが一般的と思われます。

しかしどちらもやはり高価(機能と便利さを考えると手頃な値段なのだが)でお小遣いで買い足していくのには無理があります。

ということで、例によって自作することにします。

Continue reading »

Tagged with:  

Loconet Server

On 2009年5月3日, in JMRI, by chibiegg

普段Macを利用しているのですが、この記事のように製作したLocoUSB Rev.1はMacやVistaでは利用できません。(これについての説明はこの記事を参照)

そこで、Rev.2をつくるまでの間はWindows XPのパソコンにLoconetを接続し、MacとXPをJMRIの機能であるLoconet Serverでネットワーク接続して利用することにします。

Continue reading »

Tagged with:  

ポイントデコーダの実験

On 2009年5月3日, in DCC機器の自作, by chibiegg

DCCのパケットの取得はできたのでポイントデコーダを作りたいと思います。

  1. マイコンからポイントを駆動させる
  2. DCCパケットからアクセサリデコーダへの命令を取得する
  3. 上記2つをくっつける

という手順で進めます。

Continue reading »

Tagged with:  

DCCパケットの取得

On 2009年5月3日, in DCC機器の自作, by chibiegg

今回からレールからDCCのパケットを受信する実験をしたいとおもいます。

そのためにはDCCの規格を読まないといけません。DCCの標準規格はNMRAという団体が策定しています。DCCのパケット情報についての説明はNMRA STANDARDの中のElectrical Standards For Digital Command Controlに電気的な説明が、Communication Standards For Digital Command Controlにパケットについてが記載されています。

そこでこの書類を読んで順番に進めていくのですが、桂庵さんが日本語に翻訳なさっているのでそちらをありがたく参照させていただきます。さらにはDCCパケットの内容についても詳しく説明なさっているので非常に参考になります。

Continue reading »

Tagged with:  

LocoUSB Rev.1

On 2009年4月26日, in JMRI, by chibiegg

(注意:最新はLocoUSB Ver.2です)

Loconetとパソコンをつなぐためのインターフェースを製作します。

市販されているものですと、MS100やLocoBuffer-USBなどがあります。

MS100はシリアルポート接続なのでシリアルポートが搭載されていないパソコンでは使えませんし、USBシリアル変換というものも存在しますが、Loconetの特殊な通信速度(16600bps)には対応していないものがほとんどです。

また、LocoBuffer-USBは日本で入手するのはめんどくさく、価格もそれなりにします。

以上の理由でインターフェースを製作することにしました。

Continue reading »

Tagged with: