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.
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í.
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.
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.
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ů.
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.
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, …
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.
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.
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?
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).
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.
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:
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
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
Tiskni
Sdílej: