Wie wir SMS aus der Höhle geschickt haben



Einmal schlug mein Kollege Peter vor, an einem interessanten Projekt teilzunehmen - der Schaffung eines „Höhlentelefons für Höhlenforscher“, da er sich für Höhlenforschung interessiert. Höhlenforscher haben ein solches Problem: Die drahtlose Kommunikation im Untergrund funktioniert in der Praxis nicht. Akzeptabler Funkempfang ist nur in der Sichtlinie möglich, aber es lohnt sich ein paar Runden - und es besteht keine Verbindung. Und Sie müssen in der gesamten Höhle kommunizieren, deren Länge mehrere Kilometer betragen kann. Natürlich fängt die mobile Kommunikation dort nicht an, was bedeutet, dass es für Gruppen, die mehrere Wochen lang autonom in der Höhle arbeiten, keine Verbindungen zur Außenwelt gibt.

Im August 2018 sollte Peter an einer Expedition zu einer ziemlich komplexen und gefährlichen Höhle teilnehmen. Für diese Expedition haben wir beschlossen, ein neues Gerät zu entwickeln, das das Problem der Verbindung autonom arbeitender Gruppen mit der Außenwelt löst.

Beschreibung der Idee


Höhlenforscher haben "Höhlentelefone", die über ein Feldkabel (normalerweise P-274) arbeiten und sich über die gesamte Länge der Höhle erstrecken.


(C) Pavel Rudko, TP17 Nedra, Produktion Krasnojarsk.

Die Idee war, ein unterirdisches Telefon an ein Smartphone anzuschließen und über eine zellulare „Basisstation“ an der Oberfläche mit der Außenwelt zu kommunizieren. Um SMS an Verwandte, Freunde und Verwandte unter der Erde senden zu können, fordern Sie eine Wettervorhersage an der Oberfläche an, damit bei Regen im Voraus an die Oberfläche steigen kann.

Peter und andere Höhlenforscher planten, dem Snezhnaya-System auf den Grund zu gehen, das sich in Abchasien befindet und einst das zweittiefste Höhlensystem der Welt war. Sie planten, durch den unteren Eingang, die Höhle der Bank, zu gehen. Aus der Sicht einer der Haupthöhlen der Höhle - Überschwemmungen - ist das Werfen auf den Grund viel sicherer als alle anderen bekannten Routen, aber Sie müssen immer noch einen sehr gefährlichen Abschnitt überwinden - brüllende Kaskaden. Es ist in der Flut von 250 Metern entlang des unterirdischen Flusses völlig unpassierbar. Bevor wir diesen Abschnitt durchgingen, wollten wir das Wetter an der Oberfläche kennen.

Vom autonomen unterirdischen Lager, in dem zwei Wochen gelebt werden sollte, bis zum nächsten Ausgang zur Oberfläche 3,5 km des Weges mit einem Höhenunterschied von 800 m. Auf der gesamten Strecke war bereits eine unterirdische Kommunikationslinie mit anderen in der Höhle arbeitenden Gruppen ausgestattet - sie wurde um ein Feld erweitert Kabel P-274. Wir wollten diese Linie in unserer Idee verwenden.

Es blieb ein Gerätepaar zu konstruieren: Die Steuerung sollte bei der Gruppe in der Höhle erfolgen, die Steuerung - an der Oberfläche in der Zone des zuverlässigen Empfangs des GSM-Signals. Und es war notwendig, einen Kommunikationsweg für sie zu finden. Das verwaltete Gerät muss Befehle vom Manager empfangen und SMS empfangen und senden können. Eine wichtige Bedingung war die vollständige Autonomie des Geräts an der Oberfläche für zwei Wochen, dh die gesamte Dauer der Expedition, da am Eingang der Höhle niemand auf uns wartete. Es gab niemanden zum Aufladen, Ersetzen der Batterien oder Neustarten des Geräts.

