In letzter Zeit wurde in den Medien vermehrt über den 1-wire Bus berichtet. Er bietet Kabellängen von bis zu 800 Metern und es gibt günstige Sensoren, die über den Bus mit Strom versorgt werden. Darüber hinaus kann man die Sensoren sowohl sternförmig als auch in einer Reihe anschließen. Höchste Zeit also, um mir den Bus mal näher anzusehen. Also beschloss ich mit meiner Tochter eine Wetterstation auf Basis des 1-wire Bus zu bauen. In der ersten Ausbaustufe haben wir uns dabei auf Temperatur- und Feuchtigkeitssensoren beschränkt. In der zweiten Ausbaustufe sollen dann weitere Sensoren folgen.
Als Hardwareplattform haben wir eine AMD Geode LX CPU und ein ALIX-Board verwendet, da uns der geringe Stromverbrauch und Preis überzeugten. Die Hardware hat insgesamt 249,69- € gekostet und der Stromverbrauch liegt bei unter 5 Watt.
Lieferant | Hersteller/Model | Preis |
---|---|---|
Amazon | Mainboard ALIX.1D, Bundle (Board, Netzteil, CF, Gehäuse) | 113,58- € |
www.fuchs-shop.com | 1-Wire Verteiler 8-fach | 17,90- € |
www.fuchs-shop.com | LinkUSB | 27,90- € |
www.fuchs-shop.com | MS-TH | 51,90- € |
www.fuchs-shop.com | Patchkabel 10m | 2,00- € |
Als Softwareplattform haben wir ein Ubuntu Linux 10.04 Server verwendet, welches wir „minimal“ als „LAMP-Server“ (Linux, Apache, MySQL und PHP) installiert haben. Weitere Informationen über ALIX und Ubuntu findet man auf den Webseiten http://wiki.ubuntuusers.de/Alix und https://help.ubuntu.com/community/1wireSoftware.
Installation von Ubuntu
Zunächst haben wir Ubuntu 10.04 Server wie auf der Webseite http://wiki.ubuntuusers.de/Alix beschrieben installiert. Nach der „minimalen“ Installation mussten noch einige Softwarepakete nachinstalliert werden.
sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install libtool sudo apt-get install libfuse-dev sudo apt-get install libusb-dev sudo apt-get install libusb++-dev sudo apt-get install swig sudo apt-get install php5 sudo apt-get install php5-dev sudo apt-get install python-dev sudo apt-get install libperl-dev sudo apt-get install tcl-dev
Danach haben wir die neuste Version des OWFS von der Webseite http://sourceforge.net/projects/owfs/files/ herunter geladen und kompiliert (man könnte natürlich auch ein Paket bauen). Dazu haben wir einfach das Archiv das wir herunter geladen haben entpackt und sind in das Verzeichnis owfs gewechselt. Danach braucht man nur die folgen befehle anwenden.
./bootstrap ./configure make sudo make install modprobe fuse
Danach haben wir die Sensoren angeschlossen, ein Verzeichnis angelegt und das owfs gemountet.
mkdir /var/1wire /opt/owfs/bin/owfs --link=/dev/ttyUSB0 -p 4304 /var/1wire
Danach sind die Sensoren einsatzbereit. In dem Verzeichnis /var/1wire
findet man jetzt für jeden Sensor ein Unterverzeichnis das die ID-Nummer des Sensors als Namen trägt. Das könnte z.B. 26.7ECCCF000000
sein. In diesem Verzeichnis findet man wiederum die einzelnen Daten des Sensors. Bei einem Temperatursensor findet man die Temperatur dann z.B. in der Datei /var/1wire/26.7ECCCF000000/temperature
.
Fortsetzung im Artikel 1-wire Wetterstation (Teil 2: Datenbank).
Schreibe einen Kommentar