Sen bir arada kullanabilir ser2net
ve socat
. Örneğin, bir seri port üzerinden ahududu pi bağlı bir robot var. Raspberry pi yerel ağıma bağlı (2. PC'nize eşdeğer). Ve dizüstü bilgisayarım aynı yerel ağa bağlı (1. PC'nize eşdeğer). Daha sonra seri portu 2. PC'den TCP üzerinden iletmek için ser2net kullanıyorum socat
ve 1. PC'de kullanarak bir proxy seri cihaz dosyası oluşturuyorum .
Bu kurulum sizin için de işe yarayabilir. Önerilen çözüm:
Adım 1: Ser2net paketini 2. PC'nize kurun (diyagramınıza göre)
sudo apt-get install ser2net
ser2net bir TCP bağlantı noktasını dinler ve bir TCP bağlantı noktası üzerinden bir seri bağlantı noktasına veri gönderebilir. Konfigürasyon dosyası aracılığıyla hangi vekil sunucuları oluşturmak istediğiniz seri portları ayarlayabilirsiniz /etc/ser2net.conf
.
2.Adım: Ser2net'i 2. PC'de yapılandırın
Örneğin, /dev/ttyACM0
baudrate ile bağlı bir cihazınız varsa 115200
ve bunu localhost port 3333'ten sunmak istiyorsanız, aşağıdaki satırı/etc/ser2net.conf
3333:raw:0:/dev/ttyACM0:115200,remctl
Yapılandırma dosyasını oluşturduktan sonra, ya ikinci bilgisayarda çalışarak ser2net'i başlatın:
ser2net
veya (zaten çalışıyorsa, aşağıdaki gibi yeniden başlatın)
/etc/init.d/ser2net restart
Burada önemli bir şey remctl seçeneğidir. İstemci tarafının (diyagramınızdaki 1. PC) cihaza bağlanmasına ve seri bağlantı seçeneklerini serbestçe seçmesine izin verir. Bu şekilde seri iletişimin veri toplama çalışma alanı perspektifinden tamamen şeffaf olduğunu düşünüyorum. Daha fazla ayrıntıyı burada görebilirsiniz .
Adım 3: Veri toplama iş istasyonunda proxy seri aygıt dosyasını ayarlama (1. PC)
(eğer toplumunuz yoksa, o zaman sudo apt-get install socat
)
Son olarak, 1. PC'deki bir terminalde socat
, tcp portundan dinleyecek bir proxy seri portu oluşturalım:
socat pty,link=$HOME/MyProxySerialPort,waitslave tcp:$ip:$port,forever,reuseaddr,keepalive
Nerede, bu örnekte ip=<2nd-PC-IP-address>
ve port=3333
(veya /etc/ser2net.conf
2. PC'de kurulum yaparken ne seçerseniz seçin ).
Adım 4: MyProxySerialPort'a Bağlanma
Artık $HOME/MyProxySerialPort
1. PC'de bulunan cihaza normal bir seri bağlantı açabilmeniz gerekir .
Bu blog yazısında bu kurulum hakkında daha fazla bilgi var: http://techtinkering.com/2013/04/02/connecting-to-a-remote-serial-port-over-tcpip/