JS8Call: Slack pada shortwave

Hai, Habr.



Di antara perangkat lunak amatir radio, terdapat banyak program olahpesan, yang paling populer adalah FT8 dan WSPR. Namun, mereka lebih fokus pada komunikasi amatir radio klasik - pengakuan penerimaan dan / atau pertukaran laporan tentang kualitas komunikasi, dan di sinilah semuanya berakhir. Dalam hal ini, jenis komunikasi digital baru JS8Call tampak sangat menarik bagi saya, kemungkinannya jauh lebih luas.







Mari kita lihat cara kerjanya.



Penerimaan dan transmisi



Protokol JS8 sendiri bekerja dengan prinsip yang sama dengan FT8, yang populer di kalangan amatir radio. Saya sudah menguraikannya di Habré, mereka yang ingin bisa membiasakan diri lebih detail. Singkatnya, pesan ditransmisikan pada gelombang menengah, panjang atau pendek dalam bentuk “paket” tetap dengan panjang 15 detik, panjang setiap pesan 77 bit, yang di satu sisi sedikit, di sisi lain, memungkinkan Anda untuk mengirimkan pesan singkat dalam bentuk tanda panggil, tempat transmisi, dll. ...



Protokol FT8 sendiri ternyata sangat sukses, karena memungkinkan Anda untuk mengirim dan menerima pesan jarak jauh - dengan daya keluaran 5 W, sangat mungkin untuk menghubungi koresponden dalam jarak 1000 km. Tapi skema pengkodean teks di FT8 terlalu terbatas, tk. difokuskan hanya pada tanda panggil amatir radio, praktis tidak ada hal lain yang dapat dikirim di dalam pesan (pada prinsipnya itu mungkin, tetapi akan sangat lambat dan tidak nyaman). Tetapi menggunakan prinsip pengkodean itu sendiri, amatir radio lainnya Jordan Sherer membuat program JS8Call-nya berdasarkan FT8 (seperti yang Anda duga, JS adalah inisial penulis), yang memiliki fungsi yang jauh lebih fleksibel:



  • : Turbo (6 , 160 ), Normal (15 , 50 , Slow (30c , 25 ). , , . , , , , .
  • : , , . , .
  • Program ini dapat bekerja di hampir semua frekuensi, dari 1,8 MHz hingga 144 MHz VHF.
  • Ada API untuk integrasi dengan perangkat lunak eksternal melalui UDP atau TCP.
  • Program ini bekerja pada perangkat keras apa pun, termasuk Windows, OSX dan Raspberry Pi, sedangkan perangkat lunak didistribusikan secara gratis dan tersedia dalam sumbernya .


Penting untuk dicatat bahwa JS8Call diarahkan ke radio hamaplikasi dan percobaan di bidang komunikasi, Anda tidak boleh menganggapnya hanya sebagai pengganti gratis untuk telepon satelit di taiga. Tidak ada enkripsi atau saluran tertutup dalam program ini - semua pesan dapat dilihat oleh semua orang, jadi hampir tidak cocok untuk prof. komunikasi tanpa "modifikasi file" dan lisensi frekuensi yang dialokasikan. Di sisi lain, untuk eksperimen radio amatir, perangkat lunak semacam itu tidak hanya menarik, tetapi juga berguna, misalnya, Anda dapat mengatur gerbang SMS Anda sendiri untuk mengirim pesan dari tempat-tempat di mana tidak ada jangkauan seluler untuk dapat melakukan komunikasi darurat, atau mengatur pertukaran pesan antara dua kelompok. amatir radio sedang mendaki - dukungan untuk Raspberry Pi memungkinkan untuk membuat perangkat yang ringkas dan mandiri untuk menerima dan mengirimkan pesan. Semua ini mungkin, melampaui komunikasi radio amatir "ortodoks",tetapi itulah mengapa menarik bahwa Anda dapat mencoba sesuatu yang baru.



Secara fisik, koneksi program ke transceiver atau penerima dilakukan dengan cara yang sama seperti untuk mode digital lainnya, cukup menghubungkan output audio transceiver ke PC dan memilih perangkat audio yang sesuai di perangkat lunak.



Prinsip umumnya jelas, mari kita lanjutkan ke pengujian.



Menguji



Tanda panggil amatir radio saya kedaluwarsa 5 tahun yang lalu, dan tanpa lisensi yang valid secara resmi tidak mungkin untuk bekerja pada transmisi, jadi saya hanya akan menggunakan program untuk penerimaan, dan saya akan menguji "transmisi" secara lokal di dalam ruangan menggunakan kartu suara PC - jelas, program "tidak ada bedanya ”Dari mana sinyal itu berasal dan dari mana.



Penerimaan



Saya menginstal program pada Raspberry Pi dan menggunakannya dalam mode terima: program GQRX terhubung ke penerima SDRPlay dan JS8Call bertukar data melalui kabel audio virtual.







Anda bisa memperhatikan bidang Jarak di sudut kanan gambar. Seperti yang Anda lihat, Anda bahkan dapat menerima pesan dari benua lain. Secara umum, di resepsi, semuanya cukup baik. Hampir semua negara Eropa dan beberapa stasiun dari Amerika dan Kanada diterima di antena sederhana saya AOR SA7000 (ini adalah batang sepanjang 2 meter) di balkon. Setiap tanda di peta adalah stasiun yang diterima:







Jarak penerimaan maksimum adalah 7831 km pada 14 MHz. Sayangnya, tidak ada sinyal dari Rusia yang diterima.



Siaran



Saya akan menguji "transfer" hanya secara lokal, di mana 4 salinan program dengan tanda panggilan "virtual" yang berbeda USER1..USER4 diluncurkan menggunakan baris perintah js8call.exe -r test1js8call.exe -r test4. Di pengaturan, pengiriman data ke pskreporter juga dinonaktifkan agar tidak mengganggu amatir radio lainnya dengan pesan pengujian. Jendela untuk menerima dan mentransmisikan 4 program terlihat seperti ini: Saya







ingatkan Anda bahwa frekuensi di layar adalah "virtual", tidak ada sinyal yang disiarkan. Ternyata, bahkan kartu suara virtual tidak diperlukan, mikrofon biasa dan speaker komputer sudah cukup.



JS8Call menyediakan fitur-fitur berikut:



  • Mengirim pesan ke semua pelanggan atau ke pengguna tertentu
  • Kemampuan untuk mengirim tanggapan yang menunjukkan kualitas sinyal
  • Kemampuan untuk meneruskan pesan ke pelanggan melalui pelanggan lain
  • Kemampuan untuk bertanya kepada pelanggan jika ada pesan yang diterima untuknya
  • Kemampuan untuk melihat pelanggan mana yang "mendengar" siapa, untuk mengetahui melalui siapa pesan dapat dikirim.


Ini hanya sebagian dari fungsi yang tersedia, mereka yang ingin dapat membiasakan diri dengan dokumentasi program. Semua ini dapat diuji secara lokal menggunakan speaker dan mikrofon, bahkan tanpa mengudara. Sangat menarik untuk mengamati bagaimana program kedua, dalam menanggapi permintaan kekuatan sinyal atau informasi tentang sebuah stasiun, secara otomatis mengirimkan jawaban yang muncul di "jendela obrolan" di program pertama. Secara umum, kemungkinan untuk eksperimen radio amatir cukup besar.



API



Hal menarik terakhir yang akan kita lihat adalah API. Pertama, Anda perlu mengaktifkan dukungan API dalam program di pengaturan, saya memilih TCP:







Kami menulis program paling sederhana untuk menerima pesan melalui soket:



import socket

HOST = '127.0.0.1'  # The server's hostname or IP address
PORT = 2442        # The port used by the server

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    while True:
        data = s.recv(1024)
        print('Received', repr(data))


Kami meluncurkan. Hasil tangkapan layar:







Seperti yang Anda lihat, kami memiliki akses penuh ke pesan masuk dalam bentuk JSON, yang memungkinkan kami untuk menggunakannya sesuka kami, misalnya, untuk gerbang di Telegram, SMS, pengiriman ke layanan lain, dll. Tampaknya API juga dapat digunakan untuk transmisi, tetapi ini tidak akurat, penulis belum memposting deskripsi lengkap.



Kesimpulan



Seperti yang Anda lihat, program JS8Call jelas merupakan eksperimen yang cukup menarik dan agak baru di bidang komunikasi amatir radio. JS8Call difokuskan tidak hanya pada pertukaran laporan penerimaan "tradisional", tetapi juga mendukung partisipasi aktif radio amatir dalam kunjungan lapangan, komunikasi dalam kampanye, bekerja dengan pesan dan grup. Sekarang ada peningkatan minat tertentu dalam komunikasi QRP (komunikasi daya rendah dengan peralatan portabel) dan komunikasi radio di alam, sebagian karena semakin banyak gangguan di kota, dan antena serius sering tidak dipasang secara resmi. Jadi program JS8Call cukup "dalam subjek" dan pasti akan menarik minat radio amatir yang gemar bepergian dan bepergian. Secara umum, semua ini cukup menarik, dan orang dapat berharap bahwa dengan munculnya perangkat lunak semacam itu, minat terhadap radio amatir hanya akan meningkat.



Nah, semua orang, seperti biasa, melakukan eksperimen yang menyenangkan.



All Articles