Spis treści:
„Obfitość mieszkań może zapewnić tylko nowoczesny przemysł, fabryczna masowa produkcja domów. Brak takiego przemysłu stanowił jedno ze źródeł mieszkaniowych niepowodzeń. Jego utworzenie ma stanowić podstawę sukcesu.
Idea jest prosta, choć kosztowna. Polega na przeniesieniu pod fabryczny dach precyzyjnego wytwarzania niemal wszystkich elementów, z jakich składa się dom. Bardziej dowierza się tutaj dozownikom i kontrolnym zegarom niż rzemieślniczemu doświadczeniu. W kraju pracuje już kilka fabryk domów…”
Transkrypt fragmentu programu „Skąd mieszkanie” z 1972 roku, przygotowanego przez Wytwórnię Filmów Oświatowych.
Uruchamiając odbiornik telewizyjny na początku lat 70. XX wieku, widzowie mogli natknąć się na program opisujący problemy mieszkaniowe, z jakimi borykała się współczesna Polska. Tych było zbyt mało, a popyt spowodowany wzrostem demograficznym i migracjami ludności do większych ośrodków miejskich, był problemem, który spędzał sen z powiek partyjnym decydentom.
Dalej jednak, w duchu gierkowskiej propagandy sukcesu, wróżono świetlaną przyszłość opartą na budownictwie z prefabrykatów. Bloki mieszkalne, budynki użyteczności publicznej, a w konsekwencji i całe dzielnice miały być składane na placu budowy z wcześniej przygotowanych prefabrykatów.
W ówczesnym budownictwie dość łatwo doszukać się analogi z elektroniką. Tak jak budynek rozłożyć możemy na wiele odrębnych, mniejszych elementów, tak też sprzęty elektroniczne składają się z mniejszych klocków. Rezystory, kondensatory, tranzystory, czasem jakiś mikrokontroler – wszystko to trzeba złożyć w całość i odpowiednio połączyć, tak aby uzyskać funkcjonalne urządzenie.
Na myśl nasuwa się jednak pytanie, czy to wszystko mogłoby być prostsze? Czy podobnie jak socjalistyczne budownictwo bazujące na nieco bardziej złożonych prefabrykatach, tak i obwody elektroniczne mógłby być zbudowane z elementów nieco większych, niż pojedyncze komponenty. Tutaj do gry wkracza M5Stack.
Elektroniczne prefabrykaty
Choć M5Stack bywa nazywane serią konkretnych elementów, to w mojej opinii nieco lepszym określeniem będzie tutaj pewien ekosystem. Tak jak w idei socjalistycznego budownictwa mieszkańcy nie musieli opuszczać dzielnic swojego zamieszkania, tak tutaj w teorii również nie musimy korzystać z żadnych dodatkowych elektronicznych elementów. M5Stack dostarcza nam wszystko, co będzie potrzebne – moduły bazowe, akcesoria i peryferia. Większość produktów przypisać możemy do kilku konkretnych kategorii, którym warto poświecić nieco uwagi.
Seria Core
Moduły opisywane jako seria Core to najbardziej rozbudowana i w zasadzie flagowa linia produktów M5Stack. W porównaniu do innych podzespołów elementy te charakteryzuje nieco większy rozmiar i największa paleta możliwości. Bardzo często w ramach pojedynczego urządzenia otrzymujemy tak naprawdę kompletny zestaw z mikrokontrolerem, wyświetlaczem i szeregiem dodatkowych czujników. Moduły te mogą bazować na mikrokontrolerach ESP32, które kuszą możliwościami bezprzewodowej komunikacji, jak i STM32, które sprawdzą się w bardziej zasobochłonnych aplikacjach. Poza tym warto wspomnieć, że niektóre z urządzeń Core zintegrowane są z modułami Raspberry Pi Compute Module, co jeszcze bardziej poszerza ich możliwości.
Seria Atom
M5Stack Atom to moduły, które powstały w opozycji do serii Core, przede wszystkim pod względem rozmiaru. Jak nietrudno się domyślić są to najmniejsze komponenty oferowane przez tego producenta. Ich mózgiem jest mikrokontroler ESP32, z którym połączyć możemy się dzięki złączu USB, a wbudowany port Grove pozwoli podłączyć do urządzenia dodatkowe peryferia.
Seria Stick
Seria Stick to pewien kompromis między modułami Core i Atom. Urządzenia te są nieco większe od miniaturowych modułów, ale jednocześnie prostsze niż flagowy sprzęt. Tutaj również zastosowano doskonale znane mikrokontrolery ESP32 wraz ze złączem USB i Grove, ale też opcjonalnym złączem goldpin. Poza tym urządzenia mogą być wyposażone w dodatkowe elementy, takie jak czujniki czy nadajniki IR charakterystyczne dla większej serii Core.
Seria Stamp
M5Stack Stamp podobnie jak seria Atom to miniaturowe moduły przeznaczone przede wszystkim do budowy urządzeń Internetu Rzeczy (IoT). W porównaniu do innych produktów niektórzy z przedstawicieli tej serii wyposażeni zostali w klasyczne złącza lutownicze, pozwalające umieścić moduł na własnym laminacie. Nie znajdziemy tutaj zbyt wielu peryferiów, ponieważ główne moduły są po prostu mikrokontrolerami ESP32 umieszczonymi w niewielkiej obudowie. Seria ta to ukłon w stronę osób, które mimo całego ekosystemu M5Stack nadal mają ochotę coś polutować.
Choć wspomnieć warto też o pewnych wyjątkach. W ramach tej serii dostępne są moduły dedykowane stricte dla rozwiązań inteligentnego domu, takie jak inteligentne pokrętło bazujące na ESP32 z wbudowanym okrągłym wyświetlaczem i szeregiem wyprowadzeń umieszczonych na spodzie urządzenia.
Akcesoria i moduły rozszerzeń
Ilość peryferiów przygotowanych przez M5Stack jest naprawdę ogromna. Można śmiało powiedzieć, że jeśli potrzebujemy jakiś czujnik, to istnieje spora szansa, granicząca z pewnością, że ten istnieje w tym ekosystemie. Czujniki środowiskowe, odległości, adaptery komunikacyjne, zewnętrze wyświetlacze, moduły diodowe, huby połączeniowe, wszystko to dostępne jest w ramach rozszerzeń dedykowanych dla M5Stack, dzięki którym z powodzeniem zrealizujemy nawet najbardziej wymyślny projekt.
Osiedlowe szlaki komunikacyjne
Moduły M5Stack z racji swojej budowy, czyli wykorzystania we większości urządzeń mikrokontrolera ESP32 wspierają kilka rodzajów programowania. Klasycznym już sposobem, którego nie może zabraknąć w żadnej współczesnej platformie do prototypowania, jest wsparcie dla Arduino IDE. M5Stack udostępnia swoją bibliotekę płytek, dzięki czemu można pracować z nimi, jak z klasycznymi modułami Arduino. Poza tym wspomnieć trzeba też o kompatybilności z PlatformIO i ESP-IDF, jest to już konfiguracja na nieco niższym poziomie sprzętowym, jednak nic nie stoi na przeszkodzi, aby traktować M5Stack po prostu jako dostawcę własnych urządzeń wyposażonych w ESP32.
Jednak mimo klasycznych sposobów konfiguracji M5Stack znana jest przede wszystkim z własnego środowiska, jakim jest UIFlow. Jest to graficzne IDE, które bazuje na programowaniu blokowym, które zamieniane jest automatycznie na kod MicroPython. W środowisku, które działa również bezpośrednio w przeglądarce tworzymy graficzną interpretację projektowanego rozwiązania, łącząc ze sobą gotowe bloki odpowiadające konkretnym funkcjom. Na ich podstawie, bez kompilacji generowany jest skrypt w MicroPythonie, który następnie trafia do pamięci modułu z serii Core czy też Stamp. Tam uruchamiany jest w czasie rzeczywistym, ponieważ w przeciwieństwie do klasycznego języka C, Python i pokrewne mu rozwiązania nie wymagają bezpośredniej interpretacji na zrozumiały dla procesora kod maszynowy. Takie rozwiązanie jest sporą zaletą zwłaszcza w kontekście łatwości prototypowania, ale trzeba pamiętać, że kod Pythona zawsze będzie wolniejszy od rozwiązania w przygotowanego w C. We większości zastosowań nie będzie mieć to znaczenia, ale w bardziej wymagających aplikacjach może to być problemem.
Oczywistą zaletą UIFlow jest jego prostota, przez co M5Stack w połączeniu z graficznym IDE to świetna platforma edukacyjna. Dzięki niej tak naprawdę tylko w kilku krokach można przygotować gotowy projekt obsługujący dowolny czujnik i wyświetlający generowane przez niego dane na wyświetlaczu. Takie rozwiązanie jest kuszące zwłaszcza dla młodszych adeptów sztuki elektroniki i programowania, ale również dla bardziej zaawansowanych użytkowników M5Stack może być świetną platformą do budowy szybkich prototypów.
Jak pracuje się z M5Stack?
To, co charakteryzuje moduły M5Stack to przede wszystkim prostota użytkowania. Nie musimy tutaj łączyć niczego na płytce stykowej, zastanawiając się, który z pinów odpowiada za zasilanie, a który służy do komunikacji. Korzystając z gotowych przewodów i portów, praktycznie eliminujemy do zera możliwość niepoprawnego podłączenia konkretnych modułów, czy też ich przypadkowego uszkodzenia. Co więcej, każde z urządzeń umieszczone jest w dedykowanej obudowie, przez co potencjalne ryzyko uszkodzeń jest jeszcze mniejsze. Cała nasza uwaga może być skupiona tylko i wyłącznie na aspektach programowych.
W obecnych czasach wszechobecnej już sztucznej inteligencji, która całkiem dobrze radzi sobie z generowaniem klasycznego kodu, przygotowywanie projektów z użyciem interfejsu blokowego to swego rodzaju ciekawy powrót do klasycznej formy programowania. Sam aktualnie dość często w swojej pracy korzystam z AI, które jest po prostu szybkie i we większości przypadków poprawne pod względem struktury generowanego kodu. Zabawa z M5Stack była ciekawym uczuciem, w pewien sposób powrotem do klasycznego przygotowania kodu. Jest spora zaleta, zwłaszcza jeśli ktoś dopiero teraz zaczyna swoją przygodę z programowaniem, ponieważ nie jest sztuką przygotować odpowiedni prompt, którego efektem będzie działający kod, prawdziwe programowanie to zrozumienie tego, co wygenerowała sztuczna inteligencja.
W kilku słowach podsumowania można potwierdzić tezę, że M5Stack pozwala budować elektroniczne projekty z tytułowych „prefabrykatów”, gotowych modułów, które po połączeniu staną się w pełni funkcjonujący urządzenie. Ekosystem ten jest niezwykle przyjazny i prosty w użyciu, przez co świetnie sprawdzi się w zastosowaniach z dziedziny edukacji i co więcej, wymagać będzie rzeczywistego zrozumienia projektowanego rozwiązania i kodu, a nie tylko przygotowania odpowiedniego polecenia tekstowego.
Źródła:
- https://docs.m5stack.com/en/start
- https://docs.m5stack.com/en/core/basic
- https://openelab.io/pl/blogs/learn/what-is-m5stack-and-how-to-use-it?srsltid=AfmBOooNwApOrTSXxjn7WgFi6bMq_Ngs-_mnYUZB8zXLBfR8FeW9wI1C
Jak oceniasz ten wpis blogowy?
Kliknij gwiazdkę, aby go ocenić!
Średnia ocena: 5 / 5. Liczba głosów: 1
Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.
