Форум ModelldepO

Форум ModelldepO (http://forum.modelldepo.ru/index.php)
-   Rocrail (http://forum.modelldepo.ru/forumdisplay.php?f=211)
-   -   new library added: lan (http://forum.modelldepo.ru/showthread.php?t=17581)

Alexmit 20.11.2015 18:33

new library added: lan
 
"Товарищи! Рабочая и крестьянская революция, о необходимости которой все время говорили большевики, совершилась." В.И.Ленин, ПСС, т.35

2015-11-18 09:15:59 +0100 new library added: lan

http://wiki.rocrail.net/doku.php?id=lan-en

pandrey 20.11.2015 23:30

Сильно :)

Рельсы для передачи цифры не нужны. Локи можно на батарейках по деревянным рельсам запускать :)
Судя по фотке декодера, в Н0 сия радость не влезет. Тока в шо то в оочень большое...
Для садоводов круто вроде получается.
И шо, это где то работает?

Alexmit 21.11.2015 01:18

Цитата:

Сообщение от pandrey (Сообщение 262787)
Судя по фотке декодера, в Н0 сия радость не влезет.

В H0 влезает надо правильные фотки смотреть.
http://www.mec-limburg-hadamar.de/wp...rcel-Maage.pdf

Цитата:

Сообщение от pandrey (Сообщение 262787)
И шо, это где то работает?

Ну раз сделали, значит работает.

Alexmit 21.11.2015 18:16

Там протокол на основе XML - уж куда открытей.

Код:

<lc id="NEW-2" V="63" fn="true" dir="true" throttleid="rv2653" controlcode="" slavecode="" server="infwB6D006BC"/>

 <lc id="NEW-2" V="0" fn="true" dir="true" throttleid="rv2653" controlcode="" slavecode="" server="infwB6D006BC"/>

 <fn group="1" fnchanged="0" fncnt="4" id="NEW-2" f0="false" f1="false" f2="true" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" throttleid="rv2831" controlcode="" slavecode="" server="infwB700076C"/>


Alexmit 21.11.2015 19:24

Цитата:

Сообщение от шмырштю (Сообщение 262825)
в декодере?

Да. Перед декодером стоит ESP8266.

Alexmit 21.11.2015 20:36

Соединить ESP8266 и Arduino. (Только для начала Arduino должна быть хотя-бы двухпортовая.)
http://forum.modelldepo.ru/showpost....&postcount=242
(смотрите правый нижний угол схемы)
В модуль заливается что-то стандартное для TCP/IP.
А в Arduino что-то типа:
Код:

void serialRead() {
  if (Serial1.available()) {
    char c = (char)Serial1.read();
    Serial.write(c);
  } 
}

для начала.

Alexmit 21.11.2015 22:02

Цитата:

Сообщение от шмырштю (Сообщение 262832)
куда то вас не в ту сторону понесло. По этой ссылке командная станция на ардуине это не интересно и не революционно,

Вот тупо лень было искать чистую схему. А нужный кусок вы вычленить не в состоянии?
Цитата:

Сообщение от шмырштю (Сообщение 262832)
ESP8268 вполне может работать как контроллер, читай декодер, безо всякой ардуины, которая априори слабее проца от есспрессив.

У конкретной платы на фото только два выхода помимо RX и TX, на стрелочный или светофорный декодер пойдёт, а вот что-то ещё сделать без дополнения - увы.
Вот если взять к примеру NodeMCU DevKit v0.9, то там можно развернуться.

Цитата:

Сообщение от шмырштю (Сообщение 262832)
Ну и где готовый проект для повторения ?

Спросите здесь - http://forum.rocrail.net/viewtopic.php?f=45&t=10510

Цитата:

Сообщение от шмырштю (Сообщение 262832)
Да и лепить вай-фай для объединения стационарных устройств, не имеет особого смысла, он нужен для переносных и мобильных: пульты и декодеры.

Однако, такая возможность закладывается и работает.
---
Features

Loco and Function commands
Sensor support (Reported by a Loco or Decoder)
RFID sensor off support
Connection recovery
Decoder support
Switches
Signals
Outputs
Sensors
---
И смысл имеет, но под большие масштабы.

Alexmit 22.11.2015 09:51

Т.к. на данный момент у меня под рукой были Arduino Uno и Ethernet Shield W5100, решил проверить на них.
Скетч на основе ChatServer.
Код:

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 0, 177);
IPAddress myDns(192,168,0, 1);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);

