RuffRuff Apps RuffRuff Apps by Tsun

Wszystko, co musisz wiedzieć o M5Stack Core2

Wprowadzenie

Pierwsze spotkanie M5Stack Core2

M5Stack Core2 obsługuje wiele platform programistycznych, takich jak Arduino, MicroPython, oraz M5Stack UIFlow, co czyni go wszechstronnym do różnych projektów IoT, w tym inteligentnych urządzeń domowych, narzędzi edukacyjnych oraz szybkiego prototypowania. Jego modułowa konstrukcja pozwala na łatwą rozbudowę o inne moduły M5Stack, zwiększając jego funkcjonalność dla różnorodnych zastosowań.

Zestaw do rozwoju IoT M5Stack Core2 ESP32 V1.1

M5Stack Core2 Zestaw deweloperski V1.1

Zobacz produkt

Kluczowe cechy i możliwości

Procesor

Dwurdzeniowy ESP32-D0WDQ6-V3, działający z prędkością do 240MHz.

Pamięć

  • 16MB pamięci Flash
  • 8MB PSRAM

Łączność bezprzewodowa

  • WiFi 802.11 b/g/n
  • Bluetooth 4.2 BLE

Interfejs użytkownika

  • 6 programowalnych przycisków dotykowych
  • Silnik wibracyjny do sprzężenia zwrotnego haptycznego

Czujniki

  • 6-osiowy IMU (MPU6886) do danych przyspieszenia i żyroskopu

Audio

  • Wbudowany głośnik
  • Cyfrowy interfejs audio I2S

Zarządzanie energią

  • AXP192 PMU do zarządzania baterią
  • Obsługuje ładowanie przez USB Type-C
  • Wbudowany akumulator LiPo

RTC

  • Zegar czasu rzeczywistego dla dokładnego odmierzania czasu

Główna treść tego artykułu

Głównym celem tego artykułu jest przedstawienie kompleksowego przeglądu M5Stack Core2, innowacyjnego zestawu do tworzenia IoT opartego na mikrokontrolerze ESP32. Naszym celem jest:
  • Edukować czytelników na temat specyfikacji sprzętu, w tym jego mocy obliczeniowej, pamięci, opcji łączności oraz zintegrowanych czujników.
  • Podkreśl unikalne cechy, takie jak interfejs dotykowy, sprzężenie zwrotne haptyczne oraz modułowa konstrukcja umożliwiająca rozbudowę projektu.
  • Przeprowadź użytkowników przez różne środowiska programistyczne (Arduino, MicroPython, UIFlow) obsługiwane przez M5Stack Core2, oferując wskazówki, które mogą być najlepsze dla różnych typów projektów.
  • Zademonstruj potencjalne zastosowania, prezentując przykłady z prawdziwego świata, gdzie można wykorzystać M5Stack Core2, od narzędzi edukacyjnych po inteligentne urządzenia domowe.
  • Pomóż w podejmowaniu decyzji hobbystom, edukatorom i profesjonalistom rozważającym to urządzenie do swoich projektów IoT, omawiając jego zalety, ograniczenia oraz porównując je z innymi podobnymi platformami.
Pod koniec tego artykułu czytelnicy będą mieli dogłębną wiedzę na temat tego, co oferuje M5Stack Core2, jak wykorzystać jego możliwości oraz czy spełnia ich specyficzne potrzeby w dziedzinie rozwoju IoT.

Czym jest M5Stack Core2?

Szczegółowe wyjaśnienie M5Stack Core2

M5Stack Core2 to zaawansowany zestaw do rozwoju IoT oparty na ESP32, zaprojektowany zarówno dla początkujących, jak i doświadczonych programistów. Wyposażony jest w dwurdzeniowy procesor ESP32-D0WDQ6-V3 działający z prędkością do 240MHz, z wbudowanymi funkcjami WiFi i Bluetooth. Zestaw zawiera 16MB pamięci Flash oraz 8MB PSRAM dla zwiększonej wydajności.
Kluczowe cechy Core2 obejmują 2-calowy pojemnościowy ekran dotykowy, który umożliwia intuicyjną interakcję użytkownika, programowalne przyciski dotykowe oraz wbudowany silnik wibracyjny zapewniający sprzężenie zwrotne dotykowe. Posiada również zintegrowany moduł RTC (zegara czasu rzeczywistego) do dokładnego odmierzania czasu, a zarządzanie energią realizowane jest przez chip AXP192, który efektywnie kontroluje zużycie baterii. Dodatkowe funkcje to głośnik, cyfrowy interfejs audio I2S dla czystego dźwięku oraz 6-osiowy czujnik IMU z tyłu do wykrywania ruchu.

Obowiązujące grupy

Hobbyści i entuzjaści majsterkowania

Osoby pasjonujące się elektroniką, robotyką i projektami IoT, poszukujące kompleksowego rozwiązania do eksperymentowania.

Edukatorzy i Studenci

Nauczyciele poszukujący angażujących narzędzi do nauczania programowania, elektroniki i koncepcji IoT, a także uczniowie uczący się tych przedmiotów.

Programiści IoT

Profesjonaliści lub entuzjaści rozwijający rozwiązania IoT, którzy potrzebują kompaktowej, wydajnej platformy z rozbudowanymi opcjami łączności.

Twórcy i przestrzenie hakerskie

Społeczności lub osoby indywidualne zaangażowane w targi twórców, hackathony lub przestrzenie współpracy, gdzie szybkie prototypowanie jest niezbędne.

Projektanci produktów

