Tôi đang sử dụng thiết bị nối tiếp cho một dự án và những gì tôi đang cố thực hiện bên PC, đang nghe lệnh được thiết bị nối tiếp gửi, giải thích truy vấn, chạy một số mã tùy thuộc vào truy vấn và truyền lại kết quả.Trình nghe và nối tiếp cổng nối tiếp Linux?
Thành thật mà nói tôi đã thử sử dụng PHP làm trình nghe, và nó hoạt động, tiếc là vòng lặp vô hạn cần thiết để làm cho tập lệnh hoạt động như một bộ thu, tải CPU lên 25%. Vì vậy, nó không thực sự là lựa chọn tốt nhất.
Tôi đang sử dụng Cygwin ngay bây giờ, tôi muốn tạo một tập lệnh bash bằng cách sử dụng các lệnh gốc của Linux.
tôi có thể nhận dữ liệu bằng cách sử dụng:
cat /dev/ttyS2
Và gửi một phản ứng với:
echo "command to send" > /dev/ttyS2
Câu hỏi của tôi là, làm thế nào để làm cho một người nghe tự động để có thể nhận và gửi dữ liệu ? Vấn đề chính mà tôi có, thực sự là làm thế nào để dừng lệnh cat/dev/ttyS2 sau khi nhận được thông tin, đặt nó vào một biến mà sau đó tôi có thể so sánh với một công tắc, hoặc một chuỗi nếu khác chặn. Sau đó gửi lại phản hồi và bắt đầu lại chu kỳ?
Cảm ơn
bash sẽ không là sự lựa chọn đầu tiên của tôi. Có thể là thời điểm tốt để thử một con trăn nhỏ hoặc perl - cả hai đều có thư viện và các ví dụ cho việc này. – stark
Hoặc thử sử dụng lập trình hệ thống C và Linux. Vẫn. Bạn đang cố gắng tạo một loại chương trình máy khách-khách hàng trong bash script? – askmish
Tôi đã thử sử dụng C++, tuy nhiên tôi chưa bao giờ đặt tay lên loại ngôn ngữ lập trình đó, vì vậy tôi thất bại .. Sử dụng bash có ý nghĩa hơn với tôi, vì tôi cũng có thể dễ dàng sử dụng cả ứng dụng Windows và Linux với Cygwin . Một lệnh có thể sử dụng tệp thực thi Windows hoặc tệp dơi để lưu đầu ra thành biến mà tôi chuyển sang thiết bị nối tiếp và tôi có thể sử dụng lệnh Linux (chẳng hạn như wget) trên dòng khác mà không phải viết toàn bộ hàm để làm trong C++. – Matt