Autor Wątek: Info: Api do sterowania stacją z zewnątrz.  (Przeczytany 4847 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline MarcinW

  • Pioneer
  • *
  • Special Guest
  • Wiadomości: 262
  • Siła reputacji: 12
  • MarcinW dróżnik obchodowyMarcinW dróżnik obchodowy
  • Distance Travelled: 281km
  • Trains Routed: 76
Api do sterowania stacją z zewnątrz.
« dnia: 01 Sierpień 2015, 09:41:39 »
Uruchomić program dyżurnego i podłączyć się pod port 7424 (odbiera tylko na localhoście) czymś, co potrafi wysyłać i odbierać tekstowe komunikaty (działa np. putty w trybie raw).

Po podłączeniu serwer będzie na bieżąco (kiedy się zmienią) wysyłał stan odcinków izolowanych w postaci "nazwa:stan" np. "test:w" lub "test:z"

Krótki opis komend, które możemy wysłać serwerowi:
  • "nazwa_zwrotnicy:położenie" np. "10:+" ustawia zwrotnicę w położeniu zasadniczym, "10:-" w położeniu zmienionym.
  • "nazwa_semafora:sygnał" np. "B:S3" ustawi sygnał S3 na semaforze B
  • "GetState" zwróci nam aktualny stan wszystkich urządzeń (rozjazdy, semafory, odcinki izolowane).

Jakby ktoś chciał podłączyć pod to swoją obsługę pulpitu to zapraszam. Oczywiście jeśli jakieś inne komendy będą potrzebne, to dodam :)

Offline Misiek5

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 332
  • Siła reputacji: 20
  • Misiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowy
  • Młody programista z 5-letnim doświadczeniem
  • Distance Travelled: 3197km
  • Trains Routed: 1473
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #1 dnia: 01 Sierpień 2015, 10:22:30 »
Co się stanie jak podam nazwę nieistniejącego semafora/odcinka izolowanego? Wywali wyjątek? Spróbuję zapoznać się z Indy i lepiej z Delphi to zrobię appkę do sterowania.

Offline MarcinW

  • Pioneer
  • *
  • Special Guest
  • Wiadomości: 262
  • Siła reputacji: 12
  • MarcinW dróżnik obchodowyMarcinW dróżnik obchodowy
  • Distance Travelled: 281km
  • Trains Routed: 76
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #2 dnia: 01 Sierpień 2015, 12:31:39 »
W takim przypadku zwrócić powinno 'Unrecognized Command'. Jeśli rozkaz da się wykonać to jako potwierdzenie odeśle go z powrotem.

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #3 dnia: 01 Sierpień 2015, 21:18:39 »
To jest dobry pomysł. Mam kilka pytań.

Czy są inne semafory świetlne niż SS5? (zależy mi głównie na semaforach z pasami świetlnymi oraz różna ilość lamp)
Czy da się obsługiwać tarcze manewrowe?
Czy są tarcze manewrowe świetlne (duże i karzełkowe)?
Jak w edytorze stworzyć odcinki izolowane?
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?

Offline MarcinW

  • Pioneer
  • *
  • Special Guest
  • Wiadomości: 262
  • Siła reputacji: 12
  • MarcinW dróżnik obchodowyMarcinW dróżnik obchodowy
  • Distance Travelled: 281km
  • Trains Routed: 76
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #4 dnia: 02 Sierpień 2015, 03:20:06 »
Tarcze manewrowe powinno dać się obsługiwać.

Co do dostępnych semaforów i tarcz to najlepiej Mateusza (uetam) zapytać, bo on te semafory wrzuca. Niemniej nawet jak jeszcze jakiś nie ma, to pewnie da się dodać.

Wystarczy w edytorze wybrać tor i wpisać nawę odcinka izolowanego w polu 'Insulated Circuit'. Oczywiście dowolna ilość torów może należeć do tego samego odcinka.

