<?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=4&amp;t=10264&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-01-21T21:48:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10264&amp;mode</id>
<entry>
<author><name><![CDATA[Lex_]]></name></author>
<updated>2015-01-21T21:48:29+01:00</updated>
<published>2015-01-21T21:48:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115212#p115212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115212#p115212"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115212#p115212"><![CDATA[
Wklej cały kod. W tym przypadku szybciej coś rzuci się w oczy.<br /><br />Też próbowałem z ITOA ale pan Mirek skombinował fajną funkcję int_to_str.<br />Na niej działa u mnie to bezproblemowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2676">Lex_</a> — 21 sty 2015, o 21:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2015-01-21T15:18:14+01:00</updated>
<published>2015-01-21T15:18:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115140#p115140</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115140#p115140"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=115140#p115140"><![CDATA[
Bawiłem się tymi konwersjami. Nie wyświetla ciągów nawet gdy sobie je sobie bezpośrednio zadeklaruję np. char tab[]=&quot;Blabla&quot;; - sam się dodaje null. Też wstawiałem null sam. Używałem też funkcji itoa() i dalej nic. Czasem wyskakuje komunikat: &quot;tml Connection: close&quot;. <br /><br />Analizując trochę program, wydaje mi się, że wszystkie dane do wyświetlania na stronie są brane z pamięci programu (PSTR() - argumentem jest wskaźnik na string w pamięci programu). Raczej w czym innym leży problem niż w konwersji. Można prosić o więcej wskazówek? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4844">Surion</a> — 21 sty 2015, o 15:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-01-18T11:47:33+01:00</updated>
<published>2015-01-18T11:47:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114714#p114714</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114714#p114714"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114714#p114714"><![CDATA[
<div class="quotetitle">Surion napisał(a):</div><div class="quotecontent"><br />@majster - miałem nadzieję, że przeglądarka to jakoś odczyta. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br /><br />Przeglądarka nie czyta php.<br />Serwer z php oblicza dzialania zmienne i funkcje wyswietlajac jako html a skoro na avr jest serwerek html bez serwera php, mysql itp to musisz poslugiwac sie tylko html'em<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 sty 2015, o 11:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lex_]]></name></author>
<updated>2015-01-17T22:26:01+01:00</updated>
<published>2015-01-17T22:26:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114634#p114634</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114634#p114634"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114634#p114634"><![CDATA[
Musisz popracować nad tą konwersją. Ważne jest aby na końcu był dodany znacznik:<br /><br />[syntax=c]'\0'[/syntax]<br /><br />bo inaczej będzie syf.<br /><br />----------------------<br />[syntax=c]char temp&#91;3&#93;;[/syntax]<br /><br />zadeklaruj globalnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2676">Lex_</a> — 17 sty 2015, o 22:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2015-01-17T22:18:26+01:00</updated>
<published>2015-01-17T22:18:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114633#p114633</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114633#p114633"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114633#p114633"><![CDATA[
@majster - miałem nadzieję, że przeglądarka to jakoś odczyta. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Oto aktualniejszy kod:<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 20 gru 2014<br /> *      Author: Bartek<br /> */<br />//=========================================BIBLIOTEKI====================================================<br />//BIBLIOTEKI PODSTAWOWE<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />//BIBLIOTEKI ETHERNET<br />#include &quot;Ethernet/enc28j60.h&quot;<br />#include &quot;Ethernet/net.h&quot;<br />#include &quot;Ethernet/ip_arp_udp_tcp.h&quot;<br />#include &quot;Ethernet/ip_config.h&quot;<br /><br />//BIBLIOTEKI LCD<br />#include &quot;lcd44780.h&quot;<br /><br />//BIBLIOTEKI CZUJNIKA<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br /><br />//======================DO=CZUJNIKA=================================<br />uint8_t czujniki_cnt;<br />uint8_t znak, tA, tB;<br />void wyswietl(uint8_t x);<br /><br />//======================DO=ŁĄCZNOŚCI=================================<br />// MAC urządzenia<br />static uint8_t mymac&#91;6&#93; = {0x00,0xbe,0x13,0x0d,0x1c,0xe6};<br />//IP Serwera<br />static uint8_t myip&#91;4&#93; = {192,168,1,100};<br /><br />// server listen port for www<br />#define MYWWWPORT 80<br /><br />#define BUFFER_SIZE 850<br />static uint8_t buf&#91;BUFFER_SIZE+1&#93;;<br /><br />uint16_t http200ok(void)<br />{<br />        return(fill_tcp_data_p(buf,0,PSTR(&quot;HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n&quot;)));<br />}<br /><br />// prepare the webpage by writing the data to the tcp send buffer<br />uint16_t print_webpage(uint8_t *buf)<br />{<br />int bla=25;<br />char temp&#91;3&#93;;<br />sprintf(temp,&quot;%d&quot;,bla);<br />        uint16_t plen;<br />        plen=http200ok();<br />        plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;font color='blue' size='7'&gt;&lt;b&gt;Temperatura&lt;/b&gt;\n&lt;/font&gt;&quot;));<br />        plen=fill_tcp_data_p(buf,plen,temp);<br />        return(plen);<br />}<br /><br /><br />//======================================MAIN============================================<br />int main(void){<br /><br />DDRB |=(1&lt;&lt;PB1);<br />PORTB |=(1&lt;&lt;PB1);<br />lcd_init();<br />char tekst&#91;&#93;=&quot;Temperatura:&quot;;<br /><br />czujniki_cnt = search_sensors();<br /><br /><br /><br />    uint16_t dat_p;<br /><br />     //initialize the hardware driver for the enc28j60<br />     enc28j60Init(mymac);<br />     enc28j60PhyWrite(PHLCON,0x476);<br /><br />     //init the ethernet/ip layer:<br />     init_ip_arp_udp_tcp(mymac,myip,MYWWWPORT);<br /><br />     sei();<br /><br />     while(1){<br /><br />    //POMIAR TEMPERATURY<br />        if(tA&lt;10) lcd_cls();<br />        lcd_locate(0,0);<br />        lcd_str(tekst);<br /><br />        DS18X20_start_meas(DS18X20_POWER_EXTERN,NULL);<br />        _delay_ms(750);<br /><br />        if(DS18X20_OK==DS18X20_read_meas(gSensorIDs&#91;0&#93;,&amp;znak,&amp;tA,&amp;tB))<br />        {<br />        wyswietl(5);<br />        }<br /><br />            // read packet, handle ping and wait for a tcp packet:<br />            dat_p=packetloop_icmp_tcp(buf,enc28j60PacketReceive(BUFFER_SIZE, buf));<br /><br />            /* dat_p will be unequal to zero if there is a valid<br />            * http get */<br />            if(dat_p==0){<br />             // no http request<br />            continue;<br />             }<br />                // tcp port 80 begin<br />                if (strncmp(&quot;GET &quot;,(char *)&amp;(buf&#91;dat_p&#93;),4)!=0){<br />                        // head, post and other methods:<br />                        dat_p=http200ok();<br />                        dat_p=fill_tcp_data_p(buf,dat_p,PSTR(&quot;&lt;h1&gt;200 OK&lt;/h1&gt;&quot;));<br />                        goto SENDTCP;<br />                }<br />                // just one web page in the &quot;root directory&quot; of the web server<br />                if (strncmp(&quot;/ &quot;,(char *)&amp;(buf&#91;dat_p+4&#93;),2)==0){<br />dat_p=print_webpage(buf);<br />                        goto SENDTCP;<br />                }else{<br />                        dat_p=fill_tcp_data_p(buf,0,PSTR(&quot;HTTP/1.0 401 Unauthorized\r\nContent-Type: text/html\r\n\r\n&lt;h1&gt;401 Unauthorized&lt;/h1&gt;&quot;));<br />                        goto SENDTCP;<br />                }<br />                SENDTCP:<br />                www_server_reply(buf,dat_p); // send web page data<br />                // tcp port 80 end<br />                _delay_ms(5000);<br />        }<br />        return (0);<br />}<br /><br />//----Wyświetlanie temperatury----<br />void wyswietl(uint8_t x) {<br />lcd_locate(1,x);<br />if(znak)<br />{<br />lcd_str(&quot;-&quot;);<br />}<br />else {<br />lcd_str(&quot; &quot;);<br />}<br />lcd_int(tA);<br />lcd_str(&quot;.&quot;);<br />lcd_int(tB);<br />lcd_str(&quot; C &quot;);<br />}[/syntax]<br /><br /><br />Przekonwertowałem przykładowy intiger do chara, ale teraz za &quot;Temperatura&quot; wyświetla się ciąg &quot;krzaczków&quot;:<br /><a href="http://forum.atnel.pl/_obrazki/o/4844/6ebf565660e72e1e1cf81c4007ee12df.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/4844/6ebf565660e72e1e1cf81c4007ee12df.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4844">Surion</a> — 17 sty 2015, o 22:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lex_]]></name></author>
<updated>2015-01-17T20:17:42+01:00</updated>
<published>2015-01-17T20:17:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114599#p114599</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114599#p114599"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114599#p114599"><![CDATA[
Heja<br /><br />Nie chwaląc się zrobiłem coś takiego i wyświetlanie temperatury działa w taki sposób:<br /><br />[syntax=c]plen=fill_tcp_data(buf,plen,czuj_temp);[/syntax]<br /><br />czuj_temp jest tablicą - [syntax=c]char czuj_temp&#91;2&#93;;[/syntax]<br /><br />Oczywiście wcześniej musisz zrobić konwersję z typu int na char aby to wysłać. W bluebooku to znajdziesz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />tak to wygląda u mnie:<br /><a href="http://forum.atnel.pl/_obrazki/o/2676/74c1f49b1eb1404245a90908762f92bd.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2676/74c1f49b1eb1404245a90908762f92bd.jpg" alt="Obrazek" /></a><br /><br />W php nie poszalejesz, ale html też daje nie głupie możliwości. <br />W razie pytań pomogę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2676">Lex_</a> — 17 sty 2015, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-01-17T20:01:03+01:00</updated>
<published>2015-01-17T20:01:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114597#p114597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114597#p114597"/>
<title type="html"><![CDATA[Re: Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114597#p114597"><![CDATA[
Kolego to jest goły serwerek na html nie na php <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />w związku z tym musisz trzymać się kodu html.<br /><br />Pokaż więcej kodu bez bibliotek z bb to coś spróbuję pomóc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 17 sty 2015, o 20:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2015-01-17T19:50:42+01:00</updated>
<published>2015-01-17T19:50:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114594#p114594</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114594#p114594"/>
<title type="html"><![CDATA[Serwer na AVR - wyświetlanie zawartości zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10264&amp;p=114594#p114594"><![CDATA[
Dobry wieczór. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Korzystając z chwili wolnego czasu postanowiłem pogrzebać trochę w AVR. Z pomocą 'Bluebooka' zrobiłem na atmedze328 serwer HTTP. Dodatkowo uC wykonuje pomiar temperatury czujnikiem DS18B20 i wyświetla ją na LCD. Na razie chciałbym, aby temperatura pojawiła się na stronie internetowej. Serwer już &quot;wystawiłem na zewnątrz&quot; i jest widziana w sieci WAN - sprawdzone przez kilku moich znajomych. <br /><br />Jak wyświetlić wartość zmiennej z pomiaru w funkcji print_webpage()? Próbowałem użyć wtrącenia w php, ale niewiele to mi daje, bo nie kod &quot;nie widzi&quot; tej zmiennej. Przy zastosowaniu funkcji sprintf wyskakuje błąd po kompilacji - invalid initializer.<br /><br />Chodzi konkretnie o tą funkcję:<br />[syntax=c]uint16_t print_webpage(uint8_t *buf)<br />{<br />        uint16_t plen;<br />        plen=http200ok();<br />        plen=fill_tcp_data_p(buf,plen,PSTR(&quot;&lt;font color='blue' size='6'&gt;&lt;b&gt;Temperatura&lt;/b&gt;\n&lt;/font&gt;&quot;));<br />        return(plen);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4844">Surion</a> — 17 sty 2015, o 19:50</p><hr />
]]></content>
</entry>
</feed>