Zakupiłem używaną (z przeznaczeniem do rejestrowania parametrów pogody w innym miejscu BTW -- nie żebym chciał używać dwie różne stacje na raz w tym samym miejscu). Ponieważ akurat pod ręką był c.h.i.p (aka the world's first 9USD computer), podłączyłem na razie stację do chipa.
chip@chip:~/Crontab$ lsusb Bus 002 Device 003: ID 1941:8021 Dream Link WH1080 \ Weather Station / USB Missile Launcher root@chip:~# apt-get update root@chip:~# apt-get install python-pip root@chip:~# pip install pywws ... Successfully installed pywws tzlocal pytz Cleaning up... root@chip:~# pywws-hourly -v /home/chip/Logs/weather\ >> /home/chip/Logs/weather/Hourly.log cat /home/chip/Logs/weather/Hourly.log Unknown weather station type. Please edit weather.ini and set 'ws type' to '1080' or '3080', as appropriate. Your station is probably a '1080' type. # wpisać 1080 w weather.ini # zmienić wpis dotyczący /tmp/weather w weather.ini root@chip:~/Crontab# pywws-hourly -v /home/chip/Logs/weather\ >> /home/chip/Logs/weather/Hourly.log 03:07:00:pywws.Logger:pywws version 16.12.0, build 1367 (e917ba9) 03:07:00:pywws.Logger:Python version 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2] 03:07:00:pywws.WeatherStation.CUSBDrive:using pywws.device_libusb1 03:07:02:pywws.DataLogger:Synchronising to weather station 03:09:00:pywws.weather_station:live_data missed 03:09:44:pywws.DataLogger:Fetching data 03:09:45:pywws.Process:Generating summary data 03:09:45:pywws.Calib:Using default calibration
I działa...
Jeszcze się nie skończył czerwiec a ja już nabiłem rekordowe 7 tysięcy kilometrów przejechanego rocznego dystansu (4 czerwca dokładnie to się stało). Do tej pory mój rekord to było 6 tys na koniec czerwca, teraz wygląd, że będzie z łatwością osiem.
Nawiasem mówiąc 24 maja osiągnąłem 200 tys na liczniku życiowego dystansu (może da się dociągnąć do 250 tys?).
Z tej okazji podsumowałem mój życiowy dystans (bez lat 1992--1991, dla których nie mam detalicznych danych) z podziałem na pierwsze/drugie półrocze. Wyniki są następujące:
---------------------------------------------------- kwartał km %% | kwartał km %% razem% ---------------------------------------------------- 1993_1 2330 44.13 | 1993_2 2950 55.87 100.00 1994_1 2805 62.06 | 1994_2 1715 37.94 100.00 1995_1 1710 47.90 | 1995_2 1860 52.10 100.00 1996_1 1546 33.90 | 1996_2 3014 66.10 100.00 1997_1 2055 40.73 | 1997_2 2990 59.27 100.00 1998_1 2530 38.13 | 1998_2 4105 61.87 100.00 1999_1 3065 47.63 | 1999_2 3370 52.37 100.00 2000_1 4910 43.82 | 2000_2 6295 56.18 100.00 2001_1 5255 48.86 | 2001_2 5500 51.14 100.00 2002_1 6240 59.68 | 2002_2 4215 40.32 100.00 2003_1 5130 48.72 | 2003_2 5400 51.28 100.00 2004_1 3575 41.16 | 2004_2 5110 58.84 100.00 2005_1 4415 49.33 | 2005_2 4535 50.67 100.00 2006_1 0000 0.00 | 2006_2 2880 100.00 100.00 2007_1 1855 46.73 | 2007_2 2115 53.27 100.00 2008_1 2380 36.12 | 2008_2 4210 63.88 100.00 2009_1 2535 45.97 | 2009_2 2980 54.03 100.00 2010_1 3060 47.81 | 2010_2 3340 52.19 100.00 2011_1 3535 43.45 | 2011_2 4600 56.55 100.00 2012_1 3285 45.44 | 2012_2 3945 54.56 100.00 2013_1 3710 45.13 | 2013_2 4510 54.87 100.00 2014_1 4020 54.55 | 2014_2 3350 45.45 100.00 2015_1 4100 46.80 | 2015_2 4660 53.20 100.00 2016_1 5365 47.80 | 2016_2 5860 52.20 100.00 2017_1 7155 100.00 | 2017_2 0000 0.00 100.00 ---------------------------------------------------- Średnio: kw1 = 46.63 kw2 = 53.37 razem% = 100.00 (25 lat) Razem: 200835.00
Zawsze mi się wydawało, że w drugim półroczu przejeżdżam mniej a tu proszę--faktycznie jest dokładnie odwrotnie.
Absolutnie minimalistyczny przykład wykorzystania LaTeXa do publikowania zawartości bazy danych:
1. Dane są w bazie sqlite (można ją utworzyć/dodawać rekordy
w prosty sposób wykorzystując coś co się nazywa sqlitebrowser
)
W przykładzie (poniżej) plik kleinertest.db3
zawiera
tabelę Kursanci, z której pobierane są pola
ImieNazwisko
,
Plec
i Ocena
.
2. Do drukowania uruchamiamy skrypt w języku Perl. Skrypt jest tak prosty że do dopasowania go do konkretnej tabeli nie potrzeba znajomości Perla a wystarczy zdrowy rozsądek (co zmienić zaznaczono @@)
Perl dla Windows do pobrania z https://www.activestate.com/
3. Skrypt uruchamia pdflatexa i drukuje zawartość bazy do pliku pdf
4. Można skomplikować skrypt, np podając argument na wejściu. Dajmy na to nazwisko delikwenta do wydrukowania. Żeby nie drukować wszystkiego. Do tego potrzeba minimalnej znajomości Perla
#!/usr/bin/perl -w # Potrzebne są moduły Perla DBI DBD-SQLite DBD-SQLite2 # use strict; use utf8; use DBI; binmode(STDOUT, ":utf8"); my $dbfileName= "kleinertest.db3"; ## @@ nazwa pliku z bazą my $tmpfileName = "kleinertest.tex"; ## @@ nazwa pliku .tex my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfileName", "", ""); ## @@ Pobranie danych z tabeli Kursanci (pola: ImieNazwisko, Plec Ocena) my $sth = $dbh->prepare("SELECT ImieNazwisko, Plec, Ocena FROM Kursanci "); $sth ->execute(); ## PreAmBuła ### ### ### ### ### open (TEX, ">$tmpfileName"); print TEX "\\documentclass{article}\\usepackage{mydbiprint}\\begin{document}\n"; ## MidBuła: drukowanie rekordów z bazy ## ### ### ### ## ImieNazwisko = $r[0], Plec = $r[1], Ocena = $r[2] itd... while ( my @r = $sth->fetchrow_array() ) { print TEX "\\Dyplom{ $r[0] }{$r[1]}{ $r[2] }\n"; ## @@ dopasować do konkretnej tabeli } ## PostAmBuła ## ### ### ### ### print TEX "\\end{document}\n"; $dbh->disconnect || warn "Nie moge zamknac bazy $dbfileName\n"; ## TeXowanie pliku: ## ## ### ### ### ### ### close(TEX); system("pdflatex", "$tmpfileName"); ## koniec
Przykładowy pakiet mydbiprint.sty
:
%% Minimalistyczny szablon do drukowania z bazy \RequirePackage[utf8]{inputenc} \RequirePackage{polski} \RequirePackage{ifthen} \pagestyle{empty} \newcommand{\Dyplom}[3]{%% \begin{center}\fontsize{30}{40}\selectfont DYPLOM\end{center} \ifthenelse{\equal{#2}{K}} {\DyplomDlaPani{#1}{#3}} {\DyplomDlaPana{#1}{#3}} } \newcommand\DyplomDlaPani[2]{% \begin{center}Pani #1\end{center} Zdała egzamin z oceną #2\newpage} \newcommand\DyplomDlaPana[2]{\begin{center}Pan #1\end{center} Zdał egzamin z oceną #2\newpage} \endinput