REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen

Wie in diesem Beitrag beschrieben, kann leicht ein REST-Server in 5 Minuten erstellt werden. Auch die Sicherheit kann in 5 Minuten mit Helmet erweitert werden, wie hier beschrieben. Wer weitere 5 Minuten hat, kann auch auf ein Verzeichnis mit statischen Resourcen zugreifen.

Eine statische Webseite ist eine Art von Webseite, bei der die Inhalte für jede Seite im Voraus erstellt werden und nicht dynamisch auf Anfrage generiert werden. Dies bedeutet, dass der Inhalt jeder Seite statisch ist und sich nicht ändert, es sei denn, jemand bearbeitet manuell die HTML-Dateien, die die Seiten darstellen.

Statische Webseiten werden oft verwendet, wenn der Inhalt der Seite selten oder nie aktualisiert wird, z.B. bei Landingpages, Informationsseiten oder Blogs mit selten aktualisierten Inhalten. Sie sind einfach zu erstellen und zu verwalten und erfordern keine spezielle Software oder Programmierkenntnisse. „REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen“ weiterlesen

REST-Server in 5 Minunten erstellen mit Node.js and Express.js

REST (Representational State Transfer) Server sollten genutzt werden, wenn es darum geht, eine Web-API (Application Programming Interface) bereitzustellen, die es ermöglicht, Daten zwischen verschiedenen Systemen auszutauschen.

REST ist ein Architekturstil, der sich auf die Verwendung von HTTP-Methoden wie GET, POST, PUT und DELETE konzentriert, um Ressourcen zu erstellen, abzufragen, zu ändern und zu löschen. Ein REST-Server kann in fast jeder Programmiersprache entwickelt werden und ist eine gute Wahl für die Erstellung von Microservices oder für die Integration von Anwendungen mit anderen Systemen.

Express.js ist ein web Application Framework für Node.js, das es Entwicklern erleichtert, eine HTTP-Server zu erstellen und Routing-Funktionalitäten bereitzustellen. Es ist eines der am weitesten verbreiteten Framework für Node.js und wird oft für die Erstellung von Webanwendungen und REST-APIs verwendet. „REST-Server in 5 Minunten erstellen mit Node.js and Express.js“ weiterlesen

Single-Page-Webanwendung (SPA): TWKrankenhaus App mit TypeScript, React und Patternfly

Ziel ist es eine Beispiel SPA TWKrankenhaus zu implementiern die TypeScript, React mit Patternfly nutzt. So das man ein Template für weitere Apps hat.

Entweder man clont das ganze Projekt wie unten beschrieben oder man folgt allen Schritte. So soll es mal mit Mock-Test-Daten aussehen:

1. In einem leern Verzeichnis, ein TypeScript Projekt mit Template anlegen: … „Single-Page-Webanwendung (SPA): TWKrankenhaus App mit TypeScript, React und Patternfly“ weiterlesen

TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL

TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL DB verwenden. Um nicht JUnit 5 zu vergessen.

Wir bauen nun mit Quarkus eine React Anwendung die Titel und das Datum von Mindmaps anzeigt und per REST bedient werden kann. Die GUI im Browser sieht dann so aus: „TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL“ weiterlesen

Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche

Eine Suche in Datenbeständen ist keine einfache Sache! Mit Fuse.js ist ein Suche mit Fuzzylogik möglich. Fuse.js ist eine mächtige Lib ohne viele Abhängigkeiten.

Eine suche mit Fuzzylogik ist eine unscharfe Suche und wird z. B. in der Automatisierungstechnik, Medizintechnik, Unterhaltungselektronik, KI, Fahrzeugtechnik und anderen Bereichen der Regelungstechnik verwendet. Zum Beispiel suchen wir nach dem Ort: Hameln und es werden uns auch Ergebnisse aus Hannover angezeigt. Beide beginnen mit Ha.

Wir programmieren mal Beispielsweise eine Arztsuche mit einfache Gui, wie bei Google, mit nur einem Eingabefeld. So soll die Seite aussehen, und ein Eintrag ist auch gleich die Online-Hilfe:

Das Ergebnis, wenn wir z.B. nach Anästhesie suchen sieht dann so aus bei den 5 Beispiel Datensätzen: „Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche“ weiterlesen

Crypto Währungsadressen wie z.B. Bitcoin in NodeRed Dashboard validieren

Wie können Kryptowährungsadressen überprüft werden? Also wie können z.B. Bitcoin Adresse überprüft werden? Die Bitcoin Adressen habe wie so viele Adressen eine interne Checksumme, die mit sha256 gebildet wird. Das heißt, es wird zweimal einSHA-256 Hash auf die Adresse gemacht und die ersten 4 Bytes als Checksumme verwendet und an die Adresse angehangen.

Um es ganz einfach zu machen, habe ich einen NodeRed Node node-red-contrib-cryptography-address-check erstellt. Und dazu einen Flow, wo die Adresse nur eingegeben werden muss, und es dann automatisch auf Gültig oder Ungültig überprüft wird.

Dieser Node, muss also nur über die „Pallette hinzufügen“ Funktion geladen werden:

So sieht meine public „Buy me a coffee“ Adresse aus, die ist gültig:

Sobald man da auch nur ein Zeichen verändert, … „Crypto Währungsadressen wie z.B. Bitcoin in NodeRed Dashboard validieren“ weiterlesen

Hausautomatisation 5.0: Steuerung des Roborock-Staubsaugers per QR-Code (Barcode)

Idee: In jedem Zimmer an der Tür oder sonstwo einen QR-Code anbringen. Einfach mit dem Handy scannen und schon wird automatisch das Zimmer gesaugt. Kein lästiges suchen der Sauger App, starten und auswählen des Zimmers. Gesagt getan!

Ein QR-Code wird einmalig erstell und an den Mülleimer (oder in der Nähe) angebracht. Wenn der mit dem Handy gescannt wird (muss im WLAN eingewählt sein, könnte man aber auch für alle freigeben ;-)) läuft der Roboter los, hält für 2 Minuten an. Macht eine Sprachausgabe. Nun kannn der Staubbehälter gelehrt werden. Dann fährt er mit der Reinigung der Küche fort, und fährt wieder zur Ladestation.

Also zuerst eine QR-Code erstellen mit der URL des Pis und dem Kommando:

Dann diesen Flow importieren bzw. erstellen:

Dann in den HTTP-Node die URL aus dem CQ-Code eintragen und get wählen: „Hausautomatisation 5.0: Steuerung des Roborock-Staubsaugers per QR-Code (Barcode)“ weiterlesen

Mal was anderes als der beschlossene Neubau des Rathaus in Langenhagen für 68 Millionen „Bitcoin“: Heimautomatisierung mit NodeRed Xiaomi Saugroboter Flow

Das Neues Rathaus in Langenhagen soll mehr als 68 Millionen Euro kosten und 2026 fertig sein. Ich bin gespannt und werde es beobacchten.

Nun ist die Integration in NodeRed fertig, meine Steuerung für den Xiaomi-Saug-Roboter. Die App ist eigentlich ausreichend und macht fast alles was man braucht. Aber wenn man schon auf Hausautomatisation setzt, dann muss das natürlich auch da rein.

Auch ist die Gui etwas einfacher zu erreichen. Man kann auch weitere Szenarien implementieren. Z.B. bei Abwesenheit autom. saugen.

Was ich aber brauchte, war die Anforderung mit einen Klick, drei Räume zu reinigen. Auch die Zeitliche Steuerung wie z.B. jeden Tag die Küche saugen usw. ist nun noch einfacher. Auch kann nun von jedem Browser aus die Gui gestartet werden, ohne SW zu installieren. Z.B. vom Mac oder Laptop. Oder wenn die Haustür aufgeht, und ich nicht da bin, soll der Roboter den Flur saugen und die Ansage abspielen („Hier bin ich“) das vertreibt dann jeden Einbrecher;-) Habe es bisher noch nicht versucht, auch anderen Text wie z.B. Hundegebell abzuspielen. Dazu müsste ich ihn dann mit einer neuen Firmware flashen. Noch hat das Teil aber noch Garantie und läuft seit Monaten sehr gut und hat sich nur einmal „verlaufen“.

Hier der NodeRed-Flow:

Hier die GUI die auch auf dem Handy bzw. Tablet läuft:… „Mal was anderes als der beschlossene Neubau des Rathaus in Langenhagen für 68 Millionen „Bitcoin“: Heimautomatisierung mit NodeRed Xiaomi Saugroboter Flow“ weiterlesen

Kryptowährungen eingebrochen: Bitcoin zeitweise auf 45.000 US-Dollar gefallen deshalb nun NodeRed mit Hash RIPEMD-150 Node inkl. GUI

Eben eine neue Version des NodeRed Node node-red-contrib-cryptography in Version 0.0.4 veröffentlicht. Jetzt auch mit RIPEMD-160 hash. RIPEMD-160 bietet kürzere hash Werte (40 Zeichen) als SHA-265. Wird deshalb u.a. auch für Bitcoin verwendet. Hier nun endlich auch eine GUI nach „jahrelanger“ Entwicklung, wo einfach Testwerte eingegeben werden können.

Und der dazugehörige Flow:… „Kryptowährungen eingebrochen: Bitcoin zeitweise auf 45.000 US-Dollar gefallen deshalb nun NodeRed mit Hash RIPEMD-150 Node inkl. GUI“ weiterlesen

New NodeRed Node: Hash mit SHA-256

Wer in NodeRed einen SHA-256 hash ohne Konfiguration verwenden will, kann das Modul node-red-contrib-cryptography verwenden. Das JavaScript Modul habe ich geschrieben, um das Hashen zu vereinfachen. Es brauchen keine Einstellungen gemacht werden und es gibt keine weiteren Abhängigkeiten. Das Modul wird dann später noch um RIPEMD-160 ua. die für Bitcoin verwendet werden können erweitert.

Die erste Version, kann wie gewohnt in der Palettenverwaltung geladen werden: … „New NodeRed Node: Hash mit SHA-256“ weiterlesen

Wie „geht“ ein upload eines lokalen NodeRed-Nodes im tgz-Archiv Format über die NodeRed-GUI für Docker Kontainer?

Wie kann man einen lokalen Node von der Festplatte in NodeRed hochladen, wenn er nicht im Repository vorhanden ist und nur lokal auf der Platte liegt? Und wenn dann noch NodeRed in einem Docker Kontainer läuft, wie geht es dann? Es kann natürlich auch über die Kommandozeil des Raspberry Pi laufen, aber das will man ja nicht immer.

Hier eine kurze Beschreibung wie das geht. Der Button zum hochladen ist etwas versteckt, unter „Palette verwalten“ und „Palette“ und „Installieren„, im Dialog zu finden.

Nach einem klick, einfach das tgz-Archiv auswählen und hochladen. Dann ist unbedingt ein Neustart von NodeRed nötig. Das ist im Docker Kontainer mit einem Restart schnell gemacht.

Kommt es beim hochladen zu einem Fehler, kann es sein das das npm-Package für den Node nicht richtig erzeugt wurde. Die npm-Packages müssen mit npm pack im jeweiligen node_modul erzeugt worden sein, z.B. so: … „Wie „geht“ ein upload eines lokalen NodeRed-Nodes im tgz-Archiv Format über die NodeRed-GUI für Docker Kontainer?“ weiterlesen

„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab

Teslas SpaceX-Astronauten sind nun von der ISS auf dem Rückweg zur Erde und werden heute Abend in Florida landen. Wer sich das live anschauen will, kann das über den live Stream der NASA um 20:48 Uhr tun.

Heimreise aus 400 Kilometern Höhe.

Mein Raspberry Pi trackt ja die Position der ISS wie hier berichtet.

Mit dem NodeRed-Flow wird ja ein Webservice für die Position verwendet und direkt abgefragt. Es gibt aber auch noch einen eigenen NodeRed Flow. Dieser Node, ist nicht defaultmäßig vorhanden und muss erst in NodeRed installiert werden (suche nach node-red-contrib-iss-location). Eine Code Analyse hat gezeigt, das der Node die gleiche OpenNoitify API abfragt. Die Parameter heißen bei der Rückgabe des Flows nur etwas anders: lon, lan, name (der name ist der Timestamp)

Hier nun der Code des Flow mit dem eigenen ISS Node (siehe Foto oben), der genau das gleiche tut wie der erste. Er schreibt die Positions-Daten der ISS in eine Datei im CSV-Format.

Und hier der ganze NodeRed-Flow zum importieren „„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab“ weiterlesen

Jubiläum: 20 Jahre Homepage wenzlaff.de!

Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.

Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:

Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!

Und es gab keine Werbung im Internet.

Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.

Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …

Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!

In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉

Thanks Mindmap
Danke Mindmap

Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren

Für NodeRED und auch so braucht man manchmal die aktuellste Version der JavaScript-Laufzeitumgebung Node.js und npm. Da die Raspberry Pi unterschiedliche Packages brauchen, ist es wichtig, das man sich von hier die richtige Version lädt.

Zuerst schauen wir mal, was wir für einen Pi wir überhaupt habe mit:

„Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren“ weiterlesen