Tekstovi sa našim videom
Tekstovi sa našim videom
SK LABS
M5Stack Core2
Slaganje cigala i u mreži
D. PETROVIĆ
1. januar 2023.

M5stack je firma koja se bavi proizvodnjom hardvera i softvera u IoT svetu. Najpoznatiji su po njihovoj seriji uređaja koji mogu da se slažu jedan na drugi (stack - otuda i naziv). To mogu da budu mikrokontrolerske ploče, ploče sa ekranima, senzorima i slično. Postoji više ovakvih rešenja koja se razlikuju po dimenzijama, snazi i mogućnostima hardvera (stack, stick, atom). Zajednički im je princip slaganja jedno na drugo. Na taj način mogu da se dobiju gotova rešenja za različite zahteve i projekte. Mi smo od M5Stack dobili Core2, uređaj koji je sam sebi dovoljan.

Core2 oduševljava time u kojoj je meri je M5Stack kreirao upotrebljiv i hardver i softver...

Core2 je uređaj prilično malih dimenzija, sa nekih 54×54×16 milimetara, spakovan u belo plastično kućište. Srce sistema čini Espresifov ESP32-D0WDQ6-V3 mikrokontroler. Dvojezgarni 32-bitni XtensaLX6 čip kuca na 240 megaherca. M5Stack je dodao malo memorije da se nađe, 16 megabajta fleša i osam megabajta PSRAM-a. S obzirom na to da ovde ESP32 nije korišćen u formi modula, proizvođač je imao mogućnost izbora za dizajn antene, te se odlučio za 3D antenu, kao svakako bolje rešenje od štampane. Sam ESP32 može da se poveže na Wi-Fi i Bluetooth (naravno, samo na jedan radio u jednom trenutku, oba koriste istu antenu).

Za programiranje, ali i napajanje, tu je USB-C, gde se za komunikaciju sa računarom koristi CH9102F UART, uz strujna kola za automatsko spuštanje korisničkog programa. Na ploči se nalazi i jedan JST konektor za istu svrhu. Podsećamo, M5Stack može da se naslaže, a USB interfejs može kablom da se odvuče dalje. Core2 može da radi i na baterije i za divno čudo, dolazi sa jednom Li-Ion od 390 miliamper-časova, integrisanom u donji sivi poklopac kućišta. Za bateriju je zadužen AXP192, programabilno strujno kolo koje se sa ESP32 povezuje putem I2C interfejsa. Ovaj čip kontroliše potrošnju struje i obaveštava o stanju preko PWR LED. Takođe, omogućava da se uređaj softverski isključi. Kao Boost konverter, tu je SY7088. Na kućištu su izvedena dva tastera, ’RST’ i ’PWR’, gde je ovaj potonji povezan sa AXP192. Inače, Core2 kućište je pričvršćeno inbus šrafovima, a odgovarajući ključ se, uz data-kabl, dobija u pakovanju.

Core2 dolazi sa pregršt funkcija, a donji poklopac dolazi sa nalepnicom na kojoj je, iako sitno, ipak jako čitko obeležen svaki aspekt ovog uređaja, što uključuje i pinout, kao i druge oznake. Ako će Core2 služiti kao sat, tu je BM8563 RTC koji se sa ESP32 povezuje putem I2C interfejsa. Sa ovim RTC se do sada nismo susretali, a biblioteke za Arduino IDE postoje. Tu su, dalje, slot mikro-SD kartice, vibrirajući motor, kao i zvučnik. Zvučnik od jednog vata stoji ispred NS4168 I2S audio-drajvera i ima odličan zvuk. Motorčić je, pak, direktno povezan sa AXP192. AXP192 ima mnogo veću ulogu u Core2, gde mnogi EN(able) pinovi idu ka njemu. To se odnosi i na NS4168, BM8563, pa čak i sistemsku LED.

Ipak, zvezda večeri je svakako dvoinčni ekran u boji sa integrisanim kapacitivnim digitajzerom (FT6336U). Ekran ima rezoluciju od 320×240 piksela, a pogoni ga ILI9342C drajver. Sa prikazom na ekranu smo zadovoljni; ne može da se poredi sa ekranima mobilnih telefona, ali za ovu namenu je odličan. Ukoliko se desi da kalibracija ekrana i osetljivost dodira nije dobra, sa zvaničnih DOCS stranica se može preuzeti M5TOOL za nadogradnju firmvera. Ispod samog ekrana nalaze se tri jasno obeležena polja osetljiva na dodir, koja mogu da se programiraju po želji.

Core2 dolazi sa dva porta za proširivanje. Manji bočni četvoropinski Grove, zapravo, I2C. Grove je varijanta Seeedstudia, kao što su QWIIC, STEMMA, easyC i slično. Međutim, za razliku od nabrojanih, Grove je standardizovan sa mnogo širim razmakom pinova, te konektori, bez obzira na pinout, nisu kompatibilni (a nije ni pinout). Sa donje strane nalazi se poveći 2×15 ženski header, na kome su izvedeni neiskorišćeni pinovi sa ESP32. Sve oznake su jasno ispisane sa donje strane, a preko 5V pina Core2 može da se napaja regulisanim naponima. Ovaj header se i koristi za slaganje dodatnih ploča, a one mogu da budu bilo kakve namene. Uz Core2 se dobija jedna manja pločica (M5GOBottom2) koja se savršeno uvlači u samo kućište, te deluje kao poklopac ovog headera. Na njoj se nalaze MPU6886 i SPM1423. Prvi je senzor za praćenje pokreta koji kombinuje akcelerometar i žiroskop u po tri ose. Drugi je mikrofon.

Za sve M5Stack ploče postoji izvorna podrška u Arduino IDE iz ESP32 paketa podrške. Za kompletan hardver postoje biblioteke za Arduino IDE. Proizvođač, ipak, predlaže da se doda posebna podrška kroz JSON paket: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json. Na ovaj način će manje boleti glava prilikom programiranja i odnosa hardvera unutar Core2. Isto se odnosi i na skup biblioteka za korišćeni hardver koji se dodaje kroz Include Library -> Manage Libraries...: M5Core2. Spisak biblioteka koje će se instalirati je poveći. Upravljanje hardverom delimo na pet segmenata: AXP192, CORE2 LCD, Button, TOUCH i RTC, a za svaki od njih dostupne su dobro dokumentovane biblioteke. Recimo, obično „Zdravo Svete” ispisuje se sa svega par linija kôda:

#include <M5Core2.h>

Void setup(){

M5.begin();

M5.Lcd.print("Hello World!");

}

Void loop(){

}

Grafički API ne prati, nama dobro poznati, AdafruitGFX, ali je jako dobro dokumentovan i dozvoljava mašti da se razmaše. Mogu se iscrtavati razna geometrijska tela, ali i bitmap sa mikro-SD kartice. DOCS stranice su vrlo dobro dokumentovane i ovde stvarno nemamo šta da zamerimo.

Arduino sistem nije jedino mesto odakle treba početi programiranje ovog uređaja. M5Stack predlaže još UIFlow, MicroPython i .NET nanoFramework. MicroPython nema namenskog prevodioca, već može da se koristi neki generic za sam ESP32. Ovaj poslednji način nam je nepoznanica i sa njim se nismo susretali. Ipak, najzanimljiviji nam je svakako UIFlow (www.flow.m5stack.com). Ovaj „programski jezik” je, zapravo, jezik „blokova” i „cigala”. Ako se sećate, kada smo pisali o BBC micro: bit (SK 11/2021, i.sk.rs/30356) i MakeCode, sa ovim ovde ima dosta sličnosti. Ili MIT App Inventor. U pitanju je vizuelno slaganje blokova, ali, ipak, iza svega stoji Python. U gornjoj traci sa alatkama, pored naziva projekta, stoji tab za prebacivanje editora iz „sveta cigala” u „svet zmija”. Pre bilo kakvog programiranja, potrebno je preuzeti alat M5Burner kojim ćemo u Core2 uneti neophodan firmver i interfejs za rad sa „ciglama”, kao i podatke naše lokalne mreže. Znamo da se pri spuštanju korisničkog programa ovi parametri ne brišu. M5Burner će, pored unosa parametara, prikazati i API ključ koji nam je jako bitan za uspostavljanje veze između UIFlow i Core2.

Da nastavimo sa UIFlow. Gornja traka UIFlow sadrži razne alatke i prečice. Tu se, između ostalog, može otvoriti novi projekat, snimiti postojeći i slično. Ipak, najbitniji je Settings, gde se bira uređaj, port, ali i unosi API ključ. Nakon toga, možemo da biramo da li ćemo Core2 da povežemo sa računarom kablom ili ćemo da ga programiramo bez povezivanja sa njim. Da, Core2 može da se programira Over the Air (OtA), nešto nalik na CodeGrip iz MikroElektronike (iako je CodeGrip, ipak, nešto drugo). Uključen Core2 na ekranu prikazuje tri opcije: App, UIFlow i Setup. Nas interesuje ovaj drugi, gde dobijamo odabir načina programiranja, USB ili Wi-Fi. Biramo ovo drugo i odvajamo USB kabl od Core2. Za pakovanje „blokova” i „cigala” postoji detaljan tutorial na DOCS stranicama, te ga nećemo pojašnjavati. Sam interfejs UIFlow sastoji se iz levog dela, koga možemo nazvati grafičkim drag’n’drop dizajnerom ekrana, srednje trake sa osnovnim blokovima koje, naprosto, prevlačimo u treći desni deo, to jest, editor. Nakon „zidanja”, sa Run se „cigle” spuštaju na Core2 u vremenu koje se jedva meri sekundom.

Mi smo, naprosto, oduševljeni time u kojoj je meri je M5Stack kreirao upotrebljiv i hardver i softver. Rezultat truda je evidentan. Zanimljivo je i to da se, konkretno, Core2 može direktno koristiti kao gotov uređaj, bez ikakve dorade. Recimo da prikazuje podatke sa servera i slično. Ne treba čak ni kućište da mu se obezbedi. Jasno je da se olako može naslagati po potrebi. Zanimljivo je i to što se može programirati bilo gde da se nalazi, dokle god je povezan sa internetom. Od nas, apsolutno, sve preporuke.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
DECEMBAR 2023
Microsoft Windows 11 23H2
Sveže oprani Prozori
Windows Copilot, ugrađeni AI pomoćnik, već sada je daleko više od toga što je Cortana ikad bila i mogla da bude...
Asus ROG Maximus Z790 Formula
Hladna zimi, hladna leti
Uz Raptor Lake Refresh generaciju Intelovih Core procesora paralelno je „osvežena” i ponuda modela matičnih ploča...
Apple Watch Ultra 2 i Apple Watch Series 9
Ovogodišnji „ vršioci dužnosti”
Oba sata dolaze sa preinstaliranim WatchOS-om 10.x i to je jedna od značajnih novina...
Asus ROG Ally Z1 Extreme
Saveznik je stigao!
Ovo je Windows PC, oličen u formi ručne igračke konzole, što ga već na prvu loptu razlikuje od najvećeg konkurenta, Valveovog Steam Decka...
Estetska vizija Pavela Surovog
Arhetipsko kulturno nasleđe i AI
Kako to izgleda kad AI u svoje ruke uzme neko ko i te kako ume da ga iskoristi kao alatku?
Razvoj traktorskog snopa
Svemirski čistač
Naučnici su na korak od stvaranja tehnologije koja je donedavno bila sastavni deo naučne fantastike...
Samsung Galaxy Tab S9 FE+
Povoljan kvalitet
Uređaj laserski fokusiran na zonu gde se preklapaju vrh srednjeg dela tržišta i početak onog najvišeg...
Borba YouTubea protiv adblockera
Reklamokalipsa YouTubea
Alphabet očekuje da mu se vrati uloženo, što je sasvim normalno, ali sam kvalitet usluge na svim nivoima opada u svim Googleovim proizvodima...
Regulacija kripto-trgovanja
Kripto-tržište u paklenoj kuhinji
Tržište kripto-valuta i srodnih finansijskih instrumenata pretrpelo je još jedan veliki i razočaravajući potres...
Alan Wake II
Ovo je hrabar, na momente lud i superpretenci-ozan, ali nikada dosadan eksperiment kombinovanja naracije i gejmpleja...
The Talos Principle 2
Bolju, impresivniju, zarazniju i produkcijski napucaniju glavolomku u ovome trenutku nećete naći...
Call of Duty: Modern Warfare III
Kampanja je kratka, multiplayer recikliran, a glavna novost je zombi režim DMZ, posuđen iz Warzonea...
© 2023 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama