Kryptowährung schürfen mit einem Raspberry Pi

Kryptowährungen wie z.B. Bitcoin sind in aller Munde. Es gibt heute ca. 7000 Kryptowährungen, wie z.B. Bitcoin, Ethereum, Tether, XPR, Chainlink, Litercoin und Monero um mal 7 zu nennen.

Kann man mit einem alten Raspberry Pi Model B oder W Zero Krypto-Geld schürfen? Ja, warum nicht, das geht sogar ziemlich einfach, wie dieser Artikel zeigt. Rechnet es sich? Dazu später mehr.


Vorraussetzung ist ein aktuell installiertes Debian und zugriff auf die Kommandozeile.

Dann brauchen wir noch eine Anmeldung bei Minergate.com und die E-Mail-Adresse, womit wir uns dort angemeldet haben. Die Anmeldung bei diesem Mining-Pool ist kostenlos. Minergate ist ein Open-Source-Multi-Kryptowährungs-Mining-Pool.

So, jetzt wollen wir mal Krypto-Geld erzeugen. Wir werden die Währung Monero erzeugen. Wikipedia sagt zu Monero: „Monero (XMR) ist eine dezentrale, Blockchain-basierte Kryptowährung, vergleichbar mit Bitcoin. Im Gegensatz zu Bitcoin setzt Monero jedoch einen stärkeren Fokus auf die Privatsphäre bzw. Anonymität seiner Nutzer (Privacy Coin) und verfolgt einen anderen Ansatz in Bezug auf die Skalierbarkeit. Das Wort „monero“ ist der Sprache Esperanto entnommen und bedeutet „Münze“. Monero (XMR) ist auf bis zu 12 dezimale Nachkommastellen teilbar, d. h. die kleinste Währungseinheit beträgt 0,000 000 000 001 XMR = 10 hoch −12 XMR.

Ok, dann mal los, es dauert ca. 1-2 Stunden um den Miner zu bauen und das erste Geld zu erzeugt. Es sind nur diese 4 Schritte nötig und es ist mal etwas anderes als Co2-Ampeln bauen … „Kryptowährung schürfen mit einem Raspberry Pi“ weiterlesen

CO2 mit dem Raspberry Pi

Hier mal eine Zusammenfassung eines CO2-Messsystems (CO2-Ampel) mit dem Raspberry Pi an dem der MH-Z19b, OLED Anzeige, LED-Rgb-Ampel hängen. Auch werden die Daten Online an Thinkspeak, MQTT, NodeRed, Alexa ausgabe von Warnungen und abfrage der Co2 Werte, Pushover nachrichten ans Handy, REST Java-Client, Docker Container und an einen History Browser gesendet. Wie hier auch schon einzeln veröffentlicht.

Die Architektur

„CO2 mit dem Raspberry Pi“ weiterlesen

Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen

Wer noch 5 Minuten hat, kann das Beispielprojekt mit der CO2-Ampel auch gleich in einem Docker Container laufen lassen. Vorraussetzung Docker läuft und das Beispielprojekt wurde installiert.

Dann sind, dank der automatisch generierten Docker-Files nur diese 3 Schritte im Verzeichnis der root pom nötig:

Schon läuft der CO2 Service http://localhost:8080/v1/rest/co2 und CO2-Ampel über http://localhost:8080/v1/rest/co2ampel

Cool. Und hier das Dockerfile … „Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen“ weiterlesen

REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern

Einen REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern ist nicht kompliziert.

Freut euch immer

Vorraussetzungen Java 11 und Maven. Test mit:

mvn -version

auf der Kommandozeile:

Dann fangen wir in einem leeren Verzeichnis an

jetzt rufen wir mit dem Maven Quarkus Plugin das create Goal auf:

Zwei Sekunden später, ist das Projekt angelegt: „REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern“ weiterlesen

Co2-Ampel: Nachhaltiges Ampel-Design – wiederverwendung (sustainable) eines Seifenspenders

Die Co2-Ampel hat nun ein nachhaltiges Ampel-Design bekommen. Hier die Rote-Warnung die bei über 1000ppm in der Luft erzeugt wird:

Und das ganze als Video, mit allen Ampel-Farben (oder in HD-Qualität):

Und hier noch der Grüne Status: „Co2-Ampel: Nachhaltiges Ampel-Design – wiederverwendung (sustainable) eines Seifenspenders“ weiterlesen

CO2-Ampel: Temperatur zur OLED-Anzeige des CO2-Wertes ergänzen

Zusätzlich zur CO2-Ampel auch noch die Temperatur zur Anzeige des CO2-Wertes hinzufügen. Das ist schnell gemacht, hier das Ergebnis:

Das zusätzliche Einlesen der Temperatur ist in Python auch schnell gemacht:

So sieht ja das JSon File welches per MQTT gesendet wird aus:
„CO2-Ampel: Temperatur zur OLED-Anzeige des CO2-Wertes ergänzen“ weiterlesen

CO2 History Browser mit NodeRed

Ein Raspberry Pi dient ja als CO2-Ampel und misst jede Minute den CO2-Wert bei mir in der Luft. Die Werte werden auch als CSV-Datei gespeichert. Jeden Tag wird eine neue Datei erzeugt. Die Dateien sind dann nur ca. 30 kB groß.

Mit dem CO2-History Browser kann ich nun mit jeden Browser auch die CO2-Vergangenheit leicht anzeigen lassen. Es braucht nur die entsprechende Datei ausgewählt zu werden und auf den „GRAPH“ Button geklickt zu werden. Hier z.B. der CO2-Verlauf von gestern:

Mit klick auf den „OPEN“-Button kann die Datei auch im CSV-File geladen, und dann in Excel oder Numbers geöffnet werden:

CO2 to Excel
co2 to numbers

Hier der NodeRed Flow, der diesen CO2-History-Browser erzeugt: „CO2 History Browser mit NodeRed“ weiterlesen

Auswertung der CO2 Messung an einem Arbeitstag mit CO2-Ampel

Hier mal die CO2 Werte von Heute in der History-Ansicht:
CO2 Tag
Man sieht deutlich, das ich um 6:30 Uhr angefangen habe zu arbeiten (die Rote 1).
Bei der Grünen 2 habe ich jeweils gelüftet und das Fenster geöffnet, da die 1000 ppm an CO2 im Zimmer erreicht wurden. Deshalb fallen die Werte schnell ab, es wird aber auch schon im Zimmer kalt. Um 12 Uhr hatte ich das Fenster aufgemacht, und bin in die Mittagspause gegangen.Dann heute etwas früher Feierabend gemacht, und kurz nach 15 Uhr noch mal gelüftet.

Wie das ganze mit dem Raspberry Pi und NodeRed und Mqtt erfasst wird, siehe hier.

Automatischer Server-Check auf Erreichbarkeit und im Fehlerfall eine Pushover Nachricht an das Handy senden – Wie?

Automatischer täglicher Server Check mit Ping. Es wird auf Erreichbarkeit getestet und im Fehlerfall eine Pushover Nachricht an das Handy versendet. Kann schnell und leicht erweitert werden. Einfach einen neuen inject Node mit Server URL und Zeitpunkt ergänzen.

Der Code des Flows „Automatischer Server-Check auf Erreichbarkeit und im Fehlerfall eine Pushover Nachricht an das Handy senden – Wie?“ weiterlesen

Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel

Alexa sagt den Co2-Wert in der Luft in ppm an, wenn man sie fragt. Hier ein kurzes Demo-Video:

Auf dem Raspberry Pi läuft ein NodeRed mit dem node-red-contrib-alexa-remote2 der nicht nur Text ausgeben kann, sondern auch Befehle auswerten kann. Hier der relevante Teil der Sprachausgabe: „Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel“ weiterlesen

NodeRed mit IOTstack im Docker Container läuft nun auch auf Rasberry Pi Model B Rev 2

Bei der Installation von NodeRed mit IOTstack im Docker Container auf einem Rasberry Pi Model B Rev 2 kann NodeRed nicht installiert werden. Es kommt der Fehler beim aufrufen des menu.sh Scriptes:

ERROR: Service ’nodered‘ failed to build: The command ‚/bin/sh -c for addonnodes in ; do npm install ${addonnodes} ;done;‘ returned a non-zero code: 139

Die Ursache ist, das das Model B eine ARMv6-compatible processor rev 7 (v6l) hat. Docker kann das nicht richtig erkennen, wie es hier steht. Was also tun?

Erst mal ein Issue aufmachen.

Lösung: „NodeRed mit IOTstack im Docker Container läuft nun auch auf Rasberry Pi Model B Rev 2“ weiterlesen

WLAN Passwort aus wpa_supplicant.conf entfernen


Wenn in der /etc/wpa_supplicant/wpa_supplicant.conf eines Raspberry Pi noch das WLAN-Passwort im Klartext steht, kann das optional durch einen Key ersetzt werden. Der Key kann einfach als ROOT erstellt werden:

Dann noch die auskommentierte Passwortzeile löschen, wie hier ausführlich beschrieben.

Weil heute Sonntag ist: Java CO2 MQTT Client

Weil heute Sonntag ist. „Freut euch immer„! Nun ein kleiner Java CO2 MQTT Client um auch auf allen Betriebssystemen mit Java die CO2 Daten zu empfangen. Nicht nur für den Raspberry Pi auch Mac und Windows (ungetestet;-)).

Das selbstausführende JAR laden (siehe unten) und starten mit:

java -jar TWCo2Monitor-0.0.1-SNAPSHOT-jar-with-dependencies.jar [PI-Rechner Name/Adresse]

Hier mal eine Ausgabe auf einem Raspberry Pi W Zero:

Der MQTT Client besteht nur aus ein paar Zeilen Java Code: „Weil heute Sonntag ist: Java CO2 MQTT Client“ weiterlesen

CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed

Wir wollen nun mal ein CO2-Messsystem mit dem MH-Z19B aufbauen und die CO2-Konzentrationen mit einem Raspberry Pi einlesen und per MQTT an eine NodeRed-Installation senden. Parallel dazu werden die Daten noch in einer CSV-Datei geschrieben für Langzeitauswertungen. Wenn der Grenzwert von 1000 ppm erreicht ist, wird noch eine Pushover Nachricht an ein Handy gesendet, so das rechtzeitig gelüftet werden kann.

Hier die Architektur-Übersicht:

Installation „CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed“ weiterlesen