Inhaltsverzeichnis:
- Einführung
- Betriebssystem auf Raspberry Pi 5 installieren
- Über SSH eine Verbindung zum Raspberry Pi herstellen
- Envariement vorbereiten
- Erstellen Sie den Bot und führen Sie ihn aus
- Lassen Sie den Bot mit tmux im Hintergrund laufen
- Bot beim Booten automatisch starten (optional)
Einführung
In meinem vorherigen Artikel habe ich gezeigt, wie man mit Python einen Telegram-Bot erstellt und ausführt. Du findest es hier
In dieser Anleitung führe ich Sie durch das Hosten Ihres Telegram-Bots auf Ihrem eigenen Raspberry Pi-Server.
Installieren Sie das Betriebssystem auf Raspberry Pi 5
Folgen Sie dieser Anleitung, um ein Image mit Raspberry Pi Imager zu erstellen.
Ich empfehle die Wahl des Raspberry Pi OS Lite OS, da es im Hinblick auf die leichte Einfachheit die beste Option ist.
Aktivieren Sie in den Imager-Einstellungen das Kontrollkästchen neben SSH aktivieren und wählen Sie Passwortauthentifizierung verwenden. Dadurch können Sie über SSH eine Verbindung zu Ihrem Raspberry Pi herstellen.
Nachdem Sie das Image auf einem USB-Stick erstellt haben, stecken Sie die Flash-Karte in Ihren Raspberry Pi und schalten Sie ihn ein.
Stellen Sie über SSH eine Verbindung zum Raspberry Pi her
- Öffnen Sie die Konsole (cmd oder PowerShell unter Windows)
- Pingen Sie Ihren Raspberry Pi mit dem folgenden Befehl:
ping raspberrypi.local
Nach dem Login kopieren
Sie erhalten Ping-Statistiken zusammen mit der IP-Adresse Ihres Raspberry Pi.
- Verwenden Sie diese IP-Adresse, um eine Verbindung über SSH herzustellen:
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10)
Nach dem Login kopieren
- Geben Sie das Passwort ein (Standard ist Raspberry). Ich empfehle dringend, dies später zu ändern.
- Wenn das Passwort korrekt ist, werden Sie über SSH mit Ihrem Raspberry Pi verbunden.
Bereiten Sie die Umgebung vor
- Aktualisieren Sie Ihren Raspberry Pi
sudo apt update
sudo apt upgrade
Nach dem Login kopieren
- Installieren Sie Python
Raspberry Pi OS wird normalerweise mit vorinstalliertem Python geliefert. Überprüfen Sie, ob es installiert ist:
python3 --version
Nach dem Login kopieren
Wenn Python nicht installiert ist, können Sie es installieren mit:
sudo apt install python3 python3-pip
Nach dem Login kopieren
- Richten Sie eine virtuelle Umgebung ein (optional, aber empfohlen)
Es empfiehlt sich, eine virtuelle Umgebung zu erstellen, um Ihre Projektabhängigkeiten isoliert zu halten:
sudo apt install python3-venv
python3 -m venv telegram-bot-env
source telegram-bot-env/bin/activate
Nach dem Login kopieren
- Installieren Sie die Python Telegram Bot-Bibliothek
pip install python-telegram-bot --upgrade
Nach dem Login kopieren
Erstellen Sie den Bot und führen Sie ihn aus
- Erstellen Sie eine neue Python-Datei mit dem Nano-Texteditor
nano bot.py
Nach dem Login kopieren
- Schreiben Sie Ihren Bot-Code in diese neue Datei _ (Sie können Code aus meinem vorherigen Artikel verwenden). Drücken Sie STRG + O und drücken Sie dann die Eingabetaste, um die Änderungen zu speichern. Zum Beenden drücken Sie STRG + X.
- Führen Sie den Bot aus
python3 bot.py
Nach dem Login kopieren
Ihr Bot läuft jetzt und Sie können ihn auf Telegram testen.
Diese Methode beendet jedoch den Bot, wenn Sie das Terminal schließen.
Damit es im Hintergrund läuft, können wir tmux verwenden
Lassen Sie den Bot mit tmux im Hintergrund laufen
Erstellen Sie ein ausführbares Shell-Skript, um Ihren Bot zu starten
- Installieren Sie tmux
sudo apt update
sudo apt install tmux
Nach dem Login kopieren
- Erstellen Sie ein neues Shell-Skript, um Ihren Bot zu starten. Sie können es start_bot.sh nennen
nano start_bot.sh
Nach dem Login kopieren
- Fügen Sie dem Skript die folgenden Zeilen hinzu und ersetzen Sie bot.py durch den Namen Ihrer Python-Bot-Datei und telegram-bots-env durch Ihren Env-Namen:
#!/bin/bash
source telegram-bots-env/bin/activate
python3 bot.py
Nach dem Login kopieren
- Speichern und beenden (STRG + O, Eingabetaste, STRG + X).
- Machen Sie das Skript ausführbar:
chmod +x start_bot.sh
Nach dem Login kopieren
Bot über tmux ausführen:
- Starten Sie eine neue tmux-Sitzung:
tmux new -s my_bot_session
Nach dem Login kopieren
- Führen Sie innerhalb der tmux-Sitzung Ihr Bot-Skript aus:
./start_bot.sh
Nach dem Login kopieren
- Trennen Sie die tmux-Sitzung, indem Sie STRG + B und dann D drücken
- Erneut an die tmux-Sitzung anhängen (falls erforderlich)
Um später wieder eine Verbindung zur tmux-Sitzung Ihres Bots herzustellen, verwenden Sie:
tmux attach -t my_bot_session
Nach dem Login kopieren
Den Bot beim Booten automatisch starten (optional)
Wenn Sie möchten, dass Ihr Bot beim Booten automatisch startet, können Sie einen systemd-Dienst verwenden. So geht's:
- Erstellen Sie eine neue Servicedatei:
sudo nano /etc/systemd/system/my_bot.service
Nach dem Login kopieren
- Fügen Sie die folgende Konfiguration hinzu und ändern Sie die Pfade nach Bedarf:
[Unit]
Description=My Bot Service
[Service]
ExecStart=/usr/bin/tmux new-session -d -s my_bot_session '/path/to/start_bot.sh'
WorkingDirectory=/path/to/my_bot
User=pi
[Install]
WantedBy=multi-user.target
Nach dem Login kopieren
- Speichern und beenden Sie die Datei.
- Laden Sie den systemd-Daemon neu:
sudo systemctl daemon-reload
Nach dem Login kopieren
- Aktivieren Sie, dass der Dienst beim Booten startet:
sudo systemctl enable my_bot.service
Nach dem Login kopieren
- Starten Sie den Dienst:
sudo systemctl start my_bot.service
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonHosten Sie Telegram Bot auf Raspberry Pi 5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!