menangkap data mentah di port COM


11

Saya memiliki perangkat transmisi Bluetooth dan PC saya (Windows 7) terhubung dan dikonfigurasi seolah-olah terhubung melalui port serial RS232 (COM4). Bagaimana saya bisa menangkap data mentah yang dikirim oleh perangkat Bluetooth, atau, setara, data mentah yang diterima di COM4?


Bukan pertanyaan elektronik, sejauh yang saya tahu.
Brian Carlton

5
Saya benar-benar berpikir bahwa ini adalah topik. Ada beberapa perangkat lunak yang dapat menangkap data serial dari port COM (beberapa di antaranya bahkan ketika aplikasi lain menggunakan port), dan perangkat lunak itu sebenarnya cukup khusus sehingga kebanyakan orang tidak tahu itu ada. Kelemahannya adalah setelah menghabiskan waktu mencari perangkat lunak seperti itu, saya tidak dapat menemukan yang berfungsi dengan baik pada komputer post XP.
AndrejaKo

Apakah Anda mencari alat seperti ini? com0com.cvs.sourceforge.net/viewvc/com0com/hub4com/…
kenny

Jawaban:


9

Anda dapat menggunakan program terminal standar untuk mengambil data dalam berbagai format. Saya sarankan menggunakan Terminal Bray , sangat mudah dan memiliki banyak pilihan!

Atau apakah Anda ingin menangkap dan menginterpretasikan data dalam beberapa jenis aplikasi sendiri?


Terima kasih! Saya tidak mencari untuk menafsirkan data. Yang saya inginkan adalah menerima data mentah dan dapat menyimpannya dalam file. Saya mencoba mencari tahu apa yang sebenarnya ditransmisikan oleh perangkat Bluetooth saya. Apakah Terminal Bray akan melakukan itu untuk saya?
user11395

@ user11395 - ya, setiap perangkat lunak terminal yang layak akan melakukan ini, saya juga menggunakan Bray's Terminal - Putty adalah satu lagi yang baik ... Tip - jika Anda memiliki masalah connectiing di Bray's Terminal, buka properti perangkat modul BT Anda di windows (Kontrol Panel -> Perangkat Bluetooth, klik kanan dan pilih "properti"), dan hapus pilihan dan pilih kembali layanan SPP.
Oli Glaser

terima kasih Oli. Saya menjalankan Terminal Bray tetapi ada sesuatu yang salah. Saya "memindai ulang" port-port itu, saya menemukan port COM4, ​​saya terhubung ke COM4 dan kemudian saya bisa melihat data ditangkap. Namun saya tidak berpikir mereka benar. Saya tidak yakin tentang nilai Baud Rate / Data bits / Parity Stop Bits / Handshaking yang harus saya pilih. Ada saran?
user11395

Umumnya modul datang ke 9600,1, N (bit 1 stop, tidak ada paritas) tetapi 115200 juga umum (bisa dikatakan seperti apa defaultnya dari mana Anda membelinya). Setel ke no handshaking juga. Anda dapat mengatur baud rate dengan perintah AT (bukan melalui tautan nirkabel, Anda harus terhubung langsung ke pin Rx / Tx modul) Sebelum mencoba ini, kirim karakter yang dikenal berulang-ulang dan baru saja mulai dari baud paling lambat dan lanjutkan dengan cara Anda - salah satunya harus menghasilkan data yang benar.
Oli Glaser

Saya berhasil mengambil data dengan terminal Bray. Tidak masalah jika saya memilih baud rate 9600 atau 115200 pada terminal Bray, saya mendapatkan data yang sama (yang tampaknya benar). Mengapa kedua opsi memberikan hasil yang sama? Juga, saya menemukan bahwa perangkat saya memiliki baud rate 115200, tetapi sejauh yang saya bisa lihat di manajer perangkat saya, port COM ini diatur ke baud rate 9600 (saya kira secara default). Haruskah saya mengubahnya?
user11395

2

Solusi terbaik yang saya temukan, meskipun agak kasar, adalah Tera Term http://ttssh2.sourceforge.jp/index.html.en .

Bray's tidak bermain bagus dengan Windows 8. Meskipun tidak mungkin untuk mengatakan apa sebenarnya yang dilakukannya tanpa sumber, tampaknya Bray membuat asumsi tentang lokasi pengaturan registri.

