ESPEasy – Let’s Control It – mal wirklich easy

Wenn Ihr schon diesen Beitrag abgearbeitet habt, wird es Euch nicht schwer fallen, die komplette Firmware für ESPEasy zu kompilieren und auf einen D1 Mini zu flashen. Im Anschluss wird prototypisch ein BME280 mit einem OLED und dem D1 mini verbunden. Und das Schönste ist, alles funktioniert ohne programmieren. Es wird alles nur zusammengeklickt. Alternativ kann man auch ein fertiges HEX für seine Hardware flashen.
Benötigt werden:
1x OLED
1x BME 280
1x D1 mini

ESPEasy muss erst heruntergeladen geladen werden und dann kompiliert werden.
Dazu ist ein git repository zu ESPEasy zu clonen.

git clone https://github.com/letscontrolit/ESPEasy.git

In der platform.ini muss noch das passende device auskommentiert werden.

env_default = normal_ESP8266_4096 

oder
env_default = normal_ESP8266_1024

entweder für die 1MB oder 4MB Variante.

Das 1. Icon im platform.io ist “Build” und generiert das HEX File, welches mit dem 3. Icon auf den D1 mini “Upload” kopiert wird. Mehr ist nicht einzustellen. Das Image ist sehr generisch.
Wenn alles soweit geklappt hat, sollte der d1 mini rebooten und ein eigenes WLAN erstellt haben. Hier kann man connecten. Dazu nutze ich immer ein Telefon, damit man nicht am Rechner konfigurieren muss.  Dann kann man unter 192.168.4.1 die nötigen Einstellungen des eigenen WLANs erledigen. SSID und Key sind einzustellen. Danach holt er sich eine IP aus dem eigenen Netz und ist zur Konfiguration bereit.

Unter Hardware sieht es bei mir so aus und passt dann auch zu der Verkabelung der Bauteile.

Unter Devices habe ich zwei Geräte angelegt: 1x den BME Sensor und 1x das OLED Display.

Beim Display habe ich noch ein paar weitere Systemwerte hinterlegt, weil noch genug Platz war.

Wenn alles geklappt hat, sollten die Umgebungswerte des BME auf dem Display erscheinen. Nun kann man diese Werte natürlich auch über MQTT oder andere Technologien versenden. Das Prinzip mit dem kleinen Beispiel sollte euch zeigen, wie es generell geht. Es sind aber noch viele andere Funktionen möglich. Gerade der Bereich Regeln und Tools ist sehr interessant.

Viel Spaß bei den ersten Versuchen mit ESPEasy.

 

Ubuntu Nemo – Alternative zu Nautilus

      Keine Kommentare zu Ubuntu Nemo – Alternative zu Nautilus

Auch in der aktuellen Ubuntu Version ist nautilus kaum noch nutzbar. Von Version zu Version werden Funktionen raus genommen. Will oder kann man nicht auf einen zwei Fenster Manager wie Gnome-Comander, Krusader oder Double-Commander zurückgreifen, ist Nemo eine optisch recht ähnliche Alternative zum Systemstandard. Auch wenn Nemo ein Fork ist, gibt es wenigstens noch ein paar mehr Funktionen die man noch nutzen kann. Schaut es euch einfach mal an und  testet selber.

Ubuntu – Auf Nautilus Freigabe über das Terminal zugreifen

Sicher habt Ihr schon einmal über Nautilus eine Windows Freigabe temporär verbunden, also konkret über “Server Verbinden” .

Solange man im Nautilus ist, funktioniert das auch prima. Aber man findet diese Freigabe nicht wie normal mit dem mount Befehl auf der Konsole.

Tatsächlich bindet sich der Mountpoint unter
/run/user/1000/gvfs/smb-share:server=192.168.8.2,share=freigabe/
ein. Hier kann man ganz normale Dateioperationen ausführen, so wie man das auch auf der Konsole gewohnt ist. Keine große Sache, aber man muss es wissen.

Installation von Plattform.io unter Linux

      Keine Kommentare zu Installation von Plattform.io unter Linux

Wenn man im Bereich IoT ein wenig mehr will als “Blink-Example”, wird man schnell feststellen, dass die Arduino IDE nur schwer ausreicht, um ordentlichen Code zu erzeugen.
Eine Alternative bietet die PlatformIO IDE, die gut mit dem Visual Studio Code zusammenarbeitet.

Als erstes muss Visual Studio Code installiert werden. Dazu könnt Ihr Euch hier https://code.visualstudio.com/Download das passende Paket herunterladen (*.deb).
Auf dem lokalen Terminal wird es wie folgt installiert:
dpkg -i paketname.deb

Ist es durchgelaufen, kann man die IDE starten und unter dem 5. Icon auf der linken Seite “Erweiterungen”  nach “platformio-ide” suchen.  Etwas weiter rechts findet sich dann auch der Install-Button. Somit bekommt man nach einem Programm-Neustart die Möglichkeit, Projekte für Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Infineon XMC, Intel ARC32, Intel MCS-51 (8051), Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, RISC-V, Samsung ARTIK, Silicon Labs EFM32, ST STM32, Teensy, TI MSP430, TI Tiva, WIZNet W7500 anzulegen.

Auch wenn die Oberfläche erst einmal wie ein Cockpit einer 747 wirkt, wird man schnell die Vorteile erkennen. Empfehlenswert ist noch ein Quick-Start-Guide von  https://docs.platformio.org/en/latest/ide/vscode.html#quick-start.

 

Pi-hole – Etwas mehr Sicherheit und weniger Werbung

Warum denn eigentlich Werbung blocken, wenn viele Webseitenbetreiber davon leben?
Leider denken viele Nutzer, dass die Werbebanner auf Webseiten keine Gefahr sind, da es einfach nur Bilder mit Links sind. Weit gefehlt. Heutzutage werden auch massenhaft “Malvertising” ausgeliefert, also Schadcode, der über die großen Werbenetzwerke verteilt wird. Diese Technik wird immer mehr zum Risiko für die Nutzer. Da überrascht es auch nicht, dass der Trend zu AdBlockern immer weiter zunimmt.

Leider können diese lokal installieren Blocker nur Werbung und anderen ungewollten Code aus dem Browser filtern. Was ist aber mit Werbung in APPs, Smart-TV  und anderen am Netz angeschlossenen Geräten? Der Aufwand dies an jedem Gerät zu bewerkstelligen ist enorm und dem Standard-Nutzer nicht zuzumuten.Einen Ansatz bietet Pi-Hole, welches laut eigenen Aussagen weit über 100.000 Domains blockt, deren Sinn es ist, Werbung auszuliefern. Pi-Hole fungiert also als Filter jeglicher Namensabfragen im lokalen Netz. Wird eine Übereinstimmung gefunden, reagiert der Pi-Hole mit einer Filterregel, die die Auslieferung dieses angeforderten Materials verhindert.

Im einfachsten Fall reicht schon ein Rasperry 1, wobei die Entwickler ein Modell der Reihe 3 empfehlen.

Pi-Hole wird in einer SSH Session vollautomatisch installiert.
curl -sSL https://install.pi-hole.net | bash
Die angefragten Einstellungen könnten so lauten:

Select Upstream DNS Provider
Custom: 85.214.20.141, 213.73.91.35   (wenn man etwas mehr Geschwindigkeit benötigt ist auch 1.1.1.1 eine gute Wahl)

Do you want to use your current network settings as a static address?
IP address: 192.168.x.X (Pi Adresse)
Gateway: 192.168.x.x (euer Router)

Select Protocols
IPv4: Check
IPv6: Uncheck

Do you want to log queries?
On: Check

Alle Einstellungen können aber noch in der Weboberfläche angepasst werden.
http://pi.hole/admin oder http://192.168.x.x/admin

Nun muß noch der DHCP die neue DNS IP, also die IP des Pi-Hole, an die Clients verteilen. Das könnt ihr im Router unter “DNS/DHCP” bewerkstelligen.

Pi-Hole ist natürich nicht perfekt, also empfehle ich auch weiterhin die Nutzung von uBlock Origin im Browser, da hier noch weitere Filtertechniken genutzt werden. Aber als 1. Verteidigungslinie sieht man schon in der Statistik, was so alles ausgefiltert wird. Weiterhin spart man außerdem CPU-Power sowie Bandbreite, da diese Inhalte ja nun nicht mehr geladen werden. Und sollte doch mal zu viel ausgefiltert werden, kann man die betreffende URL auch einfach in der Weboberfläche wieder in die sogenannte Whitelist hinzufügen.
In meinem Beispiel werden 12.4% der Anfragen vernichtet, ohne eine Einschränkung in der Nutzung zu bemerken.

MMDVM Open Source Multi-Mode Digital Voice Modem im Brandmeister aktivieren

Endlich mal digital QRV gehen. Das nimmt man sich schon so lange vor, aber mit einem DMR Gerät ist es nicht immer getan, da der nächste Repeater zu weit entfernt ist. Die Lösung ist ein eigener Hotspot der per WLAN oder LAN mit dem Netzwerk verbunden wird und die HF Schnittstelle für das DMR Gerät bereitstellt.
Was wird alles benötigt?

1x Rasperry PI zero W (WLAN) ohne W, aber dann braucht man noch ein LAN Adapter
1x Speicherkarte
1x Netzteil
1x MMDVM alternativ direkt aus china.

Die Pinleisten müssen noch in den Raspi  eingelötet werden und ins Gehäuse geschraubt werden. (wenn vorhanden)

Dinge die man noch  braucht.
1. Pi-Star Image -> Download
2. Ethcher -> Download
3. Pi-Star WiFi Builder -> Link
4. SD Card / Reader

Weitere Infos bereitlegen
1. Rufzeichen und ID beantragt
2. Frequenz die man für den Link zum MMDVM nutzen möchte (BSP: RX=TX 435.000 MHz)
3. Die eigene GPS Position
4. Node Type, Private

1. Starte Etcher
2. Wähle das Image für den Raspi aus
4. Flash!
5. Nach dem Flashen kann man nocht den WiFI Builder benutzen um die WLAN Daten zu erstellen.
6. Folge der Anleitung und kopiere das config File auf die SD Card in das boot Volume
7. stecke die SD Karte in den Raspi8.Starte den raspi und gib die IP Adresse (DHCP) im Browser ein (user pi-star ; pass: raspberry)
9. Aktiviere dein gewünschtes digitales Netzwerk
10.Wenn du ein OLED Display hast muss es noch aktiviert werden.
der Bausatz aus China brachte noch eine URL zur Einrichtung mit. Alle wichtigen Einstellungen sind hier zu finden.

Im Video wird eigentlich alles wichtige erklärt.
Das DMR Gerät selber benötigt auch einen Eintrag im Codeplug.
Color Code=1; Grouplist = deine RX List sonst hört man ja nix;

Wenn dann alles erledigt ist kann man sich auf der Brandmeister Seite im Self Care Bereich um die Config des Hotspots kümmern. Gehen sollte es mit den Minimaleinstellungen der TGs

Übrigens man kann den “hotspot” auch fernsteuern wenn man den API Key aus dem BM Einstellungen in den hotspot kopiert.
https://brandmeister.network/?page=profile&action=edit
in im Pi-Star http://lokale-IP/admin/expert/fulledit_bmapikey.php
Damit hat das BM System auf den Hotspot wechselseitigen Zugriff.

Wenn jetzt noch Fragezeichen im Kopf sind empfehle ich das BM Handbuch. Damit werden die Begrifflichkeiten voll beschrieben. Gerne helfe ich aber auch weiter wenn es nötig wird.

Unterstützen könnt ihr den Betrieb der Seite gerne über die Amazon Links beim Kauf der Produkte. Viel Spaß !73

ExFAT unter Ubuntu

      Keine Kommentare zu ExFAT unter Ubuntu

Beim Anstecken eines Datenträgers wird man bisweilen eine Fehlermeldung zum unbekannten Filesystem finden.

 

Mit der Befehlszeile
sudo apt-get install exfat-fuse exfat-utils
ist dies aber schnell gelöst. Ein reconnect des Datenträgers und schon kann man wie gewohnt darauf zugreifen werden.
Diese SSD und Case hab ich nun mehrfach im Einsatz.

Wie immer könnt ihr mich beim Betrieb der der Webseite mit einem Kauf von Hardware unterstützen. Dabei entstehen euch keine zusätzlichen Kosten.

squeezeplug auf dem raspberrypi + nas + Squeezebox UE

Eine gute Möglichkeit, im Haus oder der Wohnung die Musik zentral zu speichern und auch noch zu verwalten, bietet ja schon seit Ewigkeiten der
Logitech Media Server. Wenn man ein NAS hat, welches ihn als Plugin mitbringt, ist man eigentlich schon gut bestückt.
Ich für meinen Fall habe aber ein freenas, wo man sicher auch den LMS zum Laufen bekommt, aber noch nicht als Plugin. Da ich den Updatepfad des Systems aber nicht mit Handarbeit erschweren will, habe ich mich für einen kleinen Raspi entschieden, der über CIFS/NFS auf die Daten schaut. Der Vorteil liegt in den 3W, die der Raspi benötigt, und in der guten Wartbarkeit. Getrennte Systeme beeinflussen sich einfach weniger.
http://www.squeezeplug.eu/ ist eure Adresse, wenn ihr ein Raspi übrig habt. Die Einrichtung ist idiotensicher per YT Video zu sehen.
Nun könnt Ihr, wie im Tutorial beschrieben, Squeezelite als Player auch noch auf dem Gerät installieren und wenn möglich mit einer USB-Soundkarte mit einem LINE IN eines Verstärkers verbinden. Die USB-Soundkarte ist keine Pflicht, bringt aber bessere Qualität und entlastet die CPU. Es funktioniert aber auch mit dem Headphone-Ausgang des Raspi.
Da der Raspi ja nicht der Schnellste ist, benötigt er für den Indexaufbau eurer Files einige Stunden oder sogar Tage! Durchhalten, das macht er nur einmal. Weiterhin kommen gleich noch Coverbilder auf die SD.
Da ich mein Domizil mit genug Cat-Kabeln bestückt habe, ist es nun recht einfach, den Raspi im Keller werkeln zu lassen und die RJ45 Verbindungen für den Audio-Transport zu nutzen. Der Familienkonsument benötigt also nur eine Steckdose für die Aktivboxen und eine freie Netzwerkdose, welche natürlich 1:1 gepached werden muss und auf keinen Fall aktive Komponenten wie Router und Switche sehen sollte.
Nach etwas Suchen habe ich einen tollen Adapter für diesen Zweck gefunden. “Audio Balun Extender Over Cat5” wäre der Suchbegriff.
Ganz schön teuer für das Teil…. Naja also selber machen geht auch.
Meine Änderung am Kabel:nic-klinke
3.5mm Klinke statt Chinchbuchse

  • Signal links: Orange und Blau
  • Masse links: Orange/Weiß und Blau/Weiß
  • Signal rechts: Grün und Braun
  • Abschneiden : Grün/Weiß und Braun/Weiß / Schirmung

Dabei habe ich ein Kabel direkt in der Mitte geteilt und mit jeweils einer Buchse und einem Klinkenstecker versehen. Funktioniert prima.
Als zweites Endgerät nutze ich nun noch ein Logitech UE Smart-Radio, welches nach einem “zurück auf Werkseinstellung” unter “Einstellungen” -> “Erweitert” -> direkt in den alten Squeezebox-Modus versetzt werden kann. Noch schnell ein Account bei mysqueezebox.com und schon kann’s losgehen.
Als Steuerung nutze ich den Browser http://IP:9000 oder Logitech Squeezebox Controller  , den es für Android kostenlos im Android Store gibt.
Optional wird es noch einen Raspi als Player geben, der mit WLAN für den Transport geeignet ist.
Momentan bin ich mit dem ganzen Konstrukt sehr zufrieden.

Etwas 'sicheres' WLAN für Privat

Das ganze Thema Sicherheit mit dem WLAN ist immer so eine Sache. Auf der einen Seite soll es so sicher wie möglich sein, aber auf der anderen Seite den Aufwand zur Einrichtung in erträglichem Rahmen halten.

Knackpunkt bei WLAN ist wen man mit einem Pre-Shared-Key arbeitet, diese immer beim Einrichten zu übertragen. Oft vertippt man sich oder hat ein frimmeliges Eingabegerät wie ein Smartphone oder Tablet vor sich. In Konsequenz darraus gibt man sich beim WLAN Passwort keine grosse Mühe und fühlt sich mit dem verstecken der SSID auf der sicheren Seite und dann reicht auch ein “1234” als Passwort. Das genau hier der Hase im Pfeffer liegt braucht man keinem halbwegs Security-affinen Techniker erklären.

Der beste Weg ist, wen man sowohl ein halbwegs “sicheres” Passwort generiert und dieses auch ohne Probleme auf andere Geräte “schnell” und “bequem” einrichten kann.

Für das sichere Passwort helfen kleine Programme wie “apg” oder “pwgen”, welche sich mittels des Paket-Installers des Betriebssystems einrichten lassen. Bei Debian und Ubuntu reicht ein einfaches “apt-get install apg” oder “apt-get install pwgen” im Terminal als Benutzer “root”.

Bei OpenSuse muss man sich dazu vorher noch das Repository “Security / Sicherheit” hinzufügen. Dannach reicht ein “zypper install apg” oder “zypper install pwgen”.


