Raspberry Pi

wtorek, 29 września 2015

Literatura Pi-ękna

Trzymając się mocnego postanowienia, co do metodycznego podejścia do problemu, za niecałe 35 zł kupiłem sobie książkę o programowaniu RPi. "Raspberry Pi Przewodnik dla programistów Pythona" z Heliona autorstwa Simon Monk, wydawała się kompendium wiedzy a okazała się jedynie preludium. To skromna prawie 150 stronicowa pozycja w wielkim skrócie opisująca zasady pythona, opisująca RPi i kilka kart rozszerzeń, oraz skrótowo projekt autonomicznego robota. Niestety świat idzie do przodu i niektóre rozwiązania sprzętowe są już przestarzałe. Niemniej jednak przeczytam ją w celu usystematyzowania chaosu wiedzy jaki w ostatnich dniach wyssałem z netu.

Lektura to lektura

niedziela, 27 września 2015

Pierwsze kody za płoty - testowanie wyjść GPIO


Dzisiaj zrobiłem pierwsze podejście do testowania phytona jako języka kodowania dla robota.
Na początek sterowanie wyjściami. Korzystam ze standardowej biblioteki RPiGPIO.
krótki kod + komentarze:


  • testout.py:


#!/usr/bin/python
#biblioteka time
import time
#biblioteka GPIO
import RPi.GPIO as GPIO
#wyłączenie ostrzeżeń 
GPIO.setwarnings(False)
#włączenie modu BCM w odróznieni od BOARD posługujemy się faktycznymi numerami wejść/wyjść a nie ich numerami wynikajacymi z rozmieszczenia na płycie
GPIO.setmode(GPIO.BCM)
#wyczyszczenia rejestrów GPIO
GPIO.cleanup()
#ustawienie GPIO2 i 3 w trybie OUT
GPIO.setup(2,GPIO.OUT)
GPIO.setup(3,GPIO.OUT)
#ustawienie pinu GPIO.3 jako generatora "sterowania wypełnienia mocą" - PWM częstotliwoąć 2Hz wypełnienie 50%, przydatne do regulacji mocy i sterowania serwomechanizmami
pwm = GPIO.PWM(3, 2)
pwm.start(50)
#pętla w której stale zmienia się stan pinu GPIO.2 z 1 na 0
while True:
GPIO.output(2,GPIO.HIGH)
time.sleep(1)
GPIO.output(2,GPIO.LOW)
time.sleep(1)

A to wynik działania programu z analizatora stanów logicznych:
Wynik działania programu w analizatorze stanów logicznych.
RPi.GPIO  jest proste ale wydaje mi się, że w sieci znajdę bardziej funkcjonalne biblioteki do obsługi GPIO.

sobota, 26 września 2015

Prosty oscyloskop - kolejne narzędzie pomiarowe.

Oscyloskop zawsze może się przydać zwłaszcza do przeanalizowania sygnałów analogowych. Zakup profesjonalnej przestawki lub stacjonarnego oscyloskopu na tym etapie projektu nie wchodzi w grę. Ale prosty oscyloskop jest w zasięgu każdego posiadacza karty dźwiękowej z  wejściem mikrofonowym. W Ubuntu, którego używam w ramach tego projektu, dostępny jest pakiet Xscope, który do moich potrzeb jest wystarczający. Dzięki wbudowanej w mojego lapka karcie dźwiękowej mam dwa kanały pomiarowe.

Xscope - z przykładowym przebiegiem pomiarowym.


Zakres częstotliwości wejściowych to ok 44kHz, a zakres napięciowy to ok 0-1,2V. Ale, żeby zwiększyć zakres napięciowy zamierzam dobudować sobie prosty rezystorowy dzielnik napięcia  x2 x4 x10 x100.

czwartek, 24 września 2015

Analizator stanów logicznych - podstawowe narzędzie pomiarowe.


Analizator stanów logicznych to pierwsze przydatne narzędzie, które postanowiłem zakupić przed rozpoczęciem prac nad robotem. Za 8 kanałową przystawkę USB do komputera zapłaciłem na allegro 38 zł.  Do wizualizacji pracy tej przystawki potrzebne jest oprogramowanie Saleae Logic które można pobrać tu.
Soft jest w wersjach dla Mac Win i Lin.
Instalacja jest prosta wystarczy rozpakować pobrany plik zip w dowolnym folderze następnie uruchomić plik Logic.
Program powinien wykryć przystawkę o ile jest z nim zgodna.
Na moim Ubuntu ruszył ale dopiero po odpaleniu go z linii poleceń
sudo ./Logic. Inaczej wyrzucało błąd, że program wykrył przystawkę ale nie uprawnień do urządzenia.
Saleae Logic i testowe stany GPIO

