česky english Vítejte, dnes je úterý 19. březen 2024

KETCube – otevřená vývojová platforma nejen pro IoT aplikace

DPS 2/2022 | Články
Autor: Ing. Tomáš Pokorný, Ph.D., Ing. Jan Bělohoubek, Ing. Jiří Čengery, Ph.D., Ing. et Ing. Petr Kašpar, Ph.D. | Fakulta elektrotechnická / Katedra materiálů a technologií (KET) | Západočeská univerzita v Plzni
01.jpg

Úvod

KETCube® je HW i SW prototypová a demo platforma vyvinutá na Katedře materiálů a technologií (KET) Elektrotechnické fakulty Západočeské univerzity v Plzni. Platforma KETCube® se skládá ze základní desky a rozšiřujících desek. Tyto desky lze stohovat, aby se dosáhlo zamýšlené funkce. Má implementován základní autonomní RHT (relativní vlhkost a teplota) senzor, jehož funkčnost je podmíněna pouze stohováním hlavní a bateriové desky (nebo jiným způsobem napájení hlavní desky). Další senzory lze připojit k základní desce připojením k pinům patice. Základní deska je osazena mikroBUS™ pinout kompatibilní paticí.

KETCube® pracuje s napájecím napětím a napětím logiky 3,3 V. Pro napájení desky lze použít napětí 3,3 V nebo 5 V.

Hlavní parametry

  • Podporované frekvence: 868 MHz, 915 MHz
  • Podporované bezdrátové komunikační protokoly: LoRaWAN, Sigfox (plánováno), proprietární P2P (experimentální)
  • Rozhraní: UART, SPI, I2C, ADC, DAC, PWM, INT, GPIO
  • Pinout KETCube je kompatibilní s paticí mikroBUS™
  • Klíčové obvody: Murata Type ABZ (CMWX1ZZABZ), TI HDC2080

Patice KETCube

Patice KETCube je nadmnožinou definované zásuvky mikroBUS od MikroElektronika d.o.o.

Podrobný pohled na oba pinouty je na obr. 1.


Obr. 1 KETCube PINOUT

Pinout KETCube rozšiřuje pinout mikroBUS™ o další 4 IO piny do pinové lišty označené IO1 − IO4 (viz obrázek).

Kratší pinová lišta je duplikována při zachování rozložení pinů a zvýšení vzdálenosti patic z 22,86 mm = 0,9" pro mikroBUS™ na 27,94 mm = 1,1".

Protože pinová lišta KETCube je nadmnožinou mikroBUS™, obě patice lze umístit na stejnou desku a povolit připojení obou typů (mikroBUS™ i KETCube®) modulů. Pokud jsou osazeny průchozí pinové lišty, KETCube pinout umožňuje (téměř) neomezené stohování KETCube pinout kompatibilních desek.

Hlavní deska KETCube (KETCube mainBoard)

Hlavní deska KETCube je základní součástí platformy KETCube. Je vybavena paticí mikroBUS™ / KETCube umožňující připojení desky kompatibilní s mikroBUSTM nebo KETCube® pinoutem.

Procesor hlavní desky je STM32L0 integrovaný do modulu Murata Type ABZ. Některé z pinů STM32L0 jsou k dispozici na desce a na pinových lištách, některé z nich jsou určeny pro rádio typu ABZ, a proto je nemůže používat aplikace. Hlavní deska je vybavena snímačem řady HDCx080 RHT, který může sloužit k monitorování relativní vlhkosti (RH) a teploty (T). Deska může být osazena integrovanou anténou nebo některým z anténních konektorů (u.FL, SMA) pro připojení externí antény.

Terminál KETCube

Pokud obsahuje KETCube dodávaný firmware (zdarma jej lze získat ze stránek projektu na githubu), lze použít pro komunikaci s KETCube a jeho konfiguraci prostředí sériové komunikace s názvem KETCube Terminal. Ten je k dispozici na rozhraní USART1 (IO1 a IO2).

Terminál KETCube umožňuje konfigurovat moduly KETCube (LoRa, HDCX080, batMeas, …) a parametry modulu (např. devEUI, appKey, … pro modul LoRa). Terminál KETCube je citlivý na velká písmena.

Modulem je označena ucelená část programového kódu řídící konkrétní funkcionalitu.

Příkazy terminálu se řídí hierarchickým stromovým uspořádáním. Po resetování zařízení se vypíše základní nápověda včetně kořenových/základních příkazů. Nápovědu lze kdykoli vyvolat příkazem help. Po stisknutí klávesy [TAB] se zobrazí vložená nápověda (např. Napište „s [TAB]“ a všechny příkazy začínající „s“ budou vytištěny − jsou to: „set“ a “show”). Inline nápověda je užitečná zejména pro příkazy skryté hluboko ve stromové struktuře. Chcete-li zobrazit seznam modulů, použijte příkaz list. Příkazy enable (povolit) / disable (zakázat) slouží k zapnutí/vypnutí modulů KETCube.

Když je modul povolen, začne provádět definovanou operaci (např. změří RH a teplotu a odešle výsledky přes LoRa). K ladění lze dodatečně použít povolovací příkaz a druhý (volitelný) parametr příkazu, který nastavuje úroveň severity (tj. množství ladících informací vypisovaných modulem na sériový terminál) modulu (bez použití druhého parametru zůstává severita na výchozí úrovni).

Úrovně severity jsou: NONE (0), ERROR (1), INFO (2) a DEBUG (3). Výchozí úroveň severity je ERROR. Příkazy show/set se používají k zobrazení/nastavení parametrů modulů KETCube® (např. show LoRa devEUI). Parametry se ukládají do EEPROM na čipu.

Historie příkazů je dostupná pomocí kláves > a <. Všechna nastavení, kromě těch nastavených příkazem setr, se aplikují až po resetu zařízení. Ten se provede příkazem reload.

Příkaz setr slouží ke změně (některých) parametrů za běhu, příkaz showr pak slouží k zobrazení aktuálních parametrů, které mohou být odlišné od parametrů nastavených příkazem set. Hodnoty nastavené příkazem setr jsou ztraceny po resetu KETCube®.

Výchozí nastavení terminálu:

  • Tx PIN: IO2
  • Rx PIN: IO1
  • Rychlost: 9 600 b/s
  • Datových bitů: 8
  • Stop bitů: 1
  • Parita: Ne
  • HW Flow control: Ne
  • Konec řádku: CR + LF nebo LF

Závěr

Platforma KETCube® je dnes již standardním řešením ve většině projektů řešených na Katedře materiálů a technologií FEL ZČU v Plzni používajících nejen komunikaci v prostředí IoT (internetu věcí) prostřednictvím protokolu LoRaWAN. Tím, že se jedná o hardwarově i softwarově otevřenou platformu, lze ji bez omezení implementovat v mnoha oblastech.

Podrobnější informace lze nalézt na webové stránce KETCube (ketcube.cz) nebo na webové stránce GitHub (github.com/SmartCAMPUSZCU).

Poděkování:
Platforma KETCube® vznikla jako interní projekt KET FEL ZČU v Plzni. Rozvoj platformy KETCube byl podpořen mimo jiné městem Plzeň v rámci projektů SmartCity a Plzeň univerzitní město. KETCube EDU pro Arduino vznikl jako projekt ZČU v Plzni za podpory města Plzeň v rámci projektu Plzeň univerzitní město 2020.

pokornyt@fel.zcu.cz | belohoub@fel.zcu.cz | cengery5@fel.zcu.cz | petrx@fel.zcu.cz