Iskoristili smo novu platformu Radxa Cubie A5E sa Debian 12 na njoj kako bi ispričali neke od osnova računarske automatizacije na SBC uređajima. Radxa Cubie A5E se oslanja na Allwinner A527 SoC sa osam ARM Cortex-A55 jezgra i više je nego dovoljna platforma za ovu primenu. SBC ima prihvatljivu cenu, a može se dobiti i besplatno u toku trajanja promocije otvaranja Allwinner kompanije prema zajednici otvorenog hardvera i softvera, o čemu smo pisali u recenziji gde se i nalazi link.
Node-RED na Radxa Cubie A5E
Node-RED je softverski paket koji se može instalirati na velikom broju arhitekturno različitih računara i služi za prikupljanje, obradu i vizuelizaciju podataka u realnom vremenu. Podaci o kojima govorimo mogu biti vrednosti očitane sa senzora, korisnički unesene informacije ili vrednosti generisane od strane samog računara na kome se pokreće Node-RED – poput vremena sa RTC-a.
Instalacija Node-RED okruženja na Radxa Cubie A5E sa Debian 12 je jednostavna i izvodi se u dva koraka. Prvi bi trebao biti instalacija neophodnog softvera.
sudo apt install build-essential git curl
A nakon toga se prelazi na sam Node-RED.
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Nakon instalacije, Node-RED se pokreće ili iz programskog desktop menija ili iz terminala node-red-start komandom. Panelu se zatim pristupa na lokaciji:
http://<hostname>:1880

MQTT broker na Radxa Cubie A5E
MQTT je jedan od najprihvaćenijih današnjih protokola za prenošenje poruka u IoT-u (Internet of Things). Dizajniran je da što manje opterećuje hardver, te se može primeniti i na veoma slabim mašinama. U pitanju je takozvani publish/subscribe transport poruka, gde se veći broj uređaja povezuje sa glavnim serverom formirajući mrežu pri tom koristeći njene minimalne tehničke resurse. Na glavnom računaru se nalazi MQTT server koji upravlja protokom i prikuplja podatke. Koristi se pre svega u industriji, ali vrlo često i u mejkerskim projektima sa većim brojem udaljenih uređaja. Najčešće su u pitanju senzori, signalne jedinice i aktuatori.
Instalacija MQTT klijenta i servera je veoma jednostavna.
sudo apt install mosquitto mosquitto-clients
Zatim kreiramo Mosquitto korisnika:
sudo mosquitto_passwd -c /etc/mosquitto/.passwd RadxaA5E
Nakon toga kreiramo i konfiguracioni fajl editorom (mi smo koristili nano).
sudo nano /etc/mosquitto/conf.d/auth.conf
U fajl upisujemo sledeći sadržaj, gde definišemo listener na 1883 portu:
listener 1883
allow_anonymous false
password_file /etc/mosquitto/.passwd
Najzad pokrenemo MQTT server.
sudo systemctl restart mosquitto
Elementrani primer MQTT & Node-RED na Radxa Cubie A5E
Da bi testirali naš sistem kreirali smo jedan vrlo jednostavan primer. Za ulaz smo odredili vremenske marke koje su se slale na topik test/RadxaA5E. Vidimo da se MQTT server nalazi na localhost:1883 kako smo i definisali ranije. Listener sluša na tom istom portu i javlja da je poruka stigla, što vidimo u Node-RED debug prozoru. Poruka „Message to Node-RED“ se pojavljuje tek kada smo listener-u dodeliti odgovarajući topik koji treba da prati i poslali poruku Node-RED aplikaciji iz terminala. Pogledajte glavnu sliku ovog teksta.

Uradili smo još jedan mali korak u ovoj „edukativnoj“ aplikaciji time što smo MQTT publisher izlaz na topiku test/RadxaA5E postavili da bude i MQTT ulaz koji prima poruku. Poruka koja se šalje je vremenska marka i ona se pojavljuje na svake dve sekunde u desnom debug prozoru. Podešavanjem repetitivnog generisanja vremenske marke (timestamp) na dve sekunde, obezbedili smo i ujednačeno prikazivanje vremena.

Cilj ovog teksta je dvojak. Prvi je da čitaocima koji nisu do sada koristili Node-RED/MQTT kombinaciju pokažemo da je to veoma jednostavno, a da onima koji nisu ni znali za ovaj način komunikacije damo ideje i smernice u kom pravcu da dalje istražuju. Obratite pažnju na nazive dva sajta u tabovima pretraživača na sve tri slike ovog teksta, koji bi mogli da vam budu dobar putokaz.
Drugi cilj je bio da pokažemo da i neobične SBC ploče, sa potpuno novim SoC-evima, mogu poslužiti za edukaciju i otkrivanje ogromnog sveta koji postoji i pored par mainstream platformi o kojima „svi sve znaju“ kao što su: Raspberry Pi, Arduino i njima slične.