M5STICK-C spouští programy v OSPy

Pro spouštění programů, které jsou v OSPy (Open Sprinkler Python) nastaveny, jsem si postavil dálkový ovladač. Firma https://m5stack.com/ vyrábí za levný peníz neskutečně dobrý a variabilní hardware. Zakoupil jsem desku M5STICK-C a na ní založil ovladač pro ovládání svého OSPy systému. Po zapnutí napájení jsem schopen spustit program do cca 10 vteřin (připojení k Wi-Fi, stažení NTP a programů), nemusím "lovit" mobil a pokud jsem v dosahu Wi-Fi, tak není problém si sputit co je třeba. Zařízení je cca stejně velké jako zapalovač.

open-source software, tak jako OSPy -> zapojte se do projektu OSPy https://github.com/martinpihrt/OSPy

Pohled na modul

Parametry modulu dle prodejce (https://rpishop.cz/m5stack/2772-m5stack-m5stickc-esp32-pico-mini-iot-vyvojovy-kit.html)

M5Stack M5StickC ESP32-PICO Mini IoT vývojový kit

Mini M5Stack založený na ESP32, což je 2,4 GHz kombo čip s Wi-Fi a Bluetooth s integrovanou 4 MB SPI flash pamětí. Jedná se o přenosnou jednoduše použitelnou open source vývojovou IoT desku. Co všechno umí? Tento malý blok je schopen realizovat vaše nápady, pracovat s vaší kreativitou a ve velmi krátké době Vám pomoci s IoT prototypováním. Ušetříte si tak spoustu těžkostí spojených s procesem vývoje. M5stickC je jedním z nejdůležitějších zařízení v produktové řadě M5Stack.

M5StickC ESP32-PICO Mini IoT vývojový kit je součástí neustále rostoucího hardwarového a softwarového ekosystému m5Stack. Má spousty kompatibilních modulů a jednotek, otevřený zdrojový kód a velkou uživatelskou komunitu. Všechny tyto výhody Vám pomohou maximalizovat proces vývoje.
Aplikace
    Správce terminálu pro IoT (Internet of Things)
    Nositelné periferie
    Stem vzdělávací produkt
    DIY tvoření

Vlastnosti
    Založen na ESP32
    Integrovaný 6osý IMU
    Červená LED
    IR vysílač
    Mikrofon
    Tlačítka, LCD displej (0.96")
    Integrovaná Lipo baterie
    Rozšiřitelná zásuvka
    Nositelné zařízení nebo možno upevnit na zeď
    Programovací platformy: UIFlow, MicroPython, Arduino

Specifikace
    ESP32: dvě jádra 240MHz, 600 DMIPS, 520KB SRAM, Wi-Fi, dva režimy Bluetooth
    Flash paměť: 4MB
    Napájecí zdroj: 5V / 500mA
    Porty: USB-C x 1, GROVE (I2C+I/0+UART) x 1
    LCD obrazovka: 0.96", 80 x 160 barevný TFT LCD, ST7735S
    Tlačítko: Programovatelné tlačítko x 2
    LED: Červená LED
    MEMS: MPU6886
    IR: Infračervený přenos
    MIC: SPM1423
    RTC: BM8563
    PMU: AXP192
    Baterie: 95 mAh @ 3.7V
    Anténa: 2.4G 3D anténa
    Piny: G0, G26, G36
    Operační teplota: 0°C to 40°C
    Rozměry: 48.2 x 25.5 x 13.7mm
    Váha: 14g

Podpora
    Produktová dokumentace - M5Stack (EN)

Obsah balení
    1x M5StickC
    1x USB-C kabel (20cm)

Uvedený e-shop ho prodává za 389,- (za tyto peníze bych to nepostavil ani za nic - náklonoměr, mikrofon, LCD...)

Jak je to uděláno?

Vzal jsem tedy tento "modulek" a nahrál do něho svůj kód, který se přihlásí (jako uživatel) do OSPy API a následně spouští programy.

Dle dokumentace OSPy API (https://github.com/martinpihrt/OSPy/blob/master/api/docs/Details.md) je potřeba se do OSPy přihlásit v hlavičce http dotazu.
http(s)://[ip|name]:[port]/api/..
V hlavičce pro http GET/POST žádosti: Header("Authorization", "Basic " "Username:Password") výchozí jméno je "admin" a heslo je "opendoor".

Pro spuštění například programu 8 (runnow) zašleme žádost  "https://192.168.88.247:8080/api/programs/7 POST do=runnow". Následně dojde ke spuštění tohoto programu stejně jako když se na webu klikne na "spustit program".

Nejprve je potřeba do M5 nahrát program

Nastavení pomocí AP manažeru

Nejlépe to vystihuje toto video na Youtube

  • Zařízení vypneme bočním tlačítkem (podržet cca 6 vteřin)
  • Stiskneme protilehlé tlačítko "select OSPy program/AP" (držíme ho) a stiskneme boční napájecí tlačítko (cca 2 vteřiny)
  • Až se na LCD zobrazí nápis AP manažer, tak boční tlačítko pustíme

Na nastavení máme 10 minut (po této době se ovladač sám restartuje).

Přihlašovací údaje AP režim

  • Výchozí název SSID Wi-Fi sítě je "OSPy-Controller-M5stick" a výchozí heslo je "ospy-m5stick-c"
  • Adresa pro webový prohlížeč je "http://192.168.1.1
  • Heslo pro změnu FW v ovladači je "fg4s5b.s,trr7sw8sgyvrDfg"

AP je nastaveno co dál?

Po restartu (po nastavení AP) se ovladač připojí k Wi-Fi síti, stáhne si síťový NTP čas a stáhne si z OSPy seznam programů (názvy a počet programů).

HW s ESP32 má náklonoměr, tak se nám bude LCD displej sám otáčet o 180 stupňů (user-friendly :-) )

  • Výběr programů se provádí bočním tlačítkem a spuštění se provede horním tlačítkem s nápisem "M5"

Neduhy

  • LCD neumí UTF8 a tak pokud máme jméno programu s diakritikou bude zobrazeno místo háčků a čárek podtržítko _
  • Řešením je si v OSPy programy přejmenovat
  • FW je ve verzi 1.00 a může trpět nějakým problémem (zatím jsem na nic nenarazil)

HW docs

https://docs.m5stack.com/en/core/m5stickc

RED LED & IR Transmitter & BUTTON A & BUTTON B

ESP32 GPIO10 GPIO9 GPIO37 GPIO39
RED LED LED Pin      
IR Transmitter   Transmitter Pin    
BUTTON A     Button Pin  
BUTTON B       Button Pin

TFT LCD

Driver IC:ST7735S

Resolution:80 * 160

ESP32 GPIO15 GPIO13 GPIO23 GPIO18 GPIO5
TFT LCD TFT_MOSI TFT_CLK TFT_DC TFT_RST TFT_CS

GROVE PORT

ESP32 GPIO33 GPIO32 5V GND
GROVE port SCL SDA 5V GND

MIC (SPM1423)

ESP32 GPIO0 GPIO34
MICPHONE SCL SDA

6-Axis posture sensor (SH200Q/MPU6886) & power management IC (AXP192)

ESP32 GPIO22 GPIO21
6-Axis IMU sensor SCL SDA
power management IC SCL SDA

AXP192

Microphone RTC TFT backlight TFT IC ESP32/3.3V MPU6886/SH200Q 5V GROVE
LDOio0 LDO1 LDO2 LDO3 DC-DC1 IPSOUT

Charging current measured value

charging current Fully charged current(Power OFF) Fully charged current(Power ON)
0.488A 0.066A 0.181A

 

Attachments:
Download this file (20191118__StickC_A04_3110_Schematic_Rebuild_PinMap.pdf)M5STICK-C[Katalogový list]236 kB190 Downloads2021-06-08 21:14