An der Entwicklung war beteiligt:

  • Koveshnikov Peter - Autor der Idee, Initiator, Entwicklung des Software-Teils.
  • Matveev Lyubomir - Montage, Installation, Verkabelung von Transceiver-Karten.
  • Shelepin Sergey - Transceiver-Design.

Das allgemeine Schema ist wie folgt. Eine Basisstation ist an der Oberfläche installiert, wird von einer Batterie angetrieben, die von einer Solarbatterie aufgeladen wird. Sie sollte mindestens zwei Wochen lang funktionieren, wobei die durchschnittliche Dauer der Fahrten zu den Höhlen berücksichtigt wird, und sollte autonom sein, damit die Aufmerksamkeit der Menschen nicht erforderlich ist. Die Person unten kann mit Hilfe eines Krokodilclips oder eines Einschraubterminals an einer beliebigen Stelle der Leitung (ein in den Höhlen ausgestrecktes Feldkabel) eine Verbindung zwischen dem unterirdischen Telefon und der Bodenstation herstellen. Sie befindet sich im "Schlaf" -Modus, "wacht auf" und empfängt Service-Signale. Der Energiesparmodus wird benötigt, um Batteriestrom zu sparen, da die Sonne nicht immer vorhanden ist, um den Akku mit Strom zu versorgen.

Und jetzt einige technische Details.

Umsetzung der Idee


Der von uns auf dieser Expedition verwendete Komplex war wie folgt:

  1. Zwei Android-Smartphones mit einem speziell geschriebenen Programm.
  2. Zwei Transceiver ihres eigenen Designs, die an die U-Bahn-Leitung und an die Audioanschlüsse der Telefone angeschlossen sind.
  3. Die etwa 3600 m lange Feldmaus P-274 mit zwei Feldern erstreckte sich bis zu einer Tiefe von 800 m.
  4. Oberflächen-Telefon-Stromkomplex.
    1. Power Bank zur Stromversorgung eines „Oberflächen“ -Telefons.
    2. Arduino , das den Ladevorgang des Telefons über die Power Bank neu startet.
    3. Solarpanel zum Laden der Power Bank.



Sie haben die Schaltung eines normalen Telefons als Grundlage genommen, nur dass anstelle einer Person das Smartphone selbst Befehle empfängt und sendet. Um miteinander zu kommunizieren, tauschen Geräte Sequenzen von Tonsignalen aus - DTMF-Töne (zweifarbiges analoges Mehrfrequenzsignal mit 16 Tönen). Der Kanal ist Halbduplex. Um die Daten selbst zu übertragen, werden 9 Töne von 16 verwendet, und die verbleibenden 7 sind Servicetöne, die beispielsweise den Beginn / das Ende einer Nachricht / Sequenz, ein Not-Neustart-Signal usw. anzeigen. Die Dauer der DTMF-Töne und damit die Übertragungsgeschwindigkeit variiert von 1 Ton pro Sekunde bis 15 Tönen pro Sekunde. Ohne technische Pausen entspricht dies 0,3-5,5 Bytes pro Sekunde. Smartphones, die die dtmf-cpp- Bibliothek verwenden, konvertieren Text in Töne und umgekehrt.




Transceiver werden über eine 3,5-mm-Audiobuchse über eine 4-PIN-Minibuchse wie ein normales Headset mit Telefonen verbunden. Jedes Audiosignal, das das Telefon wiedergeben möchte, wird an den Transceiver gesendet, und alles, was auf der Leitung geschieht, wird verstärkt und über den Mikrofonkanal an das Telefon übertragen. Zusätzlich zur Verstärkung des Eingangssignals trennt der Transceiver das Telefon von der Leitung, um Schäden durch versehentliche Überspannungen zu vermeiden. Zusätzlich steuert der Transceiver die Trennung des Übertragungsmediums. Wenn das Telefon versucht, etwas abzuspielen, verbindet der Transceiver den linken Audiokanal des Telefons mit der Leitung. In der restlichen Zeit ist der Mikrofonkanal mit der Leitung verbunden, mit der die Masse verbunden ist. Wenn eine Übertragung erforderlich ist, sendet die Software ein Overhead-Signal an den rechten Kanal, sodass der Transceiver in den Übertragungsmodus wechselt.

Hier können Sie hören, wie unsere Transceiver kommunizieren: cloud.mail.ru/public/JAjQ/wuF4XMm4W

Auf den Telefonen wird ein selbstgeschriebenes Programm gestartet, das den Kommunikationskanal in Erwartung bestimmter Signale oder Benutzereingaben über die Schnittstelle abhört. Datenübertragungsalgorithmus:

  1. Der Benutzer am Steuertelefon wählt den gewünschten Befehl im Menü aus.
  2. Das Programm generiert eine Anfrage in Form eines Bytestroms.
  3. Ein Stream wird in Sequenzen von nicht mehr als 16 Bytes unterteilt, zu jeder wird eine Prüfsumme hinzugefügt, und dann werden Sequenzen von Bytes in einer Sequenz von DTMF-Tönen codiert. Dem Satz von Tonsequenzen werden zwei Dienstsequenzen hinzugefügt, die den Anfang und das Ende der Sequenzgruppe angeben.
  4. Jede Sequenz wird in PCM 16bit 8000 / s Mono codiert und vom Telefon abgespielt.
  5. Jede Sequenz wird von einem gesteuerten Telefon gelesen, dekodiert, auf Fehler überprüft und je nach Ergebnis wird ein Signal für einen erfolgreichen oder erfolglosen Empfang gesendet.
  6. Nach dem Empfang eines Bestätigungssignals sendet das verwaltete Telefon die folgende Sequenz oder wiederholt die aktuelle.
  7. Wenn alle Sequenzen erfolgreich empfangen wurden, sammelt das verwaltete Telefon einen Bytestrom aus den Sequenzen, decodiert ihn in einen Befehl und führt ihn aus.

Die Datenübertragung von einem verwalteten Telefon zu einem Manager erfolgt nach demselben Algorithmus.

Das Video ist hier verfügbar: https://drive.google.com/file/d/1Y4O5R1Hce0S_djni-B1k5_B9Lw7uRlyp/view?usp=sharing


Beispiel: Ein Mann in einer Höhle auf seinem Smartphone im Programm wählt den Befehl "SMS senden", gibt die Telefonnummer, an die Sie eine Nachricht senden möchten, und deren Text ein. Alle diese Daten werden mittels DTMF-Signalen codiert, im Tonmodus per Kabel an die Oberfläche übertragen, dort dekodiert ein anderes Telefon sie und sendet über seine SIM-Karte eine SMS an die angegebene Nummer. Bei Rückmeldungen ist das gleiche Muster ungefähr dasselbe: Das Telefon wacht regelmäßig auf, verlässt den Flugzeugmodus, empfängt die vom Bediener gesammelten SMS und speichert sie in seinem Wartezimmer, bis der Befehl „Gib mir SMS“ aus den Höhlen kommt. Alles, was angesammelt wird, überträgt das Smartphone auf der ganzen Linie.

Stromversorgung


Der gesamte Komplex während der Expedition muss etwas essen. Es gibt keine Probleme mit der Stromversorgung des unterirdischen Telefons - sowohl das Telefon als auch der Transceiver verfügen über einen eingebauten Akku. Während des Betriebs ist der Verbrauch nicht zu hoch, der Rest der Zeit sind sie ausgeschaltet. Mit der Leistung eines oberflächengesteuerten Telefons ist die Situation viel komplizierter: Er muss mindestens zwei Wochen im Arbeitszustand bleiben.

Wenn das Smartphone kontinuierlich auf die Leitung hört und sogar mit dem GSM-Netz verbunden ist, hält es mehrere Stunden, und das Solarpanel löst dieses Problem nicht, da es weniger Energie liefert als das Smartphone verbraucht und die Power Bank die Arbeitszeit nur um einen Tag verlängert zwei. Ich musste einen Standby-Modus einrichten, in dem die Leitung nicht abgegriffen wird, und auch den Flugzeugmodus aktivieren. Nach 5 Minuten Inaktivität schläft das Programm ein und wacht 15 Sekunden lang alle 10 Minuten auf und wartet auf ein spezielles Wecksignal. Der Flugzeugmodus wird 6 Mal am Tag für 10 Minuten ausgeschaltet, um SMS zu empfangen. Das Problem besteht darin, dass für die Verwaltung des Flugzeugmodus für die Anwendung erhöhte Rechte erforderlich sind, die ohne Rooten des Telefons nicht erhalten werden können. Alle anderen Funktionen der Anwendung, die nicht mit Energieeinsparung zusammenhängen, erfordern keine erhöhten Rechte und funktionieren auf jedem Telefon mit Android 4.1 und höher.

Feldtests und Pläne


Bei dieser Expedition testeten Peter und ein Team von Höhlenforschern die Geräte zum ersten Mal vor Ort. Natürlich gab es einige Probleme. Die Bewerbung wurde sehr schnell auf das Knie geschrieben, da die Expedition keine Zeit mehr hatte.

Es gab zwei große Softwareprobleme, das Problem mit der Stromversorgung des "Oberflächen" -Geräts und die Versiegelung des "Oberflächen" -Komplexes, das Problem mit dem Steckverbinder. Die Jungs waren für die meisten Probleme bereit und verwendeten vorbereitete Backup-Optionen, mit denen sie unterwegs improvisieren konnten. Auf die eine oder andere Weise funktionierte das System, wir konnten vollwertige Tests durchführen. Die zweite Gruppe, die am Boden der Höhle blieb, um den Aufstieg nach dem Abflug des Hauptteils der Expedition zu untersuchen, berichtete über die Ergebnisse und erfuhr auch das aktuelle Wetter und die Vorhersage. Fast alle festgestellten Probleme und Mängel konnten leicht behoben werden, und wir haben sie für die nächste Expedition nach Snezhnaya korrigiert, die im Dezember 2018 - Januar 2019 stattfand.

Während der Tests haben wir die maximale stabile Datenübertragungsrate ermittelt. Sie unterscheidet sich nicht von der maximalen stabilen Geschwindigkeit, die unter Laborbedingungen erzielt wird, wenn die Geräte direkt miteinander verbunden werden. Das Signal, das über die durch die Höhle verlängerte Kommunikationsleitung übertragen wurde, war in keiner Weise verzerrt, es wurde kein Fremdrauschen mit vergleichbarer Lautstärke festgestellt. Mit der Sinktiefe sank die Signallautstärke nur geringfügig. Aufgrund von Softwareproblemen war es auch möglich, den Betrieb unter Bedingungen eines verzerrten, "stotternden" intermittierenden Signals zu überprüfen, bei dem auf den ersten Blick keine erfolgreiche Übertragung erreicht werden kann. Trotzdem konnte ein Betriebsmodus ausgewählt werden, in dem auch unter solchen Bedingungen die Kommunikation zwischen den beiden Geräten unterstützt wird - dies deutet auf die möglicherweise sehr hohe Stabilität des von uns erstellten Übertragungsprotokolls hin.

Es war ursprünglich geplant, eine Powerbank zu verwenden, um das Top-Telefon mit Strom zu versorgen. Es stellte sich heraus, dass die Power Bank, die wir hatten, das Telefon zu 100% aufgeladen und ausgeschaltet hatte. Um den Ladevorgang erneut zu starten, mussten Sie das Kabel von der Power Bank entfernen und wieder einführen. Andernfalls verstand er nicht, dass sich das Telefon abgesetzt hatte und es Zeit war, wieder Energie abzugeben. Es waren noch ein paar Tage bis zur Expedition. Ich habe mir nichts Besseres ausgedacht, als Arduino auszutricksen.


