abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 12:22 | Pozvánky

Konference DevConf.CZ 2020, již dvanáctý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne v Brně na FIT VUT od 24. do 26. ledna 2020. Zveřejněn byl program konference a spuštěna byla povinná a bezplatná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:55 | Zajímavý článek

Příspěvek Prozkoumejte Česko na Wikidatech: druhý díl zajímavých Wikidata Queries na blogu Wikimedie Česká republika je volným pokračováním příspěvku Prozkoumejte Česko na Wikidatech: 10 nejlepších Queries datového žurnalisty z července 2017. Tentokrát jsou díky Wikidatům a SPARQL zobrazeny Železniční tratě v Česku, Díly pořadu Gebrian VS na mapě nebo Citace vědeckých článků – srovnání českých univerzit, na níž publikující autoři působí.

Ladislav Hagara | Komentářů: 0
včera 19:44 | Komunita

Ovlivnit Ubuntu 20.04 LTS lze vyplněním dotazníku. Více v příspěvku na blogu Ubuntu.

Ladislav Hagara | Komentářů: 0
včera 12:33 | Zajímavý článek

Na stránkách české komunity Fedory vyšel zajímavý článek o tom, jak se generují flatpakové balíčky z již existujících balíčků RPM.

KOLEGA | Komentářů: 7
včera 12:22 | Zajímavý článek

Donald Ervin Knuth, přední informatik a emeritní profesor na Stanfordově univerzitě, rozšířil svou mnohasvazkovou odbornou monografii The Art of Computer Programming (TAOCP), v českém překladu Umění programování, o Volume 4, Fascicle 5. Donald Knuth svou novou knihu představil ve své přednášce Pi and The Art of Computer Programming.

Ladislav Hagara | Komentářů: 32
8.12. 11:44 | Zajímavý článek

Arsenij Zinčenko v zápisku sdílí technické poznámky o tom, co je to „klíčenka“ (keyring) v Linuxu a v desktopovém prostředí, jak to souvisí se Secret Service a D-Bus, včetně příkladů. Význam těchto služeb spočívá v uložení a následném poskytování autentizačních údajů.

Fluttershy, yay! | Komentářů: 0
7.12. 01:44 | Nová verze

V únoru 2014 bylo hlasováním rozhodnuto, že výchozím init systémem v Debianu je systemd. V listopadu stejného roku bylo hlasováním rozhodnuto, že o podpoře dalších init systémů v Debianu není celoprojektové hlasování nutné. Po pěti letech už ale hlasování o init systémech a systemd nutné je. Vybírá se z 8 možností. Výsledek hlasování bude zveřejněn po 27. prosinci.

Ladislav Hagara | Komentářů: 22
7.12. 00:11 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot, se rozhodl, že svůj komiks vydá také knižně a ve vlastní režii. Komiks již knižně vyšel ve francouzštině ve vydavatelství Glénat. David Revoy jej vydá v angličtině a použije pouze svobodný software. O své zkušenosti se dělí ve dvou příspěvcích na svém blogu. Z plánovaných dvou týdnů práce se staly dva měsíce. Vydání před Vánocemi se nestihne. Kontrolní výtisk má příliš jasné barvy, obrázky v knihách od Glénatu vypadají mnohem lépe, …

Ladislav Hagara | Komentářů: 1
6.12. 20:44 | IT novinky

Mezinárodní konsorcium W3C (World Wide Web Consortium) vydalo verzi 1.0 základní specifikace WebAssembly a po HTML, CSS a JavaScriptu prohlásilo WebAssembly za čtvrtý oficiální jazyk pro web.

Ladislav Hagara | Komentářů: 26
6.12. 13:33 | Komunita

Hlasování o obrázku v okně O Inkscapu 1.0 pokračuje druhým kolem. Ze 124 obrázků postoupilo do finálního hlasování 5 s nejvíce hlasy. Výsledek hlasování bude zveřejněn po jeho ukončení, tj. po 15. prosinci.

Ladislav Hagara | Komentářů: 8
Jaké hodinky nosíte (nejčastěji)?
 (23%)
 (5%)
 (17%)
 (54%)
Celkem 531 hlasů
 Komentářů: 135, poslední 6.12. 20:54
Rozcestník

Připojení teploměru DS1820 k Beaglebone Black

9.12.2014 06:57 | Přečteno: 1818× | Počítače | Výběrový blog | poslední úprava: 9.12.2014 06:56

Beaglebone Black se od původní desky liší. Jak připojit teploměr v novém systému?

Je to s podivem, ale občas někdo zaznamenal, že teploměr, který mám připojený v kanceláři přes Beaglebone na web, přestal fungovat (přečtete si: Busybox v roli http serveru). Do věčných lovišť odešla SD karta (utilitky spojené s teploměrem byly samozřejmě bez záloh), potom jsem potřeboval Beaglebone jinde. Nedávno jsem koupil několik dalších desek BeagleBone, takže se teploměr mohl vrátit na své místo. Oživit utility potřebné pro fungování teploměru bylo podle návodu, který jsem psal dříve, docela jednoduché.

Nově zakoupené desky Beaglebone se od staré desky liší. Původně jsem pracoval s deskami Beaglebone (dnes označované jako Beaglebone White), dnes pracuji s deskami Beaglebone Black. Jaký je mezi nimi rozdíl?

Beaglebone White

Distribuce Angstrom v původním Beaglebone White mi byla naprosto k ničemu - kernel nebyl přeložený s podporou IPv6. Musel jsem si tedy překládat kernel vlastní. Kernel se musel upravovat a překládat i pro připojení vlastních rozšiřujících desek. Na disku se mi tedy válí upravené zdrojáky kernelu přesně na míru mojí aplikaci. Stejně jako jsem překládal kernel, potřeboval jsem pro Beaglebone překládat i celý systém - měl jsem zde nainstalovanou distribuci Gentoo (ani se neptejte, jak se překládají balíky jako glibc).

Jako kritické místo Beaglebone White se mi jeví SD karta. Karty mají silnou tendenci umírat jak na běžícím pásu, aplikace je nutné běhu na SD kartě přizpůsobit (přečtěte si článek Jak nakonfigurovat SD kartu pro embedded systém).

Beaglebone Black

Výrazně se Beaglebone Black liší v nainstalovaném software. Kernel už má nakonfigurovanou podporu IPv6 a zcela přepracovanou podporu pro rozšiřující desky. Kernel se tedy nemusí překládat ani kvůli podpoře IPv6, ani kvůli podpoře vlastních desek. Na vestavěném flash disku je nainstalovaná distribuce Debian - s tím už se dokážu vyrovnat.

Připojení teploměru

K desce Beaglebone Black se teploměr DS1820 připojuje jinak. Možná to není jednodušší, ale je to mnohem univerzálnější - mohu si zvolit libovolný neobsazený pin, nejsem natvrdo omezený na jeden konkrétní pin, jak tomu bylo u desky Beaglebone White.

Celý teploměr jsem si proto připájel na jeden konektor:

Soubor DTS - popis použitých pinů

Datový vývod je potřeba systému nějak představit. K tomu slouží soubory dtbo uložené v adresáři /lib/firmware. Soubory dtbo jsou už přeložené, určené pro kernel, ale je možné je snadno programem dtc přeložit zpět na tvar dts (zdrojový tvar). Soubory dts jsou na první pohled poněkud kryptické. Pokud potřebujete vytvořit nový dts soubor pro svou aplikaci, je nejvhodnější sáhnout po nějakém jiném dts souboru a ten upravit. Soubor 'DS1820-00A0.dts' pro můj teploměr vypadá takto:

/dts-v1/;
/plugin/;

/ {
    compatible = "ti,beaglebone", "ti,beaglebone-black";
    part-number = "DS1820";
    version = "00A0";

    exclusive-use = "P9.12";

    fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
             ds1820_pins: pinmux_ds1820_pins {
                 pinctrl-single,pins =  <0x78 0x37>;
             };
        };
    };

    fragment@1 {
        target = <&ocp>;
        __overlay__ {
            onewire@0 {
                status          = "okay";
                compatible      = "w1-gpio";
                pinctrl-names   = "default";
                pinctrl-0       = <&ds1820_pins>;
                gpios           = <&gpio2 28 0>;
            };
        };
    };
};

