<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=30&amp;t=11168&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-24T21:34:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=11168&amp;mode</id>
<entry>
<author><name><![CDATA[doktor_piotr]]></name></author>
<updated>2015-03-24T21:34:49+01:00</updated>
<published>2015-03-24T21:34:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124532#p124532</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124532#p124532"/>
<title type="html"><![CDATA[Re: AVR-&gt;RS485-&gt;LiNUX C-&gt;PHP]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124532#p124532"><![CDATA[
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 <a href="http://cpp0x.pl/artykuly/?id=66"  class="postlink">http://cpp0x.pl/artykuly/?id=66</a> szczególnie polecam fragment o nieblokowaniu programu.<br /><br />Jezcze tylko parsowanie danych ze strony i będzie git<br /><br />Temat uważam za zamknięty<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1100">doktor_piotr</a> — 24 mar 2015, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jony15]]></name></author>
<updated>2015-03-24T21:28:29+01:00</updated>
<published>2015-03-24T21:28:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124530#p124530</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124530#p124530"/>
<title type="html"><![CDATA[Re: AVR-&gt;RS485-&gt;LiNUX C-&gt;PHP]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124530#p124530"><![CDATA[
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 &quot;przerabiał&quot; 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 &quot;obrabiał&quot;). Aha program do komunikacji z avr-em na początku uruchamiałem w &quot;screenie&quot; 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).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2183">jony15</a> — 24 mar 2015, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doktor_piotr]]></name></author>
<updated>2015-03-24T21:31:29+01:00</updated>
<published>2015-03-24T16:47:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124495#p124495</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124495#p124495"/>
<title type="html"><![CDATA[AVR-&gt;RS485-&gt;LiNUX C-&gt;PHP]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11168&amp;p=124495#p124495"><![CDATA[
Proszę o małą pomoc bo uczciwie nie wiem z której strony szukać a czasu szkoda, przedstawię swój problem.<br /><br />Jak zwykle sieć typu inteligentny dom.<br /><br />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 <br />- czyli np 101.001.001.xxx.xxx.xxx  gdzie <br />101, to adres mikrokontorlera (płytki)<br />001, to komenda czynności w tym wypadku wypisz coś<br />001, to rozkaz konkretnej czynności (w tym wypadku wypisuje temperatury z danego mikrokontrolera)<br />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. <br />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)<br /><br />To tyle co udało mi się zrobić.<br />Przydało by się teraz rozbudować program o komunikację z PHP gdzie zrobiłbym sobie buttona on/off i bym sobie sterował mikrokontrolerem. <br />Zrobiłem coś nawet za pomocą php i zmiennej &quot;shelexec()&quot; 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ć. <br /><br />Myślę że dostatecznie opisałem projekt a teraz pytanie prośba.<br />Jak zorganizować komunikację z daemonem (programem) aby wysłać np rozkaz do niego np z PHP -&gt; wykonaj 1 -&gt;program odczytuje i wydaje rozkaz do konkretnej płytki wstrzymując tymczasowo berzące zadania.<br /><br />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ś ????<br /><br />Nie oczekuję gotowca - ale nakierowania aby to najlepiej zrobić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1100">doktor_piotr</a> — 24 mar 2015, o 16:47</p><hr />
]]></content>
</entry>
</feed>