23.4.2018
Karolina psala o městečku, které jsme vyrobili pro přednášku o BeagleBone Black na akci Tkalci na Webu. Její zmínka byla velmi stručná, celý projekt si zaslouží více pozornosti.
http://weblight-demo.hobrasoft.cz
S městečkem si můžete hrát dle libosti. Nemusíte mít strach, že byste něco rozbili. Když to rozbijete, zase vše dáme dohromady.
BeagleBone považuji za skvělou alternativu k jednočipovým mikroprocesorům. Jednočipy jsou obvykle velmi zaměřené na obsluhu různého připojeného hardware. S většinou jednočipů je možné komunikovat po různých sběrnicích (SPI, I²C, UART), řídit motory či LED světla (PWM), měřit čas (timery), nebo jen cvakat relátkama (GPIO). Podobné vlastnosti má i BeagleBone, množství využitelných periférií je však ve srovnání s jednočipy větší. Podobné je i srovnání s ostatními počítači v kategorii jednodeskových počítačů (Raspberry), i zde BeagleBone s přehledem vede. BeagleBone přitom používá celkem normální Linux a tato kombinace z něj dělá přijatelnou hardwarovou platformu pro softwarové vývojáře.
Z periférií mě zaujalo řízení pomocí PWM (Pulse Width Modulation). O co jde: pokud rozsvítíme LED napořád, bude LED svítit na 100%. Pokud budeme s diodou blikat tak, že vteřinu bude dioda svítit a druhou vteřinu bude tma, bude LED svítit na 50%, velmi rychle nás však rozbolí hlava. Blikání se však dá natolik zrychlit, že si žádného blikání vůbec nevšimneme. Minimální frekvence blikání, kterou již lidské oko nemá šanci postřehnout, je v řádu kHz. Takovou frekvenci už nelze obvykle vytvářet softwarově. Proto mají mikroprocesory na palubě PWM zařízení, kterému stačí říci, jak často a jak moc má blikat. BeagleBone má takových zařízení k dispozici osm.
Pro první experimenty jsem vzal do ruky osvědčené kovářské náčiní a vysvobodil ze staré počítačové desky spínací MOSFET tranzistor. Ten jsem připájel na primitivně vyrobenou desku, připojil výkonnou LED a ono to svítilo:
V druhém kroku jsem nechal vyrobit desku, která využívá všech osm PWM kanálů v BeagleBone a umožňuje připojit i čtrnáct tlačítek a teploměry DS18B20. Nedávno jsem připojil i čidlo atmosférického tlaku. Většinou řídíme deskou LED pásky, nebo výkonové LED:
Celé řízení máme zapojené v rozvaděči a pečlivě zavřené v teráriu pro hadice:
Pro zájemce mám jednu desku momentálně k dispozici (duben 2018) a poměrně rychle můžu nechat osadit dalších sedm.
Software pro ovládání osvětlení je napsaný v C++ a Qt jako webová aplikace. Drobné části máme vytvořené i v QML pro desktopové prostředí KDE 5 (konkrétně jde o ovládání světla nad pracovním stolem a zobrazení informace o teplotě).
Software je dostupný přes náš git repozitář pod licencí LGPL: