dsair_wifi_specification
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
dsair_wifi_specification [2018/12/25 10:56] – [ステータスデータの一覧] yaasan | dsair_wifi_specification [2023/09/09 11:50] – [接続方法] 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: | 行 13: | ||
DSairへのコマンドの渡し方は、FlashAirの[[https:// | DSairへのコマンドの渡し方は、FlashAirの[[https:// | ||
+ | |||
+ | 注: DSairLiteではRaspberryPi PicoWをベースとしているため、FlashAirコマンドを模した機能をサーバーに実装しています。 | ||
< | < | ||
+ | DSair2の場合: | ||
http:// | http:// | ||
+ | DSairLiteの場合: | ||
+ | http:// | ||
</ | </ | ||
行 20: | 行 27: | ||
===== DSairへの命令・コマンド ===== | ===== DSairへの命令・コマンド ===== | ||
- | ==== 関数一覧 ==== | + | ==== 関数一覧/Function list ==== |
- | ^機能 | + | ^Function |
- | |線路電源|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(LocoAddr, |
- | |ファンクション|FN(LocoAddr, | + | |ファンクション,Function|FN(LocoAddr, |
- | |車両速度|SP(LocoAddr, | + | |車両速度,LocSpeed|SP(LocoAddr, |
- | |ポイント|TO(AccAddr, | + | |ポイント,Turnout|TO(AccAddr, |
- | |アナログ|DC(AnalogSpeed, | + | |アナログ,AnalogPWM|DC(AnalogSpeed, |
+ | |S88在線センサ, | ||
- | ^引数 | + | ^Parameters |
|PowerFlag|OFF=0, | |PowerFlag|OFF=0, | ||
|Direction|FWD=1, | |Direction|FWD=1, | ||
行 42: | 行 50: | ||
|AnalogDirection| 0 or 1:FWD, 2: | |AnalogDirection| 0 or 1:FWD, 2: | ||
+ | Example of speed command is the follwoing.\\ | ||
DSairにコマンドを送る例としては、以下のようになります。 | DSairにコマンドを送る例としては、以下のようになります。 | ||
行 48: | 行 57: | ||
</ | </ | ||
+ | You can only send as HTTP GET command.\\ | ||
HTTP GETコマンドを送るだけです。 | HTTP GETコマンドを送るだけです。 | ||
行 55: | 行 65: | ||
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 |
- | |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-> | 実際にコマンドに使用する場合には、10進数に直して使用してください。たとえば0xC000-> | ||
行 92: | 行 103: | ||
==== 取得方法 ==== | ==== 取得方法 ==== | ||
- | 共有メモリの128バイト目以降からサイズ264バイトに、制御状態や車両・ポイントデータが含まれているので、 | + | 共有メモリの128バイト目以降からサイズ264バイト(ASCII TEXT)に、制御状態や車両・ポイントデータが含まれているので、これを解析することで、制御状態を把握することができる。 |
< | < | ||
行 116: | 行 127: | ||
==== ステータスデータの一覧 ==== | ==== ステータスデータの一覧 ==== | ||
+ | Status Data from DSair2(FlashAir shared memory) is ASCII text data. | ||
+ | |||
+ | データはすべててテキストである。S88データは、BASICからs88start命令が実行されると表示開始されます。実態は、gs8というコマンドをDSair2に送ると、S88機能が動作する流れになっています。 | ||
- | ^IndexByte ^サイズ | + | ^IndexByte ^Size ^Parameter |
|0 | 1 | 線路電源 | ON=" | |0 | 1 | 線路電源 | ON=" | ||
- | |1 | - | 1 | カンマ(, | + | |1 | 1 |- | カンマ(, |
|2|1 | エラー番号|| | |2|1 | エラー番号|| | ||
- | |3| - | 1 | カンマ(, | + | |3| 1 |- | カンマ(, |
|4|1 | FIRMWARE_VER|| | |4|1 | FIRMWARE_VER|| | ||
- | |5| - | 1 | カンマ(, | + | |5| 1 |- | カンマ(, |
- | |6|1 | 制御車両数(0-15, | + | |6|1 | 制御車両数|(0-15, 16進数)| | |
- | |7| - | 1 | カンマ(, | + | |7| 1 |- | カンマ(, |
|8-10|3 | 線路電圧|120=12.0V| | |8-10|3 | 線路電圧|120=12.0V| | ||
- | |11| - | 1 | カンマ(, | + | |11| 1 |- | カンマ(, |
|12-13|2 | 出力電流|10=1.0A| | |12-13|2 | 出力電流|10=1.0A| | ||
- | |14| - | 1 | カンマ(, | + | |14| 1 |- | カンマ(, |
|15|1 | ハードウェアVer|| | |15|1 | ハードウェアVer|| | ||
- | |16| - | 1 | カンマ(, | + | |16| 1 |- | カンマ(, |
|17-18|2 |送信回数|| | |17-18|2 |送信回数|| | ||
- | |19| - | 1 | カンマ(, | + | |19| 1 |- | カンマ(, |
- | |20-31| | ダミー|| | + | |20| 1 | S88台数(1-2)| | |
- | |32-46|16| CV応答データ|| | + | |21| 1 | S88データ1バイト目Low| S88デコーダ1台目(16bitの場合) | |
+ | |22| 1 | S88データ1バイト目High|S88デコーダ1台目(16bitの場合) | | ||
+ | |23| 1 | S88データ2バイト目Low|S88デコーダ1台目(16bitの場合) | | ||
+ | |24| 1 | S88データ2バイト目High|S88デコーダ1台目(16bitの場合) | | ||
+ | |25| 1 | S88データ3バイト目Low| S88デコーダ2台目(16bitの場合) | | ||
+ | |26| 1 | S88データ3バイト目High|S88デコーダ2台目(16bitの場合) | | ||
+ | |27| 1 | S88データ4バイト目Low|S88デコーダ2台目(16bitの場合) | | ||
+ | |28| 1 | S88データ4バイト目High|S88デコーダ2台目(16bitの場合) | | ||
+ | |29| 1 | S88データ予約| | | ||
+ | |30| 1 | S88データ予約| | | ||
+ | |31| 1 | 区切り| | | ||
+ | |32-46|15| CV応答データ(@CV, | ||
|47|1|区切り|| | |47|1|区切り|| | ||
|48-111|64| ポイント状態|| | |48-111|64| ポイント状態|| | ||
行 157: | 行 182: | ||
===== サポートについて ===== | ===== サポートについて ===== | ||
- | デジタル鉄道模型フォーラムで対応します。当社へのメールでの直接のサポート依頼は一切承りません。また、当社が開発した製品同士以外との接続に関するトラブルや、不具合については関知しません。ご自分で開発された機器やソフトは、ご自分でメンテナンス・サポートをお願いいたします。 | + | [[https:// |
===== 活用事例 ===== | ===== 活用事例 ===== | ||
* [[http:// | * [[http:// |
dsair_wifi_specification.txt · 最終更新: 2024/01/05 08:43 by yaasan