zypper addrepo http://download.opensuse.org/repositories/security/openSUSE_13.1/security.repo

Nehmen wir einmal an das unser WLAN heisst “labor-funk”. Dann generiert man sich erstmal das Passwort mit “apg” oder “pwgen”.

apg -m 63 -n 1 > labor-funk.txt

ODER …


pwgen -c -n -s -1 63 > labor-funk.txt

Jetzt ist man in der Lage mit dem in “labor-funk.txt” enthaltenen geheimen maximal langen zufälligen Passwort von 63 Zeichen, z.Bsp. “hpPC0Wuc7EHbXPEHfmqUzUUdaCYalGstJLymyFNxPgOMzbaSlHtVc9sMkNo2vQD”, seinen WLAN Access Point zu konfigurieren. Hier gereichen die Copy+Paste Funktionen des eigenen Desktops.

Ist jetzt das Smartphone oder Tablet mit einer Kamera ausgestattet, so huscht man jetzt in den entsprechenden AppStore und sucht sich eine 2D-Barcode-Scanner-App aus, z.Bsp. diesen hier. Idealerweise hat man bereits ein solche App installiert. Man muss darauf achten, das die App das gescannte Bild nicht irgendwo hochlädt zur Analyse sondern dies Offline lokal auf dem Gerät durchführt. Diese App benutzen wir im nähsten Schritt das geheime Passwort sauber in das zu konfigurierende Endgerät zu übertragen.

Dazu benötigen wir aber noch die entsprechende Applikation zum Generieren eines 2D-Barcodes auf dem Desktop. Hier ist bei allen gängigen Distributionen das Programm “qrencode” aus den Standard-Repositories zu installieren und tut perfekt seinen Dienst. Es nimmt als Eingabe via STDIN oder als Parameter eine Zeichenkette auf und spuckt hinten einfach ein Bild raus. Dieses Bild muss man nur noch auf dem Desktop zur Anzeige bringen und mit dem Smartphone oder Tablet “abscannen”.

Die einfachste Möglichkeit der Konfiguration ist es für Android-Geräte direkt eine Zeichenkette als 2D-Barcode in die wlan.png zu kodieren, die die kompletten Einstellungen für SSID und Passwort des WLAN-Access-Points enthält.


qrencode -o wlan.png "WIFI:T:WPA;S:labor-funk;P:$(cat labor-funk.txt)"

Das Ergebnis für eine fertige Konfiguration sieht dann so aus …

Wlan

Alternativ kann man direkt das Passwort als 2D-Barcode in die secret.png generieren lassen, falls das Smartphone oder Tablet die Konfiguration nicht übernehmen kann, und dann versuchen mit Copy+Paste es in die Einstellungen zu knoten.


cat labor-funk.txt|qrencode -o secret.png

Das Ergebnis nur für das Passwort sieht dann so aus …

Secret

Alle anderen Geräte kann man bequem mit Copy+Paste initial einmal einrichten. Etwaige Brutforce/Cruncher haben es dann etwas ‘schwerer’. Viel Erfolg.

Linux 'touch' unter Windows im Kampf mit Profilen

Manchmal muss man unter Windows die Zeit der letzten Aktualisierung einer Datei auf “jetzt” setzen, damit bestimmte Syncronisierungen ordentlich greifen.

Unter Linux gibt es dafür das Kommando “touch”, was genau das tut nähmlich den Zeitstempel der Datei auf “jetzt” setzt. Hat man die Cygwin-Tools nicht zur Hand, fehlt hier etwas “simples”.

Man kann sich aber mit der CMD.EXE behelfen unter Zusatz von “COPY” etwas tricksen (Win+R cmd [ENTER]). Wichtig hier ist, das man vorher mittels “cd” in das Verzeichnis der betreffenden Datei wechselt.


cd Verzeichnis
copy filename.txt /B+ ,,/Y

Das wars. Falls mal einige Dateien sich bockig zeigen, wird man dieses Problem damit lösen. Die Datei filename.txt hat als letzten Zeitpunkt der Aktualisierung die aktuelle Zeit und ist damit bei irgendwelchen Syncronisation “King” und “gewinnt”. Das ganze funktioniert unter Windows XP + Vista + 7 und 8.

Möchte man jetzt mehrere Dateien mit einem Schlag auf “jetzt” setzen, so kann man sich mit “for” und “dir” behelfen wie folgt ..


for %i in ('dir *.txt') do copy %i /B+ ,,/Y

Viel Erfolg.