Jump to content

Recommended Posts

Geschrieben

Hallo zusammen,

 

ich möchte hier kurz vorstellen, wie ich aktuell meine Software teste:

 

Ich habe eine kleine Wetterstation mit Zeitschaltuhr und Timern

http://www.tinkerunity.org/wiki/index.php/DE/Projekte/Wetterstation_mit_Zeitschaltuhr_und_Android_App, bei der ich einen Großteil der Zeit für die Tastensteuerung benötigt habe (zuletzt nochmal umgestellt und Multi-Touch). Kleine Änderungen an der Wetterstation auf dem PI zu installieren und zu testen, ist recht zäh: Build auf dem PI braucht schon 17 Minuten, auf PC <10 Sekunden  :-[.

 

Ich hatte zwischenzeitlich schon einen Stackemulator entwickelt, der mir alle Brick/Bricklets mit Callbacks emuliert, die ich benötige http://www.tinkerunity.org/wiki/index.php/DE/Projekte/Stackemulator_%28stubserver%29 (und noch ein paar mehr), aber der Test von neuen Bedienschritten ist damit nicht möglich und den LCD-Inhalt sieht man auch nicht.

 

Darum habe ich das Ganze nun noch um eine Android-App erweitert: per App kann ich Tasten-Eingaben übers WLAN an die Wetterstation senden und diese damit steuern. Ebenso zeigt die App immer den aktuellen Inhalt des LCD an.

 

Die App hat somit zwei Funktionen: zum Einen ist es die Methode, über ich die Software mit der simulierten Hardware komplett manuell testen kann. Zum Anderen kann ich damit jederzeit auch im Normalbetrieb meine Wetterstation abfragen und steuern (zusätzlich zur Steuerung direkt über das Bedienfeld).

 

Die App ist allerdings anwendungsspezifisch, der Emulator nicht.

Die Entwicklung von App und Emulator hat sich für mich schon gelohnt, da ich inzwischen deutlich schneller was ausprobieren kann, als mit realer Hardware: auch mal Bricklets 'entfernen' und nur einem Teil der Hardware testen oder Temperaturstürze simulieren ...

Geschrieben

Zum Emulator: Ich fände des cool wenn der Code davon unabhängig von der Wetterstation zu bekommen wäre :) Bonuspunkte gibt es, wenn er gleich auf Github gehostet wird  8)

 

Mein Projekt dazu ist ja ziemlich eingeschlafen (weil ich nix mehr gemacht habe), aber das was du jetzt offenbar realisiert hast war das was ich mir ursprünglich vorgestellt habe... insbesondere die Konfiguration...

 

Viele Grüße

Jan

  • 2 weeks later...
  • 5 months later...
Geschrieben

Der Stack-Emulator kann inzwischen ca. 20 Devices (http://www.tinkerunity.org/wiki/index.php/DE/Projekte/Stackemulator_%28stubserver%29#Features) und hat mir doch schon einiges an Probieren mit realer Hardware erspart ...

 

Die Callback-Loop habe ich auch noch etwas optimiert und dadurch erreiche ich nun eine Genauigkeit von "exakt" 1ms als minimale Auflösung.

 

Aus meiner "produktiven" Umgebung kann ich Sensorwerte aufzeichnen und als Input für den Stubserver nutzen.

  • 7 months later...
Geschrieben

Dem Emulator habe ich jetzt noch eine erste Version einer Qt-GUI verpasst  :).

 

Die kann zwar noch nicht alle Devices anzeigen die der Emulator inzwischen kann, aber bringt dann doch den Zusatzeffekt, dass Multitouch und LCD-Buttons manuell bedient sowie Sensorwerte auch manuell verstellt werden können und nicht immer "vordefiniert" sind.

 

Und: die GUI ist im Gegensatz zur App nicht anwendungsspezifisch, d.h. zeigt einfach den Brickletzustand an.

 

Sie passt sich dynamisch den konfigurierten Devices an. Beim RemoteSwitch wird ebenfalls dynamisch für jeden neuen Code ein Schalter mit dem Code eingeblendet.

 

Den Emulator kann ich nun mit und ohne GUI nutzen. Von der GUI nicht unterstütze Devices werden einfach ignoriert, aber weiter emuliert.

stubgui.thumb.png.92d89904aff01c426bbcce02113c835e.png

  • 6 months later...
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...