Conrad Posted January 2 Posted January 2 W dniu 29.12.2024 o 16:00, pomiary.el1 napisał(a): Cześć, Odnalazłem ten wątek w celu zadania pewnego pytania ale już chyba niestety znam odpowiedź 😞 Zbudowałem pulpit od EN57, w zasadzie część ślusarsko spawalnicza oraz elektryczna jest już na ukończeniu, ale zaczynam powoli pracę związaną z uruchomieniem manometrów, prędkościomierza i ogólnej komunikacji gry z sygnalizacją SHP, lampkami oraz miernikami. Z tego co tu czytam i widzę po Waszych pulpitach, twórcy gry pomimo szumnych zapowiedzi zrobili nas w balona. Liczyłem, że po wyjściu z EA będzie jakaś informacja zwrotna dla kontrolerów i wsparcie dla pulpitów , a tu jak zwykle dupa 😞 Pochwalę się i ja, efektem wielomiesięcznej pracy: Zazdroszczę! za oryginalny hardware 🙂, spory klamot, ale będzie frajda z tego.
JarkPomsky Posted January 2 Posted January 2 (edited) 31 minut temu, Conrad napisał(a): Świetnie! Jak rozumiem byłaby szansa na bypass pomiędzy SimRail, a wyjściem na zewnątrz i przekazywaniem stanów na swój hardware!? Do tego się dokopałeś (pod F8) ? Pierwszy raz widzę to okno... 😄 To jakiś tryb developerski? Nie wiem jak sie steruje silnikami krokowymi. Jeśli tak, że jakaś dana wartość przesuwa silniczek to tak, to możliwe. Wartości z amperomierzy zostały pobrane z pamięci Simrail.exe a konkretniej z biblioteki GameAssembly.dll i z określonym odpowiednim offsetem bazowym i offsetami wartości. Jest to problematyczne, bo adresy są dynamiczne i zmieniają się z każdym uruchomieniem gry. Ale znając offset bazowy można określić gdzie znajduje się szukana wartość - aczkolwiek raz na 5-10 razy to nie działa. Żeby to naprawić musiałbym wpisać logikę która korzysta np z zapasowego adresu (albo najlepiej 10 po kolei aż nie znajdzie działającego adresu). Program napisany w Phyton przy użyciu .pymem który wyciąga wartości z gry i .flask który tworzy serwer i w sieci lokalnej można wyświetlić wyniki za pomocą html JavaScript ajax np. na tablecie jak u na moim filmie. Jak za rok twórcy nie udostępnią API to będziemy pisać 😄 Edited January 2 by JarkPomsky 2
Conrad Posted January 3 Posted January 3 19 godzin temu, JarkPomsky napisał(a): Nie wiem jak sie steruje silnikami krokowymi. Jeśli tak, że jakaś dana wartość przesuwa silniczek to tak, to możliwe. Co do silników krokowych to @Maciej_ZG już wcześniej podpowiedział jakie rozwiązanie się u niego sprawdziło. Tanie i często stosowane silniczki krokowe w projektach diy, często używane przy budowie kokpitów samolotów dla zegarów analogowych. np. do Cessny. Łatwo znaleźć gotowe rozwiązania i tutoriale diy. Co do API od dev to obecnie moja nadzieja szoruje po dnie pustego basenu 🤣
Maciej_ZG Posted January 3 Posted January 3 51 minutes ago, Conrad said: Co do silników krokowych to @Maciej_ZG już wcześniej podpowiedział jakie rozwiązanie się u niego sprawdziło. Tanie i często stosowane silniczki krokowe w projektach diy, często używane przy budowie kokpitów samolotów dla zegarów analogowych. np. do Cessny. Łatwo znaleźć gotowe rozwiązania i tutoriale diy. Co do API od dev to obecnie moja nadzieja szoruje po dnie pustego basenu 🤣 Jakby co to mogę udotępnić kod Arduino na którym te silnicznki u mnie działają
JarkPomsky Posted January 3 Posted January 3 Ogólnie to gra przechowuje w pamięci konkretną wartość np dotyczącą napięcia (np. 235), a dla np. SHP/CA jest 1 albo 0.
pomiary.el1 Posted January 4 Posted January 4 W dniu 2.01.2025 o 18:14, Conrad napisał(a): Zazdroszczę! za oryginalny hardware 🙂, spory klamot, ale będzie frajda z tego. Niestety bardzo mnie ta kolubryna przerosła. Niby jest na kółkach, wszystkie wystające części są demontowalne, a ich zasilanie realizowane jest poprzez gniazda. Można też zdemontować nogi - mocowane na motylki. Niemniej jednak sama skrzynia z zawartością waży prawie 100 kilo. Ogólnie kiepski pomysł aby takie coś stało w mieszkaniu. O wściekłej żonie nie wspomnę 😞 Jeśli ktoś byłby zainteresowany historią powstawania pulpitu od samego początku, to zapraszam tu: https://rcn.tlx.pl/forum/viewtopic.php?f=31&t=760&sid=021b2ce0f8c68348daf3677dec143bc7 Wada jest taka, że niestety polityka tamtego forum wymaga zalogowania. Plus - masa zdjęć z każdego etapu budowy pulpitu oraz różnych problemów, które codziennie napotykałem. Również rozwiązań, które ciągle trzeba było zmieniać i ulepszać metodą prób i błędów. Pozdrawiam Łukasz PS. Sporo mam części rezerwowych takich jak przełączniki typu "Z", lampki LS48, przyciski, nawet jeden nastawnik hamulcowy się ostał. Gdyby ktoś, kiedyś coś... 2
JarkPomsky Posted January 9 Posted January 9 (edited) @Conrad@Maciej_ZG @pomiary.el1 Z ciekawosci. Czy Arduino /rasberry Pi które steruje waszymi pulpitami potrafi odczytywać wartości z tablic JSON po http? Edited January 9 by JarkPomsky
Maciej_ZG Posted January 9 Posted January 9 @JarkPomsky - w moim rozwiązaniu (https://github.com/maciejszymanskizg/custom_desktop_control/tree/main) aktualnie nie. Ale jak trzeba to można dopisać sobie taki InputController. Jest wiele bilbiotek (np. json-c) które można wykorzystać. 1
JarkPomsky Posted January 9 Posted January 9 (edited) Jeśli chcesz spróbować pobawić się i podłączyć pulpit, to załączam program do odczytu pamięci Amperomierza WN2 w EU07. Wyciąga on dane i umieszcza w formacie JSON na adresie hosta. Możesz przetestować po uruchomieniu wbijając w przeglądarkę: http://192.168.0.13:5000/api/receive_data - zamień adres IP na swój adres lokalny - https://i.imgur.com/Xk7m3ML.jpeg Zarówna gra jak i ten program MUSZĄ być uruchomione z uprawnieniami administratora - bez tego program nie uzyska dostępu do pamięci. Kod programu znajduje się tutaj: https://pastecode.io/s/c602k1rq Po uruchomieniu powinieneś otrzymać coś takiego: https://i.imgur.com/gjOtTpK.jpeg Skan antiwirusowy - niektóre antywirusy zgłaszają wirusa, to dlatego że aplikacja pobiera dane z procesu innej aplikacji (w tym przypadku z naszej gry) : VirusTotal - File - b7dc95461c754ef9fbe6c051ae831749d52e60775568297a43d8fe846e5984f7 Jak to zadziała to pomyślimy dalej. Edit: Jak SimRail.exe nie jest włączony to program zamula kompa, za dużo razy szuka procesu 😄 ale już nie będę poprawiał teraz 😄 main.7z Edited January 9 by JarkPomsky 3
Maciej_ZG Posted January 9 Posted January 9 Spróbuje znaleźć trochę czasu w przyszłym tygodniu i dodać support do requestów HTTP i json'a. Rozumiem że to i tak na chwilę obecną działa tylko w jedną stronę, czyli można jedynie odczytać dane z mierników itp. ?
JarkPomsky Posted January 9 Posted January 9 (edited) Tylko odczyt. Próbowałem wstrzykiwać inne wartości do pamięci, ale gra je liczy ileś tam razy na sekundę i momentalnie zastępuje je prawidłowymi. Wszystkie mierniki / kontrolki / można odczytywać - w zasadzie wszystko co jest pod F8 (dzięki @Conrad za uświadomienie, że istnieje coś takiego :D) Edited January 9 by JarkPomsky
Maciej_ZG Posted January 9 Posted January 9 Jak tylko odczyt to wciąż tylko połowiczny sukces, bo trzeba by emulować naciskanie klawiszy klawiatury przy odczytywanieu danych z fizycznego pulpitu...
Conrad Posted January 9 Posted January 9 9 godzin temu, Maciej_ZG napisał(a): Jak tylko odczyt to wciąż tylko połowiczny sukces, bo trzeba by emulować naciskanie klawiszy klawiatury przy odczytywanieu danych z fizycznego pulpitu... Niestety tylko na razie tędy droga, ale kolejne elementy pulpitu ożyją.
Conrad Posted January 9 Posted January 9 10 godzin temu, JarkPomsky napisał(a): Tylko odczyt. Próbowałem wstrzykiwać inne wartości do pamięci, ale gra je liczy ileś tam razy na sekundę i momentalnie zastępuje je prawidłowymi. Wszystkie mierniki / kontrolki / można odczytywać - w zasadzie wszystko co jest pod F8 (dzięki @Conrad za uświadomienie, że istnieje coś takiego :D) W weekand sprobuję to przetestować i dam znać co się udało uzyskać. 1
Gazz292 Posted Tuesday at 11:21 PM Posted Tuesday at 11:21 PM (edited) On 1/4/2025 at 1:22 AM, pomiary.el1 said: I have a lot of spare parts like "Z" switches, LS48 lights, buttons, even one brake controller is left. If someone ever... I'd really like to buy some real Polish train parts (i'd really love to buy the entire driving desk from a train similar to the EU07) But the problems i have had before when trying to buy parts from Poland is i live in the UK 😞 and that silly brexit thing we had has made it more complicated for people in europe to send things here now, having to fill in customs forms and all that (which i always offer to pay extra for the persons time to do that, and of course cover all shipping costs) Then uk customs tries to charge me import duties and UK VAT (taxes) for second hand scrap parts i buy before they will deliver the items to me (i've bought old bus parts from Germany before for my Omsi driving cab) but i am getting used to that now, and know that 'second hand parts from scrapped vehicles' should not be taxed, but that's something for me to deal with, not the seller. I did try to buy some EN57 parts last year, but was told they would not send them out of Poland, seem's i am a minority being an english person who lives Polish trains thanks to SimRail. ----- Sorry for writing in english in the Polish section, i've been told in the past not to use google translate and try to post in a language i can't speak, as it's better to let the reader of the post translate the english text themselves. Edited Wednesday at 05:42 PM by Gazz292 1
Recommended Posts