Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
Pod pojmem jednočipový mikropočítač se obvykle rozumí součástka (integrovaný obvod, brouk), která obsahuje téměř všechny obvody nutné pro samostatný běh interního programu. Jednočipový mikropočítač tedy obsahuje procesor, paměť a vstupně-výstupní obvody. Jednočipových mikropočítačů je na trhu celá škála. Liší se zejména taktovací frekvencí, architekturou, velikostí paměti RAM, velikostí paměti FLASH (pro uložení kódu programu), velikostí paměti EEPROM (nemusí být vůbec žádná), vybavením různými periferiemi (čítače, časovače, AD převodníky, komparátory, sériový port, atd.), spotřebou proudu a dalšími parametry.
Smysl jednočipových mikropočítačů spočívá v ovládání jednoduchých věcí, uživatelský interface představuje nejčastěji zkratování nožiček či rozsvícení LEDky, takže jejich parametry mohou být nesrovnatelně horší než u stolních počítačů. Ale neopovrhujte jimi - jejich výhodami jsou nízká cena, jednoduchost a nízká spotřeba.
Jednočipové mikropočítače vyrábí mnoho firem, z nichž nejznámnější (nikoliv jediné) jsou čipy Atmel a PIC. Vyznavači jednotlivých firem mezi sebou neustále vedou nekonečné hádky, které jednočipy jsou lepší, které se lépe programují, které lépe chutnají či hoří a vůbec. Doufám, že nikoho neurazím, když se v tomto článku budu věnovat čipům firmy Atmel.
I od firmy Atmel pochází mnoho typů obvodů, jejichž zevrubný popis by byl velmi zdlouhavý. Soustředím se pouze na to, s čím mám praktické zkušenosti, a to jsou obvody
Obvod AT89C2051 lze zakoupit za necelých 50 Kč a dostanete za to procesor s CISC architekturou pracující až do frekvence 24 MHZ, 2KB FLASH (tam se zapisuje kód programu), 128 bytů RAM, sériový port, 15 vstupně-výstupních pinů a dva šestnáctibitové čítače/časovače. Zpracování jedné instrukce trvá nejméně šest hodinových tiků.
Obvod AT90S2313 stojí trochu víc, asi 70 Kč a procesor pracuje do 10 MHz. Patří do řady, kterou výrobce označuje jako AVR. Je to architektura RISC a zpracování instrukce trvá většinou pouze jeden tik, takže procesor je ve výsledku výrazně rychlejší, než dříve zmíněný AT89C2051. Čip dále obsahuje 2KB FLASH, 128 bytů EEPROM, 128 bytů RAM, a jeden osmibitový a jeden šestnáctibitový čítač/časovač. V počtu IO pinů, RS 232 rozhraní (sériový port) a komparátoru se čipy neliší. Za tu dvacku navíc však získáte obrovskou, opakuji OBROVSKOU výhodu - pro přeprogramování čipu nepotřebujete žádný zvláštní obvod (programátor), a navíc jej můžete přeprogramovat přímo za běhu. Nemusíte jej kvůli změně programu ani vytahovat z patice.
Pro oba čipy platí, že jestliže pouze připojíte napájecí zdroj, nebude se navenek vůbec nic dít, protože nejsou připojeny žádné výstupní periferie. Ba dokonce se nebude nic dít ani uvnitř, a to z toho důvodu, že čip neobsahuje žádný zdroj hodin (clock), taktů čili tiků, takže neprovádí instrukce. Nicméně pro hodiny má vyveden vstup - XTAL1 (pin č.5). Uzemníte-li drátkem tento vstup a pak ho naopak připojíte na +5V a pak ho zase uzemníte a tak pořád dokola, začnou se líně vykonavát instrukce. To je sice postup možný, ale velmi nepraktický, proto je vhodnější tuto práci svěřit krystalu. Krystal se připojuje na vývody XTAL1 a XTAL2 a každý vývod se ještě přes kondenzátor o kapacitě cca 30pF spojí se zemí. Schéma tedy vypadá následovně:

Krystal můžete připojit jakýkoli až do maximální frekvence, kterou zvládá čip. Pro čip AT90S2313 vřele doporučuji použít krystal o frekvenci 9.216 MHz, protože tuto frekvenci lze celočíselně vydělit tak, že dostanete pro sériový port některou ze standardních přenosových rychlostí. Ale o sériovém portu až příště. Ještě jedna poznámka ke krystalu - připlaťte si desetikačku a kupte si přesnější variantu. Vyplatí se to, až třeba budete programovat hodiny reálného času.
Takže teď už program v jednočipu běží. Jaký program? Ten, co tam zrovna je. Cílem tohoto článku je ukázat způsob, jak právě váš program nasypat do jednočipu.
Zdroják pro program se píše na klasickém počítači, tam se i kompiluje a binárka se poté přelije do jednočipu.
Výsledkem kompilace je buď přimo binárka nebo soubor ve formátu Intel HEX. Intel HEX je v podstatě taky zápis binárky, ale pomocí ASCII hexadecimálně zapsaných hodnot a ještě čehosi, ale zkrátka je to textový soubor. Smysl jeho existence jsem nepochopil, ale tento formát už v oblasti jednočipů patří ke koloritu. Naštěstí je možné jej zkonvertovat do binárky pomocí programu makebin případně hex2bin.
Výslednou binárku je potřeba nějakým způsobem dostat do jednočipu. K programování obvodu AT89C2051 je potřeba za několik set až tisíc korun zakoupit tzv. programátor. Při každé změně kódu je nutné vytáhnout čip, zasunout do patice programátoru, nalít nový program, a opět čip přemístit zpátky. Komunikační protokol pro ovládání daného typu programátoru navíc bývá proprietární záležitost.
Anebo si kupte AT90S2313, který je o chlup dražší, ale je s ním podstatně veselejší práce. Ještě poslední zmínku o řadě AT89 - abych jen nezatracoval - existuje ještě AT89C4051, který má dvakrát tolik paměti pro program (4KB) a stojí asi 60 Kč. V dalším popisu se budu věnovat pouze AT90S2313.
Teď přijde na řadu "programátor". Využijeme zde paralelního portu, jehož piny připojte na piny jednočipu podle této tabulky:
| piny jednočipu | piny paralelního portu |
|---|---|
| SCK (19) | Strobe (1) |
| MISO (18) | Busy (11) |
| MOSI (17) | D0 (2) |
| Reset (1) | Init (16) |
| GND (10) | GND (18) |
V závorce je uvedeno číslo pinu. K přeprogramování tedy potřebujete pět drátků a konektor (samec) do paralelního portu. K čipu musí být připojeno napájení a krystal (přes ty dva cca 30pF kondenzátory, jak je popsáno výše). Takže celkové schéma bude vypadat následovně:
Krása hotového obvodu vás jistě donutí k slzám:

Budete tedy potřebovat následující součástky:
V seznamu součástek jsem zmínil nepájivé kontaktní pole, které se může zdát zbytečné, ale rozhodně si ho za nekřesťanských 150 Kč kupte. Připravte se na to, že v obvodu budete každou chvíli provádět nějakou změnu a neustálé pájení drátků by vás brzy dokonale znechutilo. Jestliže nemáte napájecí zdroj 3-5 V, kupte si obvod LM78L05 (což je napěťový stabilizátor na 5 V) a vykšeftujte ve vietnamské tržnici libovolný adaptér, k němu si kupte konektor coby protikus, hasící přístroj a zapojte takto:

Pro jistotu uvádím rozmístění vývodů u obvodu LM78L05:

Na nepájivém kontaktním poli to může vyhlížet třeba takhle (omlouvám se, na fotce je omylem trochu jiný kondenzátor):

Až se vám vše podaří pospojovat dohromady, podívejte se na stránku projektu AVR Cross Development Kit, který se zabývá programováním jednočipů AVR a stáhněte si a nainstalujte alespoň tyto balíčky:
Dále zkuste napsat
uisp -dlpt=/dev/parport0 -dprog=dapa -v=4
|
a jednočip by se měl takto nadetekovat:
Reset inactive time (t_reset) 1000 us
|
Pokud místo toho dostanete hlášku
Reset inactive time (t_reset) 1000 us
|
něco je špatně se zapojením. Toho Segmentation fault si
nevšímejte. Jestliže příkaz vyplivne nějakou jinou chybu,
zkotrolujte práva na /dev/parport0 a také to, jestli máte
k dispozici moduly pro paralelní port:
Pokud se obvod způsobně ohlásí, máte protentokrát vyhráno. Příkazem
uisp -dlpt=/dev/parport0 -dprog=dapa --erase
|
můžete kód v čipu smazat. Smazání čipu znamená nastavení všech bitů na jedničku. O tom, že jsou v čipu samé jedničky, se lze přesvědčit takto:
uisp -dlpt=/dev/parport0 -dprog=dapa --download
|
Příkaz by měl vypsat obsah paměti čipu na standardní výstup. Je to bohužel v Intel HEX formátu. Uvidíte, že každý řádek má jakousi hlavičku, po které následují data, a na konci každého řádku je zase cosi. Popis formátu je uveden například zde, kdyby to snad někoho zajímalo. Z výpisu lze však vytušit, že čip je opravdu prázdný a obsahuje samé FF.
Prozatím nebyl výsledek snažení nijak závratný, ale příště bude řeč o vytvoření fungujícího kódu. Jestli to myslíte s programováním jednočipů vážně a zrovna se chystáte do obchodu na nákup součástek, připište si do seznamu ještě
Běžte si to všechno koupit a možná se příště dozvíte, co s tím 
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Jestli si najdu čas a redakce bude mít zájem, napíšu článek, jak je to uděláno.
Ti muzu slibit, ze vylovim vsechny zdrojaky co k tomu kde mam a na prani Ti je muzu poslat. Ale jinak to cele povazuju za desnej bastl s vypovidaci hodnotou "fouka vic/min" (ale je to pochopitelnet pouze vec mechaniky a kalibrace) na kterou by postacil i listnaty strom pred barakem (ten pochopitelne nebezi na Linuxu ani na nicem od Atmelu
). Na podileni na vasem projektu (uz kdysi sem se pokousel neco takoveho rozhybat) mi ted uz bohuzel chybi ta prvni vec co zminujes
... Ale co neni muze byt...
Zdenek
Grrrr.
Článek o spolupráci mikrokontrolerů s Linuxem nemůže zároveň vysvětlovat, k čemu je v obvodu dioda, kondenzátor a tranzistor. Určité znalosti a minimální zkušenosti jsou IMHO nutným předpokladem.