Hans M. und ich ham vor über 8 Jahren mal eine Regelung für sein Ferienhaus gebaut: https://stefan.box2code.de/2018/05/11/warm-wasser-steuerung/
Neulich kamen wir mal wieder auf das Thema und ham entschieden dass wir das heute viel einfacher, besser und vorallem schneller könnten. Tatsächlich ham wir bis jetzt nur 2 Wochenenden dafür gebraucht

Die neue Regelung basiert jetzt auf Linux mit QT/QML-Applikation. Zu finden hier: https://bitbucket.org/bobbery/wwc2/src/main/

Alles in Allem besteht die ganze Anwendung aus unter 500 Zeilen einfachen QML-Code der unglaublich primitiv und daher wahrscheinlich auch gut zu warten ist.
Der C++ – Code enthält nur ein paar Treiber, mit denen man aus dem QML-Code heraus leicht die Hardware ansprechen kann.

Die Applikation ist noch nicht ganz fertig (es fehlt noch die eigentliche Regelschleife), da sich ein Großteil der Hardware grad noch in Italien befindet. Ich schreib hier wenn gar fertig und mit Hardware getestet

Das Hauptbild ist einfach mit Inkscape und Cliparts von https://openclipart.org/ gezeichnet

Natürlich lassen sich die Parameter der Regelung leicht über TouchPad ändern und beiben nach Neustart erhalten:

Du kannst dir das Repo klonen und erstmal einfach im QtCreator auf deinem PC ausführen. Etwas interessanter ist aber wie man das Ding auf den Linux-Controller bekommt und wie man am geschicktesten die Hardware anbindet

Die Hardware

  • RPI-Zero 2W: weil der schön klein und billig is 🙂
  • HDMI-TS-Display 7″ – bekommt man für um die 40€ – über HDMI und USB angeschlossen
  • Einen MAX31865 – mit dem kann man einfache Widerstands-Temperatursensoren (PT-100) auslesen – wir brauchen 4 Sensoren aber nur einen MAX31865 da wir die Sensoren einfach über Relais multiplexen
  • Eine 8-Fach Relaiskarte – bekommt man für unter 10€
  • Einen PCF8574 – mit dem bekommen wir die Relaiskarte angesteuert
  • Einen Flusssensor, der impulse liefert wenn Wasser durchfließt

Alles in allem unter 100€ Material. Das Gehäuse ist einfach mit dem 3D-Drucker gedruckt.

Befestigt ist das Ganze mit etwas Bauschaum. Wenn du dich fragst warum Bauschaum: Wir hatten auf Arbeit mal bei einem Prototypen ein Display mit Heißkleber fixiert. Leider stand das ganze dann mal für eine Weile in der Hitze von Miami und viel auseinander 🙁 Deshalb auf keinen Fall mehr Heißkleber 🙂

Wir benutzen am RPI nur wenige Pins:

  • GPIO23 als Eingang für den Flusssensor (auf Tastaturtaste F12 gemapped)
  • SDA und SCL (GPIO2 & 3) zum Ansteuern der Relaiskarte über PCF8574 (da man mehrere Bausteine an einem Bus betreiben kann könnten wir damit sogar bis zu 64 Relais schalten)
  • MOSI, MISO, SCK, CS (GPIO8-11) zum Auslesen der PT-100 Sensoren über MAX31865

Normalerweise bau ich mir fast immer ein eigenes Linux-Image mit buildroot. Da hier aber Einfachheit zählt und die Bootzeit ziemlich egal ist, nehmen wir einfach ein fertiges Raspberry Pi OS Lite

Linux Image vorbereiten

Am einfachsten geht das über den Raspberry Pi Imager. Sorge beim Flashen nur dafür, dass SSH aktiviert und mit deinem WLAN verbunden wird.

Läuft dein PI, dann verbinde dich über SSH und installiere mit sudo apt install qt6-*{dev}* cmake Alles was wir so brauchen.

Ändere deine /boot/firmware/config.txt auf folgenden Inhalt

dtparam=spi=on
dtparam=i2c_arm=on
dtoverlay=vc4-kms-v3d
dtoverlay=gpio-key,gpio=23,active_low=1,gpio_pull=up,keycode=88 # mapped to F12

Danach ist ein Reboot angebracht

Kopiere den Quellcode in dein Heimatverzeichnis auf dem PI (mit scp, FileZilla, WinSCP, o.ä.)
Mache dir ein Verzeichnis build in deinem Heimatverzeichnis auf dem PI und führe aus dem Verzeichnis heraus cmake ../wwc2; make aus.

Jetzt kannst du die Applikation mit ~/build/appwwc2 -platform eglfs starten

Damit das beim starten automatisch passiert, kannst du den Befehl an deine ~/.bashrc am Ende anhängen

Aktiviere noch schnell über sudo raspi-config den Auto-Login

Wenn du jetzt neu startest, sollte nach dem Booten die Applikation laufen

(optional) Image wartbar machen

Damit du auch außerhalb deines WLANs auf deinen PI zugreifen kannst, packst du in deine /etc/profile die Zeile nmcli device wifi hotspot ssid wwc2 password 12345678 so macht dein PI einen WLAN-Hotspot auf. SSH funktioniert dann über die Adresse 10.42.0.1

Noch nicht ganz fertig aber schon mal eine kleine Vorschau

Zielsetzung:

  • Einfach zu erlernen – die meisten konnten innerhalb von 15 Minuten loskonstruieren
  • Einfach erweiterbar – die Shape-Bibliothek besteht aus einfachen lua-Skripten die sich super mit KI-Hilfe generieren lassen. Werde euch ne kleine Webseite aufsetzen auf der ihr eure Erweiterungen teilen könnt
  • Interoperabel – manche Sachen (z.B. Kugellager) lassen sich leichter mit OpenSCAD konstruieren. Du kannst diese einfach importieren und in SketchIt3D weiterbearbeiten
  • Kostenlos und im Quellcode verfügbar (unter der LGPL)
  • Multi-Plattform dank QT ( fürs erste Linux und Windows )

Du bist mutig und willst ausprobieren ? – Aber Vorsicht ist noch experimentell !!!

https://files.box2code.de/
Benutzername: SketchIt3D
Passwort: test
Tut mir leid derzeit ist die Windows Version noch aktueller (hab zu wenige Linux Tester – hast du vielleicht Lust dazu ?)
Kurzes Video zu älterer Version is auch dabei

Eine brauchbare Software entsteht nicht ohne die Hilfe von netten Leuten die einem gute Ratschläge geben oder sogar richtig eintauchen und neue Versionen ausgiebig testen
Vielen Dank an Ferdi, Hans, Eva, Christian, Michi, Irek, Arvid, Tim, Klaus und Gerald

Eine Bitte hätte ich. Wir erleben auf Arbeit gerade eine große Flaute in Form von fehlenden Aufträgen.
Es wäre schön, wenn du jemanden kennst der einen guten Entwicklungsdienstleister sucht, an uns weiterleitest.
Wir sind https://www.corscience.com und sind Experten für MedTech – würden uns aber auch über Aufträge aus anderen Bereichen freuen

Die erweiterbare Shape-Bibliothek

Die Texturen die du siehst kannst du auch selbst erweitern. Leg einfach JPG-Dateien in den Ordner ~/SketchIt3D/OwnMaterials

Parameter für den ausgewählten Shape

Import aus OpenSCAD und das View-Menü

Objekte im Raum bewegen (geht auch über Tastatur-Shortcuts)

Objekte aneinander ausrichten

Lua-Code für Shapes inspizieren

Und ne kleine Hilfe

Gruppieren dauert manchmal etwas länger (es wird durch CGAL neue Geometrie berechnet)

Export für 3D-Drucker (hier im Anycubic Slicer)

Was fehlt noch ?

  • Hilfe fehlt noch komplett
  • Alignment Menü ist noch nicht vollständig und hat noch Fehler
  • Undo und Redo fehlt noch
  • Ich möchte noch einen Export für den Mehrfarbendruck einbauen

Update 2026-06-14: v0.1.3 alignment Menü funktioniert

Ich hab mir vor einiger Zeit ein HANMATEK HO52S Taschenoszi gekauft und bin total begeistert von dem Gerät. Analogbandbreite von 50 MHz, 2 Kanäle und einen integrierten Funktionsgenerator – und das ganze für unter 200 €

Das einzige von dem ich nicht begeistert war, war die PC-Software dazu. Leider nur Windows und unter VirtualBox gings leider auch ned 🙁 Hab mir die Anleitung angeschaut und gesehen, dass man damit eh nicht sehr viel machen kann außer Daten vom Oszi runterzuladen. Eine wirkliche Bedienung des DSOs wäre damit garnicht möglich gewesen.

Hab mir das Gerät etwas genauer angeschaut und wollte rausfinden ob es irgendeine Möglichkeit gibt es auch über den PC anzusprechen. Nach etwas Google hab ich schnell herausgefunden, dass die Firmware des Geräts eigentlich von Owon kommt. Für einige Geräte von Owon gibt es eine Schnittstellendoku im Netz.

Zu meiner großen Freude benutzt das Gerät das supereinfache SCPI-Protokoll über USB – Und ich hatte schon ein Ziel für meinen Urlaub 🙂

Das Bild indem die Kurven dargestellt werden, hab ich einfach vom Oszi selber – Screenshot gemacht, 3x vergrößert und alle Werte wegradiert 🙂 Dann einfach die Werte von der Schnittstelle drüberzeichnen.

Die Software müsste auch für andere ähnliche DSOs von Owon und OEMs funktionieren. Ich würde mich freuen von dir zu hören, wenn du ein anderes Gerät erfolgreich damit zum Laufen bekommst.

Der Quellcode (natürlich GPL) liegt unter https://bitbucket.org/bobbery/qpocketscope (ist sehr einfach nur ca. 300 LOC)

Als erstes kommen natürlich die Linux-Nutzer dran:

https://stefan.box2code.de/huge_files/QPocketScope_2024_11_05.tar.gz

Im Archiv findest du ein AppImage, dass du einfach ausführen kannst. Leider musst du noch (als root) install.sh ausführen. Das fügt eine udev-Rule hinzu ohne die eine kommunikation mit dem DSO nicht möglich ist (zumindest als nicht-root).

Die Windows-Benutzer müssen sich noch etwas gedulden. Ich brauche jemand mit einem Windows-Rechner zum Testen, da es leider unter VirtualBox nicht geht (die SW vom Hersteller aber auch nicht).
Natürlich würde ich mich riesig freuen, wenn ein/e Windows-Nutzer/in mit DSO dies liest und sich zur Verfügung stellt 🙂

Viel Spaß damit – euer Stefan

CodenameCFB ( CORmunity – Fotobox )
KurznamecorCAM
Kunde:Unsere CORmunity bei Corscience
Projektzeitraum:etwa 1,5 Monate
Produktive Stunden:etwa 60
Tarif:CORmunity-4-CORmunity ( nur Material )
Einsatzzweck:Partyfotos 🙂
Quellcode:Applikation etwa 1000 LOC
Neu erworbene Skills:Für Raspi immer das offizielle Netzteil verwenden ( sonst undervoltage )
Bügelbrett eignet sich hervorragend als Montageplattform 🙂
Fotografieren und Beleuchtung ( natürlich immer noch totaler Laie dadrin 🙂 )
Rückblick:Absoluter Funfaktor – so ein geiles Projekt 🙂
Danke an Sina für die super Idee und den Projektanstoß
Danke an Viktoria für die hervorragende Projektleitung und deine rat- und tatkräftige Unterstützung
Danke an Jörg für die Finanzierung und megaschnelle Bestellung unserer benötigten Komponenten
Danke an Sebastian für die tollen Tipps zum Fotografieren
Kundenstimme:fehlt noch
Continue reading

CodenameTKA ( Ansteuerung für Temperaturkammer )
Kunde:Führender Hersteller von Test und Messequipment
Projektzeitraum:etwa 3 Tage
Produktive Stunden:etwa 3 – 4
Tarif:Wegen Minimalaufwand geschenkt
Einsatzzweck:Ansteuerung einer Temperaturkammer, mit Mustern definiert in Excel-Dokmument, via TCP-Socket-Protokoll
Quellcode:PC-SW ca. 250 LOC
Neu erworbene Skills:
Rückblick:War sehr leicht umzusetzten, Protokoll der Kammer war gut beschrieben, Kunde war schon mit der ersten Demo zufrieden 🙂
Kundenstimme:Fehlt noch
Continue reading

svg2qml war kein guter Name – gab’s schon 🙂 Wir nennens jetzt mal InkBridge4Qml

Einfaches Tool zum generieren von QML aus SVG-Bildern. Funktionalität ist ähnlich zur kostenpflichtigen Qt Bridge for Adobe Photoshop.

Happy animating 🙂

Continue reading

Timo hat neulich den, total schicken, neuen Desktop Cutefish auf YouTube entdeckt.
Wir sind von der Schnelligkeit, Optik und Bedienung total begeistert.
Außerdem ist Cutefish in QT programmiert und benutzt einige Teile von KDE
(QT war immer mein Argument warum ich KDE und nichts anderes verwende 🙂 ).
Leider gibt es nur Downloads für ArchLinux und Manjaro.
Drum hier die Pakete für die letzte LTS von Ubuntu:

Continue reading

Mal eine kleine Fingerübung für zwischendurch.
Auf Arbeit müssen wir oft zwischen verschiedenen Koordinatensystemen konvertieren.
Abhilfe soll der kleine Rechner hier schaffen, der hoffentlich noch um viele Funktionen erweitert wird.

Continue reading

Nicht wirklich ein Freizeitprojekt, da ich den größten Teil auf Arbeit geschrieben habe
wegen Lizenzanforderungen von PCLint und Visual Studio

Continue reading

Nach Langem endlich mal wieder ein Projekt in Qt das richtig Spaß macht 🙂 Spaß macht es vor allem durch die vielen Ideen, Verbesserungswünsche und Bugreports von Kollegen, die das Tool verwenden. An dieser Stelle noch mal vielen Dank dafür. Ich hoffe es gibt noch viel zu tun …

Continue reading

Zauberkünstler ist ein kleines Programm, dass ich vor einigen Jahren mit C++ und QT, für einen mir bekannten Zauberer geschrieben habe. Es war damals (ca. 2005) eines meiner ersten größeren Programme, die ich mit C++ geschrieben habe. Daher hat es vielleicht nicht gerade das beste objektorientierte Design, ist aber sehr einfach aufgebaut und gut zu verstehen.

Continue reading