Tạo cặp modem Null linux


7

Tôi đang tìm cách tạo các cổng nối tiếp ảo trên Debian 6 bóp. Yêu cầu cơ bản là:

  1. có thể kết nối như thể cổng là một cổng nối tiếp thực sự (IE có thể đặt baud, dừng bit, v.v.)

  2. cặp cổng com cần phải kiên trì

  3. Tên cổng com phải tĩnh khi khởi động lại. Tôi không muốn thay đổi cài đặt mã mỗi lần khởi động lại máy tính

Tôi đã thử ngắn gọn socat ngày hôm nay bằng cách sử dụng socat -d -d pty, raw, echo=1 pty, raw, echo=1nó được tạo thành công /dev/pts/5/dev/pts/6như một cặp. Tuy nhiên, ngay sau khi tôi đóng thiết bị đầu cuối đang chạy socat, cặp đôi bị chấm dứt. Tôi cũng tự hỏi nếu tty0tty là một lựa chọn? Tôi đã sử dụng com0com trong quá khứ với các cửa sổ rất thành công.

Câu hỏi của tôi là cách tốt nhất để tạo một cặp modem null để tôi có thể mô phỏng một số cổng com trong Linux là gì?


Đó là những gì mà bạn đang thực sự cố gắng để làm gì? Hầu hết các chương trình không quan tâm nếu chúng được kết nối với một cổng nối tiếp, tty, ống hoặc ổ cắm mạng.
psusi

Tôi có một vài cảm biến mà tôi sẽ kết nối. Ngay bây giờ tôi không có cảm biến vật lý nên tôi phải mô phỏng với dữ liệu mẫu. các cảm biến sẽ kết nối với một cổng nối tiếp vì vậy tôi đang cố gắng giữ mọi thứ giống như cảm biến thực nhất có thể. IE có thể thiết lập baud, dừng bit, v.v.
Richard

Câu trả lời:


5

Nếu bạn đóng thiết bị đầu cuối, bạn cũng sẽ giết socat.

Hãy thử chạy nó với

socat -d -d pty, raw, echo=1 pty, raw, echo=1 &
disown

Sau đó, bạn sẽ có thể đóng thiết bị đầu cuối


1

Các bit dừng chỉ tồn tại nếu bạn có UART thực tế nên không có gì để mô phỏng. Tốc độ truyền chỉ đơn giản là giới hạn trên về tốc độ bạn có thể chuyển dữ liệu, vì vậy khi bạn viết chương trình mô phỏng, bạn chỉ cần giới hạn tốc độ dữ liệu của nó ở tốc độ phù hợp. Sau đó, bạn có thể kết nối trình giả lập với chương trình tiêu thụ bằng một ống cũ hoặc fifo.

Không có lý do gì để bận tâm với một giả giả vì họ thực sự không làm gì với tốc độ truyền và các tham số khác, họ chỉ chuyển nó để tương thích ngược.


1

Tôi nghĩ rằng giải pháp này sẽ không "dai dẳng" tuy nhiên tên sẽ là tĩnh mặc dù chúng là biểu tượng. socat sẽ tiếp tục chạy sau khi đóng thiết bị đầu cuối nhờ câu trả lời của Kotte

socat -d -d PTY,link=/home/someuser/COM0 PTY,link=/home/someuser/COM1 & disown
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.