Dane mamy jakieś fizyczne obiekty i informacje o nich (np. poziom przepływu wody czy jasność, never mind).
Klient i serwer. Klient przez zwykłe HTTP request wysyła pytanie o stan obiektów do serwera. Serwer, a konkretnie jakiś skrypt PHP dostaje request, otrzymuje dane z programu (pisanego w C++) pobierającego i przetwarzającego dane z czujników, tworzy z nich dokument JSON i zwraca klientowi. Wszystko wydaje się proste ładne i przyjemne, tylko że jest jeden problem. Nie wiem jak wymieniać dane między skryptem PHP a samym programem głównym.
Najprostszym i najgorszym rozwiązaniem jest generowanie na bieżąco np. pliku tekstowego z aktualnymi danymi, z których skrypt PHP pobierze dane i zwróci klientowi. Niestety dane będą zmieniały się bardzo często i takie ciągłe pisanie do pliku to zły pomysł.
Pomyślałem jeszcze o wewnętrznej wymianie danych na jakimś porcie, niemniej nie jestem pewny jak PHP radzi sobie z obsługą socketów. Wiem tylko że taka możliwość istnieje. :)
A może Wy mircy macie jakieś pomysły jak to rozwiązać?
@bartoneczek: nie odświeżyło mi się :) A musisz otrzymywać dane przez http? Nie możesz napisać serwera w cpp i po prostu używać tych samych danych które będziesz wysyłał przez TCP?
@bartoneczek: no to pominąłeś dość istotną informację :) anie możesz trzymać danych na ramdisk albo cos w ten deseń ,aby pominąć zapis na karcie i tylko raz na jakis czas zrzucać z ramdisk na karte ,żeby w razie awarii ch.. nie strzelił danych?
@phyrexia2007: wtedy tak czy siak wchodzi obsługa socketów w PHP, bo musiałbym realizować wymianę datagramów (czy tam nawiązywać połączenie) nie po localu, tylko już po stronie klienta.
@fotexxx: jest to jakieś rozwiązanie, ale trochę półśrodek. :( Chciałbym uniknąć przypadkowości i pomijania informacji.
Mircy mam problem pic related.
Dane mamy jakieś fizyczne obiekty i informacje o nich (np. poziom przepływu wody czy jasność, never mind).
Klient i serwer. Klient przez zwykłe HTTP request wysyła pytanie o stan obiektów do serwera. Serwer, a konkretnie jakiś skrypt PHP dostaje request, otrzymuje dane z programu (pisanego w C++) pobierającego i przetwarzającego dane z czujników, tworzy z nich dokument JSON i zwraca klientowi. Wszystko wydaje się proste ładne i przyjemne, tylko że jest jeden problem. Nie wiem jak wymieniać dane między skryptem PHP a samym programem głównym.
Najprostszym i najgorszym rozwiązaniem jest generowanie na bieżąco np. pliku tekstowego z aktualnymi danymi, z których skrypt PHP pobierze dane i zwróci klientowi. Niestety dane będą zmieniały się bardzo często i takie ciągłe pisanie do pliku to zły pomysł.
Pomyślałem jeszcze o wewnętrznej wymianie danych na jakimś porcie, niemniej nie jestem pewny jak PHP radzi sobie z obsługą socketów. Wiem tylko że taka możliwość istnieje. :)
A może Wy mircy macie jakieś pomysły jak to rozwiązać?
źródło: comment_w4ch0ZOSyu3bDu8R59aANILDioWG4Far.jpg
Pobierzźródło: comment_vUAVyBGNlzqf3w7z9k8DlbxvJMcn2G5b.jpg
PobierzSerwer to RPI. Baza danych zajedzie mi kartę. :(
@fotexxx: jest to jakieś rozwiązanie, ale trochę półśrodek. :( Chciałbym uniknąć przypadkowości i pomijania informacji.
@bartoneczek: półśrodkiem jest juz używanie rpi bez zewnetrznego storage :D
http://cpp-netlib.org/0.9.4/examples/http/hello_world_server.html
@okkszakaraka: cały post mówi o tym że nie. :P
@fermento: też zaraz zobaczę. :)
@fotexxx: http://rembiejewski.pl/blog/raspberry-pi-ramdisk/ a gdyby tak faktycznie zamontować ramdisk jako partycję i tam to na bieżąco zrzucać... ;>
możesz też postawić jakąś małą bazkę w ramfs, jakiegoś nosqla małego na przykład.