
Suatu ketika kolega saya Peter menyarankan untuk berpartisipasi dalam satu proyek yang menarik - penciptaan "telepon gua untuk para speleologis", karena ia tertarik pada speleologi. Cavers memiliki masalah seperti itu: komunikasi nirkabel di bawah tanah tidak berfungsi dalam praktiknya. Penerimaan radio yang dapat diterima hanya mungkin sejalan, tetapi perlu beberapa putaran - dan tidak ada koneksi. Dan Anda perlu berkomunikasi di seluruh gua, yang panjangnya bisa beberapa kilometer. Tentu saja, komunikasi seluler tidak menangkap di sana, yang berarti bahwa tidak ada koneksi dengan dunia luar untuk kelompok yang bekerja secara mandiri di gua selama beberapa minggu.
Pada Agustus 2018, Peter akan berpartisipasi dalam ekspedisi ke gua yang agak rumit dan berbahaya. Untuk ekspedisi ini, kami memutuskan untuk mengembangkan perangkat baru yang akan menyelesaikan masalah menghubungkan kelompok yang bekerja secara mandiri dengan dunia luar.
Deskripsi gagasan
Ahli speleologi memiliki "telepon gua" yang bekerja melalui kabel medan (biasanya ini adalah hal-274), terbentang di sepanjang seluruh gua, kira-kira seperti ini:
(C) Pavel Rudko, TP17 Nedra, produksi Krasnoyarsk.Idenya adalah untuk menghubungkan telepon bawah tanah ke smartphone, dan untuk berkomunikasi dengan dunia luar melalui "stasiun pangkalan" seluler di permukaan. Agar dapat mengirim SMS ke kerabat, teman dan kerabat dari bawah tanah, minta ramalan cuaca di permukaan, sehingga jika terjadi hujan di muka naik ke permukaan.
Peter dan penjelajah lainnya berencana untuk turun ke bagian bawah
sistem Snezhnaya , yang terletak di Abkhazia dan pernah menjadi sistem gua terdalam kedua di dunia. Mereka berencana untuk pergi melalui pintu masuk yang lebih rendah, gua Bank. Dari sudut pandang salah satu bahaya gua utama - banjir - yang mengalir ke dasar dengan cara ini jauh lebih aman daripada semua rute lain yang diketahui, tetapi Anda masih harus mengatasi satu bagian yang sangat berbahaya - Kaskade menderu. Ini benar-benar tidak bisa dilewati banjir 250 meter di sepanjang sungai bawah tanah. Sebelum melewati bagian ini, kami ingin mengetahui cuaca di permukaan.
Dari kamp bawah tanah otonom, di mana ia direncanakan untuk hidup selama dua minggu, ke pintu keluar terdekat ke permukaan 3,5 km dari jalur, dengan perbedaan ketinggian 800 m. Jalur komunikasi bawah tanah sudah dilengkapi pada seluruh rute dengan kelompok-kelompok lain yang bekerja di gua - itu diperpanjang oleh lapangan kabel P-274. Kami berencana menggunakan kalimat ini dalam ide kami.
Tetap membangun sepasang perangkat: kontrol harus berada di grup di gua, yang dikontrol - di permukaan di zona penerimaan sinyal GSM yang dapat diandalkan. Dan perlu untuk menciptakan cara komunikasi bagi mereka. Perangkat yang dikelola harus menerima perintah dari manajer dan dapat menerima dan mengirim SMS. Suatu kondisi penting adalah otonomi lengkap alat di permukaan selama dua minggu, yaitu, seluruh jangka waktu ekspedisi, karena tidak ada yang menunggu kami di pintu masuk gua. Tidak ada yang mengisi ulang, mengganti baterai, atau menyalakan ulang perangkat.
Dalam perkembangannya ambil bagian:
- Koveshnikov Peter - penulis gagasan, penggagas, pengembangan bagian perangkat lunak.
- Matveev Lyubomir - rakitan, instalasi, kabel papan transceiver.
- Shelepin Sergey - desain transceiver.
Skema umum adalah sebagai berikut. Sebuah stasiun pangkalan dipasang di permukaan, itu ditenagai oleh baterai yang diisi oleh baterai surya, itu harus bekerja selama setidaknya dua minggu, dengan mempertimbangkan durasi rata-rata perjalanan ke gua-gua, dan harus otonom sehingga tidak memerlukan perhatian orang. Orang di bawah ini dapat, dengan bantuan klip buaya atau terminal sekrup, bergabung di mana saja di jalur (kawat medan direntangkan di gua-gua) dan membuat sambungan telepon bawah tanah dengan stasiun bumi. Dia dalam mode "tidur", secara berkala "bangun" dan menerima sinyal layanan. Mode tidur diperlukan untuk menghemat daya baterai, karena matahari tidak selalu ada untuk memberi daya baterai.
Dan sekarang beberapa detail teknis.
Implementasi ide
Kompleks yang kami gunakan dalam ekspedisi ini adalah sebagai berikut:
- Dua smartphone Android menjalankan program yang ditulis secara khusus.
- Dua transceiver dari desain mereka sendiri, terhubung ke jalur bawah tanah dan ke port audio ponsel.
- V- field bidang P-274 twin -field sekitar 3600 m panjang, diperpanjang hingga kedalaman 800 m.
- Permukaan kompleks daya ponsel.
- Power bank untuk menyalakan telepon "permukaan".
- Arduino , yang memulai kembali proses pengisian daya ponsel dari bank daya.
- Panel surya untuk pengisian daya bank.