Ci, którzy prototypują nowe inteligentne urządzenia lub integrują IoT z istniejącymi produktami, potrzebują wszechstronnej platformy do rozwoju i testowania.

Artyści i instalacje interaktywne

Twórcy wykorzystujący technologię do wzbogacania instalacji artystycznych lub interaktywnych wystaw za pomocą czujników, wyświetlaczy i łączności.

Różnica między M5Stack Core2 a M5Stack Core2 V1.1

Zestaw deweloperski M5Stack Core2 ESP32 IoT

Zestaw deweloperski M5Stack Core2

Zobacz produkt
Funkcja M5Stack Core2 M5Stack Core2 V1.1
Zarządzanie energią Układ AXP192 AXP2101 + INA3221 (Ulepszony
Układ scalony zasilania)
Kolor wskaźnika zasilania Zielony Niebieski
RTC (Zegar czasu rzeczywistego) Wbudowany, ale bez dedykowanej baterii
dla RTC
Zawiera dedykowaną baterię do
RTC do utrzymania czasu, gdy
wyłączony
Układ USB CH9102F Tak samo, ale instalacja sterownika może
różnią się ze względu na wersję sprzętu
Ogólny projekt Klasyczny design Core2 Wersja iteracyjna z tym samym
forma, ale zaktualizowane wnętrze
Kompatybilność Kompatybilny z M5GO Bottom dla dodatkowych funkcji Kompatybilność z modułami może
wymaga usunięcia lub użycia konkretnego
Bottom2 dla pełnej funkcjonalności
Środowisko programistyczne Obsługuje Arduino, MicroPython, UIFlow Ta sama obsługa, bez zmian w
środowisko programistyczne
Ekran dotykowy 2-calowy pojemnościowy ekran dotykowy Tak samo, bez zmiany ekranu
specyfikacje
Silnik wibracyjny Uwzględniono sprzężenie zwrotne haptyczne Uwzględnione, bez zmian
Pamięć i procesor ESP32-D0WDQ6-V3, 16MB Flash,
8MB PSRAM
Te same specyfikacje

Sprzęt M5Stack Core2

Rozmiar i rozdzielczość ekranu M5Stack Core2

  • Rozmiar ekranu: 2 cale
  • Rozdzielczość: 320 x 240 pikseli

Procesor, pamięć i pamięć masowa M5Stack Core2

  • Procesor: Dwurdzeniowy ESP32-D0WDQ6-V3, działający z prędkością do 240MHz.
  • Pamięć:
      RAM: 8MB PSRAM (Pseudo Static RAM)
  • Pamięć:
      Pamięć Flash: 16MB

Opcje łączności

  • WiFi: 802.11 b/g/n, umożliwiające bezprzewodową sieć dla projektów IoT.
  • Bluetooth: Wersja 4.2 BLE (Bluetooth Low Energy), do niskomocowej, krótkiego zasięgu komunikacji bezprzewodowej.

Czujniki i urządzenia peryferyjne

Czujniki

  • 6-osiowy IMU (Jednostka pomiaru inercyjnego):
      Łączy 3-osiowy akcelerometr i 3-osiowy żyroskop do wykrywania ruchu. Używa czujnika MPU6886, który dostarcza dane dotyczące orientacji, przyspieszenia i rotacji.
Te czujniki są podstawowymi wbudowanymi w M5Stack Core2. Jednak konstrukcja urządzenia pozwala na rozszerzenie za pomocą różnych modułów M5Stack i portów GROVE, które mogą dodać dodatkowe czujniki, takie jak:
Czujniki temperatury
Czujniki wilgotności
Czujniki światła
Czujniki zbliżeniowe
Czujniki ciśnienia
Czujniki pola magnetycznego (kompas)
itd.

Urządzenia peryferyjne

  • Programowalne przyciski dotykowe:
      Ekran zawiera trzy pojemnościowe przyciski dotykowe, które można zaprogramować do różnych funkcji lub wejść użytkownika.
  • Mikrofon:
      Wbudowany mikrofon umożliwia wykrywanie dźwięku lub obsługę poleceń głosowych.
  • Głośnik:
      Zintegrowany do wyjścia audio, przydatny do alarmów, powiadomień lub odtwarzania muzyki.
  • Silnik wibracyjny:
      Zapewnia sprzężenie zwrotne dotykowe, poprawiając interakcję użytkownika w aplikacjach takich jak gry czy powiadomienia.
  • RTC (Zegar czasu rzeczywistego):
      Wbudowany moduł RTC do śledzenia czasu, nawet gdy urządzenie jest wyłączone, zapewniający dokładne odmierzanie czasu dla harmonogramów lub operacji opartych na czasie.
  • Układ zarządzania energią (PMIC):
      Układ AXP192 zarządza dystrybucją energii, ładowaniem baterii oraz regulacją napięcia, co jest kluczowe dla utrzymania wydajności i wydłużenia żywotności baterii.
  • Port USB Typu C:
      Do zasilania, programowania i komunikacji danych. Obsługuje USB OTG do podłączania zewnętrznych urządzeń, takich jak klawiatury lub myszy, w niektórych konfiguracjach.
  • Gniazdo karty MicroSD:
      Umożliwia dodatkową pamięć, idealną do rejestrowania danych, aktualizacji oprogramowania układowego lub przechowywania mediów.

Zasilanie i żywotność baterii

Zasilacz

  • Napięcie wejściowe: 5V przez port USB-C do ładowania i zasilania urządzenia.
  • Zarządzanie energią: zasilanie jest zarządzane przez układ AXP192 w oryginalnym Core2 oraz przez AXP2101 + INA3221 w Core2 V1.1, co pozwala na efektywną kontrolę zużycia energii.
  • Ładowanie baterii: Obsługuje ładowanie przez port USB-C, z możliwością zewnętrznych opcji zasilania przez określone piny, jeśli są poprawnie skonfigurowane.

