MUPLEX jest skryptem Linux używającym SOCAT, który może mieszać różne przepływy wejściowe rzeczywistych lub emulować szeregowe dane NMEA i współdzielić je między wieloma aplikacjami za pomocą wirtualnych portów szeregowych i / lub TCP. Teraz wysyłałbym dane do wielu terminali w trybie emisji UDP; Próbowałem wielu kombinacji adresu / opcji i szukam przykładów z Internetu, ale bez rezultatu.
np. w prostej formie:
# parameters port for standard NMEA
params_port="b4800,raw,clocal=1,cs8,cstopb=0,parenb=0,crtscts=0,echo=0,icanon"
# GPS port
dev_gps=/dev/ttyUSB0
# network is 192.168.127.0, GPS is on the 192.168.127.1 machine
# testing broadcast
# first enable ping
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
ping -c5 -b 192.168.127.255
# result OK
# send datas to 10110 UDP port
socat -d -v FILE:$dev_gps,$params_port UDP4-DATAGRAM:192.168.127.255:10110,broadcast
Brak błędów, ale wszelkie dane po stronie klienta z:
netcat -u 192.168.127.1 10110
lub
socat -d UDP:192.168.127.1:10110 -
Jeśli ktoś ma rozwiązanie, jest mile widziany!
Kompletny skrypt Muplex znajduje się na stronie: http://marinux.tuxfamily.org