portmon juga tidak berfungsi untuk saya di Windows 8.


Saya menggunakan Bray di versi terbaru dari Win 10 sehingga masih berfungsi setidaknya dalam beberapa kasus. Komputer saya hanya menginstal COM3.
Chris Dragon

2

Emulator terminal favorit pribadi saya untuk debugging adalah RealTerm yang memiliki berbagai opsi tampilan yang bagus untuk sistem embedded. Baik RS-232 dan TCP / IP beroperasi dengan baik di bawah Windows 7 x64 dan di bawah (saya belum pernah mencoba di bawah Win 8 tetapi tidak punya alasan untuk berpikir itu tidak akan berhasil). Beberapa fitur yang menurut saya sangat berguna adalah:

  • Tampilan data ASCII / HEX
  • Tangkap file dapat menyertakan cap waktu
  • Ada cara mudah untuk mengirim urutan data biner
  • Pin kontrol aliran perangkat keras dapat dengan mudah dipantau / diubah

Ada juga beberapa opsi lain untuk I2C, SPI, Dallas 1-wire dan GPIB. Saya belum menggunakan fitur-fitur tersebut secara pribadi tetapi ada ringkasan yang bagus di halaman SourceForge di atas. Berikut ini adalah tangkapan layar dari tampilan tab tampilan utama:

masukkan deskripsi gambar di sini


1

Saya akan merekomendasikan bray juga, jika Anda tidak yakin tentang baud rate membuka manajer perangkat keras, telusuri ke port COM dan pilih properti, terdaftar di sana meskipun tidak selalu akurat.


Saya berhasil mengambil data dengan terminal Bray. Tidak masalah jika saya memilih baud rate 9600 atau 115200 pada terminal Bray, saya mendapatkan data yang sama (yang tampaknya benar). Mengapa kedua opsi memberikan hasil yang sama? Juga, saya menemukan bahwa perangkat saya memiliki baud rate 115200, tetapi sejauh yang saya bisa lihat di manajer perangkat saya, port COM ini diatur ke baud rate 9600 (saya kira secara default). Haruskah saya mengubahnya?
user11395

1

Ada portmon : alat sysinternals yang bertindak sebagai datacope untuk port COM.


1
Tidak bekerja pada sistem windows x64 dalam pengalaman saya.
JonCage

1

Bergantung pada kebutuhan Anda yang tepat, mungkin bermanfaat untuk menggunakan mikrokontroler yang dapat menangkap dan mencap waktu data dan kemudian meneruskannya ke PC. UARTs yang secara historis ditemukan pada PC biasa hanya mampu merekam informasi waktu yang akurat atau menangkap data 9-bit dengan meminta prosesor mengambil setiap byte saat diterima, tanpa buffering; sistem operasi dan driver selanjutnya umumnya tidak dilengkapi untuk melakukan itu, dan chip UART-to-USB tidak ada harapan dalam hal itu. Jika PC Anda dapat menerima data dua kali lipat kecepatan data yang Anda inginkan, Anda dapat meminta mikrokontroler menerima byte data dan untuk setiap byte mengirimkan dua byte. Byte pertama akan memiliki set MSB, laporkan MSB (atau dua MSB jika 9-bit) dari data yang masuk dalam bit berikutnya, dan gunakan bit 5 (atau 4) terbawah untuk melaporkan jumlah waktu (0-30 atau 0-14) sejak tengah bit stop byte sebelumnya (diukur dalam unit misalnya waktu satu bit). Byte kedua akan memiliki MSB yang jelas dan berisi 7 bit data yang tersisa. Ketika tidak ada data yang dikirim, karakter pacing FF akan dikirim setiap 30 (atau 14) kali. Perangkat lunak yang menerima laporan ini dengan demikian akan dapat merekonstruksi dengan sangat tepat (dalam waktu satu bit) waktu yang tepat dari data yang masuk. Jika laju data yang memberi makan PC adalah empat kali laju data yang dipantau, seseorang dapat menggunakan skema umum ini untuk multipleks dua saluran penerimaan menjadi satu port PC (gunakan sedikit byte header untuk mengidentifikasi apakah data tersebut berisi data untuk yang pertama atau kedua Pelabuhan). Sementara mengatur waktu hal-hal yang akurat untuk sedikit waktu mungkin tampak berlebihan, ada kalanya hal itu berguna,

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.