ユーザ用ツール

サイト用ツール


dsair_wifi_specification

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
dsair_wifi_specification [2019/04/09 22:05]
– [ステータスデータの一覧] yaasan
dsair_wifi_specification [2024/01/05 08:43] (現在)
– [活用方法] yaasan
行 1: 行 1:
 ====== DSair Wi-Fi Specification ====== ====== DSair Wi-Fi Specification ======
 +
 +This page describes Wi-Fi interface specification of DSair2. DSair2 supports http REST like API. You can control DCC and Marklin locomotives and turnouts via http.
  
 本ページでは、FlashAirベースで開発されたDSairに、ユーザーの皆様が開発・製作した機器やソフトウェアを接続してコントロールするための仕様を公開します。世界で唯一のオープンな無線・Wi-Fi対応のDCCコマンドステーションとして、活用いただければ幸いです。 本ページでは、FlashAirベースで開発されたDSairに、ユーザーの皆様が開発・製作した機器やソフトウェアを接続してコントロールするための仕様を公開します。世界で唯一のオープンな無線・Wi-Fi対応のDCCコマンドステーションとして、活用いただければ幸いです。
 +
 +ここに掲載した仕様・コマンドについて、ライセンスはございません。個人利用、クラブ利用、商用利用を含め、常識の範囲でご自由にお使い下さい。
  
 ===== 接続方法 ===== ===== 接続方法 =====
