Arietta G25 – 29 GPIO z Linuksem

Artietta G25 to kolejna sprytna płytka kontrolera wielkości kciuka. Ta ma wymiary 5,3 na 2,5 cm.
Na tak małej przestrzeni znajduje się kontroler ARM A9 firmy Atmel działający z prędkością 400 MHz oraz 128 (za 20 Euro + VAT) lub 256 MB (za 30 Euro + VAT) pamięci RAM. Parametry pozwalają na uruchamianie na niej Linuksa za pośrednictwem wbudowanego czytnika kart mikro SD.

image
Zdjęcie pochodzi ze strony Acmesystems.it

Płytka wyposażona jest w dużą ilość pinów. Wyprowadzone są one na łatwe w użyciu pola lutownicze 2×20 pinów o standardowym wygodnym rastrze 2,54 mm. Można tam wlutować gniazdo lub wtyk goldpin.
Do swojej dyspozycji masz tam 29 pinów cyfrowych GPIO mających poziomy logiczne 3,3 V oraz 3 interfejsy USB.

Niektóre piny GPIO mają podwójną funkcję. Dodatkowo mogą pełnić rolę:

  • 3 interfejsów szeregowych RS232 (TTL 3,3V)
  • 2 interfejsów i2c
  • interfejsu SPI z 4 pinami CS
  • 4 wejść analogowych o rozdzielczości 10 bitów
  • Interfejsu i2s do generowania cyfrowego wyjścia aufio
  • 4 wyjść PWM
  • 4 interfejsów 1-Wire

Płytka zasilana jest przez wbudowane gniazdo mikro USBm piny 5V lub 3.3V. Gniazdo USB pozwala także na dostęp do Linuksa uruchomionego na płytce. Dodatkowo jest wejście VBat umożliwiające podtrzymanie zegarka za pomocą baterii, gdy płytka nie jest zasilana.

Dodatkowe piny pozwalają dołączyć moduł Wi-Fi, kosztujący 7 Euro + VAT.

image
Zdjęcie pochodzi ze strony Acmesystems.it

Wszystkie funkcje i wyprowadzenia są udokumentowane na stronie producenta. Płytkę można programować w każdym języku programowania dostępnym na Linuksa i obsługującym procesory ARM. Np. C++, Python, NodeJs, Java, PHP, Bash. Zgodnie z ideą U***a wszystkie interfejsy płytki są plikiem.

sprae

Nowe OpenWRT dla Arduino Yun

OpenWRT to dystrybucja Linuksa działająca na płytce Arduino Yun. W nowej wersji (1.4.2) niewiele się zmieniło. Poprawiono kilka błędów i dodano repozytorium pakietów obsługujących alljoyn – “korpo-protokół” dla urządzeń Internet Of Things.

Aktualizuje się cały obraz systemu. Zatem po nim tracisz wszystkie ustawienia, doinstalowane pakiety i dane w pamięci płytki. Jeśli rozszerzałeś pamięć płytki na kartę SD, to też tracisz.TL;DR – Po aktualizacji wszystko konfigurujesz od nowa.

Zwykle aktualizacja polega na tym, że ściągasz plik zip ze strony Arduino:

OpenWRT dla Arduio Yun 1.4.2

Rozpakowujesz i wrzucasz do katalogu głównego karty microSD, której używasz w Yun.

Po uruchomieniu Yun na jego stronie głównej otrzymasz informację, że odnaleziono obraz nowego systemu i jak klikniesz przycisk to zostanie zaktualizowany. I tyle.

Aktualizacja trwa jakieś 3 minuty i w tym czasie mruga dioda WLAN na płytce.

Ja miałem pod górkę, bo nie mam pod ręką czytnika microSD. Mamy do czynienia z Linuksem. Wszystko można rozwiązać na 10 sposobów.

Zalogowałem się przez ssh do płytki. Użytkownik: root, hasło takie jakie nadałeś płytce na stronie głównej.

W w konsoli będą potrzebne polecenia wget i unzip. Jeśli ich nie masz to doinstalowujesz za pomocą opkg.

opkg update
opkg install wget
opkg install unzip

Następnie przechodzisz do katalogu karty SD.

cd /mnt/sd

I ściągasz tam zip obrazu systemu

wget -c http://downloads.arduino.cc/openwrtyun/1/YunSysupgradeImage_v1.4.2.zip

Po ściągnięciu obraz trzeba rozpakować

unzip YunSysupgradeImage_v1.4.2.zip

I usunąć plik zip. Bo nie będzie już potrzebny

rm YunSysupgradeImage_v1.4.2.zip

Po wejściu na strone główną twojego Arduino Yun, zobaczysz że obraz jest gotowy do instalacji.

Tu moje logi.

root@Arduino:/mnt/sda1# wget -c http://downloads.arduino.cc/openwrtyun/1/YunSysu
pgradeImage_v1.4.2.zip
--2014-09-05 14:41:13--  http://downloads.arduino.cc/openwrtyun/1/YunSysupgradeImage_v1.4.2.zip
Resolving downloads.arduino.cc... 2607:f298:4:143:acce:55:0:1, 64.90.32.4
Connecting to downloads.arduino.cc|2607:f298:4:143:acce:55:0:1|:80... failed: Address family not supported by protocol.
Connecting to downloads.arduino.cc|64.90.32.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8867590 (8.5M) [application/zip]
Saving to: `YunSysupgradeImage_v1.4.2.zip'

100%[======================================>] 8,867,590   37.0K/s   in 3m 47s

2014-09-05 14:45:01 (38.2 KB/s) - `YunSysupgradeImage_v1.4.2.zip' saved [8867590/8867590]


root@Arduino:/mnt/sda1# opkg update
Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/attitude_adjustment.
Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.sig.
Signature check passed.
root@Arduino:/mnt/sda1# opkg install unzip
Installing unzip (5.52-1) to root...
Downloading http://downloads.arduino.cc/openwrtyun/1/packages/unzip_5.52-1_ar71xx.ipk.
Configuring unzip.
root@Arduino:/mnt/sda1# unzip YunSysupgradeImage_v1.4.2.zip
Archive:  YunSysupgradeImage_v1.4.2.zip
  inflating: openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin
root@Arduino:/mnt/sda1# rm YunSysupgradeImage_v1.4.2.zip

sprae

PenguPilot – Linux kieruje dronami

Jeśli chcesz stworzyć wielowirnikowego drona na Raspberry PI to właśnie nadarzyła się okazja.

PenguPilot to zestaw programów, które można uruchomić na płytkach z kontrolerami obsługującymi Linuksa. Oprogramowanie pozwala na stabilizację drona, automatyczne nawigowanie nim po wyznaczanych celach, gromadzenie telemetrii (czarna skrzynka), zdalne sterowanie oraz konfigurację.

Wszystkie elementy PenguPilota są modułowe i otwarte, zatem każdy może je dostosować do swoich potrzeb. Do prawidłowego działania wymagane są poprawki na jądro pozwalające na pracę w czasie rzeczywistym (PREEMPT/PREEMPT_RT).

Obecnie wspierane płytki to:

  • Gumstix
  • ODROID U3
  • Respberry PI

Gumstix Overo Quadrotor running PenguPilot on Linux from Tobias Simon on Vimeo.

Jak widać PenguPilot świetnie radzi sobie ze stabilizacją drona.

Cały projekt bardzo mi się spodobał. Ma świetną infrastrukturę i budowę. Każdy fan Linuksa i modeli latających może się z niego wiele nauczyć. Jeśli połączyć go z poprzednio opisywanym projektem transmisji obrazu z nałożoną telemetrią to byłby wypas :-).

Oczywiście części do swojego wielowirnikowca kupisz w Nettigo

sprae

Arduino i Linux

Sprzedawane obecnie Arduino UNO mają już fabrycznie załadowany firmware na ATmega8u2 który działa poprawnie z Linuxem – tak więc nie ma już konieczności zgłaszania fw do upgrade.