Mereka menjadikan sirkuit telepon biasa sebagai dasar, hanya sebagai ganti orang, smartphone itu sendiri menerima dan mengirimkan perintah. Untuk berkomunikasi satu sama lain, perangkat bertukar urutan sinyal suara - nada DTMF (sinyal analog multi-frekuensi multi-nada dengan 16 nada). Salurannya setengah dupleks. Untuk mentransfer data itu sendiri, 9 nada dari 16 digunakan, dan 7 nada sisanya adalah nada layanan, misalnya, menunjukkan awal / akhir pesan / urutan, sinyal restart darurat, dll. Durasi nada DTMF, dan karenanya kecepatan transmisi, bervariasi dari 1 nada per detik hingga 15 nada per detik. Tidak termasuk jeda teknis, ini sesuai dengan 0,3-5,5 byte per detik. Ponsel pintar yang menggunakan pustaka
dtmf-cpp mengubah teks menjadi nada dan sebaliknya.

Transceiver terhubung ke ponsel melalui jack audio 3,5 mm menggunakan jack mini 4-PIN, seperti headset biasa. Sinyal audio apa pun yang ingin diputar oleh ponsel dialihkan ke transceiver, dan semua yang terjadi di saluran diperkuat dan ditransmisikan ke telepon melalui saluran mikrofon. Selain memperkuat sinyal input, transceiver mengisolasi telepon dari saluran untuk menghindari kerusakan karena lonjakan yang tidak disengaja. Selain itu, transceiver mengontrol pemisahan media transmisi. Ketika ponsel mencoba memainkan sesuatu, transceiver menghubungkan saluran audio kiri ponsel ke saluran, sisa waktu saluran mikrofon terhubung ke saluran, yang terhubung ke ground. Ketika diperlukan untuk mengirim, perangkat lunak mengirimkan sinyal overhead ke saluran yang tepat sehingga transceiver beralih ke mode transmisi.
Anda dapat mendengarkan bagaimana transceiver kami berkomunikasi di sini:
cloud.mail.ru/public/JAjQ/wuF4XMm4WProgram yang ditulis sendiri diluncurkan pada ponsel, mendengarkan saluran komunikasi untuk mengantisipasi sinyal atau input pengguna tertentu melalui antarmuka. Algoritma Transfer Data:
- Pengguna pada telepon kontrol memilih perintah yang diinginkan dalam menu.
- Program ini menghasilkan permintaan dalam bentuk aliran byte.
- Aliran dibagi menjadi urutan tidak lebih dari 16 byte, sebuah checksum ditambahkan ke masing-masing, dan kemudian urutan byte dikodekan dalam urutan nada DTMF. Dua urutan layanan ditambahkan ke rangkaian urutan nada, yang menunjukkan awal dan akhir grup urutan.
- Setiap urutan dikodekan dalam PCM 16bit 8000 / s mono dan dimainkan oleh telepon.
- Setiap urutan dibaca oleh telepon yang dikendalikan, diterjemahkan, diperiksa untuk kesalahan, dan, tergantung pada hasilnya, sinyal penerimaan berhasil atau tidak berhasil dikirim.
- Setelah menerima sinyal konfirmasi, telepon yang dikelola mentransmisikan urutan berikut atau mengulangi yang sekarang.
- Ketika semua urutan berhasil diterima, telepon yang dikelola mengumpulkan aliran byte dari urutan, menerjemahkannya menjadi perintah, dan mengeksekusinya.
Transfer data dari telepon yang dikelola ke manajer dilakukan sesuai dengan algoritma yang sama.
Video tersedia di sini:
https://drive.google.com/file/d/1Y4O5R1Hce0S_djni-B1k5_B9Lw7uRlyp/view?usp=sharingContoh: seorang pria di gua di ponsel cerdasnya di program memilih perintah "Kirim SMS", masukkan nomor telepon yang ingin Anda kirimi pesan, dan teksnya. Semua data ini dikodekan dengan sinyal DTMF, ditransmisikan dalam mode nada dengan kabel ke permukaan, di mana telepon lain menerjemahkannya dan mengirimkan SMS ke nomor yang ditentukan melalui kartu SIM-nya. Dengan umpan balik, pola yang sama kira-kira sama: telepon bangun secara berkala, meninggalkan mode pesawat, menerima SMS yang diakumulasikan dari operator dan menyimpannya di ruang tunggu hingga perintah layanan "beri aku SMS" berasal dari gua. Semua yang terakumulasi, smartphone mentransmisikan ke telepon.
Catu daya
Seluruh kompleks selama ekspedisi harus memakan sesuatu. Tidak ada masalah dengan menyalakan telepon bawah tanah - baik telepon dan transceiver memiliki baterai built-in, selama penggunaan konsumsi tidak terlalu besar, sisa waktu mereka dimatikan. Dengan kekuatan telepon yang dikendalikan "permukaan", situasinya jauh lebih rumit: ia harus tetap dalam kondisi kerja setidaknya selama dua minggu.
Jika smartphone akan terus mendengarkan saluran, dan bahkan terhubung ke jaringan GSM, itu akan bertahan selama beberapa jam, dan panel surya tidak akan menyelesaikan masalah ini, karena itu memberikan energi lebih sedikit daripada yang dikonsumsi smartphone, dan bank daya hanya akan memperpanjang waktu kerja selama satu hari dua Saya harus membuat mode siaga di mana saluran tidak disadap, dan juga mengaktifkan mode pesawat. Setelah 5 menit tidak aktif, program tertidur dan bangun setiap 10 menit selama 15 detik, menunggu sinyal bangun khusus. Mode pesawat dimatikan 6 kali sehari selama 10 menit untuk menerima SMS. Masalahnya adalah bahwa mengelola mode pesawat memerlukan aplikasi hak tinggi yang tidak dapat diperoleh tanpa
me-rooting ponsel. Semua fungsi aplikasi lainnya, tidak terkait dengan penghematan energi, tidak memerlukan hak yang tinggi dan berfungsi pada ponsel apa pun dengan Android 4.1 dan lebih tinggi.
Tes dan Rencana Lapangan
Dalam ekspedisi ini, Peter dan tim cavers menguji perangkat untuk pertama kalinya di lapangan. Tentu saja, ada beberapa masalah. Aplikasi itu ditulis dengan sangat cepat, di atas lutut, karena ekspedisi itu kehabisan waktu.
Ada dua masalah perangkat lunak besar, masalah dengan catu daya dari "permukaan" peralatan dan penyegelan kompleks "permukaan", masalah dengan konektor. Orang-orang siap untuk sebagian besar masalah dan menggunakan opsi cadangan yang sudah disiapkan, dengan sesuatu untuk berimprovisasi saat bepergian. Dengan satu atau lain cara, sistem bekerja, kami dapat melakukan pengujian penuh. Kelompok kedua, yang tersisa di dasar gua, untuk menyelidiki pendakian pertama setelah kepergian bagian utama ekspedisi, melaporkan hasilnya, dan juga mempelajari cuaca dan perkiraan saat ini. Hampir semua masalah dan kekurangan yang terdeteksi mudah diperbaiki dan kami memperbaikinya untuk ekspedisi berikutnya ke Snezhnaya, yang berlangsung pada Desember 2018 - Januari 2019.
Selama pengujian, kami menemukan kecepatan transfer data maksimum yang stabil. Itu tidak berbeda dari kecepatan stabil maksimum yang diperoleh dalam kondisi laboratorium ketika menghubungkan perangkat langsung satu sama lain. Sinyal yang ditransmisikan melalui jalur komunikasi yang membentang melalui gua tidak terdistorsi dengan cara apa pun, tidak ada suara asing dengan volume yang sebanding yang terlihat. Hanya sedikit dengan kedalaman penurunan volume sinyal turun. Karena masalah perangkat lunak, dimungkinkan juga untuk memverifikasi operasi dalam kondisi sinyal intermiten, “gagap”, yang terputus-putus, di mana, pada pandangan pertama, transmisi yang berhasil tidak dapat dicapai. Namun demikian, dimungkinkan untuk memilih mode operasi di mana, bahkan dalam kondisi seperti itu, komunikasi antara kedua perangkat didukung - ini menunjukkan potensi stabilitas yang sangat tinggi dari protokol transmisi yang kami buat.
Pada awalnya direncanakan menggunakan bank daya untuk memberi daya pada ponsel teratas. Ternyata bank daya yang telah kami isi daya teleponnya menjadi 100% dan dimatikan. Untuk menginisialisasi pengisian lagi, Anda harus melepas kawat dari bank daya dan memasukkannya kembali, kalau tidak, ia tidak mengerti bahwa telepon telah duduk dan sudah waktunya untuk mengeluarkan energi lagi. Ada beberapa hari tersisa sebelum ekspedisi. Saya belum menemukan sesuatu yang lebih baik daripada menipu Arduino.
Video:
cloud.mail.ru/public/76ay/F5xinJZQiMenurut jadwal Arduino, setiap tiga jam, menggunakan relay, itu merusak saluran + 5v kabel USB dari bank daya dari bank daya dan menyalakannya kembali setelah 15 menit. Pada awalnya, papan itu ditenagai oleh 4 baterai AA, dan kemudian mereka mengadaptasi kompartemen baterai dengan empat bank 18650. Ini ternyata merupakan tautan terlemah, karena baterai yang mendukung Arduino yang pertama kali duduk. Tetapi beberapa waktu dia bekerja. Kelompok pertama ekspedisi, yang naik ke permukaan, mengganti baterai, dan sistem bekerja selama seminggu lagi.
Kami melanjutkan percobaan kami: ada versi telepon donor yang berfungsi, yang mana blok besar dengan 18650 disolder melalui lubang di perumahan. Ponsel ini dalam mode siaga dan baterai habis hanya setelah 26,5 hari!