行 11: 行 15:
  
 DSairへのコマンドの渡し方は、FlashAirの[[https://flashair-developers.com/ja/documents/api/commandcgi/|CGIコマンド]]の[[https://flashair-developers.com/ja/documents/api/commandcgi/#131|共有メモリアクセス]]を使用します。 DSairへのコマンドの渡し方は、FlashAirの[[https://flashair-developers.com/ja/documents/api/commandcgi/|CGIコマンド]]の[[https://flashair-developers.com/ja/documents/api/commandcgi/#131|共有メモリアクセス]]を使用します。
 +
 +注: DSairLiteではRaspberryPi PicoWをベースとしているため、FlashAirコマンドを模した機能をサーバーに実装しています。
  
 <code> <code>
 +DSair2の場合:
 http://flashair/command.cgi?op=131&ADDR=0&LEN=64&DATA=DSair内部コマンド http://flashair/command.cgi?op=131&ADDR=0&LEN=64&DATA=DSair内部コマンド
 +DSairLiteの場合:
 +http://192.168.42.1/command.cgi?op=131&ADDR=0&LEN=64&DATA=DSair内部コマンド
 </code> </code>
  
行 20: 行 29:
 ===== DSairへの命令・コマンド ===== ===== DSairへの命令・コマンド =====
  
-==== 関数一覧 ====+==== 関数一覧/Function list ====
  
-^機能 ^関数 ^使用例 ^引数解説 +^Function ^Command ^Example ^Notes 
-|線路電源|PW(PowerFlag) | PW(1)|PW(0)で線路電源OFF、PW(1)でONです。| +|線路電源,Power|PW(PowerFlag) | PW(1)|PW(0)で線路電源OFF、PW(1)でONです。| 
-|進行方向|DI(LocoAddr,Direction) |DI(49155,1) | | +|進行方向,Direction|DI(LocoAddr,Direction) |DI(49155,1) | | 
-|ファンクション|FN(LocoAddr,FuncNo,FuncVal) |FN(59140,2,1) | | +|ファンクション,Function|FN(LocoAddr,FuncNo,FuncVal) |FN(59140,2,1) | | 
-|車両速度|SP(LocoAddr,Speed,Speedstep)|SP(59140,0,2) | | +|車両速度,LocSpeed|SP(LocoAddr,Speed,Speedstep)|SP(59140,0,2) | | 
-|ポイント|TO(AccAddr,AccDirection)|TO(14337,0) | | +|ポイント,Turnout|TO(AccAddr,AccDirection)|TO(14337,0) | | 
-|アナログ|DC(AnalogSpeed,AnalogDirection)|DC(300,2)| 線路電源OFFの時だけ使用可能。 |+|アナログ,AnalogPWM|DC(AnalogSpeed,AnalogDirection)|DC(300,2)| 線路電源OFFの時だけ使用可能。 
 +|S88在線センサ,S88 Sensor |gS8()|gS8(1)| S88在線センサのデータ収集スタート |
  
  
-^引数 ^意味 ^備考 ^+^Parameters ^Meanings ^Notes ^
 |PowerFlag|OFF=0, ON=1|線路電源の状態を切り替えます。| |PowerFlag|OFF=0, ON=1|線路電源の状態を切り替えます。|
 |Direction|FWD=1, REV=2| 0はFWDと見なします。| |Direction|FWD=1, REV=2| 0はFWDと見なします。|
行 42: 行 52:
 |AnalogDirection| 0 or 1:FWD, 2:REV|アナログの極性。0または1はFWD, 2はREVとなります。 | |AnalogDirection| 0 or 1:FWD, 2:REV|アナログの極性。0または1はFWD, 2はREVとなります。 |
  
 +Example of speed command is the follwoing.\\ 
 DSairにコマンドを送る例としては、以下のようになります。 DSairにコマンドを送る例としては、以下のようになります。
  
行 48: 行 59:
 </code> </code>
  
 +You can only send as HTTP GET command.\\ 
 HTTP GETコマンドを送るだけです。 HTTP GETコマンドを送るだけです。
  
行 55: 行 67:
 0.5秒(500ms)間隔程度で、コマンドを送信してください。 0.5秒(500ms)間隔程度で、コマンドを送信してください。
 他のWi-Fiデバイスからコマンドを同時に打ち込んだ場合、後着優先となります。 他のWi-Fiデバイスからコマンドを同時に打ち込んだ場合、後着優先となります。
-==== アドレスの考え方 ====+==== Address meanings / アドレスの考え方 ====
  
 +LocAddr and AccAddr define 16bit address space including DCC and Marklin Motorola2. This means you can control locootives and turnouts as 16bit address.\\ 
 LocoAddr, AccAddrのアドレスには、DCCとメルクリンの二つのプロトコルを包含し、さらに車両とアクセサリもカバーした16bitのアドレス空間が定義されています。 LocoAddr, AccAddrのアドレスには、DCCとメルクリンの二つのプロトコルを包含し、さらに車両とアクセサリもカバーした16bitのアドレス空間が定義されています。
  
-^アドレスの種類 ^アドレス範囲 ^アドレスの意味 ^備考 +^Address type ^range ^Meaning ^Notes 
-|Marklin Motorola 2 車両| 0x0000-0x07FF | 0(0x0000) - 255(0x00FF) | | +|Marklin Motorola 2 Locomotives| 0x0000-0x07FF | 0(0x0000) - 255(0x00FF) | | 
-|DCC 車両| 0xC000-0x1FFF | 0(0xC000) - 9999(0xE70F) | | +|DCC Locomtoives| 0xC000-0x1FFF | 0(0xC000) - 9999(0xE70F) | | 
-|Marklin Motorola 2 アクセサリ| 0x3000-0x37FF | 1(0x3000) - 320(0x3140) | | +|Marklin Motorola 2 accessory| 0x3000-0x37FF | 1(0x3000) - 320(0x3140) | | 
-|DCC アクセサリ| 0x3800-0x3FFF | 1(0x3800) - 2044(0x3FFC) | |+|DCC accessory| 0x3800-0x3FFF | 1(0x3800) - 2044(0x3FFC) | |
  
 実際にコマンドに使用する場合には、10進数に直して使用してください。たとえば0xC000->49152となります。 実際にコマンドに使用する場合には、10進数に直して使用してください。たとえば0xC000->49152となります。
行 115: 行 128:
  
 ==== ステータスデータの一覧 ==== ==== ステータスデータの一覧 ====
 +
 +Status Data from DSair2(FlashAir shared memory) is ASCII text data. 
  
 データはすべててテキストである。S88データは、BASICからs88start命令が実行されると表示開始されます。実態は、gs8というコマンドをDSair2に送ると、S88機能が動作する流れになっています。 データはすべててテキストである。S88データは、BASICからs88start命令が実行されると表示開始されます。実態は、gs8というコマンドをDSair2に送ると、S88機能が動作する流れになっています。
  
-^IndexByte ^サイズ ^パラメータ名 ^定義  ^備考^+^IndexByte ^Size ^Parameter ^Definition  ^Notes ^
 |0 | 1 | 線路電源 | ON="Y", OFF=0x00| 線路の電源状態を示します| |0 | 1 | 線路電源 | ON="Y", OFF=0x00| 線路の電源状態を示します|
 |1 | 1 |- | カンマ(,)| 区切り文字| |1 | 1 |- | カンマ(,)| 区切り文字|
行 164: 行 179:
 操作コマンドのインターフェースが公開されているので、Wi-Fiスロットルを自分で作ることが出来ます。 操作コマンドのインターフェースが公開されているので、Wi-Fiスロットルを自分で作ることが出来ます。
  
-  * ESP-WROOM-02や32、M5Stackを使って、独自にスロットルを作る+  * ESP-WROOM-02や32、M5Stack、ラズパイピコWを使って、独自にスロットルを作る
   * スマホアプリを自分で独自に構築してみる   * スマホアプリを自分で独自に構築してみる
 +  * ホスト側に実装してコマンドステーションを作ってみる
    
 +===== FAQ =====
 +
 +^質問^回答^
 +|競合ですがコマンドステーションにこの仕様を実装して良いですか|常識の範囲でご自由にお使い下さい。|
 +|スロットルを作りたいです。|常識の範囲でご自由にお使い下さい。|
 +|ロイヤリティは発生しますか|発生しません。常識の範囲でご自由にお使い下さい。|
 +|使用するのに許可は必要ですか|必要ありません。常識の範囲でご自由にお使い下さい。|
 +|この仕様を変更して新しい仕様を作っても良いですか|常識の範囲でご自由にお使い下さい。|
 +|この仕様をライブラリに実装して売ってもいいですか|常識の範囲でご自由にお使い下さい。|
 +|この仕様を印刷して売っても良いですか|常識の範囲でご自由にお使い下さい。|
 +|この仕様を雑誌や本に記載しても良いですか|常識の範囲でご自由にお使い下さい。|
 +
 +
 +
 +
 ===== サポートについて ===== ===== サポートについて =====
  
-デジタル鉄道模型フォーラムで対応します。当社へのメールでの直接のサポート依頼は一切承りません。また、当社が開発した製品同士以外との接続に関するトラブルや、不具合については関知しません。ご自分で開発された機器やソフトは、ご自分でメンテナンス・サポートをお願いいたします。+[[https://desktopstation.net/bb/|デジタル鉄道模型フォーラム]]で対応します。当社へのメールでの直接のサポート依頼は一切承りません。また、当社が開発した製品同士以外との接続に関するトラブルや、不具合については関知しません。ご自分で開発された機器やソフトは、ご自分でメンテナンス・サポートをお願いいたします。 
 + 
 +なお、搭載報告・販売報告等はWelcomeです。ここで事例として、ご紹介します。
  
 ===== 活用事例 ===== ===== 活用事例 =====
  
   * [[http://powerele.sblo.jp/article/184775189.html|DSairのWebアプリの作り方]] 電機屋の毎日   * [[http://powerele.sblo.jp/article/184775189.html|DSairのWebアプリの作り方]] 電機屋の毎日
 +  * HMX社 WiFi Throttle [[https://note.com/hmx_1972/|URL]]
 +  * TRAINO Pocket-Throttle [[https://traino.jpn.org/|URL]]
 +  * DSair, SL_Sound3用WiFiコントローラ [[https://dmh.sakura.ne.jp/model/wifi_controller/|URL]]
dsair_wifi_specification.1554815145.txt.gz · 最終更新: 2019/04/09 22:05 by yaasan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki