Home / Community / Blog

Dawno się już nie "bawiłem" statystykami, więc stawiając MRTG musiałem sobie totalną powtórkę fundnąć.

Do działania potrzeba pakietów (Mandriva):

  • net-snmp
  • net-snmp-utils
  • net-snmp-mibs (opcja)
  • mrtg

Po zainstalowaniu uruchomić demona SNMP (/etc/init.d/snmpd start)

Wygenerować domyślną konfigurację poleceniem

/usr/bin/cfgmaker public@localhost > /etc/mrtg/mrtg.cfg

musiałem tylko zmienić WorkDir na taki jak był oryginalnie (/var/lib/mrtg).

Teraz wystarczy poczekać 15-20 min, bo statystyki są aktualizowane co 5 min. Wynik można oglądać w przeglądarce wpisując twoja.nazwa.serwera/mrtg/localhost_5.html. Nie wyglądają może rewelacyjnie, ale najważniejsze, że są dane.

Zrobiłem upgrade w projekcie sterowania frezarką - wymieniłem procesor z ATmega88 na ATmega168PA, ale Eclipse mi od razu krzyczał, że AVRdude nie obsługuje ATmega168P (tak go wykrywał). Rozwiązałem problem dość brutalnie. W pliku /etc/avrdude/avrdude.conf skopiowałem sekcję opisującą procesor ATmega168 i nazwałem ją ATmega168P. zmieniłem tylko następujące linie:

    id              = "m168p";
    desc            = "ATMEGA168P";
    signature        = 0x1e 0x94 0x0b;

po restarcie Eclipse'a zaczęło działać.

Żeby obejrzeć pliki CDR użyłem programu uniconvertor (jest w repozytorium programów dystrybucji Mandriva i pewnie innych też) którym zamieniłem je na PostScript oraz WMF i edytowałem w GIMP'ie i OpenOffice Draw.

Nie jest to rozwiązanie idealne, bo nie cała grafika została zaimportowana. Być może Inkscape lub Scribus by sobie lepiej poradził z którymś innym formatem do którego potrafi eksportować uniconvertor.

Zainstalowałem sobie program Navit z dystrybucji (Mandriva 2010.2). Zaraz po instalacji dodałem mu mapę Polski.

Przegrałem plik poland.bin (wygenerowany z mapy OpenStreetMap poleceniem osm2navit) i plik poland.xml który zawierał:

<map type="binfile" enabled="yes" \
data="$NAVIT_SHAREDIR/maps/poland.bin"/>

do katalogu /usr/share/navit/maps. Po ponownym uruchomieniu programu miałem już dostęp do mapy Polski.

Na podstawie dokumentacji udało mi się w gCAD3D wyprodukować plik przypominający formatem G-Code który tutaj jest nazywany NC-ISO (być może ma jakieś powiązania z RS-274).

Kod z przykładu wstawiony w trybie manualnym zapisałem jako NC-ISO. Powstał plik tmp/pp.iso. Nie wiem, czy da się go wprost zaimportować do LinuxCNC (zwanym też EMC2 the Enhanced Machine Controller).

Do wygenerowania pliku sitemap.xml można użyć rozszerzenia gg XML View. Wg. informacji autora z forum nie zadziała bez doszlifowania, ale to nie powinien być już problem.

Zdarzyło mi się modyfikować wersjonowane pliki z dwóch komputerów i jak to zwykle bywa wersje SVN były na nich różne. Po modyfikacji nowszym klientem gdy chciałem znowu pracować na starszej wersji dostałem komunikat:

This client is too old to work with working copy

rozwiązanie (inne niż aktualizacja) jest bardzo proste i opisane w FAQ. Wystarczy użyć przygotowanego skryptu change-svn-wc-format.py który jako parametr przyjmuje ścieżkę kopii roboczej i wersję którą ma ustawić. W moim przypadku popsułem sobie katalog galerie i chciałem wrócić do wersji 1.5 więc wywołanie było takie:

./change-svn-wc-format.py galerie 1.5 --verbose

parametr --verbose dodałem bo lubię widzieć co się dzieje.

W OpenOffice można znaleźć rozszerzenia na każdą okazję. Jeżeli kroś potrzebuje zwykłe kody paskowe może się posłużyć dodatkiem, o wiele mówiącej nazwie, Barcode - wstawia kody wielu typów, ale tylko w aplikacji Rysunek (Draw). Ja potrzebowałem zamieścić w dokumencie QR Code. Idealnie pasującym dodatkiem jest Magenta 2D Barcode - pozwala na wstawianie statycznych kodów do dokumentów jako obrazków. Wadą takiego rozwiązania jest brak możliwości edycji czy nawet podglądu raz wstawionego kodu - trzeba każdy odczytać (np. telefonem) aby się dowiedzieć co zawiera.

Jeżeli takich obrazków jest dużo można zastosować inną metodę. Za pomocą serwisu kaywa można tworzyć je jako zewnętrzne obrazki. Np. obrazek z zakodowanym słowem test można uzyskać pod adresem

http://qrcode.kaywa.com/img.php?s=8&d=test

gdzie s to rozmiar, a parametr d to tekst do zakodowania. W połączeniu z wget'em zakodowanie komunikatu "To jest test" do pliku "test.png" wygląda tak:

wget "http://qrcode.kaywa.com/img.php?s=5&d=To%20jest%20test" \
-O test.png

a do dokumentu wstawiać kody jako link'i do zewnętrznych obrazków.

W dystrybucji Mandriva 2010.2 program avr-size z paczki cross-avr-binutils-2.20.51.0.4 nie potrafił pokazać procentowej zajętości pamięci (dla danego procesora) - nie obsługiwał przełącznika -C.

Obszedłem problem ściągając binutils 2.20.1 który rozpakowałem

wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2
tar -xjf binutils-2.20.1.tar.bz2
cd binutils-2.20.1

i na który nałożyłem łatkę (zapisałem ją sobie jako avr-size.patch):

patch -p0 < avr-size.patch

niestety część rzeczy musiałem łatać sam, bo łatka nie była dokładna (nic poważnego tylko białe znaki się nie zgadzały) a następnie skompilowałem

./configure --target=avr
make

czy się udało mogłem sprawdzić poleceniem binutils/size --help które pokazało miedzy innymi:

 The options are:
  -A|-B|-C  --format={sysv|berkeley|avr}
            --mcu=<avrmcu>     MCU name for AVR format only

Kolejnym krokiem było skopiowanie pliku do miejsca w którym nowy plik będzie miał "pierwszeństwo" przed oryginalnym. Ja wybrałem /usr/local/bin, więc polecenie (uruchomione jako root) wyglądało tak:

cp binutils/size /usr/local/bin/avr-size

W konsoli nawet zadziałało. ale okazało się, że Eclipse ma własne ustawienia więc musiałem zmienić we właściwościach projektu w C/C++ Build > Settings > Tool Settings > Print Size dwie rzeczy: zawartość pola Command z

-avr-size

na pełną ścieżkę

-/usr/local/bin/avr-size

oraz Expert settings > Command line pattern z

${COMMAND} ${FLAGS} ${INPUTS}

na

${COMMAND} ${FLAGS} -C ${INPUTS} --mcu=${AVRTARGETMCU}

(AVRTARGETMCU jest "magiczną" zmienną dostępną w Eclipse z dodatkiem AVR Eclipse Plugin) i w końcu po wciśnięciu Build zobaczyłem:

AVR Memory Usage
----------------
Device: atmega88

Program:    5456 bytes (66.6% Full)
(.text + .data + .bootloader)

Data:        744 bytes (72.7% Full)
(.data + .bss + .noinit)

Do konwertowania plików audio używam SoundConverter (aktualnie w wersji 1.4.4) lub konsolowego sox.

Just my blog...

Mon Di Mi Do Fr Sa So
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30