Linuxiarze.pl Forum

Sprzęt => Inne => Wątek zaczęty przez: KubaK w Luty 05, 2017, 04:15:41 PM

Tytuł: Miernik wiatru
Wiadomość wysłana przez: KubaK w Luty 05, 2017, 04:15:41 PM
Witam! Jako że mieszkam blisko dużego jeziora i równocześnie jestem windsurferem :) wpadłem na pomysł aby zrobić mini stację pogodową na raspberry pi 3, której wyniki działania będą umieszczane na stronie www. Na początku chciałbym mierzyć samą siłę wiatru. Wpadłem na pomysł: prosty program, który sczytuje prędkość wiatru zapisuje go do pliku, następnie poprzez cron co np. 1 sekundę wywołuje skrypt bash, który wgrywa ten plik na serwer www przez ftp. Strona będzie pobierała informację z tego pliku i wyświetlała ją.

Program w języku C:

#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>

#define pinWiatr 17

int main() {
FILE *fp;
int licznik = 0;
int obroty = 0;
float wiatr = 0;
wiringPiSetupGpio();
pinMode(pinWiatr, INPUT);


for (;;) {
licznik++;

if (digitalRead(pinWiatr) == LOW) {
delay(2);
while (digitalRead(pinWiatr) == LOW);
obroty++;

}
if (licznik == 100) {
fp = fopen("wiatr.txt", "w");
wiatr = (obroty*2.40114)*0.5399569444;
fprintf(fp, "%0.2lf", wiatr);
fclose(fp);
system("/bin/bash -c ./ftp.sh &");
printf("%0.2lf\n", wiatr);
//printf("%lf\n", wiatr);

licznik = 0;
obroty = 0;
}
delay(8);

}
return 0;
}

Nie testowałem go jeszcze, ponieważ nie mam jeszcze czujnik wiatru :P

Jak myślicie, ma to sens? Czy aktualizacja pliku poprzez ftp co sekundę to mało "ekonomiczny" pomysł?
Czekam na wasze sugestie :)
Tytuł: Odp: Miernik wiatru
Wiadomość wysłana przez: lesio w Luty 06, 2017, 12:44:49 AM
Nie do końca rozumiem działanie programu. Plik jest otwierany przed pętlą, a następnie wielokrotnie zamykany w pętli. Związek zmiennej "wiatr" z wskazaniami czujnika niejasny. Myślę, że najpierw warto przetrenować skuteczny odczyt z czujnika i zapis do pliku.
Warto się zastanowić, czy należy odnotowywać  co jakiś czas wartość chwilową, czy też uśrednioną za okres między odczytami?
Transfer pliku jest oczywiście prawidłowym sposobem przekazywania informacji między komputerami. A może warto wziąć pod uwagę udostępnianie katalogu z plikiem np. po NFS?
Tytuł: Odp: Miernik wiatru
Wiadomość wysłana przez: KubaK w Luty 07, 2017, 08:51:15 PM
Przyszedł mi czujnik prędkości wiatru. Poprawiłem program (Już chyba działa prawidłowo :) )
Miałem problem z cronem. Teraz wywołuję tylko ten program i on całą resztę wykonuje.
(http://surfportal.pl/zdjecia/1.JPG)
(http://surfportal.pl/zdjecia/2.JPG)
(http://surfportal.pl/zdjecia/3.JPG)
Tytuł: Odp: Miernik wiatru
Wiadomość wysłana przez: lesio w Luty 07, 2017, 10:09:35 PM
Jeśli wszystko działa, to gratuluję. Współpraca komputera z nietypowymi urządzeniami zewnętrznymi to zawsze ciekawe wyzwanie.