Fernkommunikation mit dem Heimserver

8

Ich mache Home Micro-Server (basierend auf Raspberry Pi). Es hat Internet und funktioniert 24/7. Der Server übernimmt die Heimautomatisierung, -überwachung und -steuerung. Es hat keine statische öffentliche IP-Adresse (sie wird über DHCP zugewiesen).

Ich brauche eine Möglichkeit zur Remote-Kommunikation mit dem Server: Ich möchte kurze Befehle an den Server senden und manchmal Antworten erhalten.

Was ist der beste Weg, um es zu tun? Ich kenne einige Möglichkeiten:

  1. E-Mail . Ich kann eine E-Mail-Adresse mit pop3 / smtp-Zugriff für den Server registrieren und für die Kommunikation verwenden. Es gibt jedoch ein Problem: Es ist nicht sofort verfügbar, daher ist es schwierig, sofortige Transaktionen, kritische Berichte an mich usw. zu erstellen.

  2. SMS . Ich kann ein altes GSM-Telefon oder GSM-Modul an meinen Server anschließen und SMS für die Kommunikation verwenden. Es ist sofort und scheint in Ordnung zu sein, aber ich habe nie mit GSM gearbeitet und kenne nicht alle möglichen Probleme.

Helfen Sie mir bitte mit Ratschlägen. Wenn Sie das Problem für Ihren eigenen Server bereits gelöst haben, erklären Sie mir bitte die Kommunikationsweise.


quelle
E-Mail, IM, Twitter, Facebook, Telnet, SSH, HTTP, LAMP-Server (Linux, Apache, MySQL, PHP oder Perl), alles ziemlich augenblicklich. E-Mails sind oft dieselbe Minute, insbesondere wenn Sie dieselbe E-Mail-Firma verwenden (z. B. Google Mail für das Senden und Empfangen). Dies ist jedoch keine Elektronikfrage. Siehe stattdessen Superuser oder Raspberry PI Stack Exchanges.
cde
7
Sie können einen dynamischen DNS-Dienst abonnieren (es gibt viele, einige sind kostenlos). Sie führen auf Ihrem Server eine App aus, die den DNS-Dienst aktualisiert, wenn sich die externe IP-Adresse des Routers ändert. Auf diese Weise können Sie Ihren internen Himbeer-Pi jederzeit unter einem festen Namen kontaktieren (z. B. RossPi.dynamicdns.example.com). Sie müssen auch die Portweiterleitung (oder eine gleichwertige Weiterleitung) auf Ihrem Router einrichten, damit eingehende Verbindungen an den Himbeer-Pi weitergeleitet werden können. Dann können Sie Web- (HTTP) oder TCP-Sockets usw. usw. verwenden
RedGrittyBrick

Antworten:

3

Erstellen Sie ein Konto auf einer beliebigen Website für dynamische DNS-Server. Der Einfachheit halber habe ich dnsdynamic.com als Beispiel verwendet

Öffnen Sie ein Terminal auf Ihrem Raspberry Pi und installieren Sie den Update-Service:

sudo apt-get install ddclient

Sie können Einstellungen während des Assistenten eingeben oder einfach die Eingabetaste drücken. Wir werden die Konfigurationsdatei auf jede Weise bearbeiten.

Bearbeiten Sie die Konfigurationsdatei /etc/ddclient.conf und ersetzen Sie alles darin durch:

#
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=60                          # check every 60 seconds
syslog=yes                         # log update msgs to syslog
mail=root                          # mail all msgs to root
mail-failure=root                  # mail failed update msgs to root
pid=/var/run/ddclient.pid          # record PID in file.
ssl=yes                            # use ssl-support.
use=web, web=myip.dnsdynamic.com   # get ip from server.
server=www.dnsdynamic.org          # default server
login=[LOGIN]                      # your login
password=[PASSWORD]                # your password
server=www.dnsdynamic.org,         \
protocol=dyndns2                   \
[DOMAIN]

Ersetzen Sie die folgenden Einstellungen [LOGIN], [PASSWORD] und [DOMAIN] durch die von Ihnen verwendete Einstellung.

Speichern Sie die an der Konfigurationsdatei vorgenommenen Änderungen und starten Sie den Raspberry Pi neu.

Denken Sie daran, Ihren Router so zu konfigurieren, dass die erforderlichen Ports an Ihren Raspberry Pi weitergeleitet werden.

  1. 21 - FTP
  2. 80 - Webserver
  3. 443 - SSL

Piotr Kula
quelle
OP fragt nicht, wie man Himbeer-Pi über Wan kommuniziert. Diese Antwort betont die Aktivierung der Kommunikation über WAN. OP möchte nur remote mit seinem Himbeer-Pi kommunizieren (es könnte sich innerhalb desselben Netzwerks befinden, aber physisch entfernt).
Chetan Bhargava
Ja. Ich weiß, worauf du hinauswillst. Aber sicherlich würden ihm die ersten Antworten (nach dem Durchsuchen des Webs) klar machen, dass er SSH verwenden kann, wenn er sich im Netzwerk befindet. Meine Annahme war also, dass er dies an einem entfernten Ort ablegen muss (da er festgelegt hat, dass es rund um die Uhr mit dem Internet verbunden ist) und "remote" und nicht "lokal" vernetzt mit ihm kommunizieren muss. Leider gibt es keine Rückmeldungen vom OP, daher ist dies unklar.
Piotr Kula
0

Eine andere Möglichkeit besteht darin, Ihr Front-End auf einem Internet-Webserver (und / oder Apps auf Ihren Mobilgeräten) zu hosten und über eine Nachrichtenwarteschlange zwischen allen zu kommunizieren.

Nachrichtenwarteschlangen ermöglichen Redundanz und Abstraktion zwischen Front-End (s) und Back-End (s).

MQTT wurde für die Aufgabe entwickelt und ist kostenlos

https://en.wikipedia.org/wiki/MQ_Telemetry_Transport

Rückenschmerzen
quelle