• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odczytanie wartości z ram i wysłanie jej do serial port

Object Storage Arubacloud
0 głosów
324 wizyt
pytanie zadane 6 sierpnia 2017 w Inne języki przez ChuZZZta Bywalec (2,540 p.)
Mam dość specyficzne pytanie, ale może ktoś się będzie bardziej orientował w temacie.

Ogólnie pracuje nad projektem gdzie dane z aplikacji działającej na PC będą przekazywane do Arduino i on tam sobie będzie robiło z nimi parę rzeczy. Żeby dobrać się do danych tej aplikacji na PC będę musiał odczytać je z ram tego procesu, no a żeby przekazać dane do arduino to użyje portu COM w którym siedzi arduino. Tylko problem jest taki że języki które znam to trochę Javy i trochę C++ i mam problem w napisaniu tego w nich. :D

Java - widziałem poradnik na yt jak skomunikować się z arduino i sprawa wydawała się prosta, ale odczytanie procesu to jest jakiś dramat
C++ - odczytanie procesu jest proste, ale za to skomunikowanie się z arduino już takie kolorowe nie jest.
Sprawdziłem też pythona, komunikacja z arduino - bajka, odczytanie procesu - graniczy z cudem.

W końcu znalazłem w odmętach internetu kod źródłowy napisany w C++, użyłem go do moich celów i niby działa, ale pozostaje niesmak że nie napisałem tego samodzielnie, a przeglądając ten i tak dość krótki kod nie ogarniam co tam się wyprawia.

Kojarzycie może język w którym zrobienie tych dwóch czynności jest proste? Albo jakoś zestawić program w c++ i javie żeby ze sobą współpracowały? xD Bo już nie mam pomysłu jak ominąć ten problem nie używając czyjegoś kodu.
komentarz 6 sierpnia 2017 przez adrian17 Ekspert (344,860 p.)

Żeby dobrać się do danych tej aplikacji na PC będę musiał odczytać je z ram tego procesu

To brzmi znacząco, potężnie przekombinowanie. Nikt tego tak nie robi. Po prostu wypluj te dane do pliku, do lokalnej bazy danych, po jakimś IPC etc.

Po co w ogóle chcesz żeby jedna aplikacja czytała dane drugiej? Czemu nie może być tylko jedna aplikacja?

komentarz 6 sierpnia 2017 przez ChuZZZta Bywalec (2,540 p.)
Może uchylę rąbek tajemnicy i chodzi mi o to że robię licznik do gier wyścigowych.

https://www.youtube.com/watch?v=FRHKvACmHJ4

Jak widać prototyp działa ale nie podoba mi się że użyłem czyjegoś kodu i chciałbym to napisać samodzielnie.
komentarz 6 sierpnia 2017 przez adrian17 Ekspert (344,860 p.)
A, grę chcesz czytać.

W Pythonie czytanie pamięci procesu zajmuje parę linii, ale nie jest jakoś szczególnie wyrafinowane: https://stackoverflow.com/a/1794686
komentarz 6 sierpnia 2017 przez ChuZZZta Bywalec (2,540 p.)
Widziałem ten kod wcześniej i dlatego pythonem się zainteresowałem, jednak ten kod mi nie działa, z tego co się orientuje to pewnie został napisany w jakiejś starszej wersji i pewnie trzeba by było go poprawić, a nigdzie indziej nie spotkałem się z jakimiś poradnikami itp gdzie ktoś podejmował się próby zabawy z pamięcią w py. Wszędzie tylko C++ C++ C++. :) Python też tak średnio mi się podoba, przez kilka godzin oglądałem jak się w nim pisze i jakoś nie swojo się czuję jak go widzę. :)
komentarz 6 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)
Robienie jakiego obiektu ala log w jsonie (tylko przykład) będzie na pewno wydajniejsze i sensowniejsze niż czytanie z RAMu. Zrób jakiś save statea i tyle.
komentarz 6 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
Zaraz, jak działa wyjmowanie danych z pamięci konkretnego programu ?

Skąd wiadomo, że konkretna wartość to jest np 'speed' ?
komentarz 7 sierpnia 2017 przez ChuZZZta Bywalec (2,540 p.)
edycja 7 sierpnia 2017 przez ChuZZZta
Ehlert -> no ale jak mam inaczej odczytać wartość z gry niż grzebanie w pamięci ram tego procesu. Przecież twórcy gier nie dają żadnego api i innych furtek...

Munvik -> to "speed" to po prostu nazwałem to dla siebie. :D Wartości wzięły się z 3-4h grzebania w pamięci nfs:shift i znalezienie offsetów gdzie gra trzyma dane wartości. Jak mówiłem gry nie dają innych furtek na dostęp do tych wartości, wyjątkiem jest chyba live for speed gdzie jest jakieś api, a normalnie to trzeba grzebać w pamięci i szukać. :(
komentarz 7 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
ChuZZZta -> Tak ale w pamięci o danym adresie jest tylko liczba i skąd wiesz, że ta liczba to jest prędkośc samochodu. Obserwowałeś i testowałeś te wartości, aż stwierdziłeś, że to właśnie jest prędkość ?
komentarz 7 sierpnia 2017 przez ChuZZZta Bywalec (2,540 p.)
Dokładnie tak. :) Na jednym monitorze gra, na drugim pamięć i szukałem która wartość się zmienia kiedy przyśpieszam itp :D
1
komentarz 7 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)
Apokaliptyczny pomysł.
komentarz 12 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
To jaki jest lepszy patent ?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 208 wizyt
pytanie zadane 5 stycznia 2018 w C i C++ przez pionk18 Obywatel (1,590 p.)
0 głosów
1 odpowiedź 265 wizyt
0 głosów
0 odpowiedzi 355 wizyt
pytanie zadane 12 maja 2018 w Sprzęt komputerowy przez Konrad Gałach Użytkownik (880 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...