Offline uetam

  • Administrator
  • Pioneer
  • *
  • Ekspert ds. kolejowych
  • Wiadomości: 361
  • Siła reputacji: 38
  • uetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrz
  • Administrator Techniczny
  • Distance Travelled: 1589km
  • Trains Routed: 924
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #5 dnia: 02 Sierpień 2015, 11:21:28 »
To jest dobry pomysł. Mam kilka pytań.

Czy są inne semafory świetlne niż SS5? (zależy mi głównie na semaforach z pasami świetlnymi oraz różna ilość lamp)
Nie ma.
Cytuj
Czy da się obsługiwać tarcze manewrowe?
Da sie. Model tarczy swietlnej to TM2.
Nie odpowiadam na wiadomości prywatne dotyczące problemów, które mogą być rozwiązane na forum.
Kiedy czekasz na nowego SWDR... https://goo.gl/2t4N4y

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #6 dnia: 03 Sierpień 2015, 13:36:31 »
Mam taki problem, że gdy wysyłam polecenie GetState to dla mojego programu wysyła to za szybko i nie wyłapuje wszystich odpowiedzi. Mógłbyś dodać coś takiego, że przy połączeniu mój program wysyła jakąś komendę i od wysłania jej po przysłaniu komunikatu oczekuje na potwierdzenie dotarcia zanim wyśle się następny komunikat?
« Ostatnia zmiana: 03 Sierpień 2015, 13:39:37 wysłana przez matek__9292 »
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?

Offline MarcinW

  • Pioneer
  • *
  • Special Guest
  • Wiadomości: 262
  • Siła reputacji: 12
  • MarcinW dróżnik obchodowyMarcinW dróżnik obchodowy
  • Distance Travelled: 281km
  • Trains Routed: 76
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #7 dnia: 03 Sierpień 2015, 14:27:10 »
Hmm, w jaki sposób może nie wyłapać wszystkich? Czego używasz do łączenia się? Wydaje mi się, że te komunikaty powinny być jakoś kolejkowane i zawsze powinieneś dostać wszystko (po to właśnie stosujemy TCP). Potwierdzeń wolałbym nie rozbić, bo niepotrzebnie skomplikowałoby to logikę. To już wolałbym Ci pomóc w znalezieniu przyczyny, czemu gubisz komunikaty.

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #8 dnia: 03 Sierpień 2015, 16:26:11 »
Narazie zrobiłem testowy program, żeby sprawdzić, czy program będzie poprawnie się łączył. Mój program tylko odczytuje zwracane komunikaty. Na scrennie porównanie putty do mojego. Do łączenia używam WinSock.
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #9 dnia: 04 Sierpień 2015, 10:41:05 »
Wspomniana przez uetam świetlna tarcza manewrowa wygląda u mnie tak (w załączniku).

Co to tych komunikatów wpadłem na taki pomysł, że mój program będzie wysyłał GetState do momentu, aż odczyta wszystko. Potem pojedyńcze komunikaty odbierają się poprawnie.

Zamierzam zrobić dużą stację, więc dobrze by było gdybyś dodał przy wyborze semafora jakiś suwak, albo dać to w listę rozwijalną, tak aby można było wybrać te semafory, które nie zmieszczą się na ekranie.
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?

