Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 lut 2025, o 20:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 24 mar 2015, o 16:47 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Proszę o małą pomoc bo uczciwie nie wiem z której strony szukać a czasu szkoda, przedstawię swój problem.

Jak zwykle sieć typu inteligentny dom.

ok 30 płytek z atmega8 lub 16 załatwiające podstawowe działania typu, pomiar temperatury,wilgotności, sterowanie,przekaźnikami itp, itd, wszystkie komunikują się za pomocą rs485 w systemie podobnym do MODBUS
- czyli np 101.001.001.xxx.xxx.xxx gdzie
101, to adres mikrokontorlera (płytki)
001, to komenda czynności w tym wypadku wypisz coś
001, to rozkaz konkretnej czynności (w tym wypadku wypisuje temperatury z danego mikrokontrolera)
Dane odbiera CUBIEBOARD2 poprzez (tymczasowo przelotkę ch41 czyli USB-RS485) docelowo przez UART (tylko muszę zrobić konwersję poziomów napięć 3,3V na 5V) gdzie pierwotnie zrobiłem w BASHU odczyt - ale utknąłem bo nie mogłem jednocześnie w skrypcie nadawać i zaraz odbierać, więc przeszedłem na C.
Napisałem w Linux C prosty programik który otwiera port wysyła rozkaz odczekuje 1 s i odbiera dane analizując je i zapisuje w bazie MYSQL (no i działa, a za pomocą PHPLOT robią się z bazy fajne wykresy)

To tyle co udało mi się zrobić.
Przydało by się teraz rozbudować program o komunikację z PHP gdzie zrobiłbym sobie buttona on/off i bym sobie sterował mikrokontrolerem.
Zrobiłem coś nawet za pomocą php i zmiennej "shelexec()" wysyłanie danych bezpośrednio do mikrokontrolera ale na poziomie RS485 zaczęły mi się robić nakładki gdzie skrypt wysyłał swoje a PHP swoje no i robił się kocioł. Więc musowo to uporządkować.

Myślę że dostatecznie opisałem projekt a teraz pytanie prośba.
Jak zorganizować komunikację z daemonem (programem) aby wysłać np rozkaz do niego np z PHP -> wykonaj 1 ->program odczytuje i wydaje rozkaz do konkretnej płytki wstrzymując tymczasowo berzące zadania.

Czytałem o socket, zastanawiałem się też nad CGI ale to dużo zabawy (ale jak się nie da) chodzi mi o coś takiego w C aby wysłać najlepiej do skryptu zmienną POST i z niej odczytywać skrypt lub może coś prostszego jak pisanie do portu lub coś ????

Nie oczekuję gotowca - ale nakierowania aby to najlepiej zrobić.

_________________
https://t.me/pump_upp



Ostatnio edytowano 24 mar 2015, o 21:31 przez doktor_piotr, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2015, o 21:28 
Offline
Użytkownik

Dołączył(a): 07 gru 2013
Posty: 90
Pomógł: 6

Nie wiem czy moja odpowiedz będzie pomocna;przerabiałem kiedyś podobny temat ale bardziej była to zabawa. Ja robiłem to w ten sposób: ( linux debian ) prosty program w C komunikował się z avr-em odbierał od niego dane; dane te zapisywałem w pliku ( w linuksie można utworzyć małą partycje w pamięci ram i tam zapisywać plik ) a dalej php "przerabiał" dane z pliku na www. W drugą stronę podobnie skrypt php wywoływał zewnętrzny program do komunikacji z avr. ( program do komunikacji zwracał jakąś tam wartość którą php "obrabiał"). Aha program do komunikacji z avr-em na początku uruchamiałem w "screenie" a później w cron-ie. Jak potrafisz zrobić komunikacje po rs-ie pod linuxem ( w Elektronice Praktycznej był fajny opis programowania rs232 pod linuxem ) to myślę że z resztą nie będzie problemów ( google, php, kawa, nieprzespana noc itd).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2015, o 21:34 
Offline
Nowy

Dołączył(a): 26 mar 2013
Posty: 14
Pomógł: 0

Jednak wybór padł na server WWW - czyli sokety (bluebook sie kłania wprawdzie tam jest to opisane na AVR ale język C to C wystarczyło trochę wolnego czasu). No i google - ja konkretnie skorzystałem z tego http://cpp0x.pl/artykuly/?id=66 szczególnie polecam fragment o nieblokowaniu programu.

Jezcze tylko parsowanie danych ze strony i będzie git

Temat uważam za zamknięty

_________________
https://t.me/pump_upp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO