Dieser Artikel beschreibt eine Lösung zur Brauprozessautomatisierung mittels der Software Mash It in kombination mit 1-Wire Sensoren und Aktoren auf einem Mac (Mac OS X 10.6).
=Verwendete Komponenten=
Die hier gezeigte Schaltung ist in Anlehnung an folgende Schaltungsvariante aufgebaut:
Schema siehe hier: http://www.dunkelbrauer.de/doc/Schema_1_wire_hobbyboards.pdf.
=Installation=
In dem folgenden Verdrahtung des Sudwerks (Elektrotopf/Glühweinautomant) werden folgende Komponenten verwendet:
Vorüberlegung: Ich habe es hier so verdrahtet, dass es schaltete wenn <b>kein Signal</b> anliegt. Damit ist auch ein manueller Betrieb möglich wenn die Steuerung abgenommen wird. Wird statt des NC-Anschlusses der Anschluss NO (Normally Open, geöffnet wenn ein Signal anliegt) verwendet schaltet das Relais erst wenn ein Signal an liegt. In diesem fall müsste das Relais für den manuellen Betrieb überbrückt werden.
Anmerkung: Es muss zuvor die Entwicklungsumgebung Xcode Tools für Mac OS X installiert werden, die jedem Mac beiliegt. Es werden für die Installation Admin-Berechtigungen benötigt.
libusb ist eine open-source-Software-Bibliothek, die Anwendungen den Zugriff auf den USB-Bus ermöglicht. In unserem Fall wird libusb für das OWFS (siehe unten) benötigt.
libusb kann über MacPorts installiert werden.
OWFS ist ein Open-Source-Treiber, der den Zugriff auf den 1-wire-bus ermöglicht. OWFS ist eine gute Alternative zur „offiziellen“ Java-OWAPI von Maxim-IC. Dieser offizielle Treiber hat den Nachteil, dass der USB-Zugriff nur unter Windows funktioniert. Da OWFS ursprünglich für Linux geschrieben wurde, ist OWFS optimal unter Linux und Mac OS verwendbar. (Es ist auch möglich OWFS, für Windows zu übersetzen, das ist aber aufwändiger, als die offizielle OWAPI zu verwenden.)
In unserem Fall muss das OWFS für MAC übersetzt und installiert werden:
$ tar xzf owfs-2.7p22.tar.gz
$cd owfs-2.7p22
Dies geschieht über das Kommando <i>configure</i>. Es muss auf zeroconf (<i> –disable-zero</i> und tcl <i>–disable-owtcl</i> verzichtet werden, da beides zu Fehlern führt. $ ./configure –with-libusb-config=/opt/local/bin/libusb-config –with-tcl=/usr/lib/ –disable-zero –disable-owtcl Ich wollte das Paket in ein Verzeichnis des Benutzers „user“ installieren. Dies kann über die Parameter <i>–prefix</i>, <i>–exec-prefix</i> und <i>–datarootdir</i> erreicht werden: $ ./configure –prefix=/Users/user/local/ –exec-prefix=/Users/user/local/ –datarootdir=/Users/user/local/ \
$ make
Hier benötigt man Adminrechte. $ sudo make install
Anmerkung: Der Pfad <i>/Users/user/local/</i> muss evtl. angepasst werden, je nach dem wohin OWFS installiert wurde.
$ /Users/user/local/bin/owserver -u -p 3000 –error_level=5 –foreground
$ /Users/user/local/bin/owdir -s 3000
Mash It ist ein Java-Anwendung und kann unter http://www.dunkelbrauer.de/Software/Index.html heruntergeladen werden. Nach entpacken des Zip-Archivs kann diese einfach über Doppelklick auf die Datei <i>MashItNG.jar</i> gestartet werden. Vor der ersten Nutzung muss die Hardware konfiguriert werden. Leider ist Mash It 1.0.2 nicht automatisch auf das genutzte I/O-Board eingerichtet. Bei Fragen einfach eine PM an das Forenmitglied psycho senden.
Anmerkung von DunkelBrauer: Unter Mash-It-v1.0.2 muss in dem hier beschriebenen Szenario ein gepatchter OWFS-Treiber verwendet werden; Diesen gibt es bei psycho oder DunkelBrauer. Ab der nächsten Mash-It-Version wird dieser Patch nicht mehr notwendig sein.
Jedes 1-wire-Element (Sensoren, Relais etc.) hat eine eigene - weltweit eindeutige - ID, mit der es am 1-wire-bus angesprochen wird. Jedes Hobbyboard und jeder Sensor hat eigene Ids, daher können diese nicht vordefiniert werden. Beim hier verwendeten OWFS (One-Wire-File-System) sind die Komponenten über Pfade ansprechbar, die auch die Id enthalten. Daher muss man in Mash-It erst die richtigen Ids der angeschlossenen Komponenten einstellen.
Als erstes muss man also die richtigen Ids der Komponenten herausfinden. Dies kann man z.B. mit dem Kommandozeilen-Programm owdir (in OWFS enthalten) machen. (Aufruf siehe oben).
Dann muss Mash-It konfiguriert werden. Erst wählt man im Rezeptplaner im Menü „Tools“ die Option „Hardware konfigurieren“. Dort wählt man das OWFS-Interface aus und klickt auf „Diese Hardware konfigurieren“. Im anschließenden Menü muss zunächst unter „owserver“ der Server-Port (meist einfach die lokale Portnummer, in unserem Fall z.B. „3000“) eingegeben werden. Damit weis das Programm, unter welchem Port der owserver (OWFS-Server-Dienst) erreichbar ist. In den anderen Feldern müssen die OWFS-Ids des Sensors und der Relais eingegeben werden.
Jetzt alle Konfig-Dialoge mit Okay beenden (wichtig, sonst werden die Änderungen nicht übernommen) und am besten einen Test mit angeschlossener Hardware und der „Manuellen Hardware-Steuerung“ (im Mash-It-Menü „Tools“) vornehmen. Wenn jetzt Fehlermeldungen hochkommen, hat das in der Regel einen der folgenden Gründe: