2013-08-22 29 views
5

là có thể bắt buộc mọi giao tiếp từ ví dụ: Javascript/JQuery cho bất kỳ trình biên dịch nối tiếp nào ?!JavaScript/JQuery giao tiếp với SerialPort/COM1

google không có khả năng trả lời câu hỏi đó .. nhưng dù sao chúng ta có thể .. env là firefox trong trường hợp của tôi ..

ý tưởng/kiến ​​thức là rất đáng hoan nghênh.

vui lòng băng

+0

_ "nhưng dù sao chúng ta có thể" _ - Tại sao nó phải được khả thi? Theo nguyên tắc chung, JavaScript chạy trong trình duyệt không thể truy cập bất kỳ thứ gì bên ngoài trình duyệt. Đây là một tính năng bảo mật có chủ ý. Bạn đang nói về việc cung cấp tính năng com này trên một trang web công cộng (nơi bạn không thể kiểm soát trình duyệt nào người dùng có thể có), hay bạn chỉ nói về FF, hay ...? – nnnnnn

+0

bạn hoàn toàn đúng - tôi biết rằng .. nhưng có lẽ nó có thể buộc nó thông qua about: config hoặc bất cứ điều gì .. tôi đang nói về một giải pháp máy tính để bàn, không có (công cộng) internet và ONLY để sử dụng firefox! tôi phải giải quyết vấn đề đó .. nếu không thể tôi phải cài đặt một máy chủ đơn giản trên máy khách và lấy cổng thông qua ajax - đó là dự phòng .. –

Trả lời

2

Có thể, nhưng không phải với trình duyệt thông thường. Các trình duyệt được hộp cát để không có quyền truy cập vào hệ thống tệp cục bộ (ngoại trừ cookie) để các trang web độc hại không thể đọc/ghi vào ổ cứng của bạn. Theo tôi biết không có cách nào để ghi đè lên hành vi này (viết tắt trình duyệt của riêng bạn).

Tuy nhiên, điều này có thể được thực hiện bằng JavaScript bằng cách sử dụng Node.js. Nó chạy như một quá trình thay vì trong một cửa sổ trình duyệt và có thể truy cập vào hệ thống tập tin. Cụ thể, đã có mô-đun npm (thư viện nút) cho giao tiếp nối tiếp: https://github.com/voodootikigod/node-serialport

Ngoài ra, bạn luôn có thể quay lên máy chủ web cục bộ (thông qua node.js, php, đường ray, v.v.). Các máy chủ web có thể truy cập các hệ thống tệp và do đó sẽ có thể truy cập các cổng nối tiếp.

Hy vọng điều này sẽ hữu ích.

1

gợi ý kimstik của, sử dụng các plugin jUART cho trình duyệt là một giải pháp tuyệt vời .

Một khả năng khác là sử dụng phần mềm trung gian, tạo điều kiện cho giao tiếp nối tiếp và cung cấp giao diện web, JavaScript có thể giao tiếp với việc sử dụng các yêu cầu AJAX.

Có thể sử dụng Python, ví dụ: tập lệnh sử dụng kết hợp của pySerialpython-bobo.

+1

Cập nhật ngày này: ngày 15 tháng 9 năm 2015 Chrome sẽ không còn hỗ trợ NPAPI và giải pháp sẽ không còn hoạt động nữa. [xem tại đây] (https://support.google.com/chrome/answer/6213033?hl = vi) – nerdwaller

4
+0

Chrome đã chuyển từ việc hỗ trợ các ứng dụng Chrome sang bất kỳ ứng dụng nào khác ngoài ChromeOS theo [bài đăng trên blog này] (https://blog.chromium.org/2016/08/from-chrome-apps-to-web. html). – JIntro