// telnet defaults to port 4711
EthernetServer server(4711);
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
  // initialize the ethernet device
  Ethernet.begin(mac, ip, myDns, gateway, subnet);
  // start listening for clients
  server.begin();
  // Open serial communications and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  Serial.print("Chat server address:");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();

  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clear out the input buffer:
      client.flush();
      Serial.println("We have a new client");
      alreadyConnected = true;
    }

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}

Работает.
В результате имеем: (управление локомотивом)
Chat server address:192.168.0.177
We have a new client
<fn group="1" fnchanged="2" fnchangedstate="true" fncnt="4" id="V200" f0="true" f1="false" f2="true" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" throttleid="rv2044" controlcode="" slavecode="" server="infw011FBB1C" addr="35" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" dir="false" fn="true" oid="" identifier="192.168.0.177" V="0" iid="LAN" imagenr="0"/>

<fn group="1" fnchanged="1" fnchangedstate="true" fncnt="4" id="V200" f0="true" f1="true" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" throttleid="rv2044" controlcode="" slavecode="" server="infw011FBB1C" addr="35" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" dir="false" fn="true" oid="" identifier="192.168.0.177" V="0" iid="LAN" imagenr="0"/>

<lc id="V200" V="46" fn="false" dir="false" throttleid="rv2684" controlcode="" slavecode="" server="infw01178B8C" fncnt="4" f0="false" f1="false" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" oid="" identifier="192.168.0.177" iid="LAN" addr="35" imagenr="0"/>

<lc id="V200" V="0" fn="false" dir="false" throttleid="rv2684" controlcode="" slavecode="" server="infw01178B8C" fncnt="4" f0="false" f1="false" f2="false" f3="false" f4="false" f5="false" f6="false" f7="false" f8="false" f9="false" f10="false" f11="false" f12="false" f13="false" f14="false" f15="false" f16="false" f17="false" f18="false" f19="false" f20="false" f21="false" f22="false" f23="false" f24="false" f25="false" f26="false" f27="false" f28="false" mass="0" V_step="0" V_min="30" V_max="100" V_mode="kmh" bus="0" prot="P" protver="1" spcnt="128" oid="" identifier="192.168.0.177" iid="LAN" addr="35" imagenr="0"/>

(управление стрелками)
Chat server address:192.168.0.177
We have a new client
<sw id="sw1" cmd="turnout" manualcmd="true" controlcode="" slavecode="" server="infw01178B8C" iid="LAN" prot="D" uidname="" bus="0" addr1="29" port1="0" gate1="0" param1="0" value1="0" delay="0" actdelay="false" singlegate="false" accessory="true" porttype="0" decid="DEC-1"/>

<sw id="sw1" cmd="straight" manualcmd="true" controlcode="" slavecode="" server="infw01178B8C" iid="LAN" prot="D" uidname="" bus="0" addr1="29" port1="0" gate1="0" param1="0" value1="0" delay="0" actdelay="false" singlegate="false" accessory="true" porttype="0" decid="DEC-1"/>

(и сигналами)
<co iid="LAN" prot="D" addr="22" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>
<co iid="LAN" prot="D" addr="23" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>

<co iid="LAN" prot="D" addr="22" port="0" gate="0" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>
<co iid="LAN" prot="D" addr="23" port="0" gate="1" cmd="on" accessory="true" porttype="0" decid="DEC-1"/>

Rokfor 22.11.2015 11:23

Просветите пож-та - зачем нужна беспроводная связь на макете ?
Что это даст ?

pandrey 22.11.2015 12:21

Цитата:

Сообщение от Rokfor (Сообщение 262875)
зачем нужна беспроводная связь на макете

Единственное, зачем это нужно, имхо - борьба с плохим токосъемом. Можно было бы чистящий состав таким сделать.......
А так все таки штука классная для садоводов была бы. С ихними мега бустерами.

Alexmit 22.11.2015 16:48

Цитата:

Сообщение от Rokfor (Сообщение 262875)
Просветите пож-та - зачем нужна беспроводная связь на макете ?

Здесь дело не в беспроводности. (Я на проводной сети проверял.)
Здесь дело в "унификации". Я эту тенденцию по работе знаю. И для меня это было ожидаемое событие.
В принципе это следующий шаг после RocNetNode.
На макете это конкурент Loconet. А беспроводная сеть, это действительно для больших масштабов.
Хотя зависит от того, как будут использовать возможность обратной связи с локомотива на компьютер.

---------- Сообщение добавлено в 16:48 ---------- Предыдущие сообщение было в 16:09 ----------

Цитата:

Сообщение от Rokfor (Сообщение 262875)
Что это даст ?

Не что даст. А что становиться не нужным и что можно заменить.
Командные станции, бустера, пульты.
Да и в аксесуарных декодерах специфичной частью останутся выходы. Хотя есть релейные шилды и серво шилды.
Обратную связь тоже в принципе можно собрать из готовых деталей.

Rokfor 22.11.2015 20:00

Цитата:

Сообщение от pandrey (Сообщение 262880)
борьба с плохим токосъемом.

Это как ?
нет токосъема - нет питания, все равно встанем.

Цитата:

Сообщение от Alexmit (Сообщение 262904)
А что становиться не нужным и что можно заменить.
Командные станции, бустера, пульты.

Боюсь, что приемопередатчик в каждом декодере будет еще дороже, хотя... это, конечно, зависит от количества декодеров

laba 22.11.2015 20:22

Цитата:

Сообщение от Rokfor (Сообщение 262929)
Это как ?
нет токосъема - нет питания, все равно встанем.

Питание от аккумулятора, это имелось ввиду.

pandrey 22.11.2015 20:24

Вложений: 1
Цитата:

Сообщение от Rokfor (Сообщение 262929)
Это как ?
нет токосъема - нет питания, все равно встанем.

Как то так. С такой штукой еще долго можно будет елозить...
Вложение 118280

Rokfor 22.11.2015 22:28

Эта идея стара как мир, это дорого и громоздко, только для гартенбанщиков.

Alexmit 23.11.2015 00:45

Цитата:

Сообщение от Rokfor (Сообщение 262929)
Боюсь, что приемопередатчик в каждом декодере будет еще дороже, хотя... это, конечно, зависит от количества декодеров

В самом начале статьи есть такая фраза:
This library makes it possible to use any kind of computer to act as a decoder.
Эта библиотека позволяет использовать любой вид компьютера в качестве декодера.

Это уже намёк минимум на Raspberry Pi или что-то подобное. Т.е. понятие декодера несколько меняется.
Получится один декодер на горловину или вообще на станцию. Плюс обратная связь.

tsgarp 23.11.2015 09:34

А как определить, где какой паровозик на макете? Так же, как и раньше, токовыми датчиками? Или тут тоже революция произошла?

Rokfor 23.11.2015 11:35

Цитата:

Сообщение от Alexmit (Сообщение 262948)
Это уже намёк минимум на Raspberry Pi или что-то подобное.

А что Raspberry Pi + силовой обвес дешевле декодера ?

Цитата:

Сообщение от tsgarp (Сообщение 262963)
Или тут тоже революция произошла?

Нет, эта проблема никуда не денется.
Более того, при беспроводном обмене ее решить вообще практически не возможно.
В классическом DCC раилкоме обратная связь реализована по рельсам и передачу каждого декодера "видит" соответствующий модуль, обслуживающий этот БУ. А комп "знает" где находится каждый модуль и так комп определяет - где декодер.

При беспроводном решении передачу декодера будет видеть комп (или все модули если их несколько), но тогда становится непонятно - а где же находится декодер ?