Analizator stanów logicznych - przystawka USB
Analizator i malina

wtorek, 22 września 2015

Z cyklu programy narzędziowe - niekoniecznie dla maliny - Fritzing

W tym cyklu będę się starał zdawkowo opisywać programy narzędziowe przydatne w tego rodzaju projektach.

Na początek petarda!


  • Fritzing - występuje w wersach dla wszystkich systemów, pobrać go można tu.
Prosta w obsłudze aplikacja typu drag&drop pozwalająca wygodnie projektować prototypowe układy elektroniczne w oparciu o rózne mikrokomputery w tym rapberry pi.

Na standardowej płytce prototypowej można po prostu porozmieszczać potrzebne elementy i swój mikrokomputer połączyć ja sobie życzymy. W kolejnej zakładce zobaczymy schemat ideowy naszej radosnej twórczości. Następna zakładka jest idealna gdy od prototypu chcemy przejść do wersji profesjonalnej program automatycznie wytrasuje nam płytkę do wyboru 1 lub 2 warstwową, a jak trzeba wyeksportuje swoje wypociny.
Ilość dostępnych komponentów jest naprawdę imponująca.
Poniżej kilka przykładowych screen-ów:

Układ elementów na płytce prototypowej

Schemat ideowy


Router płytek
Apka wydaje się idealna do dokumentowania swoich prototypów.


sobota, 19 września 2015

WEBIOPI-GPIO via www

W oczekiwaniu na kamerę do maliny. Zainstalowałem dziś ciekawe narzędzie WEBOPI do zarządzania GPIO przez interfejs www.
Instalację tego softu przeprowadziłem przez "sklep" w X-ach Pi Store (dostępny po aktualizacji Raspbiana do najnowszej wersji).

Pi Store
Narzędzie oprócz interfejsu do prostego sterowania GPIO jest też świetnym frameworkiem do budowania własnych aplikacji z interfejsem webowym.
Start usługi: sudo service webopi start
Dostęp do interfejsu www: http://adres_maliny/webopi:8000
Domyślny login i hasło: webopi/raspberry

Interfejs WEBOPI

piątek, 18 września 2015

Oko dla na maliny 1 - czyli kamera via USB

Dziś trochę zabawy z kamerą na USB
Lista kompatybilnych z maliną kamer USB można znaleźć tu.
Niestety moja wygrzebana z otchłani jakiejś szuflady  kamerka Labtec nie znajduje się na tej liście. Mimo wszystko spróbuję.


Poleceniem cat /proc/devices wyświetlamy listę aktywnych urządzeń ja po wpięciu mojej kamery znalazłem coś takiego video4linux. W poradach które gdzieś wyczytałem powinienem się spodziewać urządzenia video lub video0 ale nic takiego nie mam.

Pierwszy program jaki zamierzam przetestować to motion który udostępnia w prosty sposób obraz z kamery poprzez stronę www.
Instalacja:

  • sudo apt-get install motion

Konfiguracja:
  • sudo nano /etc/motion/motion.conf edycja parametrów programu, kamery i obrazu
  • sudo nano /etc/default/motion - zmieniamy wpis start_motion_daemon=no na start_motion_daemon=yes. 
  • sudo service motion start - uruchamiamy interfejs web.
  • http://[Ares IP RPi]:8081 - wywołanie obrazu w przeglądarce
Efekt:
Widok jaki udało mi się uzyskać po uruchomieniu motion :-(
Po kilku próbach ustawień konfiguracji motion na RPi i na moim lapku doszedłem do wniosku, że ta kamerka nie jest widziana przez linuxy. Urządzenie vide4linux, które widzę w malinie to prawdopodobnie moduł do podłączenia oryginalnej kamery RPi.
Na dziś zawieszam działalność w tym temacie. Poszukam innej kamery i do niego wrócę.



środa, 16 września 2015

Interfejs WiFi dla maliny

Aby zapewnić swojemu botowi swobodą (wolną od kabla) komunikację,  zainstalowałem w malinie mikro kartę WiFi, w standardzie 802.11n, z interfejsem USB, firmy TP-link. Karta nie chciała zadziałać z nie upgrate-owną wersją systemu. Po aktualizacji wszystko zadziałało na zasadzie plug&play.






















Konfigurując jej ustawienia poszedłem na łatwiznę i odpaliłem X-sy gdzie klikając w ikonkę sieci na pasku zadań wybrałem odpowiednią sieć z otoczenia i wprowadziłem właściwe hasło. Banał, a tyle radości ;-).