Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Potrzebna pomoc do weryfikacji kodu  (Przeczytany 5346 razy)

WS2300

  • Gość
Potrzebna pomoc do weryfikacji kodu
« dnia: 2016-01-11, 14:39:46 »
Witam

Na wstępie informacja iż jestem zupełnym laikiem w Linux.

Postanowiłem podłączyć swoją stację pogodową La Crosse WS2300 do upublicznienia danych za pomocą serwisu wunderground do internetu.

Znalazłem w sieci tutorial  (niestety po francusku) jak to zrobić
tu: http://www.maison-et-domotique.com/31828-raspberry-pi-la-crosse-technology-station-meteo-connectee/
tłumaczenie:  http://www.maison-et-domotique.com/31828-raspberry-pi-la-crosse-technology-station-meteo-connectee/

Teoretycznie ponieważ są screeny, powinno być bez kłopotu, a jednak mam problem, którego przy stanie swojej wiedzy nie mogę przeskoczyć.

Mianowicie dane w serwisie wunderground (po zarejestrowaniu się i otrzymaniu identyfikatora stacji) oraz wpisaniu  ich do pliku open2300.conf jak wyłuszcza autor nie pojawiają się w serwisie .


Mam podejrzenie że winę za ten stan rzeczy ponoszą wpisy lub coś zwane kompilacją.

do momentu z poradnika tj. komendy:   sudo ./fetch2300   wszystko jest OK tj. dane jak w poradniku są widoczne w konsoli.
Następny krok to konfiguracja w której autor poradnika wskazuje linijki kodu które trzeba wpisać do odpowiednich plików tj.
linux2300.c  oraz wu2300.c  (musiałem uzyskać możliwość zmiany w tych plikach poprzez sudo su  -czy tak powinno być poradnik nic o tym nie mówi ?)

Pierwsza prośba: o weryfikację czy podany kod do wklejenia powinien zawierać cudzysłowia tj. "
vide:     sprintf (bufor, "GET% s HTTP / 1.0 \ r \ nTyp-Agent: open2300 / 1.10-2 \ r \ nAccept: * / * \ r \ nHost: weatherstation.wunderground.com \ r \ nConnection: Keep-Alive \ r \ n \ r \ n "urlline);

 , czy też jak widać w oryginale (nie tłumaczeniu) poradnika znaki << ,lub w innym miejscu >> 