Offline uetam

  • Administrator
  • Pioneer
  • *
  • Ekspert ds. kolejowych
  • Wiadomości: 361
  • Siła reputacji: 38
  • uetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrzuetam toromistrz
  • Administrator Techniczny
  • Distance Travelled: 1589km
  • Trains Routed: 924
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #10 dnia: 04 Sierpień 2015, 11:58:26 »
Zamierzam zrobić dużą stację, więc dobrze by było gdybyś dodał przy wyborze semafora jakiś suwak, albo dać to w listę rozwijalną, tak aby można było wybrać te semafory, które nie zmieszczą się na ekranie.
Obecnie nie ma innych semaforów i raczej do czasu opracowania lepszego systemu ich tworzenia raczej nie będzie.
Nie odpowiadam na wiadomości prywatne dotyczące problemów, które mogą być rozwiązane na forum.
Kiedy czekasz na nowego SWDR... https://goo.gl/2t4N4y

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #11 dnia: 04 Sierpień 2015, 12:22:58 »
Zamierzam zrobić dużą stację, więc dobrze by było gdybyś dodał przy wyborze semafora jakiś suwak, albo dać to w listę rozwijalną, tak aby można było wybrać te semafory, które nie zmieszczą się na ekranie.
Obecnie nie ma innych semaforów i raczej do czasu opracowania lepszego systemu ich tworzenia raczej nie będzie.

Źle mnie zrozumiałeś. Chodzi mi o to, że jak mam na stacji np. 20 semaforów to w menu głównym widzę ich ok. 10, więc jak będzie ktoś chciał się u mnie postawić np. pod tarczą Tm11 to nie ma takiej możliwości, bo nie mieści się na ekranie.
Dla pewności screen z tym o co mi chodzi :)


Co do tego problemu z przesyłaniem mam jeszcze taki pomysł, że jak wyślę np. 1:? to zwróci mi stan tylko tego urządzenia i w ten sposób program pobrałby wszystko bez problemu.
« Ostatnia zmiana: 04 Sierpień 2015, 12:30:15 wysłana przez matek__9292 »
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?

Offline MarcinW

  • Pioneer
  • *
  • Special Guest
  • Wiadomości: 262
  • Siła reputacji: 12
  • MarcinW dróżnik obchodowyMarcinW dróżnik obchodowy
  • Distance Travelled: 281km
  • Trains Routed: 76
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #12 dnia: 04 Sierpień 2015, 13:23:42 »
No w sumie takie zapytanie o stan konkretnego urządzenia to mogę zrobić. Ale zdecydowanie radziłbym sprawdzić, czemu te komunikaty gubi, bo jak w trakcie symulacji zacznie gubić jakieś komunikaty np. o zajętości odcinka izolowanego, to może się zrobić bajzel.

Z tą lista semaforów to faktycznie muszę coś zrobić. Zresztą menu i tak wymaga przeróbki. Mam  nadzieję, że się w końcu dam radę za to wziąć :)

Offline Misiek5

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 332
  • Siła reputacji: 20
  • Misiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowyMisiek5 dróżnik przejazdowy
  • Młody programista z 5-letnim doświadczeniem
  • Distance Travelled: 3197km
  • Trains Routed: 1473
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #13 dnia: 04 Sierpień 2015, 13:29:53 »
Ja już pracuję nad appką, użyję komponentów Indy i zobaczymy czy będzie gubiło.

Offline matek__9292

  • Pioneer
  • *
  • Moderowany
  • Wiadomości: 290
  • Siła reputacji: 61
  • matek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezesmatek__9292 prezes
  • Distance Travelled: 2358km
  • Trains Routed: 1481
Re: Api do sterowania stacją z zewnątrz.
« Odpowiedź #14 dnia: 10 Sierpień 2015, 13:08:10 »
Już prawie skończyłem stację i działa ok. Dobrze jakby dodać możliwość, aby nie generowały się urządzenia stacyjne jak tego chcę. Mam dużą stację obsługiwaną przez api, ale te dźwignie bardzo psują widok. Żeby to wszystko weszło nastawnia musiałaby być chyba ze 4 razy większa :) .

Dobrze byłoby też dodać taką opcję do zwrotnic, która odwraca położenie (+) i (-) oraz naprawić te świetlne tarcze manewrowe.

Dzisiaj muszę jeszcze dodać trochę rzeczy do stacji i wieczorkiem będę ją testował na kilka osób.
- Ty deweloper! Czytałeś prawo autorskie?!
- Prawo autorskie, co to znaczy?
- No jesteś złodziejem, czy nie?