Soubor je potřeba přeložit:

dtc -O dtb -o /lib/firmware/DS1820-00A0.dtbo -b 0 -@ DS1820-00A0.dtc

Po přeložení se řekne správci rozšiřujících desek v kernelu, že má virtuální desku s teploměrem nastavit:

echo DS1820 > /sys/devices/bone_capemgr.*/slots

Je dobré se přesvědčit, že se deska skutečně načetla, vypsat si soubor /sys/devices/bone_capemgr.*/slots

cat /sys/devices/bone_capemgr.*/slots
 0: 54:PF--- 
 1: 55:PF--- 
 2: 56:PF--- 
 3: 57:PF--- 
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
 6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
 7: ff:P-O-L Override Board Name,00A0,Override Manuf,DS1820
 8: ff:P-O-L Override Board Name,00A0,Override Manuf,HOBRASOFT-4x232

Další informace můžete najít v souboru /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups

Pokud se nepodařilo nakonfigurovat desku (příkaz echo DS1820 hlásí chybu), může vám pomoci příkaz dmesg:

bone-capemgr bone_capemgr.9: part_number 'DS1820', version 'N/A'
bone-capemgr bone_capemgr.9: slot #7: generic override
bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
bone-capemgr bone_capemgr.9: slot #7: 'Override Board Name,00A0,Override Manuf,DS1820'
bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'DS1820-00A0.dtbo
bone-capemgr bone_capemgr.9: slot #7: Requesting firmware 'DS1820-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
bone-capemgr bone_capemgr.9: slot #7: dtbo 'DS1820-00A0.dtbo' loaded; converting to live tree
bone-capemgr bone_capemgr.9: slot #7: #2 overlays

Nalezení teploměru

Teploměr by měl být přístupný v adresáři /sys/bus/w1/devices:

ls /sys/bus/w1/devices/
28-0000027d912e  w1_bus_master1

Upozorňuji, že teploměry se mi nedařilo nalézt, pokud byl Beaglebone napájený z USB. Je vhodné napájet desku z externího pětivoltového zdroje s proudovou zatížitelností alespoň 1 A.

Jakmile je teploměr viditelný, můžete si jeho hodnoty jednoduše vypsat:

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

Aby systém věděl o teploměru i po restartu, je nutné desku uvést do souboru /etc/default/capemgr:

# Default settings for capemgr. This file is sourced by /bin/sh from
# /etc/init.d/capemgr.sh

# Options to pass to capemgr
CAPE=DS1820

Užitečné odkazy

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Připojení teploměru DS1820 k Beaglebone Black, obrázek 1 Připojení teploměru DS1820 k Beaglebone Black, obrázek 2

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Petr Bravenec avatar 10.12.2014 10:39 Petr Bravenec | skóre: 43 | blog: Bravenec
Rozbalit Rozbalit vše Re: Připojení teploměru DS1820 k Beaglebone Black
Oprava: abyste našli připojený teploměr i při napájení z USB, je nutné připojit napájení DS1820 na SYS_5V (konektor P9.7 nebo P9.8), nikoliv na VDD_5V (P9.5 nebo P9.6).
Petr Bravenec - Hobrasoft s.r.o.
10.12.2014 11:02 Jan33
Rozbalit Rozbalit vše Re: Připojení teploměru DS1820 k Beaglebone Black
LOL, dostal jsi mě :-) Viděl jsem druhý obrázek a zíral jsem na něj jako na zjevení. Je nutné podotknout, že Beaglebone desky moc neznám. Jsem zvyklí spíš na jiné, které nemají konektory jako samičky, ale samce. V první chvíli jsem myslel, že máš teploměr připájený přímo k pinům desky. :-) Ale jinak dobrý ouvrinženýring. Pokračuj v psaní, budu sledovat.
Petr Bravenec avatar 10.12.2014 11:26 Petr Bravenec | skóre: 43 | blog: Bravenec
Rozbalit Rozbalit vše Re: Připojení teploměru DS1820 k Beaglebone Black
...teploměr připájený přímo k pinům desky...

Já když HW, tak WTF!

Petr Bravenec - Hobrasoft s.r.o.
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.