Bateria

  • Bateria w zestawie: W Core2 wbudowana jest bateria LiPo o pojemności 390mAh, zapewniająca zasilanie po odłączeniu od źródeł zewnętrznych.
  • Rozszerzenie baterii: Aby wydłużyć żywotność baterii, użytkownicy mogą dodać zewnętrzne moduły baterii, takie jak M5GO Bottom2 (który zawiera dodatkową baterię 500mAh) lub łączyć wiele modułów baterii, ponieważ można je łączyć równolegle.

Żywotność baterii

  • Czas użytkowania: żywotność baterii znacznie różni się w zależności od użytkowania.
      Tryby bezczynności lub niskiego zużycia energii: Przy wyłączonym ekranie i w trybach niskiego zużycia energii, może działać przez godziny, a nawet dni, w zależności od częstotliwości wybudzania lub głębokości używanego trybu uśpienia.
      Aktywne użytkowanie: Przy włączonym ekranie i aktywnie działających programach, zwłaszcza tych korzystających z WiFi lub Bluetooth, żywotność baterii może wynosić od kilku godzin do około 5-6 godzin, w zależności od takich czynników jak jasność ekranu, użycie czujników i obciążenie procesora.
  • Tryby uśpienia: tryb głębokiego uśpienia ESP32 może znacznie wydłużyć żywotność baterii, potencjalnie na tygodnie lub miesiące, jeśli urządzenie musi się budzić tylko okazjonalnie, na przykład do rejestrowania danych lub okresowych kontroli WiFi.
  • Ulepszenia: Użytkownicy często zgłaszają, że mogą wydłużyć żywotność baterii dzięki optymalizacjom oprogramowania, takim jak przyciemnianie ekranu, zmniejszanie częstotliwości odczytu czujników lub stosowanie efektywnych strategii zarządzania energią, takich jak głęboki sen w okresach nieaktywności.

Dodatkowe uwagi

  • Wskaźnik zasilania: Wbudowana dioda LED (zielona w oryginale, niebieska w wersji V1.1) wskazuje status zasilania i może być zaprogramowana do niestandardowych powiadomień.
  • Bateria RTC: W modelu V1.1 znajduje się dodatkowa mała bateria do RTC, zapewniająca odmierzanie czasu nawet wtedy, gdy główna bateria jest rozładowana lub usunięta.

Oprogramowanie i rozwój

Obsługiwane języki programowania

  • C/C++ (używane z Arduino IDE)
  • Python (wersja MicroPython dla ESP32)
  • JavaScript (dla niektórych aplikacji internetowych, nie bezpośrednie programowanie urządzeń, ale może współdziałać przez interfejsy internetowe lub node-red).

Obsługiwane platformy programistyczne

  • Arduino: To jedna z najpopularniejszych platform dla ESP32. Arduino IDE z obsługą ESP32 pozwala na pisanie i przesyłanie kodu do M5Stack Core2 za pomocą C/C++.
  • MicroPython: Implementacja Pythona 3 dla mikrokontrolerów, MicroPython jest dobrze dopasowany dla tych, którzy preferują składnię Pythona. Zapewnia interaktywny REPL (Read-Eval-Print Loop) do natychmiastowego testowania kodu, co czyni go szczególnie przyjaznym dla celów edukacyjnych.
  • UIFlow: To jest własny wizualny język programowania M5Stack lub środowisko programowania oparte na blokach, podobne do Scratch lub Blockly. Został zaprojektowany tak, aby był bardzo przyjazny dla użytkownika, umożliwiając programowanie Core2 poprzez łączenie bloków reprezentujących funkcje kodu. UIFlow może generować kod MicroPython lub Arduino w tle, który następnie można dalej edytować lub używać bezpośrednio.
Każde z tych środowisk oferuje różne zalety:
  • Arduino zapewnia bardziej tradycyjne doświadczenie programowania mikrokontrolerów z dostępem do ogromnego ekosystemu bibliotek.
  • MicroPython ułatwia początkującym lub entuzjastom Pythona rozpoczęcie programowania sprzętu, oferując bardziej czytelne i interaktywne doświadczenie kodowania.
  • UIFlow jest doskonały do szybkiego prototypowania, edukacji lub dla tych, którzy mogą nie mieć rozległego doświadczenia w kodowaniu, ale chcą tworzyć funkcjonalne urządzenia IoT.
Te platformy nie wykluczają się nawzajem; możesz zacząć od jednej i przejść do innej lub używać innej do różnych aspektów swojego projektu, wykorzystując ich unikalne cechy, aby dopasować się do potrzeb rozwoju.

Konfiguracja środowiska programistycznego

Instalacja Arduino IDE

Odwiedź Arduino.cc i kliknij oprogramowanie, lub możesz kliknąć TUTAJ.
Pobierz Arduino IDE, zainstaluj je.

Instalowanie zarządzania płytą

Adres URL Menedżera Płyt jest używany do indeksowania informacji o płytce rozwojowej dla konkretnej platformy. W menu Arduino IDE wybierz Plik -> Preferencje
 
M5Stack Core2-1
Skopiuj adres URL zarządzania płytkami M5Stack poniżej do pola Additional Board Manager URLs: i zapisz.
 
M5Stack Core2-2
W pasku bocznym wybierz Menedżera Płyt, wyszukaj M5Stack i kliknij Zainstaluj
M5Stack Core2-3

Wybór płytki rozwojowej

W zależności od używanego produktu, wybierz odpowiednią płytkę rozwojową w menu Narzędzia -> Płytka -> M5Stack -> {Product Name}.
M5Stack Core2-4

Szybki przewodnik po M5Stack UIFlow 2.0 Web IDE

Czym jest M5Stack UIFlow
UIFlow2 to przyjazne dla użytkownika graficzne środowisko programistyczne IDE, które oferuje bezproblemowe bezprzewodowe i przewodowe przesyłanie programów, funkcję kliknij i uruchom program, eliminując potrzebę wielokrotnych kompilacji. Bezproblemowo integruje się z ponad 100 peryferiami i czujnikami sprzętowymi M5, umożliwiając łatwe dodawanie i rozbudowę za pomocą jednego kliknięcia. Ta funkcja umożliwia budowę prototypów produktów i przyspiesza proces rozwoju, co ostatecznie prowadzi do zwiększonej produktywności i efektywności. W tym samouczku pokażemy, jak wgrać oprogramowanie układowe UIFlow 2.x na twoje urządzenie M5Stack oraz jak korzystać z UIFlow Web IDE do wtórnego rozwoju produktu.
Przed programowaniem z UIFlow należy wykonać kilka kroków przygotowawczych:
  • Zainstaluj narzędzie do nagrywania oprogramowania M5Burner.
  • Użyj M5Burner, aby wgrać oprogramowanie układowe dla odpowiedniego urządzenia, zaloguj się na swoje konto i skonfiguruj połączenie Wi-Fi dla urządzenia.
  • Otwórz wersję UIFlow Web IDE 2.0, wybierz odpowiednią opcję urządzenia online i kliknij, aby połączyć.
  • Przeciągnij i upuść bloki, aby edytować program, a następnie kliknij przycisk Uruchom, aby debugować program.
Dodatkowe informacje:
M5Burner to zunifikowane narzędzie do wgrywania oprogramowania układowego wprowadzone przez M5Stack. Umożliwia użytkownikom łatwe wgrywanie oprogramowania UIFlow oraz zapisywanie informacji konfiguracyjnych, takich jak ustawienia Wi-Fi, podczas procesu wgrywania.
Zainstaluj M5Burner
Konto Społeczności M5Stack
Aby uzyskać dostęp do oprogramowania M5Burner oraz UIFlow 2.0/1.0, musisz zarejestrować konto społeczności M5Stack. Należy pamiętać, że to konto można również używać do logowania się na stronę logowania M5Burner oraz UIFlow 2.0/1.0. Aby zarejestrować konto społeczności M5Stack, kliknij przycisk 'Zarejestruj się' w oprogramowaniu M5Burner, UIFlow 2.0/1.0 lub w wersji internetowej.
Programowanie i uruchamianie oprogramowania układowego
Instalacja sterownika USB
Wybór portu
Aby połączyć urządzenie z komputerem, użyj kabla USB. Następnie kliknij przycisk Burn dla odpowiedniego oprogramowania układowego w M5Burner. Następnie będziesz musiał wprowadzić informacje o Wi-Fi i wybrać odpowiedni port urządzenia.
 M5Stack Core2-5
Nagrywanie oprogramowania układowego
Podłącz urządzenie do komputera za pomocą kabla USB, wybierz przycisk Burn dla odpowiedniego oprogramowania układowego w M5Burner i wypełnij konfigurację Wi-Fi, do której urządzenie jest wstępnie podłączone, w tym Wi-Fi SSD i hasło Wi-Fi, a także inne konfiguracje urządzenia, które należy dodać lub zmodyfikować.
  
M5Stack Core2-11M5Stack Core2-7
Otwórz UIFlow
Kliknij https://uiflow2.m5stack.com, otwórz M5Stack UIFlow 2.0
Kliknij pasek urządzenia w prawym dolnym rogu, możesz znaleźć swoje nowe urządzenie w ten sposób:
  
M5Stack Core2-8
M5Stack Core2-9
Możesz teraz normalnie korzystać z M5Stack UIFlow.

Biblioteki i SDK

Biblioteki


SDK


Jak połączyć M5Stack z Arduino IDE

Połącz swój M5Stack Core2 z komputerem.
Otwórz Arduino IDE, kliknij narzędzia-Płyta-M5Stack-M5Core2
 
M5Stack Core2-13
Wybierz odpowiedni port, zmień prędkość wysyłania na 1500000
 
M5Stack Core2-14

Podstawowe przykłady programowania

Kliknij Plik-Przykłady-M5Core2, aby znaleźć podstawowe przykłady programowania.
Po zakończeniu weryfikacji możesz przesłać kod do swojego M5Stack Core2.
 
M5Stack Core2-15

Rozpakowywanie i konfiguracja

Co jest w pudełku

  • 1x Core2 Wersja 1.1
  • 1x USB Typu-C (20 cm)
  • 1x KLUCZ HEX
M5Stack Core2-16
Tył M5Stack Core2 zawiera następujące kluczowe elementy:
  • Oparty na ESP32 z wbudowanym Wi-Fi
    • 16M Flash i 8M PSRAM
  • Wbudowany głośnik, wskaźnik zasilania, silnik wibracyjny, RTC, wzmacniacz I2S, przycisk zasilania.
  • Gniazdo karty TF (do 16GB)
  • Wbudowany akumulator litowy z układem zarządzania energią
  • Niezależna mała płytka z 6-osiowym IMU i mikrofonem PDM
  • Gniazdo i piny M-Bus

M5Stack Core2-17

