Praktyczna aplikacja IoT mikrokontrolera STM32 w zestawie DISCOVERY

Energooszczędne mikrokontrolery STM32L4 doskonale nadają się do aplikacji mobilnych oraz IoT. Firma STMicroelectronics wprowadziła do sprzedaży zestaw startowy IoT oznaczony symbolem B-L475E-IOT01A2, wyposażony w mikrokontroler z tej rodziny – STM32L47, który doskonale nadaje się do spełnienia roli węzła komunikacji bezprzewodowej lub terminala IoT.

Prezentację zestawu B-L475E-IOT01A2 (jego widok przedstawiono na fotografii 1) zaczniemy od omówienia jego wyposażenia sprzętowego. Oprócz niebanalnego mikrokontrolera (niskomocowy Cortex-M4F z 1 MB Flash i 128 kB RAM), zestaw wyposażono w 64 Mb pamięci Flash QSPI, mikrofony MEMS MP34DT01 oraz sensory:

  • wilgotności i temperatury HTS221,
  • 3-osiowy kompas LIS3MDL,
  • sensor MEMS 6DoF LSM6DSL – zintegrowany żyroskop i akcelerometr,
  • sensor ciśnienia LPS22HB,
  • optyczny sensor VL53L0X (laserowa wersja ToF z możliwością optycznej detekcji gestów 3D).

Schemat blokowy prezentowanego zestawu pokazano na rysunku 2.

Fot. 1. Wygląd zestawu B-L475E-IOT01A
Rys. 2. Schemat blokowy zestawu B-L475E-IOT01A

Duża liczba sensorów zintegrowanych w zestawie zapewnia użytkownikowi dużą liczbę różnorodnych danych, które – co jest charakterystyczne dla aplikacji IoT – można wysyłać do chmury obliczeniowej, w której dane te będą obrabiane i za jej pomocą prezentowane. Zestaw wyposażono także w opcjonalny układ kryptograficzny STSAFE-A100 (nowość w ofercie STMicroelectronics – rysunek 3), który poprawia bezpieczeństwo wymiany danych zestawu z chmurą.

Rys. 3. Idea bezpiecznej aplikacji bezprzewodowej z układem STSAFE-A100

Liczba dostępnych dla użytkownika kanałów komunikacyjnych w prezentowanym zestawie jest spora, zestaw wyposażono bowiem w:

  • interfejs Bluetooth V4.1 (SPBTLE-RF),
  • interfejs Wi-Fi (ISM43362-M3G-L44) przystosowany do pracy w sieciach 802.11 b/g/n,
  • transceiver radiowy na pasmo 868 MHz (SPSGRF-868).

Dodatkowym elementem wyposażonym w komunikację radiową jest pamięć NFC z rodziny M24SR (rysunek 4), do której zawartości użytkownik ma dostęp poprzez interfejs I2C lub drogą radiową – za pomocą zintegrowanej z PCB anteny.

Rys. 4. Schemat elektryczny „okolic” pamięci EEPROM zastosowanej w zestawie, z dwoma interfejsami komunikacyjnymi: NFC i I2C

Swoją budową zestaw B-L475E-IOT01A przypomina inne zestawy DISCOVERY z STM32, dlatego nie budzą zdziwienia wchodzące w skład wyposażenia dwa przyciski (reset i dla aplikacji użytkownika), zintegrowany programator-debugger ST-Link/V2-1 (zgodny z mbed.org, wyposażony także funkcjonalność vCOM), a także złącza dla shieldów Arduino Uno v3. Nowością wdrażaną przez STMicoroelectronics od pewnego czasu są złącza dla modułów Digilent Pmod, za pomocą których można wygodnie dołączać do zestawu ekspandery zgodne z tym standardem.

Rozmieszczenie najważniejszych elementów zestawu B-L475E-IOT01A pokazano na rysunku 5.

Rys. 5. Rozmieszczenie elementów zestawu B-L475E-IOT01A

Ważnym elementem prezentowanego zestawu jest oprogramowanie, które w przypadku aplikacji IoT bazuje na obsłudze protokołów sieciowych, umożliwiających wymianę danych z aplikacjami „chmurowymi”. Oprogramowanie dla prezentowanego zestawu (X-CUBE-AWS) zostało zoptymalizowane dla usług chmurowych firmy Amazon (AWS – Amazon Web Services), budowa tego oprogramowania została pokazana na rysunku 6. Oprogramowanie w wersji oryginalnej zajmuje 200 kB pamięci Flash i 41 kB RAM, dzięki czemu – przy dostępnych zasobach mikrokontrolera STM32L475 – użytkownik ma bardzo komfortowe środowisko sprzętowe do implementowania własnych rozwiązań IoT.

Rys. 6. Budowa firmware X-CUBE-AWS

Oprogramowanie udostępnione przez firmę STMicroelectronics jest zgodne z STM32CUBE i bazuje na HAL dla STM32, popularnym stosie LwIP, protokole bezpieczeństwa mbedTLS, a całość „spina” system operacyjny FreeRTOS (rysunek 7). W zależności od upodobań, użytkownik może do przygotowania własnej aplikacji IoT użyć jednego z następujących środowisk: IAR Embedded Workbench for ARM (EWARM) w wersji >7.80.4, Keil Microcontroller Development Kit (MDK-ARM) lub dostępnego bezpłatnie środowiska System Workbench for STM32 (wersja >1.14.0). Obecnie dostępne oprogramowanie jest dostosowane do trzech zestawów sprzętowych: prezentowanego w artykule, 32F413HDISCOVERY oraz 32F769IDISCOVERY.

Rys. 7. Elementy składowe X-CUBE-AWS

Zestaw prezentowany w artykule charakteryzuje się dużymi możliwościami i dobrym wyposażeniem, w praktyce jedynym ograniczeniem funkcjonalnym jest „przywiązanie” poprzez oprogramowanie go do chmury firmy Amazon. Podczas prób laboratoryjnych z zestawem okazało się, że pewne ilości danych można transferować do chmury AWS bezpłatnie, ale wymóg podawania w chwili rejestracji danych karty kredytowej może podziałać – i działa! – zniechęcająco.

Miejmy nadzieję, że producent zestawu przygotuje wersję oprogramowania umożliwiająca korzystanie z jednej z kilku chmur dostępnych bezpłatnie, zwłaszcza na początek praktycznych zabaw z IoT ma to dla większości użytkowników znaczenie.

O autorze