<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - Opět DNS]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=531</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=531&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v Opět DNS.]]></description>
		<lastBuildDate>Fri, 17 Jan 2014 21:19:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4227#p4227</link>
			<description><![CDATA[<p>Díky moc. Já jsem udělal dvě chyby :<br />1. DNS - myslel jsem, že když se na začátku provede překlad, tak platí pořád. Ono to není pravda, po vytažení kabelu&nbsp; a <br />opětovném zapojení se musí provést znova.</p><p>2. Skok pomocí &quot;goto&quot; z vlastní funkce do main asi není dobrý nápad (přetečení zásobníku ??). Možná by to mohl hlídat kompilátor?</p>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Fri, 17 Jan 2014 21:19:07 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4227#p4227</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4223#p4223</link>
			<description><![CDATA[<p>Tady je plnohodnotný příklad (otestováno dnes na SDS-IO6 s aktuálním BETA firmware).</p><p>Tento příklad představuje celý SDS-C program, upravte si IP adresu a URL a nahrajte ho do zařízení. Pak sledujte konzolu, popř. log vašeho web serveru (přístupy).<br /></p><div class="codebox"><pre><code>// test
var i, pokus;

test
{

 sys[77] = 1;

 echo(&#039; &#039;);
 echo(&#039;[1] HTTP GET... pokus: &#039;, pokus); pokus++;
 
 //nemam uspesny DNS, takze to udelam s rucni IP (ziskano rucne) 
 http_get(192,168,1,111,&#039;192.168.1.111&#039;,&#039;/echo.htm&#039;);
 goto cekam_na_http;  

 //pockam az probehne funkce do konce
label cekam_na_http:
 if (sys[65] == 0) goto cekam_na_http; 
 
 //pokud server má problém:
 if ((sys[65] != 1024)||(sys[75] != 200))
 {
   echo(&#039;Chyba komunikace s www serverem &#039;,sys[65],&#039;, http: &#039;, sys[75]);

   return;
 };

 // OK

 i = 0;
 echo(&#039;[2] PRIJEM &#039;, sys[75],&#039;:  ram[0]=&#039;,ram[i]);

}

main
{
  echo(&#039;[0] Start programu.&#039;);
  
  pokus = 0;

opakovat:

  test();

 //pockame 10 sec
 sys[64] = 10;
label cekej:
 if (sys[64] != 0) goto cekej;

 //znovu
 goto opakovat;

}</code></pre></div><p>Pokud dojde k vytažení Eth kabelu (nebo k jakékoliv jiné chybě, která způsobí nedostupnost serveru), spustí se timeout uvnitř http_get() a ten po určitém čase (45 sec) tuto funkci ukončí s patřičnou chybou. Potom musí SDS-C program funkci http_get() zavolat znovu atd. <br />Po obnovení provozního stavu vše začne fungovat jak má, s maximálním zpožděním 45sec + zpoždění dané opakovací periodou konkrétního SDS-C programu.</p><p>Tady je výpis konzole zařízení SDS-IO6, které provádí tento ukázkový program: (pokus 2 až 5 byl stav kdy byl vytažen Eth kabel)<br /></p><div class="codebox"><pre><code>[0] Start programu.
 
[1] HTTP GET... pokus: 0
[2] PRIJEM 200:  ram[0]=8
 
[1] HTTP GET... pokus: 1
[2] PRIJEM 200:  ram[0]=8
 
[1] HTTP GET... pokus: 2
Chyba komunikace s www serverem 1026, http: 0
 
[1] HTTP GET... pokus: 3
Chyba komunikace s www serverem 1026, http: 0
 
[1] HTTP GET... pokus: 4
Chyba komunikace s www serverem 1026, http: 0
 
[1] HTTP GET... pokus: 5
Chyba komunikace s www serverem 1026, http: 0
 
[1] HTTP GET... pokus: 6
[2] PRIJEM 200:  ram[0]=8

[1] HTTP GET... pokus: 7
[2] PRIJEM 200:  ram[0]=8</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Fri, 17 Jan 2014 16:16:02 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4223#p4223</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4220#p4220</link>
			<description><![CDATA[<p>Jde prosím http_get napsat tak, aby pracovalo po odpojení a připojení kabelu? Děkuji.</p>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Fri, 17 Jan 2014 11:46:09 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4220#p4220</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4210#p4210</link>
			<description><![CDATA[<p>Díky, DNS tedy funguje. Jak ještě prosím upravit funkci web, aby to po vytažení kabelu a opětovném připojení fungovalo?<br />Teď vyskočí při chybě z funkce web do main a pak po 5 minutách se znova zavolá funkce web a stále hlásí chybu: Chyba HTTP1026--&gt;0</p><div class="codebox"><pre><code>web
  {
  http_get(sys[66],sys[67],sys[68],sys[69],&#039;www.wwwww.cz&#039;,&#039;/pocasi_test/stanice_unix1.php?date=&#039;,datum,&#039;&amp;teplota1=&#039;,t,&#039;&amp;heslo=heslo);
    label cekam_na_http:
    if (sys[65] == 0)
    {
     // echo (&#039;Cekam na HTTP1&#039;);
      goto cekam_na_http;
    }
    //pokud server má problém:
    if ((sys[65] != 1024)||(sys[75] != 200))
    {
      echo (&#039;Chyba HTTP&#039;,sys[65],&#039;--&gt;&#039;,sys[75]);
      //goto chyba_www_serveru;
      goto hlavni_smycka;
    }

 }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Tue, 14 Jan 2014 22:35:05 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4210#p4210</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4208#p4208</link>
			<description><![CDATA[<p>Funkce dns_resolv() může být ve stavu sys[65]==514 tak dlouho, dokud nedostane odpověď. Je proto potřeba hlídat celkovou dobu, po kterou je tento stav platný (a přerušit pokud se změní na 512 nebo 513), viz: http://wiki.merenienergie.cz/index.php/OSI7_status_code - pokud dojde k &quot;vypršení&quot; času, tak se DNS překlad nepovedl a je potřeba to zkusit později znovu (a lze provést záchrannou situaci v takovém případě, jako je například zkusit jiný server nebo pevnou IP adresu atd.). To hlídání času si musí provést každý ve svém SDS-C programu sám, protože jen tak lze poskytnout skutečně univerzální řešení (každý bude chtít čekat různě dlouhý čas).</p><p>Správný kousek programu pro použití dns_resolv() je k dispozici na této stránce: http://wiki.merenienergie.cz/index.php/Sdsc_sysf</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 14 Jan 2014 21:28:09 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4208#p4208</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4207#p4207</link>
			<description><![CDATA[<p>Mně se to chová pořád stejně i po nahrání nového beta firmware. Tedy, když je kabel v ethernetu a pak napájení, DNS projde. Když to udělám opačně. Nejprve napájení a pak ethernet, tak to uvízne na :</p><p>cekam na odpoved, dns-server-ip:192.168.1.20</p><p>Dál se to nedostane.</p>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Tue, 14 Jan 2014 18:41:10 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4207#p4207</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4206#p4206</link>
			<description><![CDATA[<p>Poslední beta firmware a pořád píše: dns_resolv() OK:512 - takže OK.</p>]]></description>
			<author><![CDATA[null@example.com (Bodlak)]]></author>
			<pubDate>Tue, 14 Jan 2014 14:13:53 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4206#p4206</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4204#p4204</link>
			<description><![CDATA[<p>Použijte BETA firmware pro SDS MICRO, je k dispozici.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Mon, 13 Jan 2014 22:24:36 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4204#p4204</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4203#p4203</link>
			<description><![CDATA[<p>Já mám MicroLightE, může to tam přijít?</p>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Mon, 13 Jan 2014 21:30:01 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4203#p4203</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4201#p4201</link>
			<description><![CDATA[<p>OK, zkuste dnešní BETA firmware pro MACRO, je tam aktualizace pro DNS. Jsem zvědav jestli bude fungovat.</p><p>HTTP chyba 1026 znamená přerušení HTTP GET funkce kvůli vypršení času na provedení komunikace (timeout), což odpovídá tomu, že byl odpojen Ethernetový kabel ze zařízení.<br />Konkrétní program SDS-C by si měl poradit se všemi možnými chybovými stavy, viz http://wiki.merenienergie.cz/index.php/OSI7_status_code</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Mon, 13 Jan 2014 20:42:37 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4201#p4201</guid>
		</item>
		<item>
			<title><![CDATA[Re: Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4200#p4200</link>
			<description><![CDATA[<p>No ono to má problémy s internetem asi i další.<br />Ukládám data do flash pro případ výpadku internetu. Když tedy nasimuluji výpadek vytažením kabelu a pak ho po čase vrátím, tak níže periodicky volaná funkce už nic neodešle a hlásí :</p><p>Chyba HTTP1026--&gt;0</p><div class="codebox"><pre><code> web
  {
  http_get(sys[66],sys[67],sys[68],sys[69],&#039;www.wwwww.cz&#039;,&#039;/pocasi_test/stanice_unix1.php?date=&#039;,datum,&#039;&amp;teplota1=&#039;,t,&#039;&amp;heslo=heslo);
    label cekam_na_http:
    if (sys[65] == 0)
    {
     // echo (&#039;Cekam na HTTP1&#039;);
      goto cekam_na_http;
    }
    //pokud server má problém:
    if ((sys[65] != 1024)||(sys[75] != 200))
    {
      echo (&#039;Chyba HTTP&#039;,sys[65],&#039;--&gt;&#039;,sys[75]);
      //goto chyba_www_serveru;
      goto hlavni_smycka;
    }

 }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Mon, 13 Jan 2014 20:37:03 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4200#p4200</guid>
		</item>
		<item>
			<title><![CDATA[Opět DNS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4198#p4198</link>
			<description><![CDATA[<p>Mně se zdá, že to DNS stále nepracuje správně.<br />Když je připojený kabel do zástrčky ethernetu, tak DNS funguje.<br />Když ale připojím zařízení na napájení bez ethernetu a po chvíli připojím kabel, tak to skončí na:</p><p>cekam na odpoved, dns-server-ip:192.168.1.20</p><p>Je to trochu špatné, když se zařízení připojuje někde na odlehlém místě a není jisté, jestli v té době jede internet. </p><div class="codebox"><pre><code>main
{
 echo(&#039;[0] start&#039;);
  // s čím začínáme
  echo(&#039;[1] sys[65]=&#039;, sys[65]);
  dns_resolv(&#039;www.wwwwwww.cz&#039;);
  cekam_na_dns:
    // dokud se něco nestane (sys[65] se nastaví na nějakou hodnotu)
    if (sys[65]==0) goto cekam_na_dns;
  echo(&#039;[2] sys[65]=&#039;, sys[65]);
  // takže:
 cekam_na_odpoved:
    if (sys[65]==514)
    {
      echo(&#039;cekam na odpoved, dns-server-ip:&#039;, sys[70],&#039;.&#039;,sys[71],&#039;.&#039;,sys[72],&#039;.&#039;,sys[73]);
      wait(1000);
      goto cekam_na_odpoved;
    }

 echo(&#039;[3] hotovo,dns-server-ip:&#039;, sys[70],&#039;.&#039;,sys[71],&#039;.&#039;,sys[72],&#039;.&#039;,sys[73]);
 echo(&#039;[3] sys[65]=&#039;, sys[65]);
 echo(&#039;RESOLV: &#039;, sys[66],&#039;.&#039;,sys[67],&#039;.&#039;,sys[68],&#039;.&#039;,sys[69]);
 // hotovo, výsledek je v sys[66] až sys[69]</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Simi)]]></author>
			<pubDate>Mon, 13 Jan 2014 19:33:49 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4198#p4198</guid>
		</item>
	</channel>
</rss>
