2.3.2014
Ještě než začal svět ve velkém blbnout s Raspberry PI, začal jsem si hrát s BeagleBone. BeagleBone je malý ARM počítač podobný Raspberry PI, hlavní rozdíl bych viděl v možnostech rozšiřování - BeagleBone je konstrukčně řešený tak, aby se k němu daly snadno připojovat rozšiřující desky. Ve firmě jsme na BeagleBone postavili malý počítač pro sběr dat: FotobotHW. Protože nám nějaké BeagleBone zbyly, začal jsem si trochu hrát.
Ze šuplíku jsem vytáhnul teploměr DS1820 - to je digiální třínožičkový teploměr. Driver je obsažený přímo v kernelu, neměl by tedy být problém teploměr připojit. I když je to snadné, trvalo mi připojení dost dlouhou dobu - nejobtížnější částí bylo získat potřebné informace. Takže jak na to:
Driver je přímo součástí jádra. V Beaglebonu nepoužívám originální jádro (není zde podpora pro IPv6), překládám si jádro vlastní (ke stažení zde: http://hobrasoft.cz/cs/fotobothw/linux-3.2.34.tar.bz2). Zde je driver součástí defaultní konfigurace. Pátráním ve zdrojácích jsem nakonec našel příslušné vývody - a taky to, že tato informace se vypisuje při bootu kernelu. Vypsat si ji můžeme třeba takto:
dmesg | grep w1 [ 0.463470] BeagleBone cape: initializing w1-gpio [ 0.463592] w1-gpio connected to P8_6
Abychom rozluštili zkratku P8_6, potřebujeme manuál k BeagleBone. Jde o vývod č. 6 na konektoru P8. Na tento vývod tedy přijde připojit datový vodič sběrnice.
Pro připojení teploměru potřebujeme ideálně tři vodiče - zem, data a napájení. Zem najdeme na vývodu P8_1 a P8_2, napájení pak na P9_3.
Po připojení teploměru už by měl být teploměr kernelem viděn. Ověřit to můžeme v adresáři /sys/bus/w1/devices:
ls /sys/bus/w1/devices/ 28-0000027d912e 28-00000294d39a w1_bus_master1
Super! Kernel našel na sběrnici dva teploměry. Jaká je tedy teplota?
cat /sys/bus/w1/devices/28-0000027d912e/w1_slave 6f 01 4b 46 7f ff 01 10 67 : crc=67 YES 6f 01 4b 46 7f ff 01 10 67 t=22937
Teplota je vypsaná parametrem t. Desetinná tečka není uvedená. Hodnota 22937 odpovídá teplotě 22.937 stupňů Celsia.
Nyní už je snadné se pochlubit teplotou ve své kanceláři (pouze přes IPv6):
Stránky jsou pouze statické, generované každých 15 vteřin. Obrázky, CSS a vše ostatní se tahá odjinud.
Po napsání článku jsem připojil ještě šuplíkový LCD displej. Prodrátování na fotkách není vidět.