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 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Připojení teploměru DS1820 k Beaglebone Black

    9.12.2014 06:57 | Přečteno: 2022× | 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.