====== Desktop Station pi (DSpi) ======
**This product is discontinued. We DO NOT release newer version for raspberry pi.**
Instead of DSopi, we have [[DSair2_ukeng|new useful Wi-Fi command station DSair2]] built in Wi-Fi AP and Web server!
DCC and Marklin Control Expansion board for Raspberry pi
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSPi2-thumbnail2.jpg}}
===== Features =====
* Raspberry pi can control DCC and Marklin locomotives and accessories via this board.
* This board has internal 5V/1.5A DC Power supply. You can only connect DC12v to 20V power supply to this board. Not required microUSB type DC5V power supply!
* Node.js and C++ library and source code examples are available for free of charge.
* If uses Node.js example, you can control DCC and Marklin locomotives via your smartphone or tablets!
* The price is 35EUR plus shipping (3EUR SAL or 10EUR EMS)
* Useful Instruction is available. [[http://desktopstation.net/bin/InstructionDSpi_draft2016.pdf|Download instruction]] (written in English)
* 小型コンピュータ Raspberry piでDCCやメルクリンのデジタル鉄道模型(Z, N, HO, Gゲージ等)を制御できます
* 線路に流せる電流はキットのままの状態で2Aまで。3.5A程度まで流す場合は放熱器やファンを取り付けてください。
* 電源は単一DC12~24Vに対応。大容量の5V電源を内蔵しているので別にmicroUSB端子への5V ACアダプタの接続は不要です!
* 自分で高機能なDCCコントローラを開発できます。
* 無線LAN対応(要USB無線LANアダプタ)や、テレビ画面での制御など、できることは無限大です。
* DCCやMM2のパルス生成はDSpiボード上のマイコンで行うので、Raspberry piのCPUには負荷はありません。
* これだけ入って、キット価格は4000円+郵送費200円です。
* C言語でのライブラリ、Node.jsのサンプルアプリ(iPadやスマートフォンのブラウザから操作可)を無償配布しています。ご自由に、ソフト開発ができます。
* もちろん、[[http://desktopstation.net/index_jp.html|Desktop Stationソフトウェア]]でPCからの操作に対応しております。無線LANに繋がっていれば、ワイヤレスで操作できます。
===== 動かしている様子 =====
[[http://youtu.be/Z_fS5fOdcoM| Sample video on the Youtube]]
===== 入手方法 =====
1キット(自分で半田付けする場合)、4000円です。半田付け済みは、動作チェックや半田付けの代行手数料として価格を上乗せしています。
|Soldered | 50EUR (6000円) |
|Unsoldered kit| 35EUR (4000円) |
[[http://desktopstation.net/order/index_jp.html|ご注文ページ]]からどうぞ。管理者にメールして頂いても結構です。
2016年6月18日付で在庫切れにつき頒布終了。再開予定未定。\\
Currently out of stocks. Now we are considering to new business using DSpi. Sorry for inconvenience.
===== 必要なもの =====
* Raspberry pi 2 type B (旧タイプは遅いので非推奨)
* CLASS10 SDHC card (NOOBSやRaspbianがインストール済みのもの。SDカードへのインストール方法はネットを参照。
* DSpi (当方から有償頒布、価格は4000円+郵送費200円)
* ACアダプタ (電流1A超を強く推奨。電圧は日本国内の車両やアクセサリ類はDC12Vです。メルクリン、Rocoなど海外製では16~20Vのいずれかのケースとなりますので、お使いの模型に合わせて電圧を選択してください。)
* 線路までの配線(レールのメーカーによります)
* (あったら良いもの) USB無線LAN Adapter, case
* [[http://www.tightvnc.com/|TightVNC (Viewer)]]
===== Software Download =====
^Module name ^Version ^Date ^Notes ^
|[[http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/ds_sample.zip | C++ library and ds_sample for DSpi]] | draft | 2015 Apr | C言語ユーザー向け |
|[[http://desktopstation.net/gateway/bin/dsgw_R1.ZIP | Desktop Station for raspberry pi| and Node.js]] | R1 | 2015 May 8 | Node.jsユーザー向け, CV書き込み機能のバグを修正 |
|[[http://desktopstation.net/bin/dsgw_R3.zip | Desktop Station for raspberry pi| and Node.js]] | R3 | 2016 June 9 | Node.jsユーザー向け, 最新のrpio, Node.js対応。 |
===== 基板の説明 =====
HAT仕様を参考に、勝手な解釈のもと作成しました。汎用のラズパイ用ケースに入らない可能性があるので、ご注意ください。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSpi_R3b_omote.jpg?400}}
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSpi_R3b_ura.jpg?400}}
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSpi_R3b_soldered.jpg?400}}
===== 回路図 =====
回路図:\\
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/RPiHat_rev_3.PNG?400}}
アートワーク:\\
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/RPi2_5.png?400}}
===== 部品表 =====
^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 | 20x2 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ではよく使われる環境なので、ネットで立ち上げ方を調べて準備を完了させてください。なお、その他の環境での動作確認は行っておりません。
==== 鉄道模型側 ====
[[http://desktopstation.net/gateway/index_jp.html|DCC/MM2シールド]]と同等の機能を持っています。鉄道模型側は、DCCまたはMM2の機関車であればゲージに関係なくお使いいただけます。
===== セットアップ手順 =====
NOOBSでインストールしたRaspbianをベースとします。検証は、Raspberry pi2 Bのみです。バージョン1では未確認です。
ds_sampleのライブラリは、以下のソフトやドライバ設定に依存していますので、VNCやホスト名設定以外は、基本的に全て行ってください。
{{http://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アダプタの差込と設定
* ホスト名の変更・登録(変更が必要であれば)
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
詳しくは、[[http://www.myu.ac.jp/~xkozima/lab/raspTutorial1.html|こじ研の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で使用する方法を推奨します。
[[http://make.kosakalab.com/make/electronic-work/nodejs_raspi/|Raspberry Pi に Node.js をインストールする]]が分かりやすいです。
ここでは、詳細なインストール手順は省略しますが、node.js 6.xとnpmのインストールが完了していることをご確認ください。
以下が当サイトで動作を2016年5月に確認したバージョンです。今後のアップデート状況によっては本ページ記載の手順では対応できない場合もありますので、予めご了承ください。
^software ^version ^notes ^
|Raspbian | JESSIE, Mar 2016 | |
|node.js | 6.x | |
|[[https://github.com/jperkin/node-rpio|node-rpio]] | 0.9.x | |
DSpi用のNode.jsアプリでは、[[https://www.npmjs.com/package/rpio|rpio]]が必要です。インストールは、npm、Node.jsのインストールが終わっていれば以下のコマンドを打つだけと非常に簡単です。
npm install rpio
Root権限で、以下の設定を行う必要があります。
$ cat >/etc/udev/rules.d/20-gpiomem.rules <
本ページで頒布している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/
以下のような画面が表示されれば成功です。
{{http://desktopstation.net/gateway/figures/DSServer_01_thm.png}}
==== TightVNC ====
> sudo apt-get install tightvncserver
> tightvncserver
自動起動する場合は、init.dの書き換えを行います。ネットで検索すると出てきます。
* [[http://assimane.blog.so-net.ne.jp/2013-03-27 | Raspberry Piで遊ぼう - No.5:VNC接続をしよう]]
===== サポート =====
製作者は、Raspberry piやNode.js、Linuxに精通しているわけではありませんので、ハードの故障など以外の、使い方やカスタマイズ方法などは、基本的にご自分で解決してください。
また、フォーラムで質問を行って有志に回答をもらうことで解決できるかもしれませんので、[[http://desktopstation.net/forum/wforum.cgi | Desktop Station フォーラム]]を活用ください。