Skip to content

cadbane/rfactor-udp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rFactor udp


Informacje

Próba stworzenia pluginu dla symulatora wyścigowego rFactor. Zadaniem pluginu jest przekazywanie danych telemetrycznych przez UDP. Z drugiej strony mamy RPi, które wyłapuje te dane i wyświetla na LCD. Kilka screenów poniżej.

Starocie znalezione na dysku. To co miałem wrzucam, powinno działać. Jakby ktoś miał jakieś problemu to służę pomocą.

Obroty, biegi, prędkość

Gaz, hamulec, położenie kierownicy, pedał sprzęgła

Nazwa samochodu i trasy

Temperatura oleju i wody

Numer sesji i ilość pojazdów

CT, ET

(prawdopodobnie w trybie "testing" nie mają one większego znaczenia)

Instalacja i uruchomienie

Lista niezbędnych rzeczy:
  • Raspberry Pi (w moim przyadku B+),
  • Karta μSD lub SD,
  • Wyświetlacz LCD zgodny z HD44780,
  • Tact Switch,
  • Rezystory (220Ω, 3x 1k Ω, 10k Ω),
  • Płytka stykowa,
  • 10 przewodów męsko-żeńskich.
Przygotowanie systemu:
  • Wkładamy kartę do komputera... :)

Windows:

  • ściągamy narzędzie typu Rufus czy LinuxLiveUSB, wybieramy interesującą nas dystrybucję (archARM), klikamy dalej i czekamy. Po dłuższej chwili nasza karta jest już gotowa.

Linux:

  • sprawdzamy gdzie znajduje się nasza karta,
# fdisk -l
  • usuwamy stare partycje i tworzymy nowe,
# fdisk /dev/sdX
# o (usuwa partycje)
# n (tworzy nową) -> p (primary) -> 1 (pierwsza partycja) -> ENTER
(pierwszy sektor) -> +100M (ostatni sektor)
# t -> c (ustawiamy typ partycji na W95 FAT32)
# n -> p -> 2 (druga partycja) -> ENTER -> ENTER
# w (zapisujemy i wychodzimy)
  • tworzymy systemy plików FAT dla boot i ext4 dla /,
# mkfs.vfat /dev/sdX1
# mkfs.ext4 /dev/sdX2
  • montujemy partycje,
# mkdir boot
# mount /dev/sdX1 boot
# mkdir root
# mount /dev/sdX2 root
  • ściągamy, rozpakowywujemy,
# wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
# bsdtar –xpf ArchLinuxARM-rpi-latest.tar.gz –C root
# sync
  • przenosimy folder boot,
# mv root/boot/* boot
  • teraz należy odmontować nasze partycje,
# umount boot root
  • teraz możemy włożyć kartę do Raspberry, podpiąć kabel sieciowy i zasilanie. RPi korzystając z DHCP uzyska adres IP. Jeśli podpięliśmy RPi do routera to prawdopodobnie na nim możemy sprawdzić jaki adres został przydzielony. W moim wypadku adres to 192.168.0.24.
  • logujemy się do naszego RPi. (Windows: putty) (user: alarm/alarm, root/root),
  • aktualizujemy nasz system,
# pacman -Syuu
  • następnie instalujemy niezbędne paczki,
# pacman -S python python-pip git
# pip install RPi.GPIO
  • teraz zostało nam jeszcze ustawić tylko adres statyczny dla naszego RPi (od tego momentu zakładam, że RPi będzie podłączone kablem sieciowym do komputera, a nie do routera).
# cd /etc/netctl
# cp examples/ethernet-static eth
  • edytujemy plik eth, np. przy pomocy vima,
# vim eth
Description=’ethernet’
Interface=eth0
Connection=Ethernet
IP=static
Address=(‘192.168.3.14/24’)
11Gateway=(‘192.168.1.1’)
Auto_wired=yes
  • zapisujemy, wychodzimy (vim: ESCAPE -> :wq -> ENTER), wywołujemy,
# netctl start eth
# netctl enable eth
  • odłączamy RPi od zasilania.
Podłączanie wyświetlacza do RPi

Podpinamy wszystko jak na poniższym obrazku.

Pomocny może okazać się schemat z opisem pinów RPi B+

Uruchamiamy naszego klienta
  • Podłączamy RPi, logujemy się przy pomocy wcześniej ustalonego adresu (192.168.3.14). Następnie ściągamy repozytorium z kodem przy pomocy:
git clone https://github.com/sz-m/rfactor-udp/
  • przechodzimy do katalogu pyfactor i odpalamy run.py (aby skrypt miał dostęp do GPIO musi zostać odpalony z odpowiednimi uprawnieniami)
su -c "python pyfactor/run.py"
  • jeśli wszystko przebiegło pomyślnie powinniśmy ujrzeć na naszym wyświetlaczu aktualną datę.

  • Nasze RPi zostało w pełni skonfigurowane do pracy z pluginem. Teraz przystępujemy do konfiguracji na naszym komputerze,

  • ściągamy repozytorium z kodem (możemy to zrobić przy pomocy git’a jak powyżej lub klikając „download as zip” powyżej),

  • w repozytorium znajduje się skompilowana już biblioteka, nic nie stoi jednak na przeszkodzie abyśmy sami ją utworzyli,

  • skompilowaną bibliotekę (Release/rfudp.dll) kopiujemy do naszego katalogu z grą (rFactor/Plugins lub odpowiednio Steam/steamapps/common/rFactor/Plugins),

  • następnie w katalogu głównym gry tworzymy pusty folder o nazwie logs, który będzie przechowywał logi z gry.

  • Uruchamiamy grę i odpalamy wyścig.

  • Przy pomocy przycisku na płytce stykowej zmieniamy wyświetlane informacje.

About

Simple telemetry project to rfactor simulator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published