vide:     sprintf(buffer, « GET %s HTTP/1.0\r\nUser-Agent: open2300/1.10-2\r\nAccept: */*\r\nHost: weatherstation.wunderground.com\r\nConnection: Keep-Alive\r\n\r\n », urlline);

Druga prośba: czy podany do wpisania kod jest prawidłowy ? (niestety totalnie nie ma pojęcia co on robi).
(swoją drogą-czy muszę dokonać wpisu przez konsolę, czy mogę to zrobić otwierając plik przez Text Edytor ?)

Trzecia prośba: jaką komendę powinienem wykonać tu:
oryginał:    Il faut alors recompiler les programmes, en faisant « make », puis ensuite « make install ».
tłumacz :    Musimy rekompilacji programów, co "zrobić", a następnie "make install".

Podam, że gdy wpisywałem jak podaje dalej poradnik    sudo ./wu2300
,to po jakimś czasie ok. 15s i wykonanym wpisie poprzez crontab -e   linii z poradnika tj. */30 * * * * sudo /home/pi/open2300-1.10/wu2300
pojawia się:   pi@raspberrypi: ~/open2300-1.10 $
sprawdziłem komendą ps -a    ,że open2300 działa ale po tych 15s mam tylko bash i ps pomimo że cron działa.


Z góry dziękuję za pomoc i wyrozumiałość co do stanu mojej wiedzy.

Wojtek

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #1 dnia: 2016-01-11, 20:35:01 »
Cytuj
tłumacz :    Musimy rekompilacji programów, co "zrobić", a następnie "make install".
skompilować i zainstalować (make i make install ), ale to nie jest zalecane dla nowicjuszy,
chyba ze nie boisz się popsuć systemu, to nie ma problemu.
( make uninstall nie zawsze działa, to zależy od developera który robił )
http://linuxiarze.pl/kompilacja/
Bardziej zalecane jest budowanie paczek.
Najlepiej psuć na systemie postawionym na maszynie wirtualnej, np. virtualbox,
jest za darmo
Przykład:
https://www.youtube.com/watch?v=3Ra9ZS053FY

Aczkolwiek jesli to musi być połączene z urządzeniem przez usb, to system na maszynie wirtualnej to nie bedzie dobrym pomyslem.
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

WS2300

  • Gość
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #2 dnia: 2016-01-11, 22:46:19 »
Bardzo dziękuję za odpowiedź.
Zaryzykuję .
Na razie zgodnie z info. z poradnika http://linuxiarze.pl/kompilacja/
otworzyłem folder (tu ~/open2300-1.10 $) w konsoli i zapodałem  ./configure  jako zwykły użytkownik tj. pi  (czyli bez sudo su) w celu sprawdzenia .
Dostałem komunikat:  bash: ./ No such file or directory
co jest nie tak ?

Dodam że w poradniku francuskiego usera na początku poradnika było make i po jego wykonaniu było OK.
patrz :
wget http://heanet.dl.sourceforge.net/project/open2300/open2300/1.10/open2300-1.10.zip
unzip open2300-1.10.zip
cd open2300-1.10
make
efekt był taki :
http://www.maison-et-domotique.com/wp-content/uploads/2013/05/make-500x285.png
« Ostatnia zmiana: 2016-01-11, 22:48:08 wysłana przez Wojtek »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #3 dnia: 2016-01-12, 07:55:37 »
A teraz test na spostrzegawczość:

Po rozpakowaniu open2300.zip pojawia się szereg plików. Czy zainteresowałeś się plikami README i INSTALL? I zapewniam, one nie są po francusku...

Do posta załączyłem najnowsze znane źródła (wersja 1.11), w których naniesione są (między innymi) poprawki opisywane w tym francuskim artykule. W zasadzie nie musisz nic edytować. Robisz "make" potem  "make install" (oczywiście oba na malince!!!), poprawiasz stosowne wpisy w open2300.conf i kopiujesz go do /etc albo /usr/local/etc (obojętnie) i powinno działać.

PS. Ten francuski artykuł ma rzeźnię w listingach. CMS, którego używa autor radośnie zamienia C-owe cudzysłowy na francuskie "<<" i ">>", plus kilka innych zabaw z interpunkcją. Napisałem do gościa, żeby to poprawił.
« Ostatnia zmiana: 2016-01-12, 07:58:46 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #4 dnia: 2016-01-12, 08:10:55 »
Cytuj
Dostałem komunikat:  bash: ./ No such file or directory
co jest nie tak ?
Komendy wykonuje się w zależności w tym co masz w plikach źródłowych,
lub co pisze w plikach  README i INSTALL.
akurat pliku configure nie ma, dlatego go nie uruchomisz.
 (plik configure nie zawsze jest)
Plik configure służy do sprawdzenia zalezności w systemie czy są zainstalowane,
a następnie najczęsciej jest tworzony plik "make".
- to tak na marginesie
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

WS2300

  • Gość
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #5 dnia: 2016-01-12, 09:52:50 »
Pawle,
dziękuję Ci za cenne merytoryczne wskazówki.

 
A teraz test na spostrzegawczość:
Widziałem , ale moja wiedza i znajomość ang. jest słabiutka.

Jeszcze tylko dwie wątpliwości :
Cytuj
Do posta załączyłem najnowsze znane źródła (wersja 1.11), w których naniesione są (między innymi) poprawki opisywane w tym francuskim artykule.
Czyli w katalogu open2300-10.1 podmieniam na te załączone pliki normalnie przenosząc i zastępując , czy z konsoli muszę ?

Cytuj
kopiujesz go do /etc albo /usr/local/etc (obojętnie) i powinno działać.
Dla pewnośći: czyli kopiuję sam open2300.conf komendą cp tj. cp open2300.conf /usr/local/etc   ?

Jeszcze raz dzięki
Wojtek

EDIT: nie czekajac zrobilem make wszystko OK
 ale po make install  mam to:
pi@raspberrypi:~/open2300-1.11 $ make install
mkdir -p /usr/local/bin
install open2300 /usr/local/bin
install: cannot create regular file ‘/usr/local/bin/open2300’: Permission denied
Makefile:109: recipe for target 'install' failed
make: *** [install] Error 1

co jest nie tak?
« Ostatnia zmiana: 2016-01-12, 10:30:52 wysłana przez Wojtek »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #6 dnia: 2016-01-12, 12:16:42 »
Z alergią na konsolę może być ciężko na Linuksach, a już szczególnie w embedded - jak Malinka...

* Kluczowa linijka:
Cytuj
install: cannot create regular file ‘/usr/local/bin/open2300’: Permission denied
informuje, że nie masz uprawnień do zapisu w katalogu /usr/local/bin. Dlatego w tym przypadku robisz "sudo make install".

* sudo cp open2300.conf /usr/local/etc jako zwykły użytkownik albo bez sudo jako root. Oczywiście pierw robisz open2300.conf na podstawie open2300-dist.conf, poprawiając odpowiednie wpisy.

* Moje archiwum zastępuje archiwum, które ściągnąłeś z sieci. Skasuj cały stary katalog i rozpakuj mojego ZIP-a.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

WS2300

  • Gość
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #7 dnia: 2016-01-12, 12:37:25 »
* Kluczowa linijka:
Cytuj
install: cannot create regular file ‘/usr/local/bin/open2300’: Permission denied
informuje, że nie masz uprawnień do zapisu w katalogu /usr/local/bin. Dlatego w tym przypadku robisz "sudo make install".
tak zrobilem i mam:
pi@raspberrypi:~/open2300-1.11 $ sudo make install
mkdir -p /usr/local/bin
install open2300 /usr/local/bin
install dump2300 /usr/local/bin
install log2300 /usr/local/bin
install fetch2300 /usr/local/bin
install wu2300 /usr/local/bin
install cw2300 /usr/local/bin
install histlog2300 /usr/local/bin
install xml2300 /usr/local/bin
install light2300 /usr/local/bin
install interval2300 /usr/local/bin
install minmax2300 /usr/local/bin
install mysql2300 /usr/local/bin
install: cannot stat ‘mysql2300’: No such file or directory
Makefile:109: recipe for target 'install' failed
make: *** [install] Error 1


Czy wszystko OK ?
szczególnie
Makefile:109: recipe for target 'install' failed
make: *** [install] Error 1

Wojtek

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #8 dnia: 2016-01-12, 13:20:32 »
Jak patrzę w Makefile'a, to właściwie jest OK. Plugin mysql jest ostatni i wszystkie pozostałe rzeczy się zainstalowały. A nie wygenerował się, bo nie masz zainstalowanych nagłówków do MySQL - ale jeżeli nie chcesz składować danych do lokalnej bazy, to nie ma problemu.

Jeżeli chcesz mieć "na czysto", to w pliku Makefile wstaw znak # na początku linijek 121 i 122. Plik jest trochę "rozjechany", bo standardowo nie kompiluje żadnych pluginów bazodanowych (do wyboru są MySQL, PostgreSQL i SQLite), a potem jednak próbuje zainstalować ten do MySQL-a.

EDIT:

Jak już się skompiluje i zainstaluje, to w sumie dalej nie jestem w stanie pomóc - nie mam odpowiedniego sprzętu.

PS. Nie przejmuj się. Komputerami zajmuję się od 30 lat, bez mała 3/4 życia. W PC-tach zaczynałem jako die-hard DOS/Windows Rules, Linux Sucks. Wszystko przed tobą. :)
« Ostatnia zmiana: 2016-01-12, 13:59:43 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

