thu thập dữ liệu thô trong cổng COM


11

Tôi có một thiết bị truyền Bluetooth và PC của tôi (Windows 7) được kết nối với nó và được cấu hình như thể nó được kết nối qua cổng nối tiếp RS232 (COM4). Làm cách nào tôi có thể chụp dữ liệu thô được truyền bởi thiết bị Bluetooth hoặc tương đương với dữ liệu thô nhận được trong COM4?


Không phải là một câu hỏi điện tử, như tôi có thể nói.
Brian Carlton

5
Tôi thực sự nghĩ rằng đây là chủ đề. Có một số phần mềm có thể thu thập dữ liệu nối tiếp từ cổng COM (một số phần mềm ngay cả khi một ứng dụng khác đang sử dụng cổng) và phần mềm thực sự đủ chuyên dụng để hầu hết mọi người không biết nó tồn tại. Nhược điểm là sau khi dành một chút thời gian để tìm kiếm phần mềm như vậy, tôi không thể tìm thấy bất kỳ phần mềm nào hoạt động tốt trên máy tính XP.
AndrejaKo

bạn đang tìm kiếm một công cụ như thế này? com0com.cvs.sourceforge.net/viewvc/com0com/hub4com/ Kẻ
kenny

Câu trả lời:


9

Bạn có thể sử dụng một chương trình thiết bị đầu cuối tiêu chuẩn để thu thập dữ liệu ở các định dạng khác nhau. Tôi đề nghị sử dụng Terminal của Bray , nó thực sự dễ dàng và có nhiều tùy chọn!

Hay bạn muốn nắm bắt và giải thích dữ liệu trong một số loại ứng dụng riêng?


Cảm ơn bạn! Tôi không tìm cách giải thích dữ liệu. Tất cả những gì tôi muốn là nhận dữ liệu thô và có thể lưu chúng trong một tệp. Tôi đang cố gắng tìm hiểu xem thiết bị Bluetooth của tôi thực sự truyền đi. Terminal của Bray sẽ làm điều đó cho tôi?
dùng11395

@ user11395 - vâng, bất kỳ phần mềm thiết bị đầu cuối phong nha nào cũng sẽ làm điều này, tôi cũng sử dụng Terminal của Bray - Putty là một ứng dụng tốt khác ... Một mẹo - nếu bạn gặp sự cố khi kết nối trong Terminal của Bray, hãy chuyển đến thuộc tính thiết bị mô-đun BT của bạn trong windows (Điều khiển Bảng điều khiển -> Thiết bị Bluetooth, nhấp chuột phải và chọn "thuộc tính"), đồng thời bỏ chọn và chọn lại dịch vụ SPP.
Oli Glaser

cảm ơn Oli Tôi đang chạy Terminal của Bray nhưng có vẻ như có gì đó không ổn. Tôi "quét lại" các cổng, tôi tìm thấy cổng COM4, ​​tôi kết nối với COM4 và sau đó tôi có thể thấy dữ liệu được ghi lại. Tuy nhiên tôi không nghĩ rằng họ đúng. Tôi không chắc chắn về các giá trị của Baud Rate / Data bit / Parity Stop Bits / Handshakes mà tôi nên chọn. Bất kỳ đề xuất?
dùng11395

Nói chung, các mô-đun được đặt thành 9600,1, N (1 bit dừng, không có tính chẵn lẻ) nhưng 115200 cũng phổ biến (có thể nói mặc định là bất cứ nơi nào bạn mua nó) Đặt thành không bắt tay. Bạn có thể đặt tốc độ baud bằng lệnh AT (không qua liên kết không dây, bạn phải kết nối trực tiếp với các chân Rx / Tx của mô-đun) Trước khi thử điều này, hãy liên tục gửi một ký tự đã biết và chỉ bắt đầu từ tốc độ chậm nhất và làm theo cách của bạn - một trong số họ nên tạo ra dữ liệu chính xác.
Oli Glaser

Tôi quản lý để thu thập dữ liệu với thiết bị đầu cuối của Bray. Không có vấn đề gì nếu tôi chọn tốc độ baud là 9600 hoặc 115200 trên thiết bị đầu cuối của Bray, tôi nhận được cùng một dữ liệu (có vẻ là chính xác). Tại sao cả hai lựa chọn cho cùng một kết quả? Ngoài ra, tôi phát hiện ra rằng thiết bị của mình có tốc độ baud là 115200, nhưng theo như tôi có thể thấy trong trình quản lý thiết bị của mình, cổng COM này được đặt ở tốc độ baud là 9600 (theo mặc định tôi đoán). Tôi có nên thay đổi điều đó?
dùng11395

2

Giải pháp tốt nhất tôi đã tìm thấy, mặc dù hơi thô thiển, là Tera Term http://ttssh2.sourceforge.jp/index.html.en .

Bray không chơi tốt với Windows 8. Mặc dù không thể biết chính xác nó đang làm gì mà không có nguồn, nhưng có vẻ như nó đang đưa ra một số giả định về vị trí của cài đặt đăng ký.