Po otwarciu tylnej pokrywy oznaczonej jako „Core2” po lewej stronie, znajdziesz chip MIC (SPM1423), chip IMU (MPU6886, który zawiera 3-osiowy żyroskop i 3-osiowy akcelerometr) oraz piny do połączeń.
 

M5Stack Core2-18

Oprogramowanie fabryczne M5Stack Core2

Strona Factory Firmware M5Stack Core2 zapewnia kompleksowy przegląd możliwości urządzenia. Wyświetla kluczowe informacje, takie jak układ MPU6886, zegarek czasu rzeczywistego, poziom baterii oraz różne opcje ustawień. Strona zawiera również funkcje takie jak włączanie/wyłączanie zasilania, status połączenia Wi-Fi oraz funkcję timera. Dodatkowo umożliwia wyświetlanie obrazów i muzyki przechowywanych na karcie SD oraz zapewnia wizualną reprezentację aktualnego poziomu głośności. Ta strona służy jako intuicyjny interfejs do zarządzania podstawowymi funkcjami urządzenia i monitorowania jego wydajności.
 

M5Stack Core2-19

Testowanie funkcji systemu

System obsługuje testowanie połączeń I/O, inteligentne testowanie silnika, testowanie brzęczyka oraz testowanie funkcjonalności ekranu TFT. Testy te pomagają zapewnić prawidłowe działanie wszystkich komponentów, umożliwiając użytkownikom weryfikację kluczowych funkcji i działania urządzenia.

  

M5Stack Core2-20

Obsługa Wi-Fi

Na stronie Wi-Fi M5Stack Core2 wyświetla dostępne w pobliżu sieci Wi-Fi, posortowane według siły sygnału. Użytkownicy mogą łatwo przeglądać i wybierać najlepszą sieć do połączenia, zapewniając optymalną jakość sygnału i stabilność. Ta funkcja umożliwia urządzeniu szybkie połączenie z siecią, zapewniając niezawodne wsparcie dla aplikacji IoT oraz operacji zdalnych.
 

M5Stack Core2-21

Przykłady M5Stack Core2

Projekty UIFlow

Dziś używam M5Stack 8ENCODER i M5Stack Core2, aby pokazać Ci, jak korzystać z M5Stack UIFlow

Połącz

Przede wszystkim podłącz M5Stack Core2 do komputera za pomocą kabla Type-C oraz połącz M5Stack Core2 z 8ENCODER za pomocą kabla Grove

Ponieważ jednostka 8ENCODER ma 8 kanałów, na ekranie M5Stack Core2 mamy 9 etykiet w ten sposób:
 

M5Stack Core2-22

Dodaj jednostkę

Następnie dodaj jednostkę, znajdź 8Encoder i wybierz magistralę I2C
 

M5Stack Core2-23

Konfiguracja

Inicjalizuj I2C SCL na 33, SDA na 32, częstotliwość na 100K
Inicjalizuj adres I2C enkodera8_0 na 0x41
 

M5Stack Core2-24

Pętla

Ustawienie wartości kanału 8 enkodera M5Stack
 

M5Stack Core2-25

M5Stack 8-kanałowy enkoder ustawiania koloru diody LED RGB
 
M5Stack Core2-26
Zróbmy prototyp dzwoniącego zamka szyfrowego
  
M5Stack Core2-28
Jeśli wartość kanału 1 = wartość kanału 2, wartość kanału 3 = wartość kanału 4
Ustaw tekst label8 na „Right” i głośno przypomnij nam o buzzerze
W przeciwnym razie, tekst label8 'Niepoprawny', brzęczyk cichy
Załadujmy kod i zobaczmy, co się stanie
 
M5Stack Core-29M5Stack Core2-30
I możemy obsługiwać bardziej złożoną logikę. Miłej zabawy z Twoim M5Stack Core2.

Fajne projekty DIY dla M5Stack Core2


M5Stack Core2 i Home Assistant

Integracja z Home Assistant

Ponieważ M5Stack Core2 używał chipu ESP32, możemy użyć ESPHome do połączenia M5Stack i Home Assistant.
 
M5Stack Core2-31
M5Stack Core2-32

Konfigurowanie M5Stack Core2 jako kontrolera automatyki domowej

Zainstaluj ESPHome w Home Assistant

  • Jeśli nie jest jeszcze zainstalowany, przejdź do Ustawienia Home Assistant > Dodatki > Sklep z dodatkami.
  • Wyszukaj „ESPHome” i zainstaluj go. Po zainstalowaniu uruchom dodatek.

Utwórz nowe urządzenie w ESPHome

  • Po uruchomieniu dodatku ESPHome przejdź do strony ESPHome w swojej instancji Home Assistant.
  • Kliknij Nowe urządzenie w prawym dolnym rogu, a następnie Kontynuuj.
  • Nazwij swoje urządzenie, np. „m5stack-core2”, i wybierz ESP32 jako platformę, a następnie wybierz M5Stack Core lub M5Stack Core2, jeśli są na liście (dokładna nazwa może się różnić w zależności od wersji ESPHome).

Skonfiguruj ESPHome dla M5Stack Core2

  • Oto przykładowa konfiguracja YAML, której możesz użyć dla M5Stack Core2:
esphome:
  nazwa: m5stack-core2
  platforma: ESP32
  płyta: m5stack-core-esp32

wifi:
  ssid: "Your_WiFi_SSID"
  password: "Twoje_Hasło_WiFi"

# Włącz punkt dostępowy zapasowy (portal dla gości) na wypadek niepowodzenia połączenia wifi
ap:
  ssid: "M5Stack-Core2 Fallback Hotspot"
  password: "Your_AP_Password"

logger:
api:
ota:

czujnik:
  - platforma: axp192
    adres: 0x34
    i2c_id: bus_a
    update_interval: 30s
    poziom_baterii:
      name: "Poziom baterii M5Stack Core2"

# Przykład użycia ekranu (jeśli obsługiwany w Twojej wersji ESPHome)
wyświetlacz:
  - platforma: ili9341
    model: M5STACK_CORE2
    cs_pin: GPIO5
    dc_pin: GPIO15
    reset_pin: GPIO33
    backlight_pin: GPIO32
    lambda: |-
      it.print(0, 0, id(my_text_sensor).state.c_str());

# Jeśli chcesz używać przycisków lub innych funkcji
przycisk:
  - platforma: gpio
    name: "Przycisk A"
    pin: 
      numer: GPIO39
      odwrócony: prawda
    id: button_a
  
✔ Skopiowano!
Uwaga: Dokładna konfiguracja wyświetlacza może nie być w pełni obsługiwana lub może wymagać dodatkowej konfiguracji, ponieważ pojawiły się wzmianki o ograniczonym wsparciu dla ekranu Core2 w ESPHome. Może być konieczne poszukanie wkładów społeczności lub zewnętrznych bibliotek dla pełnej funkcjonalności.

Kompiluj i wgraj oprogramowanie układowe

  • Kliknij Zainstaluj w interfejsie ESPHome, aby skompilować konfigurację YAML do oprogramowania układowego i wgrać je do M5Stack Core2. Upewnij się, że Twoje urządzenie jest w trybie programowania (często przez przytrzymanie przycisku zasilania lub resetu podczas uruchamiania).

Integracja z Home Assistant

  • Gdy urządzenie połączy się z Twoim WiFi, Home Assistant powinien automatycznie je wykryć, jeśli używasz natywnego API. Jeśli nie, możesz dodać je ręcznie w Konfiguracja > Integracje > Dodaj integrację, wyszukując „ESPHome” i wpisując nazwę hosta urządzenia lub jego adres IP.

Rozwiązywanie problemów i dodatkowe funkcje

  • Jeśli wyświetlacz nie działa lub inne komponenty, takie jak czujniki czy przyciski, nie są rozpoznawane, może być konieczne sprawdzenie forów społecznościowych lub GitHub w poszukiwaniu aktualizacji lub niestandardowych konfiguracji. Toczą się dyskusje na temat konieczności ręcznego dodania wsparcia dla niektórych komponentów Core2, takich jak układ zarządzania energią (AXP192) lub ekran.

Zarządzanie baterią

M5Stack Core2 ma wbudowany system zarządzania energią; upewnij się, że skonfigurujesz go poprawnie do monitorowania baterii i funkcji oszczędzania energii.

Komponenty niestandardowe

Dla funkcji, które nie są natywnie obsługiwane, może być konieczne stworzenie lub użycie niestandardowych komponentów albo rozważenie alternatyw, takich jak OpenHASP do sterowania wyświetlaczem.
Pamiętaj, że wsparcie ESPHome dla M5Stack Core2, zwłaszcza w zakresie wyświetlacza, może się rozwijać, więc aktualizowanie ESPHome i Home Assistant może pomóc w kompatybilności i dostępności funkcji.

Rozwiązywanie problemów i najczęściej zadawane pytania

Typowe problemy i rozwiązania

Pytanie 1: Co to jest specyfikacja z M5Stack Core2?
A1:
M5Stack Core2 to bogata w funkcje płyta rozwojowa ESP32 zaprojektowana do aplikacji IoT i osadzonych zastosowań, zasilana przez dwurdzeniowy MCU ESP32 D0WDQ6-V3 z 16MB pamięci Flash i 8MB PSRAM. Wyposażona jest w 2,0-calowy pojemnościowy ekran dotykowy, łączność Wi-Fi oraz akumulator o pojemności 390mAh zarządzany przez układ zasilania AXP192, zapewniający efektywną kontrolę mocy. Dodatkowe funkcje, takie jak interfejs USB Type-C, gniazdo karty TF, wbudowany moduł RTC, silnik wibracyjny, cyfrowy interfejs audio I2S oraz programowalne pojemnościowe przyciski dotykowe, czynią M5Stack Core2 idealnym wyborem dla deweloperów pracujących nad inteligentnymi urządzeniami, automatyką domową i interaktywnymi projektami elektronicznymi.

Q2: Jaka jest rozdzielczość wyświetlacza M5Stack Core2?
A2:
M5Stack Core2 posiada 2,0-calowy pojemnościowy ekran dotykowy o rozdzielczości 320x240 pikseli.

Q3: Co to jest baud prędkość M5Stack Core2?
A3:
Domyślna prędkość baud dla M5Stack Core2 jest zazwyczaj ustawiona na 115200 bps dla komunikacji szeregowej. Jednak można ją dostosować w kodzie do innych wartości w zależności od wymagań Twojego projektu.

Q4: Dlaczego moja karta pamięci nie jest odczytywana na M5Stack Core2 i jak mogę to naprawić?
A4:
Aby zwiększyć możliwości odczytu kart pamięci na M5Stack Core2, możesz użyć następującego kodu do skonfigurowania pinów GPIO i poprawy interfejsu pamięci:
for (auto gpio : (const uint8_t[]){18, 19, 23}) {
   *(volatile uint32_t*)(GPIO_PIN_MUX_REG[gpio]) |= FUN_DRV_M;
   gpio_pulldown_dis((gpio_num_t)gpio);
   gpio_pullup_en((gpio_num_t)gpio);
}
  
✔ Skopiowano!

M5Stack Core2-33
Ten kod konfiguruje określone piny GPIO (18, 19, 23) poprzez włączenie niezbędnych rezystorów podciągających i dostosowanie siły napędu, co może pomóc poprawić wydajność odczytu kart pamięci.

Pytanie 5: Jak wykrywamy poziom mocy core2?
A5:
Aby wykryć poziom mocy M5Stack Core2, możesz użyć następującego kodu, który wykorzystuje API Core2 do pobrania napięcia baterii:
#include 

void setup() {
  M5.begin();
}

void loop() {
  Serial.printf("Napięcie baterii: %f\n", M5.Axp.GetBatVoltage());
  opóźnienie(500);
}
  
✔ Skopiowano!

Ten kod odczytuje napięcie baterii i co 500 milisekund wyświetla je w monitorze szeregowym. Upewnij się, że zapoznałeś się z dokumentacją M5Core2 API dotyczącą bardziej szczegółowych funkcji i konfiguracji związanych z zarządzaniem energią.

Pytanie 6: Jak mogę wyświetlać zdjęcia na M5Stack Core2 używając języka C?
A6:
Aby wyświetlić 320x240 pikselowy obraz JPG o nazwie logo.jpg na M5Stack Core2, wykonaj następujące kroki:
  1. Utwórz obraz: Przygotuj 320x240 pikselowy obraz JPG o nazwie logo.jpg.
  2. Konwertuj obraz: Pobierz pliki źródłowe, rozpakuj je i otwórz folder. Uruchom skrypt .\conver.ps1 w terminalu, aby przekonwertować obraz na format binarny zgodny z Core2.
  3. Zamień dane obrazu: Po konwersji, weź powstałe dane binarne i zastąp zawartość w tablicy dostarczonego pliku źródłowego.
  4. Prześlij program: Otwórz plik drawImageData_core2_Pure.ino i wstaw przekonwertowane dane binarne do tablicy. Prześlij program do M5Stack Core2.
M5Stack Core2-34
M5Stack Core2-35
M5Stack Core2-36
Po załadowaniu programu obraz zostanie wyświetlony na ekranie, jak pokazano na przykładzie.
Upewnij się, że odwołujesz się do oficjalnej dokumentacji, aby uzyskać dodatkowe instrukcje dotyczące obsługi obrazów i ich formatów binarnych.


Wskazówki i porady dotyczące korzystania z M5Stack Core2

Ogólne wskazówki

Zarządzanie baterią
Użyj układu AXP192 do zarządzania energią. Monitoruj poziomy baterii za pomocą biblioteki M5Stack Core2 lub konfiguracji ESPHome, aby efektywnie zarządzać zużyciem energii.
Aktualizacje oprogramowania układowego
Regularnie sprawdzaj i aktualizuj oprogramowanie układowe swojego M5Stack Core2, aby korzystać z nowych funkcji, ulepszeń wydajności i poprawek bezpieczeństwa. Użyj do tego narzędzia M5Burner.
Niestandardowe logo rozruchowe
Spersonalizuj swoje urządzenie, ustawiając niestandardowe logo startowe za pomocą narzędzia M5Burner. Może to uczynić Twoje urządzenie wyjątkowym lub odzwierciedlić temat projektu.

Wykorzystanie sprzętu

Jasność ekranu
Programowo dostosuj jasność ekranu za pomocą układu AXP192, aby oszczędzać baterię. Obniż jasność podczas mniej istotnych operacji lub gdy urządzenie jest w trybie czuwania.
Używanie ekranu dotykowego
Dla bardziej interaktywnych projektów wykorzystaj możliwości ekranu dotykowego. Użyj klasy M5.Touch do wykrywania dotyku. Pamiętaj, że ekran obsługuje multi-touch, co można wykorzystać do bardziej złożonych interfejsów użytkownika.
Czujnik IMU (Jednostka Pomiaru Bezwładnościowego)
Wbudowany MPU6886 może być używany do wykrywania ruchu, sterowania gestami lub stabilizacji aplikacji kamery. Należy wziąć pod uwagę jego wpływ na żywotność baterii przy ciągłym użytkowaniu.
Karta MicroSD
Wykorzystaj gniazdo microSD do rejestrowania danych, przechowywania większych plików lub rozszerzenia pamięci dla aplikacji wymagających więcej miejsca niż zapewnia wewnętrzna pamięć flash.

Wskazówki dotyczące oprogramowania

Arduino IDE
Podczas korzystania z Arduino IDE upewnij się, że zainstalowałeś pakiet wsparcia płyty M5Stack Core2 z menedżera bibliotek M5Stack, aby uzyskać pełne wsparcie sprzętowe.
Integracja ESPHome
Jeśli integrujesz się z Home Assistant za pomocą ESPHome, użyj przykładowych konfiguracji, ale bądź przygotowany na pewne dostosowania, zwłaszcza dla komponentów takich jak ekran czy zarządzanie zasilaniem.
Tryby oszczędzania energii
Zaimplementuj tryb głębokiego uśpienia dla projektów zasilanych bateryjnie. M5Stack Core2 może się obudzić z różnych wyzwalaczy, takich jak dotyk, naciśnięcie przycisku lub timer.
Bluetooth i WiFi
ESP32 obsługuje zarówno Bluetooth, jak i WiFi. Używaj Bluetooth do niskomocowej, krótkodystansowej komunikacji lub WiFi do bardziej zaawansowanych potrzeb sieciowych, ale starannie zarządzaj ich zużyciem energii.

Pomysły na projekty

Kontroler Inteligentnego Domu
Przekształć Core2 w przenośny inteligentny kontroler domu z interfejsami dotykowymi do sterowania oświetleniem, klimatem itp.
Technologia noszona
Użyj IMU do trackerów fitness lub kontrolerów VR, wykorzystując wbudowane czujniki do analizy ruchu.
Narzędzia edukacyjne
Twórz interaktywne urządzenia edukacyjne, w których uczniowie mogą wizualnie interagować z danymi.

Rozwiązywanie problemów

Metody resetowania
Jeśli twoje urządzenie zawiesza się, pamiętaj, że z tyłu znajduje się przycisk resetowania oraz metoda resetowania przyciskiem zasilania poprzez przytrzymanie go przez około 10 sekund.
Debugowanie
Używaj wyjścia szeregowego do debugowania. Połącz się przez USB i korzystaj z narzędzi takich jak Arduino Serial Monitor lub emulator terminala, aby uzyskać informacje zwrotne z kodu w czasie rzeczywistym.
Zasoby społeczności
Społeczność M5Stack jest dość aktywna; fora, GitHub i grupy w mediach społecznościowych to świetne miejsca do rozwiązywania problemów i czerpania inspiracji.

Wniosek

Kluczowe cechy i zalety recenzji M5Stack Core2 V1.1

Kluczowe cechy

2,0-calowy pojemnościowy ekran dotykowy
Posiada 320x240 IPS LCD z trzema programowalnymi wirtualnymi przyciskami za pomocą mapowania stref gorących (FT6336U, adres I2C 0x38), umożliwiającymi dostosowaną interakcję człowiek-maszyna.
Ulepszone możliwości sensoryczne i sprzężenia zwrotnego
Wbudowany silnik wibracyjny do sprzężenia zwrotnego haptycznego i alertów.
6-osiowy IMU (MPU6886) do wykrywania ruchu oraz mikrofon PDM do wejścia audio.
Zintegrowany głośnik z wzmacniaczem I2S (NS4168) do wysokiej jakości dźwięku.
Zarządzanie energią i czasem
Układ zarządzania energią AXP2101 (sparowany z INA3221) optymalizuje zużycie energii, z niebieskim wskaźnikiem zasilania dla statusu lub funkcji niestandardowych.
Zegar czasu rzeczywistego (RTC, BM8563) z dedykowaną baterią zapasową zapewnia precyzyjne odmierzanie czasu nawet po wyłączeniu zasilania.
Bateria litowa 500mAh do pracy przenośnej.
Łączność i pamięć
ESP32-D0WDQ6-V3 z dwurdzeniowym procesorem 240MHz, Wi-Fi, 16MB Flash i 8MB PSRAM.
Gniazdo karty MicroSD (do 16GB) do rozszerzonej pamięci.
Porty USB Type-C, GROVE (I2C, UART, GPIO) oraz gniazdo M-Bus do rozbudowy.
Elastyczność rozwoju
Kompatybilny z wieloma platformami: UIFlow, MicroPython, Arduino, .NET nanoFramework oraz Zephyr RTOS.
Zawiera fizyczne przyciski, takie jak zasilanie i reset, oraz chip CH9102F USB-do-serial do niezawodnego programowania.
Dodatkowy sprzęt
Niebieska dioda LED wskaźnika zasilania, silnik wibracyjny oraz kompaktowa konstrukcja (54 x 54 x 16,5 mm) z plastikową obudową.
Zakres temperatur pracy od 0°C do 60°C, odpowiedni dla różnych środowisk.
Korzyści
  • Wszechstronność: Idealny do sterowników terminali IoT, projektów DIY, edukacji STEM oraz inteligentnych urządzeń domowych dzięki bogatemu zestawowi funkcji i możliwości rozbudowy.
  • Przyjazna dla użytkownika interakcja: ekran dotykowy i wirtualne przyciski, połączone z sprzężeniem zwrotnym haptycznym, tworzą intuicyjny interfejs dla różnorodnych zastosowań.
  • Niezawodna wydajność: RTC z baterią zapasową i energooszczędnym AXP2101 zapewniają stałą pracę, nawet w przenośnych lub niskoprądowych scenariuszach.
  • Skalowalność: Rozbudowane opcje łączności (Wi-Fi, I2C, UART) oraz kompatybilność z modułami M5Stack (z uwzględnieniem kompatybilności bazowej) umożliwiają dostosowane rozszerzenia.
  • Przyjazne dla programistów: Obsługa wielu platform i solidny ekosystem (biblioteki takie jak M5Unified) upraszczają rozwój, podczas gdy gniazdo MicroSD i możliwości audio zwiększają potencjał projektu.
Uwagi praktyczne
  • Wymaga usunięcia podstawy baterii podczas układania modułów M5; zaleca się użycie M5GO Bottom2, aby zachować pełną funkcjonalność.
  • Silnik wibracyjny może zakłócać działanie baz serii M5 Base, dlatego unikaj ich układania jedna na drugiej.
  • Nieliniowość dotyku krawędzi można rozwiązać za pomocą aktualizacji oprogramowania układowego przez M5Tool.
M5Stack Core2 V1.1 wyróżnia się jako kompaktowa, bogata w funkcje platforma, która łączy moc, interaktywność i elastyczność, czyniąc ją doskonałym wyborem dla hobbystów, edukatorów i deweloperów.

Dodatkowe zasoby

Zostaw komentarz

Twój adres e-mail nie będzie opublikowany. Wymagane pola są oznaczone *

Zarejestruj się do naszego newslettera

Uzyskaj najnowsze informacje o naszych produktach i specjalnych ofertach.