<?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>Servizio web Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/servizio-web/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/servizio-web/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Sun, 03 Jan 2021 17:56:52 +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>Servizio web Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/servizio-web/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>5 passi per installare un webserver LAMP sul Raspberry PI</title>
		<link>https://logicaprogrammabile.it/5-passi-installare-webserver-lamp-raspberry-pi/</link>
					<comments>https://logicaprogrammabile.it/5-passi-installare-webserver-lamp-raspberry-pi/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 07:00:29 +0000</pubDate>
				<category><![CDATA[Tutorial Raspberry PI]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[Servizio web]]></category>
		<category><![CDATA[Web Server]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6404</guid>

					<description><![CDATA[<p>Installare LAMP su Raspberry PI In quei progetti dove diverse schede interagiscono tra loro, scambiandosi e memorizzando dati, potrebbe risultare utile avere un mini server (LAMP) per la memorizzazione e l&#8217;elaborazione dei dati. In questo caso niente di più flessibile di un computer embedded come...</p>
<p>The post <a href="https://logicaprogrammabile.it/5-passi-installare-webserver-lamp-raspberry-pi/">5 passi per installare un webserver LAMP sul Raspberry PI</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Installare LAMP su Raspberry PI</h1>
<p>In quei progetti dove diverse schede interagiscono tra loro, scambiandosi e memorizzando dati, potrebbe risultare utile avere un mini server (LAMP) per la memorizzazione e l&#8217;elaborazione dei dati. In questo caso niente di più flessibile di un computer embedded come una Raspberry PI.</p>
<p>Nel mio caso mi sono trovato a realizzare un sistema composto da diverse schede Arduino MKRZero + MKR ETH che acquisiscono dati da dei sensori analogici. Questi dati invece di essere memorizzati su scheda SD ho deciso di inviarli ad un database locale, dato che le schede sono collegate alla stessa lan. Per limitare i costi ho inserito un Raspberry PI configurato come server LAMP (Linux + Apache + Mysql + Php).</p>
<p>In questo articolo vediamo come installare tutto il necessario per creare un server LAMP con Raspberry PI seguendo questi 5 passi:</p>
<ol>
<li><a href="#L1">Installare server web apache</a></li>
<li><a href="#L2">Installare motore PHP</a></li>
<li><a href="#L3">Installare database relazionale Mysql (MAriaDB)</a></li>
<li><a href="#L4">Installare software di gestione PhpMyAdmin</a></li>
<li><a href="#L5">Configurare utenti e privilegi</a></li>
</ol>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-6434" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/schema.jpg" alt="" width="715" height="506" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/schema.jpg 715w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/schema-300x212.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/schema-150x106.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/schema-585x414.jpg 585w" sizes="(max-width: 715px) 100vw, 715px" /></p>
<h2 id="L1">1. Installare Apache</h2>
<p>Il <a href="https://httpd.apache.org/">server Apache</a> permette di avere un server HTTP locale capace di elaborare le richieste dei client collegati alla stessa rete. Per l&#8217;installazione si utilizza il commando seguente :</p>
<pre>sudo apt-get install apache2</pre>
<p>Premiamo invio e alla richiesta di continuare digitiamo S e nuovamente invio</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6408" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190822-585x370.jpg 585w" sizes="(max-width: 661px) 100vw, 661px" /></p>
<p>Terminata l&#8217;installazione digitiamo il seguente comando per leggere l&#8217;indirizzo ip della scheda Raspberry PI</p>
<pre>hostname -I</pre>
<p>premendo invio verrà visualizzato l&#8217;ip assegnato alla scheda.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6410" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-190952-585x370.jpg 585w" sizes="(max-width: 661px) 100vw, 661px" /></p>
<p>apriamo il browser su un pc della stessa rete e digitiamo nella barra degli indirizzi l&#8217;ip della scheda. Se il server apache è stato installato correttamente dovreste visualizzare una schermata come la seguente:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-6411" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038.jpg" alt="" width="779" height="867" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038.jpg 812w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038-270x300.jpg 270w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038-135x150.jpg 135w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038-768x854.jpg 768w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191038-585x651.jpg 585w" sizes="auto, (max-width: 779px) 100vw, 779px" /></p>
<h2 id="L2">2. Installare PHP</h2>
<p>Il passo successivo è quello di installare il motore PHP che permetterà di eseguire tutti gli script php contenuti nelle pagine web. Digitiamo il seguente comando:</p>
<pre>sudo apt-get install php</pre>
<p>premiamo invio, confermiamo l&#8217;installazione digitando S e nuovamente invio.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6413" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191257-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>Terminata l&#8217;installazione procediamo a verificare che il motore php sia stato installato correttamente. Portiamoci sulla directory seguente:</p>
<pre>cd /var/www/html/</pre>
<p>elenchiamo ora i file presenti nella cartella con il comando:</p>
<pre>ls -l</pre>
<p>dovrebbe esserci un solo file, index.html. rimuoviamolo con il seguente comando</p>
<pre>sudo rm index.html</pre>
<p>Ora utilizzando un editor di testo creiamo una nuova pagina , index.php, eseguendo questo comando</p>
<pre>sudo nano index.php</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6415" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191731-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>Premiamo invio e digitiamo nel&#8217;editor di testo nano la seguente istruzione</p>
<pre>&lt;?php echo(phpinfo()) ?&gt;</pre>
<p>Per salvare il file index.php premiamo sulla tastiera i tasti CTRL+O e per uscire i tasti CRTL+X</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6416" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191812-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>nuovamente eseguiamo un elenco dei files contenuti nella cartella html con il comando:</p>
<pre>ls -l</pre>
<p>dovremmo avere un solo file, index.php:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6417" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191840-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>dal browser precedentemente aperto ricarichiamo la pagina (oppure digitiamo nuovamente l&#8217;ip della scheda Raspberry) e se tutto sta girando correttamente dovremmo visualizzare le informazioni relative al motore php, come di seguito:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6418" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906.jpg" alt="" width="950" height="881" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906.jpg 950w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906-300x278.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906-150x139.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906-768x712.jpg 768w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-191906-585x543.jpg 585w" sizes="auto, (max-width: 950px) 100vw, 950px" /></p>
<p>Se il server web non risponde potremmo provare a riavviarlo digitando questo comando:</p>
<pre>sudo service apache2 restart</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6419" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Immagine-2021-01-02-192051-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<h2 id="L3">3. Installare MySQL</h2>
<p>Mysql è un RDBMS molto diffuso in ambiente web. Sviluppato come progetto open source è poi stato acquisito da Oracle. Attualmente è disponibile sotto licenza GNU e anche commerciale. Nel nostro Raspberry installeremo <a href="https://mariadb.org/">mariaDB</a> un progetto totalmente open che si basa sul codice sorgente di MySql. Per eseguire l&#8217;installazione digitiamo il seguente comadndo:</p>
<pre>sudo apt-get install mariadb-server</pre>
<p>confermiamo digitando S e premendo invio</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6420" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_install.jpg" alt="" width="661" height="578" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_install.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_install-300x262.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_install-150x131.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_install-585x512.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<h2 id="L4">4. Installate PhpMyAdmin (opzionale)</h2>
<p>Se siete arrivati fin qui la parte server è stata installata correttamente. Ora possiamo installare un software scritto in php che permette di interagire con il server MySql, tramite una comoda interfaccia web. Eseguiamo quindi il seguente comando per avviare l&#8217;installazione e la configurazione di PhpMyAdmin:</p>
<p>sudo apt-get install phpmyadmin</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6426" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_install-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>Confermiamo digitando S e premendo invio per avviare il download del software e la sua installazione.</p>
<p>Dopo qualche istante ci viene richiesto di selezionare il server web installato sul Raspberry in modo tale che phpmyadmin esegua le sue configurazioni. Selezioniamo con la barra spaziatrice la voce apache2, con il tasto tab ci spostiamo sul pulsante &lt;ok&gt;. Premiamo invio per continuare:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6422" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config2-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>Successivamente viene mostrata una nuova finestra per poter configurare il database mysql. Selezioniamo il pulsante &lt;Sì&gt; e premiamo invio:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6423" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config3-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>Ora digitiamo una password per l&#8217;utente phpmyadmin e premiamo invio:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6424" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config4-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>ripetiamo digitando e confermando la password, continuiamo premendo invio:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6425" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadmin_config5-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>dopo qualche istante l&#8217;installazione terminerà.</p>
<p>Proviamo ora a verificare se l&#8217;installazione del software phpmyadmin è avvenuta con successo. Portiamoci nuovamente sul browser e digitiamo nella barra degli indirizzi il seguente link</p>
<p>[ip raspberry]/phpmyadmin</p>
<p>dovremmo visualizzare la schermata di login come segue:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6431" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadminlogin.jpg" alt="phpmyadmin login" width="652" height="582" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadminlogin.jpg 652w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadminlogin-300x268.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadminlogin-150x134.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/phpmyadminlogin-585x522.jpg 585w" sizes="auto, (max-width: 652px) 100vw, 652px" /></p>
<p>digitiamo come nome utente phpmyadmin e come password quella inserita nella procedura guidata per eseguire l&#8217;accesso all&#8217;interfaccia web.</p>
<p>l&#8217;utente phpmyadmin non ha privilegi che permettano la gestione dei databases. Nel prossimo passo provvederemo a creare un utente che possieda tutti i privilegi.</p>
<h2 id="L5">5. Creare un utente per gestire il database</h2>
<p>I comandi seguenti servono a creare un utente con tutti i privilegi di amministrazione del database. In questo modo protremmo accedere tramite phpmyadmin per creare e gestire i nostri databases.</p>
<p>Il comando seguente permette di avviare la console mysql in modo tale da poter inviare comandi sql all&#8217; RDBMS:</p>
<pre>sudo mariadb</pre>
<p>e premiamo invio:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6437" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui.jpg" alt="" width="661" height="418" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui.jpg 661w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui-300x190.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui-150x95.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui-420x265.jpg 420w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/mariadb_ui-585x370.jpg 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p>ora creiamo un utente, nel mio caso con nome marco, tra apici inseriamo anche una password:</p>
<pre>CREATE USER marco@localhost IDENTIFIED BY 'inserisci la tua password';</pre>
<p>ricordati di terminate la stringa sql con il simbolo di punto e virgola. Premiamo invio per per eseguire la query:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6436" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/query.jpg" alt="" width="693" height="450" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/query.jpg 693w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/query-300x195.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/query-150x97.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/query-585x380.jpg 585w" sizes="auto, (max-width: 693px) 100vw, 693px" /></p>
<p>ora l&#8217;utente marco è stato creato ma come l&#8217;utente phpmyadmin non ha nessun privilegio e non puo effettuare nessuna operazione. Assegniamo quindi a questo utente tutti i privilegi eseguendo questa query:</p>
<pre>GRANT ALL PRIVILEGES ON *.* TO marco@localhost;</pre>
<p>premiamo invio per eseguire la query:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6438" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/grant_privileges.jpg" alt="" width="693" height="450" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/grant_privileges.jpg 693w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/grant_privileges-300x195.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/grant_privileges-150x97.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/grant_privileges-585x380.jpg 585w" sizes="auto, (max-width: 693px) 100vw, 693px" /></p>
<p>usciamo dal dal database eseguendo il seguente comando:</p>
<pre>exit;</pre>
<p>riavviamo il servizio mysql eseguendo il seguente comando</p>
<pre>sudo service mysql restart</pre>
<h2>Conclusioni</h2>
<p>Utilizzando un Raspberry PI dal costo contenuto è possibile creare un hub di rete capace di eseguire un server LAMP con adeguate prestazioni. In questo modo è possibile integrare un sistema di schede che piuttosto che memorizzare i dati in una propria memoria può invece inviare i dati su un database relazionale con tutti i vantaggi che ne derivano.</p>
<p>The post <a href="https://logicaprogrammabile.it/5-passi-installare-webserver-lamp-raspberry-pi/">5 passi per installare un webserver LAMP sul Raspberry PI</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/5-passi-installare-webserver-lamp-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Memorizzare dati su un sito web con PHP e Mysql</title>
		<link>https://logicaprogrammabile.it/memorizzare-dati-server-remoto-php-e-mysql/</link>
					<comments>https://logicaprogrammabile.it/memorizzare-dati-server-remoto-php-e-mysql/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 29 Jul 2013 09:36:09 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Internet delle cose]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Servizio web]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3714</guid>

					<description><![CDATA[<p>Introduzione all&#8217;internet delle cose con Arduino, PHP e Mysql Il termine &#8216;internet delle cose&#8216; sta diventando sempre più popolare per due motivi fondamentali, il primo riguarda la grande diffusione dei dispositivi programmabili come Arduino e Netduino (senza tralasciare  il sistema OpenPicus e il RaspberryPI) con...</p>
<p>The post <a href="https://logicaprogrammabile.it/memorizzare-dati-server-remoto-php-e-mysql/">Memorizzare dati su un sito web con PHP e Mysql</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Introduzione all&#8217;internet delle cose con Arduino, PHP e Mysql</h3>
<p>Il termine &#8216;<strong>internet delle cose</strong>&#8216; sta diventando sempre più popolare per due motivi fondamentali, il primo riguarda la grande diffusione dei dispositivi programmabili come <strong>Arduino</strong> e <strong>Netduino</strong> (senza tralasciare  il sistema <strong>OpenPicus</strong> e il <strong>RaspberryPI</strong>) con la loro relativa semplicità di utilizzo, mentre il secondo motivo è dovuto alla necessità di conoscere in tempo reale cosa questo dispositivo sta facendo e come sia possibile controllarne le funzionalità, anche a distanza.<br />
Tutto questo è strettamente legato alla diffusione della<strong> rete 3G e degli smartphone</strong> che permettono di avere una <strong>connessione ad internet</strong> pressoché ovunque.</p>
<p>Questo scenario rende interessante lo <strong>sviluppo di nuove tipologie di applicazioni</strong> legate appunto al controllo e allo scambio dati tra dispositivi hardware collegati ad internet.</p>
<p>Esistono numerosi prototipi ma anche esempi reali che dimostrano come l&#8217;utilizzo di <strong>sistemi embedded+internet</strong> creino infrastrutture, anche complesse, controllabili. Il classico esempio riguarda la gestione del traffico che nelle nostre città viene gestito da semplici semafori che regolano il traffico in modo statico. Utilizzando <strong>dispositivi smart</strong> è possibile ottimizzare questo sistema migliorando la viabilità, evitando ingorghi e facendo risparmiare energia e carburante. Ma le applicazioni sono davvero notevoli e sono tutte orientate al risparmio energetico e al migliorare il nostro modo di vivere.</p>
<p><span id="more-3714"></span></p>
<p>Di seguito sono elencate le categorie dove maggiormente verranno sviluppati dispositivi riconducibili all&#8217;internet delle cose</p>
<ul>
<li>Domotica</li>
<li>Controllo inquinamento ambientale cittadino</li>
<li>Monitoraggio Ambientale</li>
<li>Energie rinnovabili, Smart Grid</li>
<li>Illuminazione pubblica intelligente</li>
<li>Sistemi per il rilevamento tempestivo degli incendi</li>
<li>Controllo delle acque, tra cui livello degli argini.</li>
<li>Controllo e gestione degli accessi con tecnologia RFID</li>
<li>Agricoltura, irrigazione intelligente.</li>
<li>Sorveglianza di pazienti e anziani in abitazioni isolate.</li>
<li>Miglioramento processi industriali, gestione magazzino.</li>
</ul>
<p><a href="http://www.gartner.com/newsroom/id/2209615" target="_blank">Gartner ha identificato l&#8217;IOT</a> come una delle <strong>10 tecnologiche trainanti</strong> per il 2013.</p>
<p>Per quello che ci riguarda dobbiamo dotarci di un dispositivo capace di connettersi ad internet, nel mio caso utilizzerò l&#8217;<strong>Arduino Ethernet</strong>, di una connessione internet e di un server web capace di elaborare le richieste inviate dall&#8217;Arduino.</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2013/07/SchemaIOT.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3730" src="https://logicaprogrammabile.it/wp-content/uploads/2013/07/SchemaIOT.png" alt="INTERNET DELLE COSE" width="600" height="250" srcset="https://logicaprogrammabile.it/wp-content/uploads/2013/07/SchemaIOT.png 600w, https://logicaprogrammabile.it/wp-content/uploads/2013/07/SchemaIOT-300x125.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a><br />
Il progetto di questo tutorial permette di acquisire un segnale analogico, di inviarne il valore al server remoto che lo memorizzerà in una tabella del database MySql.<br />
L&#8217;invio dei dati avviene tramite <strong>architettura <a href="http://it.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a></strong>. Praticamente i <strong>valori acquisiti da Arduino</strong> verranno <strong>inviati utilizzando l&#8217;URL</strong>.<br />
Lato server, uno <strong>script PHP</strong> recupererà i valori dall&#8217;url e li memorizzerà sul database.</p>
<blockquote><p>se non disponete di un server web remoto potete installarne uno nella vostra macchina locale utilizzando <a href="http://www.apachefriends.org/it/xampp-windows.html" target="_blank">XAMPP</a>. Il pacchetto installa automaticamente il server web Apache, l&#8217;interprete PHP ed il server MySql.</p></blockquote>
<p>Iniziamo subito con il codice che ho caricato sull&#8217;Arduino:</p>
<pre class="lang:arduino decode:true ">#include &lt;SPI.h&gt;
#include &lt;Ethernet.h&gt;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//indirizzo server web (locale)
IPAddress server(192, 168, 0, 140);

//indirizzo ip dell'Arduino
IPAddress ip(192, 168, 0, 200);

EthernetClient client;

String strURL = "";
float temp = 0;

void setup()
{
Serial.begin(9600);

if (Ethernet.begin(mac) == 0)
{
Serial.println("Configurazione DHCP fallita!");
Ethernet.begin(mac, ip);
}

delay(1000);

}

void loop()
{
UpdateTemp();

while(client.available())
{
char c = client.read();
Serial.print(c);
}

if (!client.connected())
{
Serial.println();
Serial.println("Disconnesso.");
client.stop();
}

//esegui la richiesta ogni 10 secondi
delay(10000);
}

void UpdateTemp()
{
Serial.println("Connessione...");

if (client.connect(server, 80))
{
Serial.println("Connesso");
//acquisisco il valore analogico dal sensore MCP9700
//vedi questo articolo
//logicaprogrammabile.it/mcp9700a-netduino-sensore-temperatura-analogico
temp = analogRead(0);

//creo l'url utilizzanso una stringa
strURL = "GET /arduino/index.php?valore=";
strURL += (int)temp;
strURL += "&amp;localita=Sardegna HTTP/1.1";

//invio la richiesta al server
client.println(strURL);
client.println("Host: localhost");
client.println("Connection: close");
client.println();
//chiudo la connessione
client.stop();
}
else
{
Serial.println("Errore Connessione");
}
}</pre>
<p>&nbsp;</p>
<p>Il codice esegue una connessione al server locale e, dopo aver acquisito il segnale proveniente dal sensore analogico, costruisce l&#8217;indirizzo URL inserendo due parametri, il valore analogico acquisito e la località:</p>
<p style="text-align: center;">/arduino/index.php?valore=120&amp;localita=Sardegna</p>
<p>La pagina index.php ha il compito di recuperare i parametri e di caricarli sul database. Questo è il codice <strong>PHP</strong>:</p>
<pre class="lang:php decode:true ">&lt;?php
//controllo se sono presenti i parametri valore e localita
if(isset($_GET['valore']) &amp;&amp; isset($_GET['localita']))
{
//Recupero il valore del parametro "valore"
$valore = $_GET['valore'];

//Recupero il valore del parametro "localita"
$localita = $_GET['localita'];

//eseguo la connessione al database sul server locale
//inserendo nome utente e password
$link = mysql_connect('localhost', 'root', 'root');

//gestione degli errori
if (!$link) {die('Impossibile connettersi: ' . mysql_error());}

//seleziono il databse di nome arduino
mysql_select_db("arduino") or die( "Impossibile selezionare il database.");

//creo una stringa sql di inserimento con i valori
//recuperati dall'url
$sql = "INSERT INTO `arduino`.`tbl_temperature`
(
`ID` ,
`Tempo_Server` ,
`Tempo_Locale` ,
`Valore` ,
`Localita`
)
VALUES
(
NULL , CURRENT_TIMESTAMP , NULL , '" . $valore . "', '" . $localita . "'
);";

//eseguo la query
$retval = mysql_query( $sql, $link );

//gestione degli errori
if(! $retval ){die('Impossibile eseguire la query: ' . mysql_error());}

//chiudo la connessione al db
mysql_close($link);
}
?&gt;</pre>
<p>Tramite <strong>phpMyAdmin</strong> ho creato un database di nome <strong>Arduino</strong> e una tabella di nome <strong>tbl_Temperature</strong>. Il codice sql per creare la tabella è il seguente:</p>
<pre class="lang:mysql decode:true ">CREATE TABLE `tbl_temperature` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Tempo_Server` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Tempo_Locale` datetime DEFAULT NULL,
`Valore` int(11) NOT NULL,
`Localita` varchar(50) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;</pre>
<p>Utilizzando Arduino, PHP e Mysql siamo riusciti a realizzare un piccolo sistema IOT. Certamente bisogna imparare ad utilizzare anche le tecnologie lato server per far interagire Arduino, ma con un po di impegno è possibile realizzare applicazione molto interessanti.</p>
<p>In questo tutorial non ho approfondito l&#8217;installazione e la configurazione di <strong>XAMPP</strong>, ne l&#8217;uso di <strong>PHP e MySql</strong> perché sarebbe stato necessario un tutorial dedicato, molto più lungo e forse dispersivo.</p>
<p>The post <a href="https://logicaprogrammabile.it/memorizzare-dati-server-remoto-php-e-mysql/">Memorizzare dati su un sito web con PHP e Mysql</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/memorizzare-dati-server-remoto-php-e-mysql/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Netduino Plus interazione Pachube</title>
		<link>https://logicaprogrammabile.it/netduino-plus-interazione-pachube/</link>
					<comments>https://logicaprogrammabile.it/netduino-plus-interazione-pachube/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 13 Jul 2011 09:25:00 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[Micro Framework]]></category>
		<category><![CDATA[Netduino Plus]]></category>
		<category><![CDATA[Servizio web]]></category>
		<category><![CDATA[WebRequest]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1731</guid>

					<description><![CDATA[<p>Collegare Netduino Plus al servizio web Pachube Ora che sapiamo creare un Pachube feed aggiornabile non ci resta che sviluppare una piccola app, da far girare sul Netduino Plus, che acquisisce dei dati tramite le sue porte in ingresso e li invia al servizio web....</p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-plus-interazione-pachube/">Netduino Plus interazione Pachube</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Collegare Netduino Plus al servizio web Pachube</h1>
<p>Ora che sapiamo <a title="Pachube, utilizzo con Netduino o Arduino (Introduzione)" href="https://logicaprogrammabile.it/pachube-utilizzo-netduino-arduino/">creare un Pachube feed aggiornabile</a> non ci resta che sviluppare una piccola app, da far girare sul Netduino Plus, che acquisisce dei dati tramite le sue porte in ingresso e li invia al servizio web.<br />
Sul sito Pachube sono presenti diversi esempi che illustrano come scrivere delle applicazioni basate sul .Net framework. Tra queste è presente un listato di codice che mostra come aggiornare un feed tramite codice C#.<br />
Per utilizzare questo esempio è necessario aggiungere alla soluzione la libreria <strong>System.Http</strong> (Progetto-&gt;Aggiungi riferimento-&gt;System.Http.dll) e, tramite la clausola <strong>using</strong> , aggiungere i <strong>namespace</strong> <strong>System.Text</strong> e <strong>System.IO</strong>.</p>
<p>Il codice seguente mostra come aggiornare il nostro feed con un valore statico.</p>
<p><span id="more-1731"></span></p>
<pre class="lang:c# decode:true ">WebRequest rq;
HttpWebResponse hwr;

//eventuale proxy aziendale
//WebProxy wp = new WebProxy("nome server proxy", 8080);

//creo un buffer contenente la chiave e il valore per il feed
byte[] buffer = Encoding.UTF8.GetBytes("CpuLoad,10");

//riferimento al feed in formato csv
rq = WebRequest.Create("http://api.pachube.com/v2/feeds/28933.csv");

//assegnazione eventuale server proxy
//rq.Proxy = wp;
rq.Timeout = 5000;
rq.Method = "PUT";

//request headers
rq.ContentLength = buffer.Length;
rq.ContentType = "text/csv";
rq.Headers.Add("X-PachubeApiKey", "API KEY PACHUBE");

try
{
Stream stm = rq.GetRequestStream();
stm.Write(buffer, 0, buffer.Length);
stm.Close();
hwr = (HttpWebResponse)rq.GetResponse();
Debug.Print("response " + hwr.StatusCode);
}
catch (Exception ex)
{
Debug.Print("ERRORE: " + ex.Message);
}</pre>
<p>&nbsp;</p>
<p>Il listato è molto sintetico e mostra come eseguire l&#8217;aggiornamento del feed. Nell&#8217;<a title="Pachube, utilizzo con Netduino o Arduino (Introduzione)" href="https://logicaprogrammabile.it/pachube-utilizzo-netduino-arduino/">articolo precedente</a> ho utilizzato XML per eseguire le operazioni di lettura e scrittura del feed. In questo caso, invece, è stato utilizzato il metodo che impiega un semplice file di testo csv (comma-separated values).</p>
<p>Le prime istruzioni istanziano un oggetto <strong>WebRequest</strong> e uno <strong>HttpWebResponse</strong> (fornisce un&#8217;implementazione specifica di HTTP della classe WebResponse). Tutto il lavoro viene eseguito dall&#8217;oggetto WebRequest che, dopo aver settato le varie proprietà relative al feed csv, crea uno stream IO per aggiornare il file csv remoto.</p>
<p>Impieghiamo le porte del Netduino per creare qualcosa di utile e dinamico. Tramite gli ingressi analogici acquisiamo delle grandezze, provenienti da diversi sensori, che possono essere graficate tramite feed Pachube.</p>
<p>Faccio riferimento all&#8217;articolo che illustrava l&#8217;<a title="MCP9700A Netduino e sensore di temperatura analogico" href="https://logicaprogrammabile.it/mcp9700a-netduino-sensore-temperatura-analogico/">utilizzo del sensore di temperatura analogico MCP9700a</a> per monitorare l&#8217;ambiente e memorizzare i dati su Pachube.<br />
Il codice viene così modificato:</p>
<pre class="lang:c# decode:true ">WebRequest rq;
HttpWebResponse hwr;

//Impostop il pin A0 come ingresso analogico
AnalogInput AN0 = new AnalogInput(Pins.GPIO_PIN_A0);
Int16 Analog0 = 0;

while (true)
{
//acquisisci il valore analogico
Analog0 = (Int16)AN0.Read();

//creo una webrequest passando come argomento l'indirizzo del file csv
rq = WebRequest.Create("http://api.pachube.com/v2/feeds/XXXXX.csv");

//setto i parametri per l'oggetto webrequest
rq.Timeout = 3000;
byte[] buffer = Encoding.UTF8.GetBytes("Temp," + Analog0.ToString());
rq.ContentLength = buffer.Length;
rq.Method = "PUT";
rq.ContentType = "text/csv";
rq.Headers.Add("X-PachubeApiKey", "LA TUA API KEY");

//creo uno stream e scrivo i nuovi valori acquisiti
try
{
Stream stm = rq.GetRequestStream();
stm.Write(buffer, 0, buffer.Length);
stm.Close();
hwr = (HttpWebResponse)rq.GetResponse();
hwr.Close();
Debug.Print("response " + hwr.StatusCode);
}
catch (Exception ex)
{
Debug.Print("ERRORE: " + ex.Message);
}

//distruggo l'oggetto
rq.Dispose();

//attendi 30 secondi
Thread.Sleep(30000);
}</pre>
<p>&nbsp;</p>
<p>Il listato è autodescrittivo e permette con poco studio di capire come avviene il meccanismo di aggiornamento.</p>
<p>Prima di caricare il codice sul Netduino è necessario impostare il suo indirizzo ip attraverso l&#8217;uso di MFDeploy (C:\Programmi\Microsoft .NET Micro Framework\v4.1\Tools\MFDeploy.exe).</p>
<p>Una volta selezionato il dispositivo tramite la porta usb clicchiamo sul menu Target-&gt;Configuration-&gt;Network.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1746 size-full" title="mfdeploy" src="https://logicaprogrammabile.it/wp-content/uploads/2011/07/mfdeploy.jpg" alt="Seleziona configurazione di rete" width="482" height="242" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/07/mfdeploy.jpg 482w, https://logicaprogrammabile.it/wp-content/uploads/2011/07/mfdeploy-300x150.jpg 300w" sizes="auto, (max-width: 482px) 100vw, 482px" /></p>
<p>Nella finestra seguente possiamo configurare l&#8217;indirizzo ip del Netduino Plus, la subnet mask e il gateway. Questi dati dobbiamo recuperarli dal router.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1747 size-full" title="Network_Config" src="https://logicaprogrammabile.it/wp-content/uploads/2011/07/Network_Config.jpg" alt="Configurazione Netduino Plus Network" width="396" height="255" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/07/Network_Config.jpg 396w, https://logicaprogrammabile.it/wp-content/uploads/2011/07/Network_Config-300x193.jpg 300w" sizes="auto, (max-width: 396px) 100vw, 396px" /><br />
E&#8217; possibile abilitare il flag DHCP per recuperare automaticamente questi valori ma con alcuni router questa procedura non funziona correttamente e quindi vi consiglio di utilizzare, almeno per le prove, un indirizzo statico.</p>
<p>Tutto molto semplice e veloce. Con le restanti porte possiamo sperimentare con l&#8217;aggiunta di altri sensori per creare applicazioni più evolute ed interessanti.</p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-plus-interazione-pachube/">Netduino Plus interazione Pachube</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/netduino-plus-interazione-pachube/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