Oleh karena itu, di masa depan kita cenderung meninggalkan panel surya, yang juga merupakan penghubung yang lemah: dapat ditaburi debu atau salju, berlumuran debu. Selama tiga minggu ekspedisi dengan tegangan operasi 4,6 V baterai untuk transceiver, "atas" dikosongkan ke 3,8 V, dan "lebih rendah" ke 4,1 V.
Versi transceiver kami saat ini tidak tahu cara bekerja seperti telepon biasa. Kami ingin menyelesaikan skema sehingga Anda dapat menggunakan transceiver tanpa smartphone dalam mode "telepon gua" yang biasa: tekan - katakan, lepaskan, dengarkan.
Sekarang perangkat lunak hanya mendukung penerimaan dan pengiriman SMS, serta sejumlah perintah layanan. Protokol transfer data tidak memberlakukan batasan apa pun, kecuali bandwidth, sehingga relatif mudah memprogram untuk mengunduh prakiraan cuaca dari Internet atau, misalnya, mengirim pesan ke pengirim pesan instan. Sayangnya, kecepatan transfer tidak cukup untuk sepenuhnya mengakses Internet dan mentransfer gambar. Kecepatan stabil maksimum sekarang sekitar 6 byte per detik. Pada saluran yang stabil, dibutuhkan sekitar 1 menit untuk mengirim atau menerima satu SMS dalam 160 karakter Cyrillic.
Untuk ekspedisi berikutnya, kami berencana untuk menyelesaikan perangkat lunak dengan menambahkan fungsi yang hilang ke dalamnya dan memperbaiki kesalahan, serta memperbaiki sistem daya kompleks "permukaan". Sudah menerapkan fungsi dering saluran - sekali menit sinyal layanan diberikan untuk memeriksa saluran untuk istirahat. Kami juga menambahkan fungsi layanan seperti pengaturan kecepatan manual, restart paksa, dan hal-hal kecil lainnya. Mungkin kemudian kita akan membuat ponsel online dan mengetahui ramalan cuaca. Saya ingin menghubungkan stasiun cuaca saya sendiri ke telepon permukaan, yang dikumpulkan, mungkin, berdasarkan Arduino dan mengirim data terbaru dari sensor di telepon.