Auf der suche meine Sensoren außerhalb meines WLAN´s zu erreichen, bin ich auf die Seiten von aeq-web.com gestoßen. Gern suche ich dort um neue Ideen zu finden. Für die Einführung sollte man die Informationen unter https://www.aeq-web.com/lorawan-ttn-v3-stack-application-basics/ lesen.
Kategorie: Allgemein
Start zur Sommerzeit

Es ist wieder mal Sommerzeit und der Urlaub steht vor der Tür. Endlich mal wieder Zeit Dinge zu tun, die nicht mit dem „MUSS“ anfangen.
Was steht auf dem Plan, auch in dem Wissen das nur ein Bruchteil irgendwie einen Anfang finden wird:
- DMX-Controller mit TFT-Display
- neue Vorlage für meine Garten-Controller auf der Basis ESP8266/ESP32
- passives Display für MQTT-Daten
- Weiterentwicklung der Umgebung für OTA-Updates
- TTN-LoRa-WAN mit dem Heltec-Board testen
Allen die ihr Hobby mal „links legen lassen“ wollen und für den Urlaub in die Ferne schweifen, wünsche ich schon mal einen schönen und erholsamen Urlaub.
Nginx und PHP auf dem RaspberryPi installieren
Diese Beschreibung ist von https://pimylifeup.com/raspberry-pi-nginx/ abgeleitet und inspiriert.
Im Verlauf dieser Beschreibung gehe ich von einen laufenden OS auf euerem RaspberryPi aus, eine Beschreibung wie das zu erreichen ist findet ihr sicherlich zahlreich im Netz oder auch hier.
Wie bei allen Anleitungen hilft am meisten der Wille etwas zu lernen.
Bevor man mit der Einrichtung des NGINX-Webservers auf dem RaspberryPi beginnt muss man sicherstellen, dass unser RaspPi auf dem neustem Stand ist. Das erreicht man mit den folgenden Befehlen im Terminal.
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Wir sollten auch den folgenden Befehl ausführen, um Apache2 zu deinstallieren, da die Möglichkeit besteht, dass es auf dem System vorinstalliert ist. Andernfalls kann die Installation fehlschlagen, da sie automatisch startet und den Port 80
verwendet . Da wir NGINX als Webserver verwenden möchten, entfernen wir Apache2 aus dem System.
Man kann diesen Schritt überspringen, wenn man sicher ist, dass Apache2 noch nicht auf Ihrem Raspberry Pi installiert ist.
sudo apt remove apache2
Nachdem die Pakete nun auf dem neuesten Stand sind und Apache 2 entfernt wurde, können wir mit der Installation fortfahren. Mit dem folgendem Befehl installieren und starten wir NGINX auf unserem RaspberryPi.
sudo apt install nginx
sudo systemctl start nginx
Nachdem der NGINX-Webserver nun gestartet ist, sollten wir nun die lokale IP-Adresse des RaspberryPi abrufen.
http://deine PI Adresse
Sobald Sie zur Adresse navigieren, sollten Sie etwas wie das Folgende sehen. Machen Sie sich keine Sorgen, wenn hier eine Apache-Seite angezeigt wird, da NGINX manchmal die Apache-Standardindexseite nicht überschreibt.

NGINX für PHP konfigurieren
als nächstes installieren wir einen PHP-Interpreter mit folgendem Befehl.
sudo apt install php-fpm -y
Verknüpfen von NGINX und PHP
Dazu muss man die Konfigurationsdatei für den NGINX-Host (/etc/nginx/sites-enabled/default
) öffnen und folgende Zeile suchen
index index.html index.htm index.nginx-debian.html;
und ersetzen durch diese Zeile
index index.html index.htm index.php;
Als nächstes nach dem Konfigurationsblock in der Konfigurationsdatei (wieder hier zu finden /etc/nginx/sites-enabled/default
)suchen, der wie folgt beginnt:
location ~ \.php$ {
...
}
und folgende Zeilen entkommentieren, damit es so aussieht
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
Dadurch wird NGINX an den schnelleren PHP-Interpretor (php-fpm) gebunden, den wir gerade installiert haben.
Testen Sie PHP
Um zu testen, ob PHP funktioniert, legen Sie eine „ index.php “-Datei im Stammverzeichnis Ihres Webservers ab (standardmäßig „ /var/www/html/ “) und starten Sie NGINX mit den folgenden Befehlen neu:
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
sudo /etc/init.d/nginx restart
http://pi1.local/
Wenn Sie nun zu (ersetzen Sie „ pi1.local “ durch die IP-Adresse Ihres Raspberry Pi) gehen, sollte eine Seite mit Informationen zu PHP angezeigt werden.
OTA_Server für ESPxxxx-Projekte
Für meiner Bastelprojekte mit den unterschiedlichsten Modulen der Baureihen ESP8266/ESP32 benötigte ich immer öfter einen Server über den ich meine neuen Firmware-Versionen einspielen kann.
Dieser Server soll ohne dynamische IP-Adresse funktionieren und immer erreichbar sein. Dabei bin ich auf die Suche nach Anbietern für virtuelle Server gegangen. Letztendlich bin ich an VPS-Paketen bei Onyxhosting und Ionos hängen geblieben.
Auf Grund der angebotenen Daten und dem dafür angebotenen Preis werde ich mich aber weiterhin auf das Paket von Onyxhosting beziehen.
Im weiteren Verlauf werde ich hier meine Erfahrungen damit und meine gewählten Installationen vorstellen.
Als erstes habe ich auf den gewählten VPS-Server ein Debian-ISO installieren lassen. Nachdem dort der SSH-Zugang eingerichtet und getestet war, musste als erstes ein Update auf die akuellen Pakete erfolgen.
sudo apt update && sudo apt upgrade -y
Im Weiteren hat es sich gezeigt das „apache2“ standartmäßig installiert und damit Port 80 belegt war, was mich im Nachhinein bei meiner angestrebten Installation von Docker und den dann dort verwendeten Containern behinderte. Daher wurde das Paket deinstalliert.
sudo apt remove --purge apache2* -y
In nächsten Schritt möchte ich auf das Installieren von Docker und einigen für mein Projekt notwendigen Containern wie „Portainer“ und „NginxProxyManager“ eingehen.
Hier geht es weiter. —> OTA_Server für ESPxxxx-Projekte – Part 2
ESP32 mit LittleFS
In order to use the LittleFS library that comes with Arduino on the ESP32, use the following function
#include <LittleFS.h>
bool filesystemOK = false;
void InitFilesystem() {
// Initialize LittleFS
if (!LittleFS.begin(false /* false: Do not format if mount failed */)) {
Serial.println("Failed to mount LittleFS");
if (!LittleFS.begin(true /* true: format */)) {
Serial.println("Failed to format LittleFS");
} else {
Serial.println("LittleFS formatted successfully");
filesystemOK = true;
}
} else { // Initial mount success
filesystemOK = true;
}
}
https://techoverflow.net/2022/11/15/how-to-initialize-littlefs-in-arduino-on-the-esp32-platformio/