Vánoce s BigClown - První nastavení, zapnutí a popis některých modulů
- December 30 2017
- BigClown
- 3794x Přečteno
Byl jednou jeden červený kufřík a v něm vše, co jste si kdy přáli.
Pohádka?
Ne, kupa dárků pod stromeček od BigClown.
Tato série článků bude právě o BigClown. Co mě nadchlo, zarazilo a nebo s čím jsem bojoval a jak jsem to vyřešil.
Pustit se hned na začátku do vlastního projektu s využitím všech dostupných destiček, modulů, není nejlepší nápad a tak začneme od základů.
Další díly seriálu o BigClown:
Vánoce s BigClown - První nastavení, zapnutí a popis některých modulů
Vánoce s BigClown - teplota/vlhkost/osvětlení, programování přes UART, TAGy
Tento článek bude o prvotním nastavení, seznámení a popisu vybraných modulů BigClown. Využijeme operační systém Windows nebo Linux.
Na konci článku najdete i mé zamyšlení nad BigClown.
Základem každého vašeho zařízení bude tzv. Core modul. Tento modul se skládá z mikrokontroléru, vysílače/přijímače pro frekvenci 868MHz, hardwarového šifrovacího obvodu, čidla teploty, 3-osého akcelerometru, RGB LED diody, dvou tlačítek (reset a boot) a micro USB konektoru.
Mikrokontrolér STM32L083CZ:
STM32L083 patří do řady nízkoodběrových mikrokontrolérů od STMicroelectronics. Jádrem je 32 bitový ARM Cortex M0+.
Spotřeba mikrokontroléru v nejhlubším režimu spánku je pouhých 0.29uA a k probuzení obvodu mužete využít 3 „probouzecí“ vstupy (wakeup piny).
V běžném režimu je spotřeba 93uA/MHz.
Frekvence jádra je až 32MHz a výkon dosahuje až 0.95 DMIPS. Přijde vám to málo? Jak se to vezme. STM32L083 je čip určený do low-power aplikací, kde není potřeba vysoký výpočetní výkon.
BigClown je určený právě na tyto aplikace a k tomu je přizpůsoben i výběr součástek.
Vraťme se k mikrontroléru, ten obsahuje klasické periférie – UART, I2C, SPI, DAC, ADC, čítače/časovače, AES, True random number generátor a hardwarovou jednotku pro výpočet CRC. Abych nezapomněl, L083 obsahuje USB rozhraní.
Velikost FLASH je 192 kB, velikost SRAM je 20 kB.
Vysílač/přijímač SPIRIT1:
Součástka pocházející opět od STMicroelectronics. Jedná se o (opět) nízkoodběrový komunikační modul pracující na frekvenci 868 MHz a rychlost komunikace je až 500 kb. SPIRIT1 poskytuje základní i pokročilé vlastnosti vysílače jako jsou automatické potvrzení přijetí, znovu odeslání dat, timeout protokol, kontrolu adresy, 128 bit AES koprocesor a také podporu diverzity antén,
Spotřeba v přijímacím režimu je 9mA, ve vysílacím pak 21 mA (při +11 dBm).
Šifrovací obvod ATSHA204A:
Tato součástka pochází z dílny firmy Microchip. Čip nabízí jednotku pro šifrování SHA-256, generátor náhodných čísel, 512 bit OTP pamět a spotřebu maximálně 0.5mA. V režimu spánku pouhých 150 nA.
Tlačítka BOOT a RESET:
Na desce jsou dvě tlačítka - RESET (označeno R) a BOOT (označeno B). Tyto tlačítka využijeme pro programování, respektive pro přepnutí mikrokontroléru STM32 do boot režimu.
Dalším a velmi zajímavým modulem je Climate modul.
Tento modul, stejně jako Core modul, obsahuje čidlo teploty TMP112 (Texas Instruments)
Nejhorší přesnost je ± 0.5 °C v rozsahu -40 °C to 125 °C.
Spotřeba je 7uA, 2uA v režimu spánku
Čidlem vlhkosti je SHT20 (Sensirion) dosahující přesnosti ± 2%.
Spotřeba v běžícím režimu je 10uA
MPL3115A2 (NXP) je čidlem pro měření atmosférického tlaku (20 kPa až 110 kPa). Spotřeba je 40uA, v režimu spánku pak 2uA.
Posledním čidlem je OPT3001 (Texas Instruments) – intenzita světla.
Rozsah je od 0.01 až 83,000 lux při spotřebě 1.8 uA, v režimu spánku pouhých 0.3 uA.
A v neposlední řadě tu máme modul nazvaný LCD modul
Dominantou této desky je velmi pěkný a kontrastní LCD značky Sharp s rozlišením 128x128 px o velikosti 1.28".
Na desce je i senzor gest APDS-9960 (Avago), který zahrnuje čidla přiblížení, pohybu a intenzity světla.
Nad LCD je šest miniaturních RGB LED a pod displejem dvě uživatelská tlačítka.
Spotřeba celé desky je pouhých 16uA.
Dostupných modulů je mnohem, mnohem více než jenom ty tři, co jsem zde popsal. Další si popíšeme v dalších článcích.
Jen namátkou, Sigfox modul, modul CO2 nebo Relé modul.
Dostáváme se k další, zábavnější, části. Máme doma Core Modul, počítač s operačním systémem Windows nebo Linux a chceme do něj konečně nahrát nějaký program.
Windows
Základem je tzv. BigClown Toolchain. Instalace pro Windows OS je velmi jednoduchá. Stačí stáhnout exe soubor z github a nainstalovat.
Odkaz na Toolchain je https://developers.bigclown.com/firmware/toolchain-setup.
Základem je tedy nainstalovat Toolchain a ovladače, který jsou v exe souboru. To proběhlo bez nejmenších problémů.
Na ploše se vám objeví ikonka programu. Po jejím spuštění se dostanete do příkazové řádky. Programování tedy probíhá skrze toto okno.
Nejdříve si aktualizujte SDK.
To provedete příkazem:
bcf update
Nyní vytvoříme projekt:
bcf create NazevVasehoProjektu
Ve vaší domovské složce naleznete složku NazevVasehoProjektu.
Jak vidíte na obrázku níže, do složky se nahrály všechny potřebné soubory a složky projektu.
Ve složce /app najdete soubory application.h a application.c, to jsou dva vaše soubory, které můžete editovat. Do složky můžete přidávat další soubory vašeho projektu, které se pak, jako celek, zkompilují.
Ve složce /sdk je kompletní nastavení projektu, potřebných souborů, knihoven a také vzorových kódů.
Níže je upravený vzorový program s rozsvícením LED, když je tlačítko zrovna zmáčknuto. Program můžete upravovat v jakémkoliv editoru.
Samotná kompilace projektu a nahrání je už jednoduché.
Připojíte se k složce projektu:
cd NazevVasehoProjektu
Kompilování projektu provedete příkazem:
make
Níže uvedený způsob nahrání programu do Core modulu je jenom jeden z možných (lepších) způsobů.
Pro nahrání programu do Core modulu BigClown je nutné dostat STM32 do boot režimu.
Takže, jestli znáte Maple Mini, tady je to stejné. Připojíte zařízení do USB a provedete následující kroky:
Zmáčknete tlačítko BOOT (označené jako B), zmáčknete RESET (označené jako R), pustíte RESET, tím se STM32 dostane do boot režimu a Windows vám tuto událost, připojení nového zařízení do USB, dá najevo klasickým zvukovým doprovodem "Tu dy". Poté pustíte tlačítko BOOT.
Windows vám pak zobrazí ikonu, při prvním zapojení, že se nainstaloval ovladač stm32dfu.
Pokud uslyšíte "Dy tu" (odpojení zařízení z USB), něco je špatně. Zkontrolujte USB kabel a znovu se dostaňte do boot režimu (zmáčknout BOOT, zmáčknout RESET, pustit RESET, pustit BOOT).
Pro nahrání programu pak napište příkaz:
bcf flash --dfu
Linux
Instalace BigClown Toolchain je v operačním systému založeném na Linuxu komplikovanější, nicméně jde jenom o kopírovní několika příkazů do termínálu. Třeba se někdy dočkáme i *.deb balíčku popřípadě jednoduchého scriptu, který provede níže uvedené příkazy automaticky :-)
Následujte krok po kroku tento návod: https://developers.bigclown.com/firmware/toolchain-setup (Setup on Ubuntu)
Při zadání tohoto příkazu
sudo pip3 install --upgrade --no-cache-dir bcf
vám může instalátor napsat, že je chyba v programu a nezná knihovnu setuptools.
Tu nainstalujete pomocí tohoto příkazu
sudo apt install python3-setuptools
Po úspěšné instalaci je to vše. Založení projektu je stejné jako ve verzi pro Windows.
Aktualizujete balíky - bcf update
Vytvoříte váš projekt - bcf create NazevVasehoProjektu
Ve vaší domovské složce naleznete složku NazevVasehoProjektu.
Jak vidíte na obrázku níže, do složky se nahrály všechny potřebné soubory a složky projektu.
Ve složce /app najdete soubory application.h a application.c, to jsou dva vaše soubory, které můžete editovat. Do složky můžete přidávat další soubory vašeho projektu, které se pak, jako celek, zkompilují.
Ve složce /sdk je kompletní nastavení projektu, potřebných souborů, knihoven a také vzorových kódů.
Zkompilujete projekt - make
a nahrajete. U nahrání programu je menší odlišnost od Windows verze.
Na obrázku níže využijeme příkaz dfu-util -l.
Tento program vyhledá dostupná zařízení.
V první části obrázku vidíte, že Core modul není v DFU módu (mód pro nahrání programu pomocí USB).
DFU mód: Zmáčknete RESET (R) a BOOT (B) tlačítko, pustíte RESET ale stále držíte BOOT, nakonec uvolníte i tlačítko BOOT.
V prostřední části obrázku vidíte, že utilita dfu-util našla jedno zařízení v DFU módu, ale nemůže se k němu připojit.
K příkazu přidejte zázračné slovo sudo a dfu-util vám zobrazí podrobnější informace o připojeném zařízení.
Nahrání programu mikrokontroléru pak provedete příkazem
sudo bcf flash --device dfu
Další informace o Toolchain se dozvíte na této stránce https://www.bigclown.com/doc/tutorials/toolchain-guide/
Máte to za sebou? Program funguje? Pak vám gratuluji :-)
Dovolte mi krátký proslov k myšlence, která vás jistě napadla při samotném začátku čtení: Proč bych si měl kupovat něco tak drahýho, když můžu mít Arduino desku a podobný senzory za pár kaček?
Porovnávat nějaký čínský klon Arduino a čidel na nějaké desce s projektem BigClown (nebo podobným projektem) je absolutně "mímo mísu".
Při porovnání se zapomíná na spoustu věcí, které výrobci klonů nemusí řešit.
1.) VÝVOJ - ten vývoj totiž udělal někdo jiný, ten původní vývojář. Srovnejte ceny oficiálních desek Arduino s jejich klony.
2.) NÁKLADY - myslete na to, že BigClown, ač má anglický název, je ryze český projekt a stojí za ním češi. Pokud i slováci, tak se jim omlouvám. Vývojáři, podpora, marketing nepracují za misku rýže.
3.) KVALITA - při pohledu na desky a součástky zjistíte, že to nejsou nějaké "šunty", kde funguje 9 z 10-ti desek/součástek. Součástky jsou vybrány s ohledem na spotřebu a zároveň to nejsou nějaké klony, kde dané parametry splňuje součástka pouze na papíru, katalogovém listu.
4.) POČET VÝROBKŮ - je rozdíl nechat si vyrobit 10 000 ks každého modulu nebo to sekat jak "Baťa cvičky" a vsázet na to, že se to nějak prodá, zvláště, když vám s financováním může pomoci "nějaká vláda".
5.) PODPORA - něco vám nefunguje? Máte tu podporu. Chcete se zeptat? Máte tu podporu. To je další věc, která vám usnadní a zrychlí vývoj vašeho projektu.
Osobně doufám v další rozvoj tohoto projektu. To by totiž vedlo k dalším zajímavým součástkám, modulům a samozřejmě i nižší ceně.