WS2300

  • Gość
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #9 dnia: 2016-01-13, 12:35:32 »
Jeżeli chcesz mieć "na czysto", to w pliku Makefile wstaw znak # na początku linijek 121 i 122. Plik jest trochę "rozjechany", bo standardowo nie kompiluje żadnych pluginów bazodanowych (do wyboru są MySQL, PostgreSQL i SQLite), a potem jednak próbuje zainstalować ten do MySQL-a.

Bardzo mi pomogłeś . Bezcenny okazał się plik z poprawioną wersją OPEN2300 (sam go przygotowałeś?. Czy znalazłeś w sieci ?,podaj link-a do źródła dla ew. potrzebujących).
Jeszcze raz dziękuję.
Zatem uruchomiłem cron-a i wydawało mi się że się wyłącza ,jak zapodałem /etc/init.d/cron status .Jednak jak zmieniłem zamiast 10 min parametr co 1 min okazało się że jest OK. Nie wiedziałem że zadanie widać dopiero podczas wykonywania cron zapodawał wprawdzie active (running) ale dopiero jak "przyszedł czas" było:
24248  /bin/sh -c sudo /home/pi/open2300-1.10/wu2300
24249 sudo /home/pi/open2300-1.10/wu2300
24256 /home/pi/open2300-1.10/wu2300

Dane płyną i są do obejrzenia na serwisie www.wunderground.com w wyszukiwarce wystarczy wpisać id stacji IWOJEWDZ116

Pozdrawiam

Wojtek
« Ostatnia zmiana: 2016-01-13, 12:54:37 wysłana przez Wojtek »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #10 dnia: 2016-01-13, 14:13:14 »
Nie, nie przygotowałem sam. Ściągnąłem z repozytorium podanego na stronie domowej projektu.

Co do crona - wszystko jest poprawnie. Cron w podanym czasie uruchamia dany program, więc jeżeli program działa krótko, to poza wyznaczonym czasem nie ma działającego procesu danej aplikacji (ps, htop czy top nic nie wykazują)...
Tobie może pozajączkowało się z daemonem - wtedy rzeczywiście proces roboczy działa non-stop, ale w takiej sytuacji nie potrzebuje już cron-a do pracy.
Cytuj
IWOJEWDZ116
Szczecin, moje miasto rodzinne... Wow, odblokowałęm mapę... Mieszkasz rzut dyskietką od moich dziadków :)
« Ostatnia zmiana: 2016-01-13, 14:19:52 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Filystyn

  • Gość
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #11 dnia: 2016-01-27, 10:47:28 »
1) sprintf (bufor, "GET% s HTTP / 1.0 \ r \ nTyp-Agent: open2300 / 1.10-2 \ r \ nAccept: * / * \ r \ nHost: weatherstation.wunderground.com \ r \ nConnection: Keep-Alive \ r \ n \ r \ n "urlline);

2)  sprintf(buffer, « GET %s HTTP/1.0\r\nUser-Agent: open2300/1.10-2\r\nAccept: */*\r\nHost: weatherstation.wunderground.com\r\nConnection: Keep-Alive\r\n\r\n », urlline);

Dzień dobry  Jedynka jest zdecydowanie błędna.  ze względu na
GET% s  -złe 
GET %s  -poprawne

Jeżeli jakimś cudem nawet by zadziałała to dosatniemy GETwww.xxx.pl/bla   wątpie aby serwer http był zadowolony jak mu się takiego crapa podstawi.

RFC o ile pamiętam nie zaleca keep-alive dla http1.0, ale co zrobić;p
User-Agent wygląda od czapy (ja bym podszył się pod wincrapa :)
Ja bym dodał jeszcze do headera Accept-Language.

Jednak generalnie to:

2) <---  wygląda poprawnie.

Pozdrawiam.
« Ostatnia zmiana: 2016-01-27, 10:49:17 wysłana przez WreszcieWidoczny »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Potrzebna pomoc do weryfikacji kodu
« Odpowiedź #12 dnia: 2016-01-27, 14:19:33 »
(...)

Pozdrawiam.
Bo post twórcy wątku (z dnia 13 stycznia), że na poprawionym kodzie źródłowym wszystko już działa i można w sieci oglądać raporty - przeoczyłeś?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy