Galileo – dalsze postępy w pracy….

galileo_hardwareCzy wiecie, co to dioda? Pewnie część czytelników powie: pewnie świeci i już. A ileż można radości mieć z tego prostego faktu, że zaświeciliśmy diodę.

Dzisiaj od rana…

walczyłem dalej z moim projektem. Od ostatniego wpisu niby niewiele się zmieniło, ale jednak dla mnie był to okres wytężonej pracy. Testowałem różne możliwości konfiguracji systemu Debian/GNU Linux dla Galielo, czego wynikiem jest przygotowany obraz systemu dla karty SD o rozmiarze 2 GB (jeśli ktoś chce, proszę bardzo, do pobrania z mojej strony). Dodatkowo przetestowałem instalację serwera WWW o wdzięcznej nazwie lighttpd – zajmuje całe 30 MB RAM (tak, tak, 30 MB – ale całe Galileo ma 256 MB, więc trzeba uważać, co się wybiera do działania.

Teraz przyszedł czas na to, aby zainstalować Pythona (mój ulubiony język programowania), dodatkowo potrzebuję też biblioteki do obsługi wejść/wyjść Arduino, aby z poziomu Pythona móc nimi sterować. Na szczęście, jest oczywiście projekt o licencji MIT (a więc wolny i otwarty) o nazwie pyGalileo. Też zainstalowałem go, tak więc podstawowe klocki do budowy już miałem.

OK, zatem należy spróbować… najpierw tworzę sobie schemat – oczywiście do tego celu używam Wolnego i Otwartego oprogramowania o nazwie Fritzing, a efektem jest:

Schemat 2 diód do Galileo

Tak więc trzeba napisać program. Aha, brakuje mi edytora kodu dla programistów, który mógłbym uruchomić na Galileo. Ale od czego wujek G? Chwila poszukiwań i trafiam na JED, który nie dosyć, że wolny (jak wolność), to jeszcze dostępny na kilka systemów, m.in. na Unix, VMS, MSDOS, OS/2, BeOS, QNX, win9X/NT, no i oczywiście naszego Linuksa… Wygląda może niezbyt okazale, ale zabiera tylko 2 MB (tak, tak, MEGAbajty, a nie GIGAbajty 😉 – czy ktoś pamięta czasy NE.EXE ?

jed_editor

Tak więc kawałek kodu w Pythonie:

#!/usr/bin/env python
import sys
galileo_path = "/opt/pyGalileo/";
if galileo_path not in sys.path:
 sys.path.append(galileo_path);
from pyGalileo import *
def setup():
 pinMode(leda, OUTPUT)
 pinMode(ledb, OUTPUT)
def loop():
 digitalWrite(leda, HIGH) 
 digitalWrite(ledb, LOW)
 delay(1000) 
 digitalWrite(leda, LOW); 
 digitalWrite(ledb, HIGH)
 delay(1000);
if __name__ == "__main__":
 leda = 2
 ledb = 4
 setup();
 while(1):
  loop()

 

Przerodził się w migające diody 😉


Adam Jurkiewicz – haker edukacji, absolwent kursów Massachusetts Institute of Technology z języka programowania Python.

Trener technologii Web 2.0 ze szczególnym uwzględnieniem otwartych zasobów edukacyjnych. Programista, administrator systemów UNIX/Linux, twórca remiksu edukacyjnego FREE_Desktop – remiksu systemu operacyjnego dla wolnych ludzi, legalnego i darmowego dla wszystkich.

Prelegent oraz prowadzący warsztaty dla nauczycieli w trakcie wielu konferencji edukacyjnych, m.in: Od Becika Każdy Klika w Kołobrzegu, K@SSK w Nowym Tomyślu, Ogólnopolski Zjazd Opekunów Pracowni Szkolnych w Mrozach, Nowoczesne Technologie dla Edukacji w Radomiu.

Współpracownik Fundacji Wolnego i Otwartego Oprogramowania, w projekcie „Strategie Wolnych i Otwartych Implementacji” twórca części scenariuszy mechatronicznych zajęć pozalekcyjnych z użyciem oprogramowania Scratch i mikrokontrolerów kompatybilnych z Arduino oraz ekspert ds. systemów i współtwórca systemu operacyjnego Szkolny Remiks Uczniowski.

Współpracownik Fundacji Interkl@sa, w projekcie „E-Pasj@ – nowoczesne nauczanie” ekspert ds. otwartego oprogramowania edukacyjnego. Prowadzi spotkania edukacyjne z nauczycielami w całym kraju.

Współpracownik Centrum Edukacji Obywatelskiej, w projekcie „Koduj z Klasą” ambasador i trener nauczycieli w zakresie języka programowania Python.

Propagator Wolnego i Otwartego Oprogramowania, otwartej cyfrowej mapy OpenStreet Map i wszelkich „otwartych” rozwiązań. Prywatnie – miłośnik szant, stateczny mąż i ojciec, zwariowany nauczyciel młodzieży jeśli tylko ma okazję.

Print Friendly, PDF & Email

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.