目次

Desktop Station pi (DSpi)

This product is discontinued. We DO NOT release newer version for raspberry pi. Instead of DSopi, we have new useful Wi-Fi command station DSair2 built in Wi-Fi AP and Web server!

DCC and Marklin Control Expansion board for Raspberry pi

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dspi2-thumbnail2.jpg

Features

動かしている様子

Sample video on the Youtube

入手方法

1キット(自分で半田付けする場合)、4000円です。半田付け済みは、動作チェックや半田付けの代行手数料として価格を上乗せしています。

Soldered 50EUR (6000円)
Unsoldered kit 35EUR (4000円)

ご注文ページからどうぞ。管理者にメールして頂いても結構です。

2016年6月18日付で在庫切れにつき頒布終了。再開予定未定。
Currently out of stocks. Now we are considering to new business using DSpi. Sorry for inconvenience.

必要なもの

Software Download

Module name Version Date Notes
C++ library and ds_sample for DSpi draft 2015 Apr C言語ユーザー向け
Desktop Station for raspberry pi| and Node.js R1 2015 May 8 Node.jsユーザー向け, CV書き込み機能のバグを修正
Desktop Station for raspberry pi| and Node.js R3 2016 June 9 Node.jsユーザー向け, 最新のrpio, Node.js対応。

基板の説明

HAT仕様を参考に、勝手な解釈のもと作成しました。汎用のラズパイ用ケースに入らない可能性があるので、ご注意ください。

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dspi_r3b_omote.jpg

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dspi_r3b_ura.jpg

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dspi_r3b_soldered.jpg

回路図

回路図:

アートワーク:

部品表

Parts No Parts name Specification Notes
R2 Resistor 470 Ohm
R3 Resistor 470 Ohm
C1 Capacitor 0.1uF MLC
C2 Capacitor 220uF
C3 Capacitor 100uF
C4 Capacitor 1uF MLC
IC1' DIP socket 28pins DIP socket
IC1 MCU ATMEL ATMEGA328P Main controller
IC2 Motor Driver TOSHIBA TB6643KQ Pulse generator for DCC and MM
IC3 DC/DC converter MURATA OKI-78SR-5/1.5-W36-C Output 5V 1.5Amax
F1 Resettable fuse Tyco RUEF250 3.0A shut off
SW2 Tactical switch
SW3 Tactical switch
SW4 Tactical switch
D2 LED 3mm, red
D3 LED 3mm, yellow
CN1 20×2 frame header
CN2 2pins terminal
CN3 DC input jack MH-179P compatible recommended high power version as 2DC0005D100
- M3 nut To infix TB6643KQ.
- M3 screw To infix TB6643KQ.
- M3 nuts for spacer 4 pcs
- M2.6 spacer 4 pcs
- M2.6 screw 4 pcs

組み立て方法

部品番号に合うように部品をはんだ付けしてください。

なおはんだ付け後、DSpiボードをそのままRaspberry piボードに差し込むと、DCジャックがRJ45コネクタに干渉します。M3ナットを付属しますので、高さをかさ上げしてご使用ください。次のバージョン(R3A)で修正します。

使い方

接続関係

DC12V~DC20V以内のACアダプタをご用意ください。国内の鉄道模型はたいてい12Vです。メルクリンは16~18Vが使われます。

なお、Raspberry piボードに通常要求される、microUSB経由で5Vを供給する必要はありません。DSpiボードに1.5Amax出力の5V電源(大出力タイプのDC/DCコンバータ)を置いていますので、負荷に関係なく問題なく動作するはずです。 逆に、DSpiボードを接続する場合は、microUSBポートには何も接続しないでください。電源が二重に入ることになります。

ソフト側

本ページでは、NOOBSを使ってRaspbianをインストールしたSDカードを使っています。Raspberry piではよく使われる環境なので、ネットで立ち上げ方を調べて準備を完了させてください。なお、その他の環境での動作確認は行っておりません。

鉄道模型側

DCC/MM2シールドと同等の機能を持っています。鉄道模型側は、DCCまたはMM2の機関車であればゲージに関係なくお使いいただけます。

セットアップ手順

NOOBSでインストールしたRaspbianをベースとします。検証は、Raspberry pi2 Bのみです。バージョン1では未確認です。 ds_sampleのライブラリは、以下のソフトやドライバ設定に依存していますので、VNCやホスト名設定以外は、基本的に全て行ってください。

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dspi20150315_2-thumbnail2.jpg

Raspi-config

> sudo raspi-config

raspi-configのAdvanced Optionsで、SPIをEnableにする。

> sudo nano /boot/config.txt

config.txtの一番下に、「dtparam=spi=on」と書いておく。

> sudo nano /etc/modules

ターミナル内で動くエディタnano上で、一番下の行に「spidev」と記載する行を追加してセーブ(Ctrl+O)して終了(Ctrl+X)します。

ネットワーク関連

以下の作業をしておくと、より使いやすく便利になります。

USB無線LANアダプタは、家電量販店で数千円で販売されています。 GW-USNANO2Aや、WLI-UC-GNMなどが挙げられていますが、多少古いアダプタでも、ドライバがこなれているものであれば動作するようです。当方の環境では、特売のかなり古いアダプタ(ノーブランド)でも、あっさり認識して安定して動いております。家にあれば、あるものでも問題ないかと思われます。逆に、最新の無線チップを搭載したものは対応していない場合がありますので、ご注意ください。

ホスト名の変更は、以下の手順で行います。まず以下のコマンドを打つとエディタが開くのでお好きなホスト名を設定します。私はdspiとしてます。

sudo nano /etc/hostname

次に、IPアドレスとホスト名の関連付けをしますので、以下のコマンドを打ちます。

sudo nano /etc/hosts

127.0.0.1のところに、raspberrypiと書いてあるはずなので、先ほど記載したホスト名に直して保存します。

最後に、起動時に自動的にDNSサーバーに登録するため、Avahiをインストールします。

sudo apt-get install avahi-daemon

詳しくは、こじ研のAvahiデーモンのインストールの章をご覧ください。

WiringPi (C言語で操作する方向け)

Raspberry PiのGPIO(汎用端子)、UARTやSPI,I2C等のペリフェラル類を簡単にアクセスするためのライブラリです。記述はArduino風です。本サンプルでは、このライブラリをベースにしています。
Wiring pi is a library to access GPIO and UART, SPI, I2C. The description is similar with Arduino. This sample is based on this library. The following command is to download wiringPi related software.

> sudo apt-get install libi2c-dev
> sudo apt-get install git-core
> git clone git://git.drogon.net/wiringPi

wiringPi(Raspberry Pi用のGPIOライブラリ)のインストール作業が中心です。
The following command means to install wiringPi.

> cd wiringPi
> ./build

C言語でのコンパイル方法
How to compile this sample.

> g++ ds_sample.c DSGatewayLibPi.cpp -lwiringPi -o ds_sample

コンパイルした実行ファイルの実行方法
How to execute this sample.

> ./ds_sample

Node.js (Webアプリで使用する方向け)

Webサーバー・アプリケーションサーバーソフトのNode.jsをインストールすることで、Webアプリを実装できます。当方では、様々な端末から操作できるようなサーバーを容易に構築できるNode.jsで使用する方法を推奨します。 Raspberry Pi に Node.js をインストールするが分かりやすいです。

ここでは、詳細なインストール手順は省略しますが、node.js 6.xとnpmのインストールが完了していることをご確認ください。 以下が当サイトで動作を2016年5月に確認したバージョンです。今後のアップデート状況によっては本ページ記載の手順では対応できない場合もありますので、予めご了承ください。

software version notes
Raspbian JESSIE, Mar 2016
node.js 6.x
node-rpio 0.9.x

DSpi用のNode.jsアプリでは、rpioが必要です。インストールは、npm、Node.jsのインストールが終わっていれば以下のコマンドを打つだけと非常に簡単です。

npm install rpio

Root権限で、以下の設定を行う必要があります。

$ cat >/etc/udev/rules.d/20-gpiomem.rules <<EOF
SUBSYSTEM=="bcm2835-gpiomem", KERNEL=="gpiomem", GROUP="gpio", MODE="0660"
EOF

本ページで頒布しているDSpi for node.jsのアプリは、お好きなところに解凍して格納ください。 実行方法は簡単で、以下のコマンドを打つだけです。

sudo node dsgw.js

このコマンドを自動起動登録すれば、起動時に自動的にWebアプリが立ち上がりますので、簡単に鉄道模型の制御を行う準備が完了できます。

ブラウザからは以下のようにしてアクセスします。ポート番号が8124なのは、Node.jsで標準であること、ポート80(通常、ブラウザで使われるポートでURL打ち込みの際にコロン“:“以下を省略できる)は管理者権限の設定などが煩雑であったり、セキュリティ的にも対策が大変でよろしくないので8124ポートをそのまま使うことを強く推奨します。

ホスト名(dspi)を設定している場合:
> http://dspi.local:8124/

IPアドレス(192.168.0.2)でアクセスする場合
> http://192.168.0.2:8124/

以下のような画面が表示されれば成功です。

TightVNC

> sudo apt-get install tightvncserver
> tightvncserver

自動起動する場合は、init.dの書き換えを行います。ネットで検索すると出てきます。

サポート

製作者は、Raspberry piやNode.js、Linuxに精通しているわけではありませんので、ハードの故障など以外の、使い方やカスタマイズ方法などは、基本的にご自分で解決してください。

また、フォーラムで質問を行って有志に回答をもらうことで解決できるかもしれませんので、 Desktop Station フォーラムを活用ください。