Anda dapat menggunakan kombinasi dari ser2net
dan socat
. Sebagai contoh, saya memiliki robot yang terhubung ke raspberry pi melalui port serial. Pi raspberry terhubung ke jaringan lokal saya (setara dengan PC ke-2 Anda). Dan laptop saya terhubung ke jaringan lokal yang sama (setara dengan PC 1 Anda). Kemudian saya menggunakan ser2net untuk meneruskan port serial melalui TCP dari PC ke-2, dan membuat file perangkat serial proxy menggunakan socat
pada PC ke-1.
Pengaturan ini juga dapat bekerja untuk Anda. Solusi yang diusulkan:
Langkah 1: Instal paket ser2net pada PC ke-2 Anda (mengikuti diagram Anda)
sudo apt-get install ser2net
ser2net mendengarkan port TCP dan dapat mengirim data ke dan dari port serial melalui port TCP. Anda dapat mengatur port serial mana yang ingin Anda buat "proksi" untuk melalui file konfigurasinya /etc/ser2net.conf
.
Langkah 2: konfigurasikan ser2net di PC ke-2
Misalnya, jika Anda memiliki perangkat yang terhubung /dev/ttyACM0
dengan baudrate 115200
dan ingin menyajikannya dari port localhost 3333, maka Anda dapat menambahkan baris berikut ke/etc/ser2net.conf
3333:raw:0:/dev/ttyACM0:115200,remctl
Setelah membuat file konfigurasi, kemudian jalankan ser2net dengan menjalankannya di PC kedua:
ser2net
atau (jika sudah berjalan, maka restart saja seperti di bawah ini)
/etc/init.d/ser2net restart
Satu hal penting di sini adalah opsi remctl. Ini memungkinkan sisi klien (PC pertama dalam diagram Anda) untuk terhubung ke perangkat dan memilih opsi koneksi serial dengan bebas. Saya pikir cara ini komunikasi serial benar-benar transparan dari perspektif ruang kerja pengumpulan data. Lihat lebih detail di sini .
Langkah 3: Mengatur file perangkat serial proxy pada workstation pengumpulan data (PC pertama)
(jika Anda tidak memiliki socat, maka sudo apt-get install socat
)
Terakhir, di terminal PC pertama, mari kita socat
buat port serial proxy yang akan mendengarkan dari port tcp:
socat pty,link=$HOME/MyProxySerialPort,waitslave tcp:$ip:$port,forever,reuseaddr,keepalive
Di mana, dalam contoh ini ip=<2nd-PC-IP-address>
dan port=3333
(atau apa pun yang Anda pilih saat mengatur /etc/ser2net.conf
pada PC ke-2).
Langkah 4: Sambungkan ke MyProxySerialPort
Sekarang Anda harus dapat membuka koneksi serial secara normal ke perangkat yang terletak di $HOME/MyProxySerialPort
PC pertama.
Posting blog ini juga memiliki beberapa informasi tentang pengaturan ini: http://techtinkering.com/2013/04/02/connecting-to-a-remote-serial-port-over-over-tcpip/