Oto zdjęcie zabawki pierwszej, którą jest zestaw startowy iButton kit. Jeden z adapterów dla technologii iButton tzw. pastylka
Using the 1-Wire® Public Domain Kit
protokół 1-wire wg wikipedii
, czyli w zasadniczym mniemaniu elektronicznym miernikiem/rejestratorem temperatury. Ten starter Kit zawiera są są to następujące układy:
- DS2502/DS1982 1Kbit Add only memory - interfejs łączący port RS-232 z 1-wire dla iButton z dostępnym 1kB pamięci do wykorzystania
- DS1921/H/Z Thermochron iButton - cyfrowy rejestrator temperatury z programowanymi alarmami w zakresie 0 do +45 stopni C (+/- 1 stopien C)
Przykład wywołania digitemp:
$ sudo digitemp_DS9097U -w -s /dev/ttyS0
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Turning off all DS2409 Couplers
..
Devices on the Main LAN
2103410000C034C4 : DS1921/H/Z Thermochron iButton
091AAD62010000BB : DS2502/DS1982 1Kbit Add only memory
Nieco skromniejszy - zrobiony w ok. 15 minut - czujnik temperatury oparty na kostce DS18S20 - umożliwiającej pomiar temperatury w zakresie od -55 do + 125 stopni C. Realizacja ogólnie znana
Przykład wywołania digitemp z banalnym "na kolanie" robionym interfejsem:
$ digitemp_DS9097 -w -s /dev/ttyS0
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Turning off all DS2409 Couplers
.
Devices on the Main LAN
28579B3C00000028 : DS18B20 Temperature Sensor
Linki do API oraz oprogramowanie do komunikacji z czujnikami 1-wire (iButton)
http://www.maxim-ic.com/products/ibutton/solutions/search.cfm?Action=DD&id=207
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=428
http://www.maxim-ic.com/products/ibutton/solutions/company.cfm?id=181
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=373
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=389
w tym powalające projekty OpenSource:
http://sourceforge.net/projects/owfs/
One Wire Temperature Finder (bohaterski kod od googla używany w opisie)
http://sourceforge.net/dbimage.php?id=71236
http://owfs.sourceforge.net/faq.html
http://owfs.sourceforge.net/owpython.html
http://www.pyzine.com/Issue007/Section_Articles/article_MobileDataCollection.html
http://owfs.sourceforge.net/install.html
http://www.jjoseph.org/misc_projects/1-wire_sensors.html
http://www.kaboodle.com/jon_p/1-wire-electricity-consumption-measuerment.html
http://stackoverflow.com/questions/113185/how-do-i-use-owfs-to-read-an-ibutton-temperature-logger
http://www.jjoseph.org/index.php?option=com_staticxt&staticfile=/machine24.html
http://www.ourcoolhouse.com/monitor/monitor.htm
http://stackoverflow.com/questions/113185/how-do-i-use-owfs-to-read-an-ibutton-temperature-logger
http://www.jjoseph.org/index.php?option=com_staticxt&staticfile=/machine24.html
Python bindings and wrappers for accessing iButton devices on a 1-wire net
Java client for DS1923 iButton with server written in PHP for storage and visualization of data
http://sourceforge.net/dbimage.php?id=60310
www.capgo.com/Resources/SoftwareDev/omap-owire.pdf
http://oww.sourceforge.net/hardware.html
http://www.codeproject.com/KB/cpp/ibuttoninterface.aspx
http://www.audon.co.uk/1wire_humidity.html
http://www.maxim-ic.com/products/1-wire/software/
http://www.mrsoft.fi/ohj01en.htm
http://www.digitemp.com/
http://www.digitemp.com/images/screenshots/walk1wire.png
http://www.digitemp.com/images/screenshots/init1wire.png
http://elektroniikka.org/thermometer/?page=adapter
http://www.maxim-ic.com/products/ibutton/software/1wire/images/screenshot.gif
http://www.maxim-ic.com/quick_view2.cfm?go=part_number_search&ss=DS1921
Stacja pogodowa
Objaśnienie działania OWFS
Jest tego na prawdę sporo jak na okres ok. 10-letniego istnienia technologii iButton.
OWFS - najpopularniejsze rozwiązanie obsługi magistrali 1-wire
Uruchomienie serwera w trybie DEBUG:
sudo /opt/owfs/bin/owserver -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2 --error_level 9
Uruchomienie serwera w trybie normalnym z logowaniem błędów:
sudo /opt/owfs/bin/owserver -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2
Uruchomienie prostego klienta w języku Python, który wyświetli temperaturę z czujnika w stopniach Celsjusza:
#! /usr/bin/env python
import sys
import ownet
if len(sys.argv) != 3:
print 'temperatures.py server port'
sys.exit(1)
r = ownet.Sensor('/', server=sys.argv[1], port=int(sys.argv[2]))
e = r.entryList()
s = r.sensorList()
print 'r:', r
print 'r.entryList():', e
print 'r.sensorList():', s
for x in r.sensors():
if hasattr(x, 'temperature'):
print x, x.temperature
$ python temperatures.py 127.0.0.1 40141
Dla tych, którzy wolą www istnieje możliwość postawienia serwera www komendą:
/opt/owfs/bin/owhttpd -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2
Wówczas w przeglądarce wpisujemy http://127.0.0.1:40141/ i widzimy:
Dla chcących rozszerzyć wiedzę polecam ten projekt thermd
Brak komentarzy:
Prześlij komentarz