portmon cũng không hoạt động với tôi trên Windows 8.


Tôi đang sử dụng Bray trong phiên bản Win 10 mới nhất để nó vẫn hoạt động ít nhất trong một số trường hợp. Máy tính của tôi chỉ cài đặt COM3.
Chris Dragon

2

Trình giả lập thiết bị đầu cuối yêu thích cá nhân của tôi để gỡ lỗi là RealTerm có một loạt các tùy chọn hiển thị đẹp cho các hệ thống nhúng. Cả RS-232 và TCP / IP đều hoạt động tốt trong Windows 7 x64 trở xuống (Tôi chưa thử dưới Win 8 nhưng không có lý do nào để nghĩ rằng nó sẽ không hoạt động). Một vài tính năng tôi thấy đặc biệt hữu ích là:

  • Chế độ xem dữ liệu ASCII / HEX
  • Chụp tập tin có thể bao gồm dấu thời gian
  • Có một cách dễ dàng để gửi chuỗi dữ liệu nhị phân
  • Chân kiểm soát dòng phần cứng có thể dễ dàng được theo dõi / thay đổi

Ngoài ra còn có khá nhiều tùy chọn khác cho I2C, SPI, Dallas 1-dây và GPIB. Cá nhân tôi chưa sử dụng các tính năng đó nhưng có một bản tóm tắt hay trên trang SourceForge ở trên. Dưới đây là ảnh chụp màn hình của giao diện tab hiển thị chính:

nhập mô tả hình ảnh ở đây


1

Tôi cũng khuyên bạn nên sử dụng, nếu bạn không chắc chắn về tốc độ truyền mở trình quản lý phần cứng, hãy duyệt đến các cổng COM và chọn thuộc tính, nó được liệt kê ở đó mặc dù không phải lúc nào cũng chính xác.


Tôi quản lý để thu thập dữ liệu với thiết bị đầu cuối của Bray. Không có vấn đề gì nếu tôi chọn tốc độ baud là 9600 hoặc 115200 trên thiết bị đầu cuối của Bray, tôi nhận được cùng một dữ liệu (có vẻ là chính xác). Tại sao cả hai lựa chọn cho cùng một kết quả? Ngoài ra, tôi phát hiện ra rằng thiết bị của mình có tốc độ baud là 115200, nhưng theo như tôi có thể thấy trong trình quản lý thiết bị của mình, cổng COM này được đặt ở tốc độ baud là 9600 (theo mặc định tôi đoán). Tôi có nên thay đổi điều đó?
dùng11395

1

portmon : một công cụ sysiternals hoạt động như một datascope cho các cổng COM.


1
Không hoạt động trên các hệ thống cửa sổ x64 theo kinh nghiệm của tôi.
JonCage

1

Tùy thuộc vào yêu cầu chính xác của bạn, có thể hữu ích khi sử dụng một vi điều khiển có thể thu thập và đóng dấu thời gian dữ liệu và sau đó chuyển tiếp nó tới PC. Các UART trong lịch sử được tìm thấy trên các PC thông thường chỉ có thể ghi thông tin thời gian chính xác hoặc thu thập dữ liệu 9 bit bằng cách bộ xử lý lấy từng byte khi nó đến mà không cần đệm; Các hệ điều hành và trình điều khiển sau này thường không được trang bị để làm điều đó và các chip UART-USB là vô vọng trong vấn đề đó. Nếu PC của bạn có thể nhận dữ liệu với tốc độ gấp đôi tốc độ dữ liệu mong muốn của bạn, bạn có thể có một vi điều khiển nhận byte dữ liệu và cho mỗi byte gửi ra hai byte. Byte đầu tiên sẽ có bộ MSB, báo cáo MSB (hoặc hai MSB nếu 9 bit) của dữ liệu đến trong (các) bit tiếp theo, và sử dụng các bit 5 (hoặc 4) dưới cùng để báo cáo lượng thời gian (0-30 hoặc 0-14) kể từ giữa bit dừng của byte trước đó (tính bằng đơn vị ví dụ: một bit thời gian). Byte thứ hai sẽ xóa MSB và chứa 7 bit dữ liệu còn lại. Khi không có dữ liệu nào được truyền đi, các ký tự tạo nhịp FF sẽ được gửi sau mỗi 30 (hoặc 14) bit. Do đó, phần mềm nhận các báo cáo này sẽ có thể xây dựng lại rất chính xác (trong một thời gian một chút) thời gian chính xác của dữ liệu đến. Nếu tốc độ dữ liệu cung cấp cho PC gấp bốn lần tốc độ dữ liệu được theo dõi, người ta có thể sử dụng sơ đồ chung này để ghép hai kênh nhận vào một cổng PC (sử dụng một chút byte tiêu đề để xác định xem nó có chứa dữ liệu cho lần đầu tiên hay giây không Hải cảng). Mặc dù thời gian mọi thứ chính xác đến một chút thời gian có vẻ quá mức, đôi khi nó có thể hữu ích,

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.