Video: cloud.mail.ru/public/76ay/F5xinJZQi

Gemäß dem Arduino-Zeitplan wurde alle drei Stunden mit einem Relais der Kanal + 5 V des USB-Kabels der Power Bank von der Power Bank getrennt und nach 15 Minuten wieder eingeschaltet. Zuerst wurde das Board mit 4 AA-Batterien betrieben, und dann wurde das Batteriefach mit vier Bänken von 18650 angepasst. Dies stellte sich als das schwächste Glied heraus, da die Batterien, die den Arduino versorgten, sich zuerst hinsetzten. Aber manchmal arbeitete sie. Die erste Gruppe der Expedition, die an die Oberfläche stieg, wechselte die Batterien und das System funktionierte eine weitere Woche.

Wir setzen unsere Experimente fort: Es gibt eine funktionierende Version des Spendertelefons, an die ein großer Block mit 18650 durch eine Öffnung im Gehäuse gelötet ist. Das Telefon befindet sich im Standby-Modus und die Batterien wurden erst nach 26,5 Tagen entladen!





Daher werden wir in Zukunft wahrscheinlich auf das Solarpanel verzichten, das ebenfalls ein schwaches Glied darstellt: Es kann mit Staub oder Schnee bestäubt und mit Schmutz bespritzt werden. Während der drei Wochen der Expedition mit 4,6 V Betriebsspannung der Batterien für den Transceiver wurde das "obere" auf 3,8 V und das "untere" auf 4,1 V entladen.

Die aktuelle Version unseres Transceivers weiß nicht, wie man wie ein normales Telefon arbeitet. Wir möchten das Schema fertigstellen, damit Sie den Transceiver ohne Smartphone im üblichen "Höhlentelefon" -Modus verwenden können: Drücken Sie - sagen Sie, lassen Sie los, hören Sie zu.

Jetzt unterstützt die Software nur noch den Empfang und die Übertragung von SMS sowie eine Reihe von Servicebefehlen. Das Datenübertragungsprotokoll unterliegt keinen Einschränkungen, mit Ausnahme der Bandbreite. Daher ist es relativ einfach zu programmieren, Wettervorhersagen aus dem Internet herunterzuladen oder beispielsweise Nachrichten an Instant Messenger zu senden. Leider reicht die Übertragungsgeschwindigkeit nicht aus, um vollständig auf das Internet zuzugreifen und Bilder zu übertragen. Die maximale stabile Geschwindigkeit beträgt jetzt ungefähr 6 Bytes pro Sekunde. Auf einem stabilen Kanal dauert das Senden oder Empfangen einer SMS mit 160 kyrillischen Zeichen etwa 1 Minute.

Für die nächste Expedition planen wir, die Software fertigzustellen, indem wir die fehlenden Funktionen hinzufügen und Fehler korrigieren sowie das Stromversorgungssystem des „Oberflächen“ -Komplexes überarbeiten. Die Funktion des Klingelns der Leitung wurde bereits implementiert. Einmal pro Minute wird ein Service-Signal ausgegeben, um die Leitung auf Unterbrechungen zu überprüfen. Wir haben auch Servicefunktionen wie manuelle Geschwindigkeitseinstellung, erzwungenen Neustart und andere Kleinigkeiten hinzugefügt. Vielleicht schalten wir dann das Telefon online und finden die Wettervorhersage heraus. Ich möchte meine eigene Wetterstation an ein Oberflächentelefon anschließen, das möglicherweise auf Arduino basiert, und aktuelle Daten von Sensoren auf der ganzen Linie senden.

Source: https://habr.com/ru/post/de438272/


All Articles