Szukaj na tym blogu

sobota, 30 marca 2013

Pierwsza produkcyjna implementacja - instalacja na Linuksie

Uruchomienie platformy arduino na Linuksie

Na moim serwerze w domu chodzi akurat Ubuntu w wersji 12.04. Poniższy opis będzie się odnosił właśnie do tej platformy.

Na początek zainstalowałem menadżerem programów (synaptic) pakiet arduino, menadżer pakietów wskazał dodatkowe pakiety potrzebne do zainstalowania:
  • arduino - AVR development board IDE and built-in libraries
    • arduino-core - Code, examples, and libraries for the Arduino platform
    • avr-libc - Standardowa biblioteka C do programowania kontrolerów Amtel AVR
    • avrdude - Oprogramowanie do programowania mikrokontrolerów AVR firmy Atmel
    • binutils-avr - Binary utilities supporting Atmel's AVR targets
    • extra-xdg-menus - Extra menu categories for applications under GNOME and KDE
    • gcc-avr - Kompilator GNU C (kompilator krzyżowy do avr)
    • libftdi1 - Library to control and program the FTDI USB controller
    • libjna-java - Dynamic access of native libraries from Java without JNI
    • librxtx-java - Full Java CommAPI implementation
Sprawdziłem, że potrzebne byłyby jeszcze następujące pakiety, ale miałem je już zainstalowane:
  • default-jre
  • java6-runtime
  •  policykit-1
Dodatkowo zainstalowałem sobie:
  • fritzing - Easy-to-use electronic design software
    • fritzing-data - Easy-to-use electronic design software (data files)
  • rrdtool - time-series data storage and display system (programs)
  • drraw - A simple web based presentation front-end for RRDtool
Fritzinga do projektowania prototypów i płytek, rrdtool żeby wykresy robić i przy okazji drraw żeby zobaczyć co to jest, może łatwiej będzie się wykresy robić dzięki niemu.

Po  zainstalowaniu tego wszystkiego podpiąłem zestaw kablem USB zestaw do komputera, uruchomiłem Arduino IDE, poleceniem arduino ;), w Tools/Serial Port wybrałem /dev/ttyACM0 (pojawiło się to urządzenie po podpięciu arduino do komputera), uruchomiłem Serial Monitor i ...
Działające środowisko arduino na Linuksie

działa :)
Próba skompilowania i załadowania innego programu także się powiodła :)

Wymiana CoolTerm na coś innego

Spróbowałem użyć programu cu do odczytywania danych z portu szeregowego i przekazywania ich dalej do obróbki. Wykonanie polecenia
cu -l /dev/ttyACM0 -s 57600
powoduje odczyt danych :)
Próba zamknięcia jednak cu powoduje, że wypisuje on na wyjście dodatkowe informacje, które "psują" plik z danymi

Wykonanie strony WWW

Aby wykonać stronę www muszę:
  • uruchomić rrdtool na linuksie
  • "posklejać" go razem z nowym cu
  • zautomatyzować cały proces (cron)
  • wystawić na serwerze
 Na początek przeniosłem cały katalog danymi i skryptami z windowsa na linuksa, po drobnym refactoringu (/ zamiast \ w nazwach plików, \ zamiast ^ w skryptach itp) zaczęło to działać ... prawie. Niektóre wykresy rysują się nieco inaczej, tak jakby danych brakowało, zauważyłem, że na Linuksie zainstalowaną mam dużo nowszą wersję rrdtool niż na windows.
Windows - 31 dni
Linuks - 31 dni

Windows - 365 dni
Windows - 365 dni

Jak widać na Linuksie tak jakby danych brakowało. Będę temat kontynuował.

Wykonanie planu

  • uruchomić całość na Linuksie
  • wymienić CoolTerm.exe na coś innego 
    • uruchomienie cu w celu odczytu danych
    • poradzić sobie z problemem ekstra danych wypisywanych przez cu
  • zacząć odczytywać czas z zegara serwera
  • zrobić stronę www i wystawić na zewnątrz
    • uruchomienie rrdtool
      • przeniesienie, modyfikacja skryptów
      • sprawdzenie czemu na wykresach brakuje danych
    • połączenie z cu
    • automatyzacja
    • wystawienie na serwerze
  • zmontować układ, a aby to zrobić to trzeba:
    • wybrać docelowy mikro-kontroler - i zakupić go
    • dowiedzieć się jak się go programuje i zmontować programator - i zakupić co potrzeba
    • zaprogramować kontroler
    • dowiedzieć się jak najlepiej zmontować docelowy układ (skąd płytkę itp) i zmontować - a wcześniej zakupić co potrzeba
    • dowiedzieć się czy i jakie peryferia są potrzebne (kwarc, zasilanie, komunikacja z komputerem po rs232) - zakupić potrzebne
    • jakąś obudowę do tego dobrać - i znaleźć lub zakupić

Legenda

  • wykonane
  • do zrobienia
  • nowe zadanie lub podzadanie
  • aktualnie robione

Brak komentarzy:

Prześlij komentarz