<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arduino ethernet Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/arduino-ethernet/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/arduino-ethernet/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Mon, 13 Feb 2017 19:07:50 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://logicaprogrammabile.it/wp-content/uploads/2017/11/cropped-logicaprogrammabile-logo-02-32x32.png</url>
	<title>Arduino ethernet Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/arduino-ethernet/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Come aggiornare l&#8217; host no-ip tramite Arduino ethernet</title>
		<link>https://logicaprogrammabile.it/aggiornare-no-ip-arduino-ethernet/</link>
					<comments>https://logicaprogrammabile.it/aggiornare-no-ip-arduino-ethernet/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 09 Nov 2011 10:37:02 +0000</pubDate>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Arduino ethernet]]></category>
		<category><![CDATA[Base64]]></category>
		<category><![CDATA[Controllo remoto]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=2191</guid>

					<description><![CDATA[<p>Creare un update client per sincronizzare l&#8217; host no-ip.com con l&#8217;indirizzo del router L&#8217;articolo precedente illustrava come creare un account no-ip.com con relativo host che tenesse traccia dell&#8217;ip del router &#8220;domestico&#8221;. Questa procedura richiede l&#8217;installazione di un update client sul pc, nella rete domestica, capace...</p>
<p>The post <a href="https://logicaprogrammabile.it/aggiornare-no-ip-arduino-ethernet/">Come aggiornare l&#8217; host no-ip tramite Arduino ethernet</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Creare un update client per sincronizzare l&#8217; host no-ip.com con l&#8217;indirizzo del router</h1>
<p>L&#8217;articolo precedente illustrava come creare un account <strong>no-ip.com</strong> con relativo host che tenesse traccia dell&#8217;ip del router &#8220;domestico&#8221;. Questa procedura richiede l&#8217;installazione di un update client sul pc, nella rete domestica, capace di aggiornare periodicamente l&#8217;host remoto.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/11/update.jpg"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-2202 size-full" title="update" src="https://logicaprogrammabile.it/wp-content/uploads/2011/11/update.jpg" alt="host no ip tutorial Arduino" width="298" height="246" /></a></p>
<p>L&#8217;operazione risulta scomoda poiché il PC deve rimanere acceso per effettuare l&#8217;aggiornamento. Fortunatamente esiste un metodo basato su richiesta <strong>http</strong> che permette di utilizzare direttamente <strong>Arduino</strong> per sincronizzare l&#8217;host con l&#8217;ip del router.</p>
<p><span id="more-2191"></span>La richiesta di aggiornamento va indirizzata a uno di questi URL</p>
<p style="text-align: center;"><strong>http://dynupdate.no-ip.com/nic/update</strong></p>
<p style="text-align: center;"><strong>https://dynupdate.no-ip.com/nic/update</strong></p>
<p>mentre la struttura della richiesta deve seguire questo formato</p>
<pre class="lang:xhtml decode:true ">GET /nic/update?hostname=Nomehost&amp;myip=IndirizzoIP HTTP/1.0
Host: dynupdate.no-ip.com
Authorization: Basic NomeUtentePasswordBase64
User-Agent: NomeClient/Versione IndirizzoMail</pre>
<p>&nbsp;</p>
<p>dove</p>
<p><strong>NomeHost</strong> = Il nome dell&#8217;host come registrato nella procedura <strong>Create Host</strong> del sito <strong>no-ip.com</strong><br />
<strong>IndirizzoIP</strong> = Qui va messo l&#8217;indirizzo ip che vogliamo associare all&#8217;host remoto<br />
<strong>NomeUtentePasswordBase64</strong> = Qui dobbiamo inserire il nome utente e la password del nostro account no-ip in formato <a href="http://it.wikipedia.org/wiki/Base64" target="_blank">Base64</a>. Il nome utente e la password vanno separati da un segno di due punti (<strong>Nomeutente:Password</strong>)<br />
<strong>NomeClient</strong> = Il nome del client che esegue l&#8217;aggiornamento (Nome di libera scelta)<br />
<strong>Versione</strong> = La versione del client che esegue l&#8217;aggiornamento (Nome di libera scelta)<br />
<strong>IndirizzoMail</strong> = il nostro indirizzo mail (Mail di libera scelta)</p>
<p>quindi la richiesta assumerà questa struttura</p>
<pre class="lang:xhtml decode:true ">GET /nic/update?hostname=host.no-ip.com&amp;myip=192.168.1.1 HTTP/1.0
Host: dynupdate.no-ip.com
Authorization: Basic aW86YW1vIGlsIHRhZWt3b25kbw==
User-Agent: arduino_ethernet/1.0 info@gmail.com</pre>
<p>&nbsp;</p>
<p>Il problema principale è che <strong>Arduino</strong> non si riesce a ottenere, direttamente e in modo semplice,  l&#8217;ip dinamico del router per poterlo inserire nella richiesta http. Fortunatamente omettendo totalmente questo parametro, il servizio  <strong>dynupdate.no-ip.com</strong> utilizza l&#8217;ip della connessione che corrisponde proprio all&#8217;indirizzo dinamico del nostro router. La richiesta, per funzionare, va riscritta in questo modo:</p>
<pre class="lang:xhtml decode:true ">GET /nic/update?hostname=host.no-ip.com HTTP/1.0
Host: dynupdate.no-ip.com
Authorization: Basic aW86YW1vIGlsIHRhZWt3b25kbw==
User-Agent: arduino_ethernet/1.0 info@gmail.com</pre>
<p>&nbsp;</p>
<p>Utilizziamo per questo test direttamnete lo scketch di esempio proposto dall&#8217;IDE (File-&gt;Examples-&gt;Ethernet-&gt;WebClient) e modifichiamolo secondo le nostre esigenze.</p>
<p>Per creare la connessione, nello skecth non è possibile immettere direttamente l&#8217;url del servizio (<strong>dynupdate.no-ip.com</strong>) ma il suo relativo indirizzo ip ottenibile tramite il sito<a href="http://www.mostraip.it/LocalizzaSito.aspx" target="_blank"> mostraip.it.</a></p>
<p>Modifichiamo il codice:</p>
<pre class="lang:arduino decode:true ">#include &lt;Dhcp.h&gt;
#include &lt;Dns.h&gt;
#include &lt;Ethernet.h&gt;
#include &lt;EthernetClient.h&gt;
#include &lt;EthernetServer.h&gt;
#include &lt;EthernetUdp.h&gt;
#include &lt;SPI.h&gt;


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //mac ethernet
byte ip[] = { 192, 168, 1, 190 }; //indirizzo locale dell’Arduino
byte server[] = {8, 23, 224, 120}; //dynupdate.no-ip.com

//creo un client che punta al
//servizio dynupdate.no-ip.com sulla porta 80
EthernetClient client;

void setup() {
  //Avvio la connessione
  Ethernet.begin(mac, ip);
  //inizializzo la seriale
  Serial.begin(9600);
  //aspetto che il chip wiznet sia inizializzato
  delay(1000);

  Serial.println("Connessione in corso…");

  //se la connessione avviene con successo
  //invio la richiesta http
  if (client.connect(server, 80)) {
    Serial.println("Connesso");

    client.println("GET / nic / update ? hostname = host.no - ip.com HTTP / 1.0");
    client.println("Host: dynupdate.no - ip.com");
    client.println("Authorization: Basic aW86YW1vIGlsIHRhZWt3b25kbw == ");
    client.println("User - Agent: arduino_ethernet / 1.0 info@gmail.com");

    client.println();
  }
  else
  {
    //Problemi nella connessione
    Serial.println("connessione fallita!");
  }
}

void loop()
{
  //restituisco il messaggio inviato dal servizio
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  //Quando il server si disconnette fermo il client
  if (!client.connected()) {
    Serial.println();
    Serial.println("Disconessione");
    client.stop();

    //ciclo infinito
    for (;;)
      ;
  }
}</pre>
<p>&nbsp;</p>
<p>Questo procedimento, secondo me, risolve il fastidioso problema di tenere il pc accesso per eseguire la sincronizzazione tra l&#8217;ip del router e l&#8217;host remoto, permettendo quindi di creare soluzioni web-based impiegando Arduino.</p>
<p>In allegato trovate un semplice programma che vi permette di convertire il vostro nome utente e la password in una stringaBase64, per far girare il programma dovete avere installato il .net framework 2.0</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/11/ConvertBase64.zip">ConvertBase64</a></p>
<p>The post <a href="https://logicaprogrammabile.it/aggiornare-no-ip-arduino-ethernet/">Come aggiornare l&#8217; host no-ip tramite Arduino ethernet</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/aggiornare-no-ip-arduino-ethernet/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>Come controllare Arduino direttamente da internet</title>
		<link>https://logicaprogrammabile.it/come-controllare-arduino-da-internet/</link>
					<comments>https://logicaprogrammabile.it/come-controllare-arduino-da-internet/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 26 Oct 2011 13:54:51 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Arduino ethernet]]></category>
		<category><![CDATA[Controllo remoto]]></category>
		<category><![CDATA[DDNS]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1960</guid>

					<description><![CDATA[<p>Come accedere da remoto per controllare Arduino Una funzionalità sempre utile è la possibilità di accedere alle risorse della board Arduino tramite un collegamento internet. Questa operazione non è particolarmente difficile anche se i passaggi da eseguire sono diversi, questo tutorial permette di controllare Arduino...</p>
<p>The post <a href="https://logicaprogrammabile.it/come-controllare-arduino-da-internet/">Come controllare Arduino direttamente da internet</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Come accedere da remoto per controllare Arduino</h1>
<p>Una funzionalità sempre utile è la possibilità di accedere alle risorse della board Arduino tramite un collegamento internet. Questa operazione non è particolarmente difficile anche se i passaggi da eseguire sono diversi, questo tutorial permette di controllare Arduino da remoto.<br />
La prima cosa da risolvere è rintracciare l&#8217;indirizzo ip del nostro router per accedere alla rete locale dove è collegato l&#8217;Arduino. Solitamente l&#8217;ip dei router è dinamico, quindi può cambiare inavvertitamente rendendo impossibile conoscerlo da una postazione remota. Fortunatamente esistono dei servizi che risolvono questa necessità, permettendo, tramite un piccolo software che gira sul pc (o in alcuni casi direttamente sul router locale) di aggiornare un servizio web che memorizza l&#8217;indirizzo del router locale.</p>
<p>Il servizio che ho scelto per questo articolo è offerto dal sito <a href="http://www.noip.com/" target="_blank"><strong>no-ip.com</strong></a>. Prima di utilizzare le sue funzioni dobbiamo creare un account (free) compilando il relativo form</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/RegNoIP.jpg"><img decoding="async" class="aligncenter size-medium wp-image-2159" title="RegNoIP" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/RegNoIP-172x300.jpg" alt="Registrazione al servizio no ip" width="172" height="300" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/RegNoIP-172x300.jpg 172w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/RegNoIP.jpg 447w" sizes="(max-width: 172px) 100vw, 172px" /></a></p>
<p><span id="more-1960"></span>Una volta ottenuto, eseguiamo il login per accedere alla pagina dei servizi. Clicchiamo sul link <strong>Hosts/Redirects</strong> e poi sul link <strong>Add Host</strong></p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/AddHost.jpg"><img decoding="async" class="aligncenter size-medium wp-image-2161" title="AddHost" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/AddHost-300x268.jpg" alt="Aggiungi Host no ip" width="300" height="268" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/AddHost-300x268.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/AddHost.jpg 907w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>compiliamo i relativi campi che permettono di associare un<span style="text-decoration: underline;"> host al nostro indirizzo ip corrente</span>.<br />
Nel campo <strong>Hostname</strong> inseriamo un nome che identificherà il nostro host, la combo box elenca i nomi di dominio disponibili, selezioniamone uno a piacere tra quelli free.<br />
Selezioniamo tramite le checkbox l&#8217;<strong>Host Type</strong>, per la nostra applicazione  va bene quello di default (<strong>DNS Host(A)</strong>).<br />
Nella casella<strong> Ip Address</strong> sarà presente l&#8217;indirizzo attuale del nostro router.<br />
Concludiamo la creazione dell&#8217;host cliccando sul pulsante<strong> Create Host</strong>.</p>
<p>Ora scarichiamo l&#8217;utility che aggiornerà l&#8217;host con l&#8217;indirizzo ip del router locale. Clicchiamo sul link <strong>Download Client</strong>:</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/DownClient.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2162" title="DownClient" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/DownClient-300x166.jpg" alt="Download Client" width="300" height="166" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/DownClient-300x166.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/DownClient.jpg 505w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>selezioniamo il sistema operativo in uso sul computer, eseguiamo il download e successivamente la semplice installazione.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Download.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2163" title="Download" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Download-300x238.jpg" alt="" width="300" height="238" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Download-300x238.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/Download.jpg 693w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Una volta installato il client sul pc, eseguiamolo per configurare le prime impostazioni. Inseriamo innanzitutto<strong> l&#8217;indirizzo mail</strong> e la <strong>password</strong> relativi all&#8217;account <strong>no-ip.com</strong> precedentemente creato</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Namepsw.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2165" title="Namepsw" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Namepsw-300x174.jpg" alt="Nome utente e password" width="300" height="174" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Namepsw-300x174.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/Namepsw.jpg 505w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Una volta effettuato l&#8217;accesso, il client ci invita a selezionare l&#8217;host da aggiornare, spuntiamo la checkbox relativa all&#8217;host creato precedentemente</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/SelHost.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2166" title="SelHost" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/SelHost-172x300.jpg" alt="" width="172" height="300" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/SelHost-172x300.jpg 172w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/SelHost.jpg 281w" sizes="auto, (max-width: 172px) 100vw, 172px" /></a></p>
<p>salviamo per rendere operativo l&#8217;aggiornamento dell&#8217;ip.<br />
Nella sezione preferenze del client spuntiamo la voce per eseguire automaticamente il programma all&#8217;accesso del sistema operativo.</p>
<p>Ritornando nella pagina<strong> Menage Host</strong> sul sito no-ip potremmo conoscere costantemente l&#8217;indirizzo del router locale da qualsiasi posizione della rete Internet.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/IpRouter.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2167" title="IpRouter" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/IpRouter-300x76.jpg" alt="" width="300" height="76" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/IpRouter-300x76.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/IpRouter.jpg 712w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<h3>Configurare Arduino Ethernet per rispondere alle richieste web</h3>
<p>Per semplicità utilizzerò lo scketch di esempio <strong>Webserver</strong> (dall&#8217;IDE arduino <span style="text-decoration: underline;">File-&gt;Examples-&gt;Ethernet-&gt;WebServer</span>), modifichiamo l&#8217;indirizzo ip dell&#8217;Arduino con un indirizzo compatibile con la nostra rete locale. Nel mio caso ho lasciato quello di default 192.168.1.177.</p>
<p>Verifichiamo tramite un pc della rete locale che l&#8217;Arduino risponda alle richieste http, apriamo il browser e nella barra degli indirizzi scriviamo l&#8217;ip della board Arduino (192.168.1.177) e premiamo invio. In assenza di problemi dovremmo ottenere qualcosa del genere</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/ArduinoRisp.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2169" title="ArduinoRisp" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/ArduinoRisp.jpg" alt="" width="288" height="251" /></a></p>
<h3>Configurare il router per le richieste remote</h3>
<p>Questa è la parte più delicata perchè cambia da router a router ma teoricamente è necessario utilizzare la sezione <strong>virtual server</strong> del router, inserire nell&#8217;apposito campo l&#8217;indirizzo ip della board Arduino e sbloccare la porta 80 per il relativo indirizzo. In questo modo le richieste http remote verranno processate dalla board Arduino.</p>
<h3>Collaudare il sistema</h3>
<p>Ora tutto è pronto per il test finale. Da una postazione remota collegata ad internet apriamo il browser e digitiamo il nome dell&#8217;host come definito nella pagina<strong> Menage Host</strong> del sito no-ip.com, se tutto è stato impostato correttamente otterremo la risposta dell&#8217;Arduino cosi come nella prova locale.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Remoto.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2170" title="Remoto" src="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Remoto.jpg" alt="" width="416" height="267" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/10/Remoto.jpg 416w, https://logicaprogrammabile.it/wp-content/uploads/2011/10/Remoto-300x192.jpg 300w" sizes="auto, (max-width: 416px) 100vw, 416px" /></a></p>
<p>In questo modo potremmo accedere alle risorse dell&#8217;Arduino per leggere dati o per pilotare i suoi pin digitali. Vi invito a leggere gli articoli precedenti per approfondire l&#8217;argomento.</p>
<p>The post <a href="https://logicaprogrammabile.it/come-controllare-arduino-da-internet/">Come controllare Arduino direttamente da internet</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/come-controllare-arduino-da-internet/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino ethernet utilizzare la scheda micro SD</title>
		<link>https://logicaprogrammabile.it/arduino-ethernet-memoria-scheda-micro-sd/</link>
					<comments>https://logicaprogrammabile.it/arduino-ethernet-memoria-scheda-micro-sd/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 26 Sep 2011 21:12:21 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Arduino ethernet]]></category>
		<category><![CDATA[Memoria SD]]></category>
		<category><![CDATA[Micro SD]]></category>
		<category><![CDATA[Secure Digital]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=2019</guid>

					<description><![CDATA[<p>Come utilizzare la libreria SD per scrivere e leggere dalla micro SD La nuova board Arduino Ethernet ha in dotazione uno slot per scheda micro SD (Secure Digital) utile per dare la possibilità ai nostri programmi di memorizzare varie informazioni. La libreria permette di lavorare...</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-ethernet-memoria-scheda-micro-sd/">Arduino ethernet utilizzare la scheda micro SD</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Come utilizzare la libreria SD per scrivere e leggere dalla micro SD</h1>
<p>La nuova board <strong>Arduino Ethernet</strong> ha in dotazione uno slot per <a href="http://it.wikipedia.org/wiki/MicroSD" target="_blank">scheda micro SD</a> (Secure Digital) utile per dare la possibilità ai nostri programmi di memorizzare varie informazioni. La libreria permette di lavorare su schede formattate con file system <strong>FAT16</strong> e <strong>FAT32</strong>, i nomi dei file devono essere composti da massimo 8 caratteri più 3 per l&#8217;estensione (formato 8.3 stile MS-DOS).</p>
<p>Come molte libreria dobbiamo inserire un riferimento nello sketch che la utilizza:</p>
<pre class="lang:arduino decode:true ">//inserisco riferimento alla libreria SD
#include &lt;SD.h&gt;</pre>
<p>&nbsp;</p>
<p>successivamente, nel blocco <strong>setup,</strong> bisogna inizializzare la classe utilizzando il metodo <strong>begin()</strong>. A questo metodo dobbiamo passare il pin relativo alla funzione <strong>Card Select</strong> (CS) che per la<strong> Arduino Ethernet</strong> è uguale a 4, come visibile nello schema elettrico</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2029" title="CollegamentoSD" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/CollegamentoSD-300x242.jpg" alt="Schema elettrico collegamento micro sd" width="300" height="242" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/CollegamentoSD-300x242.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/CollegamentoSD.jpg 883w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<pre class="lang:arduino decode:true ">//inizializza la classe e specifica
//il pin Card Select
SD.begin(4);</pre>
<p>&nbsp;</p>
<p><span id="more-2019"></span></p>
<p>Il metodo restituisce <strong>false</strong> se si verificano problemi durante l&#8217;inizializzazione. Quindi prima di continuare è fondamentale verificare chequesta si concluda senza errori</p>
<pre class="lang:arduino decode:true ">if (SD.begin(4) == true)
//inizializzazione ok
//continua con il codice
else
//problemi nell'inizializzazione!</pre>
<p>&nbsp;</p>
<p>Per poter scrivere e leggere file dalla<strong> micro SD</strong> abbiamo bisogno di utilizzare la classe <strong>File</strong> che espone metodi che svolgono questo compito.<br />
Creiamo un oggetto dalla classe <strong>File</strong> subito dopo la dichiarazione della libreria <strong>SD</strong>:</p>
<pre class="lang:arduino decode:true ">//inserisco riferimento alla libreria SD
#include &lt;SD.h&gt;

//creo un oggetto dalla classe File
File MioFile;</pre>
<p>&nbsp;</p>
<p>Utilizziamo il metodo <strong>open()</strong> della classe SD per aprire un file esistente; il metodo restituisce un riferimento che viene associato all&#8217;oggetto <strong>MioFile</strong>:</p>
<pre class="lang:arduino decode:true ">//dopo l'inizializzazione posso lavorare sulla micro SD
//Apro un file di testo
MioFile = SD.open("filetest.txt", FILE_WRITE);</pre>
<p>&nbsp;</p>
<p>Da notare che se il file non esiste nella micro SD il metodo <strong>open()</strong> ne crea uno automaticamente.</p>
<p>il metodo <strong>open()</strong> della classe file accetta come argomenti due parametri, il primo è il nome del file, il secondo è un flag che indica se aprire il file in lettura o in scrittura, le opzioni sono:</p>
<table width="394">
<tbody>
<tr>
<td><strong>FILE_READ</strong></td>
<td>Apre il file per la lettura partendo dall&#8217;inizio</td>
</tr>
<tr>
<td><strong>FILE_WRITE</strong></td>
<td>Apre il file per la scrittura</td>
</tr>
</tbody>
</table>
<p>Se non si verificano errori il metodo <strong>open()</strong> restituisce il riferimento al file, in caso di errore invece restituisce false; è buona norma controllare tramite un blocco <strong>if</strong> se si sono verificati errori:</p>
<pre class="lang:arduino decode:true ">//dopo l'inizializzazione posso lavorare sulla micro SD
//Creao un file di testo
MioFile = SD.open("filetest.txt", FILE_WRITE);

if (MioFile == false)
//problemi nell'accesso al file</pre>
<p>&nbsp;</p>
<p>Utilizziamo il metodo <strong>println()</strong> dell&#8217;oggetto <strong>MioFile</strong> per scrivere dati sul file appena aperto</p>
<pre class="lang:arduino decode:true ">//se non ci sono problemi nell'apertura dei file scrivi
//qualcosa al suo interno
if (MioFile != false)
MioFile.println("Ciao Mondo");</pre>
<p>&nbsp;</p>
<p>Una volta ultimate le fasi di scrittura, se non intendiamo scrivere altro è consigliabile rilasciare le risorse chiudendo il file con il metodo <strong>close()</strong></p>
<pre class="lang:arduino decode:true ">//chiudo il file
MioFile.close()</pre>
<p>&nbsp;</p>
<p>La fase di lettura è analoga a quella di scrittura, si procede aprendo il file con il metodo <strong>open()</strong> ed eseguendo il metodo <strong>read()</strong> dell&#8217;oggetto <strong>MioFile</strong></p>
<pre class="lang:arduino decode:true ">//Apro il file per la lettuta
MioFile = SD.open("filetest.txt", FILE_READ);

//Se non si sono verificati errori
//leggo il file
if (MioFile == true)
{

//Leggi fino alla fine del file
while (MioFile.available())
{
//read esegue la lettura di un byte alla volta
Serial.write(MioFile.read());
}

// close the file:
MioFile.close();
}</pre>
<p>&nbsp;</p>
<p>Il metodo <strong>available()</strong> restituisce il numero di byte disponibili  tra il puntatore e la fine del file. Il puntatore rappresenta un indice, o per rendere meglio l&#8217;idea, un cursore all&#8217;interno del file aperto.<br />
Quando apriamo il file il puntatore viene posizionato sul primo byte quindi il metodo <strong>available()</strong> restituisce il numero di byte compresi tra il puntatore e la fine del file stesso. La <strong>read()</strong> legge il primo byte (dato che il puntatore si trova all&#8217;inizio del file) e fa avanzare il cursore di una posizione.<br />
L&#8217;illustrazione seguente spiega meglio il concetto, (viene preso in considerazione un file di 100 byte)</p>
<p>Quando il file viene aperto il cursore punta sul primo byte e <strong>available()</strong> restituisce 100</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2034" title="Puntatore01" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/Puntatore01.gif" alt="Puntatore a file" width="266" height="296" /></p>
<p>Dopo la <strong>read()</strong> il cursore avanza di un byte spostandosi al secondo byte del file. Il metodo <strong>available()</strong> restituisce 99</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2035" title="Puntatore02" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/Puntatore02.gif" alt="Puntatore a file micro sd" width="266" height="296" />Ogni volta che eseguiamo la <strong>read()</strong> il puntatore scorre fino ad arrivare alla fine del file (<strong>EOF</strong>) in questa posizione <strong>available()</strong> restituisce 0.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2036" title="Puntatore03" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/Puntatore03.gif" alt="EOF end of file" width="266" height="296" /></p>
<p>Il ciclo <strong>while()</strong> esegue la <strong>read()</strong> ciclicamente fino a quando il valore di <strong>available()</strong> restituisce zero.</p>
<p>Una volta eseguita la lettura, se non intendiamo fare altro con il file, è consigliabile eseguire il metodo <strong>close()</strong> per rilasciare risorse e chiudere il file correttamente.</p>
<pre class="lang:arduino decode:true ">//chiudo il file
MioFile.close()</pre>
<p>&nbsp;</p>
<h4>Verificare l&#8217;esistenza di un file o di una directory</h4>
<p>La classe SD espone alcuni metodi utili per gestire la nostra micro SD, uno di questi permette di verificare l&#8217;esistenza di un file all&#8217;interno di un percorso, il metodo è <strong>exists()</strong> e viene utilizzato in questo modo</p>
<pre class="lang:arduino decode:true ">//verifico l'esistenza di un file
if (SD.exists("filetest.txt"))
//true -&gt; il file esiste
else
//false-&gt; il file non esiste</pre>
<p>&nbsp;</p>
<p>possiamo includere anche un percorso di cartelle</p>
<pre class="lang:arduino decode:true ">//verifico l'esistenza di un file in un percorso
if (SD.exists("arduino/arduino0022/filetest.txt"))
//true -&gt; il file esiste
else
//false-&gt; il file non esiste</pre>
<p>&nbsp;</p>
<p>con lo stesso metodo verifichiamo l&#8217;esistenza di una directory</p>
<pre class="lang:arduino decode:true ">//verifico l'esistenza di un file in un percorso
if (SD.exists("arduino/arduino0022"))
//true -&gt; la directory arduino0022 esiste
else
//false-&gt; la directory arduino0022 NON esiste</pre>
<p>&nbsp;</p>
<h4>Come cancellare un file dalla micro SD</h4>
<p>Dopo aver eseguito diverse prove creando diversi file sulla micro SD possiamo liberare un po di spazio cancellandone qualcuno. Il metodo <strong>remove()</strong> della classe <strong>SD</strong> esegue questo compito, il suo utilizzo è molto semplice e l&#8217;unico parametro da passargli è il nome del file da cancellare:</p>
<pre class="lang:arduino decode:true ">//Cancella il file di test
SD.remove("filetest.txt");</pre>
<p>&nbsp;</p>
<p>Se la cancellazione avviene con successo la funzione restituisce <strong>true</strong> altrimenti <strong>false</strong>.</p>
<pre class="lang:arduino decode:true ">//Cancella il file di test
if (SD.remove("filetest.txt"))
Serial.println("File eliminato!");
else
Serial.println("Problemi nell'eliminazione");</pre>
<p>&nbsp;</p>
<h3>Creare ed eliminare directory</h3>
<p>Anche per la creazione ed eliminazione di directory è sufficiente utilizzare i metodi della classe SD, per la creazione utilizziamo il metodo <strong>mkdir</strong> mentre per l&#8217;eliminazione utilizziamo il metodo <strong>rmdir</strong></p>
<pre class="lang:arduino decode:true ">//Creo una directory
if(SD.mkdir("arduino"))
Serial.println("Directory creata");
else
Serial.println("Problemi nella creazione della directory");</pre>
<p>&nbsp;</p>
<p>con <strong>mkdir</strong> è possibile creare anche le sottodirectory in un colpo solo</p>
<pre class="lang:arduino decode:true ">//Creo directory e sottodirectory
if(SD.mkdir("arduino/arduino1/arduino2"))
Serial.println("Directory create");
else
Serial.println("Problemi nella creazione della directory");</pre>
<p>&nbsp;</p>
<p>il codice precedente crea tre cartelle nidificate (arduino, arduino1 e arduino2) utilizzando solamente una singola istruzione.<br />
Per eliminare le directory utilizziamo il metodo <strong>rmdir()</strong> in questo modo</p>
<pre class="lang:arduino decode:true ">//Elimina la directory
if(SD.rmdir("arduino"))
Serial.println("Directory Eliminata");
else
Serial.println("Problemi nell'eliminazione della directory");</pre>
<p>&nbsp;</p>
<p><strong>rmdir()</strong> non può eliminare una directory se all&#8217;interno sono presenti altre sottodirectory oppure file, bisogna quindi svuotale e poi eliminarle singolarmente</p>
<pre class="lang:arduino decode:true ">//Elimina le directory vuote
SD.rmdir("arduino2");
SD.rmdir("arduino1");
SD.rmdir("arduino");</pre>
<p>&nbsp;</p>
<p>La gestione della micro SD risulta essere molto semplice e comoda per le diverse applicazioni che hanno bisogno di memorizzare dati piuttosto che recuperarne per eseguire calcoli o comparazioni. Nel prossimo articolo vedremo come utilizzare queste funzioni per creare un data logger.</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-ethernet-memoria-scheda-micro-sd/">Arduino ethernet utilizzare la scheda micro SD</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/arduino-ethernet-memoria-scheda-micro-sd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino Ethernet come configurare l&#8217;ambiente di sviluppo</title>
		<link>https://logicaprogrammabile.it/arduino-ethernet-configurare-sviluppo/</link>
					<comments>https://logicaprogrammabile.it/arduino-ethernet-configurare-sviluppo/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Tue, 20 Sep 2011 12:51:06 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Arduino ethernet]]></category>
		<category><![CDATA[Arduino UNO Stand alone]]></category>
		<category><![CDATA[Arduino Webserver]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1983</guid>

					<description><![CDATA[<p>Configurare il sistema per iniziare a lavorare con Arduino Ethernet Ho da poco ricevuto il pacco contenente la board Arduino Ethernet, e devo dire che risulta essere ben realizzata ed assemblata. Prima di iniziare a scrivere qualche sketch è necessario installare i driver del convertitore...</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-ethernet-configurare-sviluppo/">Arduino Ethernet come configurare l&#8217;ambiente di sviluppo</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Configurare il sistema per iniziare a lavorare con Arduino Ethernet</h1>
<p>Ho da poco ricevuto il pacco contenente la board <strong>Arduino Ethernet</strong>, e devo dire che risulta essere ben realizzata ed assemblata. Prima di iniziare a scrivere qualche sketch è necessario installare i driver del convertitore USB2Serial che utilizzeremo per colloquiare con la board dato che non dispone di una porta usb integrata come la Arduino UNO, inoltre modificheremo il file <strong>board.txt</strong> per aggiornare il menu dell&#8217;IDE.</p>
<p>Scarichiamo dal sito <a href="http://arduino.cc" target="_blank">Arduino.cc</a> i driver del convertitore usb seriale che potete trovare nella sezione Driver &amp; Setup nella pagina <a href="http://arduino.cc/en/Main/USBSerial" target="_blank">del dispositivo USB2Serial Light</a>, salviamo e decomprimiamo il file in una cartella sul desktop.<br />
Quindi colleghiamo al pc, tramite cavo mini usb, la board <strong>Usb2Serial</strong>.</p>
<p>Windows XP avvierà la procedura di installazione nuovo hardware</p>
<p><span id="more-1983"></span></p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/09/usbSerial.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-1985" title="usb2Serial light" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/usbSerial-300x87.jpg" alt="Installazione Arduino Usb2Serial Light" width="300" height="87" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/usbSerial-300x87.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/usbSerial.jpg 382w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-1986" title="InstNuovoHardware" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/InstNuovoHardware-300x233.jpg" alt="Installazione nuovo hardware" width="300" height="233" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/InstNuovoHardware-300x233.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/InstNuovoHardware.jpg 504w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>Clicchiamo sul pulsante <strong>Annulla</strong> per chiudere la finestra. Un messaggio pop-up ci avviserà del relativo errore, non badateci e chiudete il messaggio:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-1988" title="ErroreHardware" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ErroreHardware-300x84.jpg" alt="Errore installazione driver board usb2serial" width="300" height="84" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ErroreHardware-300x84.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/ErroreHardware.jpg 451w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>Ora apriamo la finestra delle proprietà del sistema, <strong>Start-&gt;Pannello di controllo-&gt;Sistema</strong> e clicchiamo sul tab <strong>Hardware</strong></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-1989" title="PropSistema" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/PropSistema-235x300.jpg" alt="Proprietà di sitema" width="235" height="300" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/PropSistema-235x300.jpg 235w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/PropSistema.jpg 420w" sizes="auto, (max-width: 235px) 100vw, 235px" /></p>
<p>apriamo la finestra <strong>gestione periferiche</strong> tramite l&#8217;omonimo pulsante, dovremmo notare la presenza del device <strong>Arduino USB-Serial</strong>.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2011/09/GestPeriferiche.jpg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-1992" title="GestPeriferiche" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/GestPeriferiche-266x300.jpg" alt="Gestione periferiche USB to Serial" width="266" height="300" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/GestPeriferiche-266x300.jpg 266w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/GestPeriferiche.jpg 436w" sizes="auto, (max-width: 266px) 100vw, 266px" /></a></p>
<p>Clicchiamo con il pulsante destro del mouse sul dispositivo e selezioniamo la voce <strong>Aggiorna driver&#8230;</strong> per avviare la procedura passo passo che porterà alla corretta installazione dei driver della board <strong>USB2Serial</strong>; di seguito le schermate illustrative del wizard di installazione:</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>Se non ci sono intoppi la procedura permetterà immediatamente l&#8217;utilizzo della board <strong>USB2Serial</strong>. Il passo successivo permette di aggiornare l&#8217;elenco delle board presenti nel relativo menu dell&#8217;IDE.<br />
Dobbiamo aprire il file <strong>board.txt</strong> situato nel seguente path:</p>
<p style="text-align: center;"><strong>arduino-0022\hardware\arduino</strong></p>
<p>cerchiamo la seguente stringa</p>
<pre>uno.name=Arduino Uno</pre>
<p>e modifichiamola in questo modo</p>
<pre>uno.name=Arduino Uno or Ethernet</pre>
<p>Dato che programmare la Arduino Ethernet equivale a programmare l&#8217;Arduino UNO, questa modifica serve solamente a rinominare la voce del menu, non ha effetto sui parametri della scheda.</p>
<p>Avviamo l&#8217;IDE e controlliamo che l&#8217;impostazione sia stata caricata</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2011" title="ArduinoIDE" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoIDE-300x226.jpg" alt="Arduino IDE" width="300" height="226" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoIDE-300x226.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoIDE.jpg 631w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>Per concludere carichiamo un semplice sketch per verificare che tutto funzioni in modo adeguato</p>
<pre class="lang:arduino decode:true ">/*
Test Arduino Ethernet
*/

void setup()
{
//Inizializzo la seriale
Serial.begin(9600);
}

void loop()
{
//scrivo sulla seriale
Serial.write("Arduino Ethernet\n");
//Attendo 1 secondo
delay(1000);
}</pre>
<p>&nbsp;</p>
<p>Una volta caricato lo sketch apriamo <strong>Serial Monitor</strong> per verificare che la stringa venga inviata al pc tramite la board <strong>USB2Serial</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-2013" title="TestArduinoEth" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/TestArduinoEth-285x300.jpg" alt="Test Arduino Ethernet" width="285" height="300" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/TestArduinoEth-285x300.jpg 285w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/TestArduinoEth.jpg 366w" sizes="auto, (max-width: 285px) 100vw, 285px" /></p>
<p>Prossimi test ed esperimenti nei prossimi giorni</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-ethernet-configurare-sviluppo/">Arduino Ethernet come configurare l&#8217;ambiente di sviluppo</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/arduino-ethernet-configurare-sviluppo/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Scheda Arduino Ethernet all in one</title>
		<link>https://logicaprogrammabile.it/scheda-arduino-ethernet-all-in-one/</link>
					<comments>https://logicaprogrammabile.it/scheda-arduino-ethernet-all-in-one/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Fri, 09 Sep 2011 06:57:03 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Arduino ethernet]]></category>
		<category><![CDATA[USB serial]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1972</guid>

					<description><![CDATA[<p>Arduino Ethernet ideale per progetti IoT La scheda made in Italy che raccoglie le funzionalità di Arduino più quelle della ethernet shield per fondersi in un unico prodotto. Penso che questa scelta sia fantastica sia per il costo contenuto (rispetto ad Arduino + ethernet shield)...</p>
<p>The post <a href="https://logicaprogrammabile.it/scheda-arduino-ethernet-all-in-one/">Scheda Arduino Ethernet all in one</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Arduino Ethernet ideale per progetti IoT</h1>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1973 size-medium" title="Arduino Ethernet all in one" src="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoEthernetFront-300x210.jpg" alt="Sheda arduino ethernet tutto in uno" width="300" height="210" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoEthernetFront-300x210.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoEthernetFront-1024x719.jpg 1024w, https://logicaprogrammabile.it/wp-content/uploads/2011/09/ArduinoEthernetFront.jpg 1475w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>La scheda made in Italy che raccoglie le funzionalità di Arduino più quelle della ethernet shield per fondersi in un unico prodotto. Penso che questa scelta sia fantastica sia per il costo contenuto (rispetto ad Arduino + ethernet shield) sia per le minori dimensioni del prodotto.<br />
Inoltre è presente anche la versione con il modulo PoE (Power over ethernet) che permette di utilizzarla anche in posizioni dove non è presente una fonte di alimentazione esterna.</p>
<p>Vista la mancanza della porta usb, per poterla programmare bisogna acquistare il modulo USB serial adapter.</p>
<p>Tutti i dettagli sul sito Arduino.cc :</p>
<p><a href="http://arduino.cc/en/Main/ArduinoBoardEthernet" target="_blank">Arduino ethernet</a></p>
<p><a href="http://arduino.cc/en/Main/USBSerial" target="_blank">USBSerial Adapter</a></p>
<p>Potete trovare la Arduino ethernet e l&#8217;USB adapter da ethermania seguendo questi link</p>
<p><a href="http://www.ethermania.com/shop/index.php?main_page=product_info&amp;cPath=91_103&amp;products_id=1158" target="_blank">Arduino Ethernet</a></p>
<p><a href="http://www.ethermania.com/shop/index.php?main_page=product_info&amp;cPath=91_105&amp;products_id=1175" target="_blank">USB Adapter</a></p>
<p>The post <a href="https://logicaprogrammabile.it/scheda-arduino-ethernet-all-in-one/">Scheda Arduino Ethernet all in one</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/scheda-arduino-ethernet-all-in-one/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
