poniedziałek, 24 lutego 2020

Pierwszy skazany w sprawie zabójstwa Adamowicza


Zaproszenie na własny pogrzeb?

Dariusz S., pracownik Agencji Ochrony Tajfun, która 13 stycznia 2019 r. zabezpieczała imprezę Wielkiej Orkiestry Świątecznej Pomocy, tuż po zdarzeniu zeznał, że nożownik, który zaatakował Adamowicza, wszedł na scenę posługując się plakietką z napisem `Media'.

`Oskarżony był pod wpływem bardzo silnych emocji, to nie było zaplanowane' -- uznał w piątek Sąd Rejonowy w Gdańsku, skazując 37-letniego mężczyznę na karę roku więzienia w zawieszeniu na trzy lata. Wymierzył mu też 7,5 tys. złotych grzywny oraz obciążył kosztami procesu w kwocie ponad 32 tys. zł. Wyrok nie jest prawomocny.

Sąd zwrócił uwagę, że u wszystkich, którzy widzieli tragiczne wydarzenie z 13 stycznia 2019 r. `rodziło się pytanie, jak to się stało, że sprawca zabójstwa prezydenta Gdańska po prostu wkroczył sobie na scenę, dokonał tego czynu, po czym jeszcze przechwycił mikron i wygłosił swoje oświadczenie'.

[TVPInfo 21.02.2020, 09:52 |aktualizacja: 10:34]

Koncert 27. Finału Wielkiej Orkiestry Świątecznej Pomocy na Targu Węglowym w Gdańsku rozpoczął się w niedzielę o godz. 15. `Światełko do nieba' zaplanowano jak w całej Polsce na godz. 20.

Organizatorzy -- stowarzyszenie Regionalne Centrum Wolontariatu w Gdańsku -- zgłosili, że w koncercie weźmie udział 5 tys. osób. Taka impreza, jak każda powyżej tysiąca osób, mogłaby zostać zarejestrowana jako masowa. Finał WOŚP zgłoszono jednak jako zajęcie pasa drogowego. Na podstawie takich przepisów organizowano ją w Gdańsku od początku, tak jak wiele innych wydarzeń sportowych czy kulturalnych. Tym razem też uzyskała zgodę magistratu [czyli zamordowanego -- moje] i komendanta wojewódzkiego policji.

Regionalne Centrum Wolontariatu wynajęło w tym celu Agencję Ochrony `Tajfun' z Gdańska. Jak zapewniają organizatorzy, miała ona potraktować wydarzenie tak jak imprezę masową.

Agencja Tajfun działa od 2008 roku. Ma licencję. Na Targu Węglowym pracowało w niedzielę 50 ochroniarzy.

-- Pod względem formalnym i praktycznym w naszej ocenie wszystko zostało dochowane -- mówił w poniedziałek na konferencji prasowej Łukasz Isenko, pełnomocnik firmy.

[https://trojmiasto.wyborcza.pl/; Anna Dobiegała, współpraca Aleksandra Brzezińska 16 stycznia 2019 | 05:02]

[Ten S. to nie jest szeregowy ochroniarz tylko nieformalny szef firmy zresztą -- moje]: Tajfun działa od 2008 roku. Posiada licencję wystawioną na nazwisko Gracjana Zwolaka, ale w portalach społecznościowych jako dyrektor zarządzający występuje Dariusz Sokołowski. To były policjant, kurator sądowy, a także właściciel firmy windykacyjnej. Tajfunem zarządzać ma od półtora roku. [WirtualnaPolska]

Dariusz S. to były policjant. Pracował m.in. w Komendzie Miejskiej w Gdańsku. Jak ustalił portal tvn24.pl, odszedł ze służby ze względu na bójkę, do której doszło w Gdańsku 29 lipca 2016 roku. Akt oskarżenia trafił do sądu w sierpniu 2017 r., ale proces jeszcze się nie rozpoczął. Z nieoficjalnych informacji portalu wynika, że Dariusza S. zawieszono w obowiązkach policjanta, gdy usłyszał zarzuty.

[WirtualnaPolska 21.01.2019, Dariusz S., który ochraniał tragiczny finał WOŚP, był oskarżony o pobicie i groźby. Musiał odejść z policji]

Teraz dostał wyrok w zawieszeniu, bo miał zdaniem sądu: poświadczony dokumentami wzorowy przebieg służby w policji.

To chyba wszystko.

niedziela, 16 lutego 2020

Wycieczka do Paryża

Lądowanie w piątek na lotnisku w Beauvais, za 13 EUR (od osoby) jedziemy mikrobusem na stację metra Porte Maillot. Tu kupujemy bilety (i takie ciastko co wygląda jak sernik, ale jest z przesłodzonego budyniu) i jedziemy zwiedzać Luwr. Około 21 jedziemy (także metrem) na kwaterę wynajętą przez AirBnB w 13 dzielnicy. Od stacji Olympiades nasza kwatera jest może 300 m. W Luwrze to najbardziej mi się podobają eksponaty z bliskiego i środkowego wschodu (Syria/Iran/Irak) oraz (bo lubię) kolekcja malarstwa holenderskiego (Breugel itp.)

Rano pobudka i około 9:00 idziemy zwiedzać miasto rozpoczynając od Notre Dame, które jest oczywiście po pożarze zamknięte. Oglądamy to co widać zza parkanu. W centrum koncentracja policji w pełnym rynsztunku bojowy, ale się nie biją. Chodzimy, oglądamy około 15:00 idziemy do muzeum Orsay oglądać francuski symbolizm. Oglądamy do 18:00 czyli do zamknięcia. Potem na kwaterę. Odkrywamy, że w pobliżu naszego bloku jest m.in supermarket, piekarnia i chińska restauracja. Decydujemy się na kolację w tej restauracji wydając prawie 40 EUR.

Game day czyli niedziela. Rozpoczynamy od oglądania Sorbony (nic ciekawego), potem idziemy pod Panteon. Wejście płatne więc my nie wchodzimy, ale Janek ma za darmo jako osobnik małoletni (26 lat). Czekamy na niego w kościele St Etienne du Mont załapując się na mszę. Msza jest na wysokim poziomie (w sensie formy--organista wirtuoz, śpiew pod kierunkiem zawodowej śpiewaczki ewidentnie itp). Kościół pełny i sporo młodych ludzi, w większości białych. Po mszy idziemy na naleśnika, zwiedzamy coś tam jeszcze i jedziemy metrem do Saint Denis.

Metro pełne ludzi. Jadą na mecz rugby Francja-Włochy. Wysiadamy, idziemy z kibicami oglądać stadion. Potem pod Bazylikę, bo to blisko. Wejście do kościoła jest za darmo, ale do krypty z Karolem Młotem już nie (10 EUR). Przed Bazyliką karuzela. Hmmm coś jakby ktoś na Wawelu przed kryptą królów postawił wesołe miasteczko. Zresztą następnego dnia nasz Francuz z kwatery pyta gdzie byliśmy. -- W Saint Denis, -- Na meczu? -- Nie oglądać stadion i katedrę -- Jaką katedrę?

Ostatni dzień: Pola Elizejskie, Łuk Triumfalny, Pałac Macrona, plac Trocadero (jeszcze jeden naleśnik, tym razem nie na talerzu, ale z foodtrucka), Wieża Eiffla, pałac Inwalidów (ale tylko z zewnątrz; zwłoki Napoleona sobie darowaliśmy a na muzeum Armii nie było czasu). Coś tam jeszcze zwiedzamy i jedziemy na stację metra Porte Maillot na 17:00. Zresztą od 16:00 już pada. Dwie godziny jedziemy na lotnisko, bo są korki, ale samolot do GDA też się spóźnił. Odlatujemy z Paryża o 9:00 wieczorem z 30 minutowym opóźnieniem.

Podsumowanie: Z muzeów to zwiedziliśmy Luwr i Orsay. Obejrzeliśmy z 10 kościołów w tym Bazylikę Saint Denis i stadion. Paryż zrobił na mnie nadspodziewanie dobre wrażenie. Sprawne metro, ciekawe muzea, w których zbiory są przyjaźnie wyeksponowane dla zwiedzających, że tak powiem: żadnych szyb czy barierek (za wyjątkiem kilku już naprawdę unikatowych eksponatów takich jak Mona Lisa. można podjeść i palec wsadzić w płótno vanGogha czy Breugla). Nie ma wałęsających się uchodźców jak w Mediolanie a wszyscy bezdomi jakich widzieliśmy to biali. Dużo policji/wojska z bronią maszynową ma ulicach.


Od lewej: pałac Dariusza w Luwrze/regaty w Molesey/kibice Włoscy/St. Denis (grobowce i katedra)

Koszt (3 osoby): 900 PLN kwatera, luwr+orsay 230+125 PLN, metro 200 PLN, przejazd z/do Paryża 300 PLN, bilety lotnicze 800. Razem wychodzi jakieś 2500 PLN. Do tego jeszcze kilkaset złotych na jedzenie. W 3 kaflach się zmieściliśmy myślę...

Do pobrania ślady kml ze zdjęciami; album ze zdjęciami.

czwartek, 13 lutego 2020

Moja nowa stacja pogody: DP 1500 Froggit


DP 1500

DP 200

All-in-One outdoor sensor

All-in-One outdoor sensor

Po długich namysłach kupiłem nową stację (trzeba się rozwijać) pn DP 1500 SmartHub wifi Gateway (za 50 EUR). Jest to konsola bez ekranu z czujnikiem temperatury/ciśnienia i wilgotności (na metrowym kablu); przedmiot wielkości dużego pudełka od zapałek. Do tego pudełka dokupiłem:

  • czujnik temperatury i wilgotności powietrza HP3000 (aka DP 50)
  • maszt z zestawem czujników ('WH4000SE All-in-One outdoor sensor) do pomiaru prędkości/kierunku wiatru, opadów, indeksu UV, promieniowania słonecznego (solar radiation)
  • czujnik pyłów PM2.5 DP 200

Cenowo to wyszło tak (por www.froggit.de), że maszt + DP 1500 jest w zestawie za 135 EUR (czyli sam maszt kosztuje 85 EUR); czujnik DP 50 to następne 13 EUR (kupiłem dwa na wszelki wypadek); czujnik DP 200 aż 90 EUR. Razem wyszło około 250EUR czyli ponad 1100 PLN z wysyłką i płatnością przez PayPal, bo innej opcji nie ma (nikt nie mówił że będzie tanio)

Wszystko w niemieckiej firmie Froggit. BTW Froggit to klon produktów bardziej znanej firmy Ecowitt. To co Froggit sprzedaje jako DP1500 u Ecowitta nazywa się GW 1000. Są jeszcze inne firmy, które robią ten sprzęt pod inną marką.

W stacjach pogodowych standardem jest teraz wysyłanie danych w chmurę. Nie ma natomiast możliwości bezpośredniego pobierania danych z urządzenia. Co najwyżej można wysłać na własną chmurę. Do tego konfiguruje się urządzenie przez smartfona za pomocą dedykowanej aplikacji pn. WSView. Ot tak to sobie branża wymyśliła. Średnio mi się to podoba, ale po prostu urządzeń, z których można pobrać bezpośrednio dane w starym stylu się nie produkuje (no nie do końca jest to prawdą: produkuje się to co mam od 10 lat, ale ja nie chę kupować jeszcze raz tej samej stacji). Skoro trzeba mieć własną chmurę, to trzeba ją założyć. Na szczęście ponieważ potrzeba jest matką wynalazków, to w tej sprawie inni ludzie już przygotowali stosowne rozwiązania.

Program weewx, który tradycyjnie obsługiwał stacje, że tak powiem kablowe został uzupełniony o weewx-interceptor, który przechwytuje dane wysyłane na (pseudo) własną chmurę.

No więc rozpakowałem to co przyszło z Niemiec. Skręciłem maszt z czujnikami wiatru/deszczu, nasłonecznienia. Czujnik PM2.5 przykręciłem do ściany we wnęce okiennej, żeby deszcz na niego nie kapał. Czujnik DP 50 wstawiłem do klatki meteo. Maszt umieściłem na dachu budynku 3 kondygnacyjnego (nie ma żadnych problemów z zasięgiem, a mieszkam na parterze.)

Ściągnąłem przez Google Play aplikację WSView. Postępując zgodnie z procedurą (opisaną w podręczniku) połączyłem się z konsolą, która zaczęła pokazywać dane z czujników (na smartfonie). Uwaga: WSView dość wolno się łączy i na dokładkę wysyła mylące komunikaty o odrzuconych połączeniach, co powoduje pewien niepokój. Nie należy w tym momencie wykonywać nerwowych ruchów, tylko poczekać...

Instalowanie weeWX (na RaspberryPi)

Mając ustawione połączenie konsola-router można pójść dalej. Znowu jest to dokładnie opisane i co więcej opis jest zgodny ze stanem faktycznym (cf github.com/weewx/weewx/wiki/gw1000-recipe):

Instalujemy weeWX (wybierając 'Simulator' jako 'station type'). Później należy zmienić 'station type' na 'Interceptor' uruchamiając wee_config --reconfigure:

wget -qO - http://weewx.com/keys.html | sudo apt-key add -
wget -qO - http://weewx.com/apt/weewx.list | sudo tee /etc/apt/sources.list.d/weewx.list
sudo apt-get update
sudo apt-get install weewx

# shut down weeWX
sudo /etc/init.d/weewx stop

# install weewx-interceptor extension and enable the driver
git clone https://github.com/matthewwall/weewx-interceptor.git
sudo wee_extension --install weewx-interceptor
sudo wee_config --reconfigure

Sprawdzenie czy interceptor przechwytuje dane. W oknie terminala uruchamiamy interceptor.py ze wskazaniem na port 8000:

PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/interceptor.py \
 --device=fineoffset-bridge --port 8000 --debug

Uruchamiamy przeglądarkę, wpisujemy następujący URL (192.168.xx.xx to IP komputera z weeWXem):

http://192.168.xx.xx:8000/data/report?PASSKEY=XXX&stationtype=GW1000B_V1.5.5
 &dateutc=2019-12-29+16:27:27&tempinf=67.1&humidityin=39
 &baromrelin=30.138&baromabsin=30.138&freq=915M&model=GW1000

W oknie terminala z uruchomionym interceptor.py powinno się pojawić:

raw data: PASSKEY=XXX&stationtype=GW1000B_V1.5.5&dateutc=2019-12-29+16:27:27&tempinf=67.1
&humidityin=39&baromrelin=30.138&baromabsin=30.138&freq=915M&model=GW1000
raw packet: {'humidity_in': 39.0, 'temperature_in': 67.1, 'barometer': 30.138, 'usUnits': 1,
'dateTime': 1577636847} mapped packet: {'inHumidity': 39.0, 'barometer': 30.138, 'inTemp': 67.1,
'usUnits': 1, 'dateTime': 1577636847} 

Konfigurowanie GW1000

W aplikacji WSView przechodzimy do strony 'Weather Services'. Klikamy 'Next' aż wyświetli się 'Customized'. Na tej stronie wpisujemy IP komputera z zainstalowanym weeWXem jako wartość pola 'Server IP/Hostname'. Wpisujemy '/' jako wartość pola 'Path' oraz 8000 jako wartość pola 'Port'. Domyślny upload jest ustawiony na 60 sekund (zmieniłem na 300).

Ustawienia weeWX są w pliku /etc/weewx/weewx.conf. W szczególności sekcja Interceptor powinna wyglądać następująco:

[Interceptor]
    driver = user.interceptor
    device_type = fineoffset-bridge
    port = 8000

Uruchamianie/zatrzymanie/sprawdzanie usługi:

# Start weewx (as daemon)
sudo /etc/init.d/weewx start
# Stop weewx
# sudo /etc/init.d/weewx stop
# Check status
# /etc/init.d/weewx status
# systemctl status -l weewx
# ls -l /etc/rc2.d

WeeWX zapisuje dane do bazy /var/lib/weewx/weewx.sdb. Można je oglądać uruchamiając:

sqlite3 /var/lib/weewx.sdb

## wyświetl wszystkie tabele
.tables
## wyświetl schemat tabeli archive
.schema archive
PRAGMA table_info(archive);
## zawartość archive
select * from archive;
## zakończ
.q

Główną tabelą danych weeWXa jest archive:

sqlite> PRAGMA table_info(archive);
select * from archive

0|dateTime|INTEGER|1||1
1|usUnits|INTEGER|1||0
2|interval|INTEGER|1||0
3|barometer|REAL|0||0
4|pressure|REAL|0||0
5|altimeter|REAL|0||0
6|inTemp|REAL|0||0
7|outTemp|REAL|0||0
8|inHumidity|REAL|0||0
9|outHumidity|REAL|0||0
10|windSpeed|REAL|0||0
11|windDir|REAL|0||0
12|windGust|REAL|0||0
13|windGustDir|REAL|0||0
14|rainRate|REAL|0||0
15|rain|REAL|0||0
16|dewpoint|REAL|0||0
17|windchill|REAL|0||0
18|heatindex|REAL|0||0
19|ET|REAL|0||0
20|radiation|REAL|0||0
21|UV|REAL|0||0
22|extraTemp1|REAL|0||0
23|extraTemp2|REAL|0||0
24|extraTemp3|REAL|0||0
25|soilTemp1|REAL|0||0
26|soilTemp2|REAL|0||0
27|soilTemp3|REAL|0||0
28|soilTemp4|REAL|0||0
29|leafTemp1|REAL|0||0
30|leafTemp2|REAL|0||0
31|extraHumid1|REAL|0||0
32|extraHumid2|REAL|0||0
33|soilMoist1|REAL|0||0
34|soilMoist2|REAL|0||0
35|soilMoist3|REAL|0||0
36|soilMoist4|REAL|0||0
37|leafWet1|REAL|0||0
38|leafWet2|REAL|0||0
39|rxCheckPercent|REAL|0||0
40|txBatteryStatus|REAL|0||0
41|consBatteryVoltage|REAL|0||0
42|hail|REAL|0||0
43|hailRate|REAL|0||0
44|heatingTemp|REAL|0||0
45|heatingVoltage|REAL|0||0
46|supplyVoltage|REAL|0||0
47|referenceVoltage|REAL|0||0
48|windBatteryStatus|REAL|0||0
49|rainBatteryStatus|REAL|0||0
50|outTempBatteryStatus|REAL|0||0
51|inTempBatteryStatus|REAL|0||0

Nie ma kolumny PM2.5 w szczególności.

Wysyłanie danych na ecowitt.net

To się samo robi. Trzeba tylko zarejestrować stację na ecowitt.net podając MAC-adres urządzenia, ale ecowitt.net nie udostępnia danych publicznie. Żeby oglądać zawartość ecowitt.net trzeba się zalogować. No a żeby się zalogować, to trzeba mieć konto. Inna sprawa że nie trzeba mieć stacji, żeby mieć konto. Jest też stronka pod adresem www.weewx.com/stations.html z wykazem zarejestrowanych stacji obsługiwanych przez WeeWX. Żeby tam zaistnieć trzeba wstawić do /etc/weewx/weewx.conf:

register_this_station = True
station_url = http://pinkaccordions.homelinux.org/

Co jest opisane w dokumentacji WeeWXhttp://www.weewx.com/docs/usersguide.htm#station_registry

Dodanie czyjnika PM2.5

Nie ma kolumny PM2.5, ale interceptor.py pobiera co trzeba bo na ecowitt.net są dane dotyczące PM2.5 tylko lokalnie nie są rejestrowane w bazie. Wychodzi na to, że to WeeWx 'nie widzi' ekstra danych.

Jest oficjalny sposób na rozszerzenie schematu bazy (http://www.weewx.com/docs/customizing.htm#add_archive_type) ale ja póki co zrobiłem to na szybko w ten sposób, że zmodyfikowałem działanie /usr/share/weewx/user/interceptor.py, który nie tylko wypisuje co przechwycił (co zapewne przetwarza dalej weeWX), ale także zapisuje przechwycony rekord do pliku tekstowego. W tym celu dodałem takie coś:

def genLoopPackets(self):
    last_ts = 0
    while True:
      try:
        data = self._device.get_queue().get(True, self._queue_timeout)

        logdbg('raw data: %s' % data)

        ## LOG every 15 minutes
        nowMM = time.strftime("%M", time.gmtime())
        if (nowMM == '00' or nowMM == "15" or nowMM == "30" or nowMM == "45"):
          ffex = open("/var/log/weewx_exlog.txt", "a+")
          ffex.write ('[WEEWX#RAW] %s\n' % data)
          ffex.close()
          ##loginf('[WEEWX#RAW]: %s' % data)

Co 15 minut, a dokładniej w 15/30/45 oraz zerowej minucie każdej godziny zapisywany jest rekord danych do pliku /var/log/weewx_exlog.txt.

cp  interceptor.py interceptor_orig.py
## po zmodyfikowaniu interceptor.py w wyżej opisany sposób
python -m py_compile interceptor.py

Prezentacja wyników

Standardowe raporty WeeWXa są w katalogu: /var/www/html/weewx. W sumie z nich nie korzystam, robię raport po swojemu z pliku /var/log/weewx_exlog.txt

Dokładniej raport jest tworzony na komputerku bez dostępu do internetu a następnie co godzinę kopiowany na ten, który dostęp ma czyli na pinkaccordions.homelinux.org

W planach jest zakup ekranu LCD 5--7 cali do raspberry co będzie robił za wyświetlacz mojej stacji.

Różne rzeczy

Minimalizowanie liczby zapisów (przeciwdziałanie zużyciu się karty SDHC) https://github.com/weewx/weewx/wiki/Minimize-writes-on-SD-cards.