Сам декодер не знает своего местоположения и поэтому передать его не может, даже если канал есть.
Чтобы позиционировать декодер понадобится GPS или еще какие-то уникальные метки и считыватели на каждом участке.
Пока нет недорогого решения для позиционирования - это беспроводное решение для автоматики бесполезно.

laba 23.11.2015 12:51

Цитата:

Сообщение от Rokfor (Сообщение 262969)
При беспроводном решении передачу декодера будет видеть комп (или все модули если их несколько), но тогда становится непонятно - а где же находится декодер ?

Да, это как раз и есть основная проблема обратной связи по радиоканалу. Всё равно придётся привязываться к определённым точкам на макете, в которых стоят датчики, проезжая через которые декодер должен будет сообщить свой адрес и прочие параметры, а также адрес датчика, который он проехал. В проекте OpenCar таким образом и предполагается решать эту проблему, но готового решения так пока и нет.

tsgarp 23.11.2015 13:03

Цитата:

Сообщение от Rokfor (Сообщение 262969)
Пока нет недорогого решения для позиционирования - это беспроводное решение для автоматики бесполезно.

О чем и речь.

Alexmit 23.11.2015 18:58

Цитата:

Сообщение от Rokfor (Сообщение 262969)
А что Raspberry Pi + силовой обвес дешевле декодера ?

Да. На сервах в два с лишним раза. При полной загрузке естественно. (128 шт.)
Обратная связь в три раза. (при 128 датчиках)
Вот может с соленоидами ещё будет паритет (считать лень).

Цитата:

Сообщение от tsgarp (Сообщение 262963)
А как определить, где какой паровозик на макете? Так же, как и раньше, токовыми датчиками? Или тут тоже революция произошла?

Да. И уже давно. RFID метки называется.
(считыватель на локомотиве)
https://www.youtube.com/watch?v=qqWY...ature=youtu.be

Saddam 23.11.2015 21:17

Выскажу свое мнение. На данный момент проекты основанные на беспроводном управлении массово не реализуемы по простой причине. Данные системы плод компьютерщиков желающих занять сегмент в DCC системах, но DCC это экзосистема управления макетом основанная на применении командных станций и декодеров работающих через рельсовые цепи. Производители вложили деньги в их разработку и хотят получать прибыль. Да и масс-сегмент любит чтобы было все понятно, пульт - станция - рельсы - декодер и если нужно ОС - ПК. Подобные проекты в данный момент удел проектов наподобие OpenDCC, для тех у кого руки откуда нужно растут, и кто хочет чего то большего.
Может быть в будущем и будем на WiFi и RFID, но пока только ультра энтузиасты.

tsgarp 23.11.2015 21:49

Цитата:

Сообщение от Alexmit (Сообщение 262994)
Да. И уже давно. RFID метки называется.
(считыватель на локомотиве)

То есть, ещё и считыватель в паровоз. И метки вдоль рельсов все равно раскладывать. Ну, смысл есть, да. Инфраструктура упрощается - не надо рельсы на блок участки делить и к ним проводочки тянуть. И стрелки со светофорами управляются по wifi. Вполне работоспособно. Оверкилл, конечно, но работоспособно.

laba 23.11.2015 22:18

Цитата:

Сообщение от tsgarp (Сообщение 263019)
Инфраструктура упрощается - не надо рельсы на блок участки делить и к ним проводочки тянуть

При большом метраже путей, тянуть всё равно придётся, ибо рельсы имеют слишком большое сопротивление, по сравнению с медью, а значит будем иметь падение напряжения на них.

Rokfor 23.11.2015 22:39

Цитата:

Сообщение от Alexmit (Сообщение 262994)
Да. На сервах в два с лишним раза. При полной загрузке естественно. (128 шт.)
Обратная связь в три раза. (при 128 датчиках)
Вот может с соленоидами ещё будет паритет (считать лень).

Алекс, мне кажется вы путаете систему управления и декодеры.
Чтобы эта идея работала - Вам придется поставить малину в каждый лок, посчитайте финансовую сторону :)
И кстати - малина на 128 серв - это антинаучная утопия :)


Текущее время: 18:54. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -