<?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>GSM Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/gsm/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/gsm/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Sun, 03 May 2020 09:52:56 +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>GSM Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/gsm/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Configura con successo l&#8217;Arduino cloud</title>
		<link>https://logicaprogrammabile.it/configura-con-successo-larduino-cloud/</link>
					<comments>https://logicaprogrammabile.it/configura-con-successo-larduino-cloud/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 04 May 2020 06:00:50 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[IOT]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6302</guid>

					<description><![CDATA[<p>Come utilizzare l&#8217;Arduino cloud Nello scorso articolo abbiamo capito come attivare la Arduino sim e come configurare l&#8217;Arduino MKR GSM 1400. Inoltre abbiamo visto come sia possibile inviare dati alla scheda utilizzando il Network Monitor. In questo articolo andremmo a creare un elemento Thing utilizzando...</p>
<p>The post <a href="https://logicaprogrammabile.it/configura-con-successo-larduino-cloud/">Configura con successo l&#8217;Arduino cloud</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Come utilizzare l&#8217;Arduino cloud</h1>
<p>Nello <a href="https://logicaprogrammabile.it/configurare-arduino-sim-mkr-1400/">scorso articolo</a> abbiamo capito come attivare la <strong>Arduino sim</strong> e come configurare l&#8217;<strong>Arduino MKR GSM 1400</strong>. Inoltre abbiamo visto come sia possibile inviare dati alla scheda utilizzando il <strong>Network Monitor</strong>.</p>
<p>In questo articolo andremmo a creare un elemento <strong>Thing</strong> utilizzando l&#8217;<strong>Arduino Cloud</strong> e a scrivere il codice per la <strong>MKR GSM 1400</strong> in modo da poter <strong>inviare dei dati sul cloud</strong>.</p>
<p>Seguiamo questo indirizzo <a href="https://create.arduino.cc/iot/">https://create.arduino.cc/iot/</a>. Nella home dell&#8217;<strong>Arduino Cloud</strong> (al momento ancora in versione <strong>beta</strong>) possiamo creare un nuovo <strong>Thing</strong>, ovvero un contenitore di oggetti grafici che hanno il compito di visualizzare dati provenienti dalla scheda oppure di inviarli.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6274" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_thing.jpg" alt="add new thing" width="263" height="105" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_thing.jpg 263w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_thing-150x60.jpg 150w" sizes="(max-width: 263px) 100vw, 263px" /></p>
<p>Cliccando sul bottone <strong>Add New Thing</strong> verrà caricata una pagina in cui inserire il <strong>nome del Thing</strong> e la scheda da associare nostro progetto IoT.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-6275" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/create_thing.jpg" alt="add new thing form" width="609" height="185" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/create_thing.jpg 609w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/create_thing-300x91.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/create_thing-150x46.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/create_thing-585x178.jpg 585w" sizes="(max-width: 609px) 100vw, 609px" /></p>
<p>Nel combobox <strong>Select Board</strong> selezioneremmo la scheda <strong>GSM 1400</strong> che abbiamo configurato nel precedente articolo. Clicchiamo ora sul pulsante <strong>CREATE</strong>.</p>
<p><span id="more-6302"></span></p>
<p>Ci ritroveremo nella pagina principale del <strong>Thing</strong> che abbiamo appena creato.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6306" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/thing.jpg" alt="arduino Thing" width="700" height="333" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/thing.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/thing-300x143.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/thing-150x71.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/thing-585x278.jpg 585w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Attualmente sono disponibili 4 Tab. Nel tab <strong>Properties</strong> verranno elencate tutte le variabili del Thing. Queste variabili potranno essere richiamate nello sketch. Nal tab <strong>Dashboard</strong> verranno rappresentate le variabili sotto forma di oggetti grafici, pulsanti e indicatori. Nel tab <strong>Webhooks</strong> possiamo scambiare dati con altri servizi. Nel tab <strong>Board</strong> sarà possibile associare una scheda al Thing, questa associazione è molto importante perchè va a mettere in relazione la scheda selezionata con la chiave memorizzata nel crypto chip della GSM 1400. Se la chiave del crypto chip non coincide con la chiave della scheda che abbiamo caricato nel Device Manager, la comunicazione non potrà avvenire.</p>
<h1>Creare delle proprietà</h1>
<p>Torniamo nel tab <strong>Properties</strong> e clicchiamo sul bottone <strong>ADD PROPERTY</strong>. Verrà caricata una nuova pagina contenente un form come quello in figura:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6309" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_proprty.jpg" alt="add property at thingh" width="700" height="665" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_proprty.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_proprty-300x285.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_proprty-150x143.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_proprty-585x556.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Nel campo <strong>Name</strong> inseriamo un <strong>nome identificativo</strong> per la proprietà, questo nome sarà copiato anche sul campo <strong>Variable Name</strong>. Se lo riteniamo opportuno possiamo cambiare il <strong>Variable Name</strong>. Il nome inserito nel campo <strong>Variable Name</strong>, sarà utilizzato all<strong>&#8216;interno del codice dello sketch</strong>.</p>
<p>Inseriamo per esempio il nome &#8220;temperatura&#8221;.</p>
<p>Nella combobox <strong>Type</strong> selezioniamo la voce <strong>Temperature sensor (Celsius)</strong>. Vengono visualizzati due nuovi campi dove inserire il valore <strong>minimo</strong> e <strong>massimo</strong> che la variabile temperatura dovrà avere. Inseriamo come valore minimo 0°C e come valore massimo 100°C.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6315" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/temp.jpg" alt="Temperature" width="700" height="411" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/temp.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/temp-300x176.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/temp-150x88.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/temp-585x343.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Compiliamo anche la sezione <strong>Permission</strong>, <strong>Update </strong> e <strong>History</strong>.</p>
<p>Nella sezione <strong>Permission</strong> possiamo scegliere <strong>Read Only</strong> se il dato viene inviato dal dispositivo al cloud Arduino, mentre sceglieremo <strong>Read &amp; Write</strong> se abbiamo la necessita di aggiornare la variabile temperature dall&#8217;Arduino cloud.</p>
<p>La sezione <strong>Update</strong> ci permette di ricevere i dati a tempi prestabiliti (utilizzando la textbox per indicare un tempo) oppure riceverli quando il dato ha una variazione rispetto al dato precedentemente inviato.</p>
<p>La sezione history crea un grafico utilizzando uno storico dei dati inviati dalla scheda.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6316" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/parametri.jpg" alt="thing Paraeters" width="700" height="379" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/parametri.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/parametri-300x162.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/parametri-150x81.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/parametri-585x317.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Ora non ci resta che cliccare sul bottone <strong>ADD PROPERTY</strong> per confermare la nostra proprietà.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6317" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/riepilogo.jpg" alt="Riepilogo temperatura" width="700" height="107" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/riepilogo.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/riepilogo-300x46.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/riepilogo-150x23.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/riepilogo-585x89.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Andiamo nel tab <strong>Dashboard</strong> è osserviamo la presenza di un elemento che visualizzerà il dato proveniente dalla scheda.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6318" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/dashboard_1.jpg" alt="Dashboard proprieta" width="700" height="403" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/dashboard_1.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/dashboard_1-300x173.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/dashboard_1-150x86.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/dashboard_1-585x337.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Per il momento non aggiungiamo nessun&#8217;altra proprietà e dedichiamoci alla scrittura del codice.</p>
<h1>Installazione delle librerie</h1>
<p>Apriamo l&#8217;<strong>Arduino IDE</strong> e creiamo un <strong>nuovo sketch</strong>. Importiamo tutte le librerie per lavorare con l&#8217;<strong>Arduino cloud</strong>. Da <strong>Gestore Librerie</strong> (combinazione di tasti Ctrl+Maiusc+i) cerchiamo la libreria <strong>ArduinoIotCloud</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6320" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreriaiot.jpg" alt="Aggiungi libreria iot" width="700" height="394" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreriaiot.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreriaiot-300x169.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreriaiot-150x84.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreriaiot-585x329.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>procediamo con l&#8217;installazione cliccando sul pulsante <strong>Installa</strong>. Il gestore delle librerie indicherà che sono indispensabili delle librerie aggiuntive:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6321" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreria_dipendenze.jpg" alt="dipendenze librerie" width="700" height="438" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreria_dipendenze.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreria_dipendenze-300x188.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreria_dipendenze-150x94.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/libreria_dipendenze-585x366.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Installiamole tutte come richiesto.</p>
<h1>Scrivere il codice per la scheda MKR GSM 1400</h1>
<p>Il codice seguente mostra come collegarsi all&#8217;<strong>Arduino Cloud</strong> e come aggiornare la variabile temperatura definita precedentemente nel <strong>Thing</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="avrasm">//Includo le librerie seguenti
#include &lt;ArduinoIoTCloud.h&gt;
#include &lt;Arduino_ConnectionHandler.h&gt;

//creo una costante dove contenere il think_id
//questo dato possiamo ottenerlo andando nel pannello di controllo
//dell'arduino cloud
const char THING_ID[]      = "a42be6ce-3158-4843-a29b-a36e1c90256f";

//in queste costanti inserisco i dati relativi alla sim arduino
const char GPRS_APN[]      = "prepay.pelion";
const char PINNUMBER[]     = "0000";
const char GPRS_LOGIN[]    = "arduino";
const char GPRS_PASSWORD[] = "arduino";

//questa è la variabile temperatura che abbiamo definito nelle proprietà del Thing
CloudTemperature temperatura;

//creo la connessione all'arduino cloud usando la rete gsm
GSMConnectionHandler ArduinoIoTPreferredConnection(PINNUMBER, GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD);

void setup() {
  // inizializzo la seriale
  Serial.begin(9600);
  //attendo che tutto sia pronto
  delay(1500);
  
  //inizializzo con l'id del clous
  ArduinoCloud.setThingId(THING_ID);
  //specifico la variabile che ho inserito nel thing e le sue caratteristiche
  ArduinoCloud.addProperty(temperatura, READ, ON_CHANGE, NULL);

  //inizializzo la connessione con la'rduino cloud
  //specificando il canale di comunicazione
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  
  //attivo i messaggi di debug
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

void loop() {
  //trigghero l'arduino cloud
  ArduinoCloud.update();

  //genero dei valori casuali per la variabile temperatura
  temperatura = random(0, 100);
  //visualiazzo sul serial monitor il valore della variabile
  Serial.print("send data ");
  Serial.println(temperatura);
  attendo 10 s tra gli aggiornamenti
  delay(10000);

}</pre>
<p>I commenti che ho inserito nel codice descrivono il lavoro svolto dalle istruzioni.</p>
<p>Compiliamo e carichiamo il codice sulla Arduino GSM 1400. Terminato il caricamento apriamo il Serial monitor e osserviamo le fasi che portano a stabilire la connessione con l&#8217;Arduino Cloud.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6331" src="https://logicaprogrammabile.it/wp-content/uploads/2020/05/serial_output.jpg" alt="Serial monitor output" width="700" height="306" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/05/serial_output.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/05/serial_output-300x131.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/05/serial_output-150x66.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/05/serial_output-585x256.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Sul <strong>serial monitor</strong> osserviamo la stringa <strong>Device ID</strong>, questo valore deve essere identico a quello riportato nel tab Board. La stringa <strong>Thing ID</strong> invece deve essere identica a quella che viene indicata sulla pagina del Thing che abbiamo creato.</p>
<p>Apriamo una finestra del browser e colleghiamoci all&#8217;<strong>Arduino Cloud</strong> andando sulla dashboard del <strong>Thing</strong>. Osservando l&#8217;elemento grafico temperatura, dovremmo riscontrare gli stessi valori che la scheda sta trasmettendo.</p>
<p>In questo articolo abbiamo visto come configurare l&#8217;<strong>Arduino cloud</strong> e come trasmettere dei dati usando la <strong>MKR GSM 1400</strong>. Vedremo prossimamente anche come inviare dati dall&#8217;Arduino cloud alla scheda.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://logicaprogrammabile.it/configura-con-successo-larduino-cloud/">Configura con successo l&#8217;Arduino cloud</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/configura-con-successo-larduino-cloud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Scopri come configurare Arduino sim e MKR 1400</title>
		<link>https://logicaprogrammabile.it/scopri-come-configurare-arduino-sim-mkr-1400/</link>
					<comments>https://logicaprogrammabile.it/scopri-come-configurare-arduino-sim-mkr-1400/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Sun, 26 Apr 2020 16:18:15 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[IOT]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6260</guid>

					<description><![CDATA[<p>Creare dispositivi IoT con Arduino Un dispositivo IoT, tipicamente, ha bisogno di avere un circuito elettronico in grado di acquisire ed elabora dati (provenienti da sensori o da comandi esterni), un mezzo di trasmissione (molto spesso basato su un segnale  a radio frequenza) e un...</p>
<p>The post <a href="https://logicaprogrammabile.it/scopri-come-configurare-arduino-sim-mkr-1400/">Scopri come configurare Arduino sim e MKR 1400</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Creare dispositivi IoT con Arduino</h1>
<p>Un <a href="https://it.wikipedia.org/wiki/Internet_delle_cose">dispositivo IoT</a>, tipicamente, ha bisogno di avere un circuito elettronico in grado di acquisire ed elabora dati (provenienti da sensori o da comandi esterni), un mezzo di trasmissione (molto spesso basato su un segnale  a radio frequenza) e un sistema remoto capace di memorizzare, elaborare e gestire i dati.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6265" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot.jpg" alt="schema dispositivo iot" width="700" height="319" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot-300x137.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot-150x68.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot-585x267.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Le caratteristiche del microcontrollore sono scelte in base alla potenza di calcolo e alla sua capacità di risparmiare energia. Molte applicazioni IoT sono spesso installate in luoghi remoti dove non è possibile avere una alimentazione stabile e duratura, quindi l&#8217;unica fonte di energia è demandata all&#8217;uso di una batteria.</p>
<p><span id="more-6260"></span></p>
<p>I mezzi di comunicazione più diffusi che vengono utilizzati in ambito IoT sono, <a href="https://lora-alliance.org/">LoRa</a>, <a href="https://www.sigfox.com/en">Sigfox</a>, <a href="https://it.wikipedia.org/wiki/Narrowband_IoT">NB</a> e rete cellulare(2G/3G/4G). La scelta tra questi sistemi avviene principalmente in base alla copertura, alla posizione geografica del dispositivo IoT e ai costi di gestione.</p>
<p>Questo articolo si basa sull&#8217;utilizzo di una Arduino Sim e una scheda Arduino MKR GSM 1400.</p>
<p><strong>La Arduino SIM può essere utilizzata solamente con Arduino Cloud.</strong></p>
<h1>Come attivare la Sim Arduino</h1>
<p>Quando riceviamo la sim Arduino, prima di poterla utilizzare, dobbiamo procedere alla sua attivazione. Sulla custodia della sim viene riportato un link (<a href="https://store.arduino.cc/digital/sim/activation">https://store.arduino.cc/digital/sim/activation</a>) che porta ad una pagina web in cui è possibile inserire il codice <strong>ICCID</strong> presente sulla sim:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6269" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/Arduino-Sim.jpg" alt="Arduino Sim" width="500" height="415" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/Arduino-Sim.jpg 500w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/Arduino-Sim-300x249.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/Arduino-Sim-150x125.jpg 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>
<p>Dopo aver inserito il codice clicchiamo sul pulsante NEXT. Nella pagina successiva, andremmo a leggere e accettare i termini di utilizzo (<strong>ARDUINO SIM TERMS AND CONDITIONS</strong>). Clicchiamo nuovamente sul pulsante NEXT per confermare.</p>
<p>Nella pagina successiva ci sarà un riepilogo sulle informazioni del nostro account e sul costo del servizio. Continuiamo cliccando sul pulsante NEXT. Nella pagina successiva dovremmo inserire i dati di pagamento per poi procedere cliccando sul pulsante <strong>Complete Payment</strong>.</p>
<p>La sim a questo punto è in fase di attivazione e prima di utilizzarla dovremmo attendere una mail di conferma.</p>
<h1>Come gestire la Arduino SIM</h1>
<p>Per verificare le impostazioni e il traffico dati della nostra Arduino SIM dobbiamo andare sul <strong>device manager</strong> (<a href="https://create.arduino.cc/devices/">https://create.arduino.cc/devices/</a>). Scorrendo e arrivando in fondo alla pagina, vedremmo la nostra sim e il suo stato.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6270" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_gestione.jpg" alt="Gestione arduino sim" width="500" height="355" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_gestione.jpg 500w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_gestione-300x213.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_gestione-150x107.jpg 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>
<p>Per i dettagli è sufficiente cliccare sull&#8217;icona della sim attiva:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6271" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_det.jpg" alt="Dettagli utilizzo sim card arduino" width="700" height="253" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_det.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_det-300x108.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_det-150x54.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/arduino_sim_det-585x211.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>In questa pagina troviamo anche delle informazioni che dovranno essere inserite nel codice dello sketch che andremmo a scrivere:</p>
<table id="sim_data" align="center">
<tbody>
<tr>
<td>APN</td>
<td>prepay.pelion</td>
</tr>
<tr>
<td>Username</td>
<td>arduino</td>
</tr>
<tr>
<td>Password</td>
<td>arduino</td>
</tr>
<tr>
<td>Pin</td>
<td>0000</td>
</tr>
</tbody>
</table>
<h1>Aggiungere una scheda al Device Manager</h1>
<p>Dopo aver attivato la <strong>Arduino SIM</strong> dobbiamo associare nel <strong>Device Manager</strong> (<a href="https://create.arduino.cc/devices/">https://create.arduino.cc/devices/</a>) una <strong>scheda Arduino</strong> che potrà interagire con il cloud Arduino. Le schede abilitate all&#8217;uso del cloud Arduino sono le seguenti:</p>
<ul>
<li>MKR 1000</li>
<li>MKR WiFi 1010</li>
<li>MKR GSM 1400</li>
<li>MKR NB 1500</li>
<li>Nano 33 IoT</li>
<li>MKR WAN 1300</li>
<li>MKR WAN 1310</li>
</ul>
<p>Nel mio caso utilizzerò una MKR GSM 1400.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6281" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_new_board.jpg" alt="Add new booard to cloud" width="700" height="327" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_new_board.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_new_board-300x140.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_new_board-150x70.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/add_new_board-585x273.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Clicchiamo sull&#8217;icona <strong>ADD NEW BOARD</strong>. Verrà caricata una pagina con una procedura guidata che permetterà di associare la nostra scheda al <strong>Device Manager</strong>.</p>
<p>Nella prima pagina della procedura guidata, selezioniamo la scheda da utilizzare:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6282" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/select_board.jpg" alt="select board mkr gsm 1400" width="700" height="368" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/select_board.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/select_board-300x158.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/select_board-150x79.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/select_board-585x308.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>clicchiamo sull&#8217;icona Arduino MKT GSM 1400. Nella schermata successiva, vengono indicate le fasi per configurare la MKR GSM 1400:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6284" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400.jpg" alt="mkr gsm 1400" width="700" height="334" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400-300x143.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400-150x72.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400-585x279.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Clicchiamo sul pulsante START per andare avanti. La prima fase della procedura guidata indica che dobbiamo scaricare il plugin <strong>Arduino Create Agent</strong>, il cui compito è quello di mettere in comunicazione la scheda collegata al pc con la procedura di configurazione on line.</p>
<p>Clicchiamo sul pulsante <strong>DOWNLOAD</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6285" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin.jpg" alt="download arduino create agent" width="700" height="344" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin-300x147.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin-150x74.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin-585x287.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Una volta cliccato sul pulsante, la procedura mostra che dopo aver terminato il download del file, dobbiamo eseguire un doppio click su di esso e seguire le istruzioni:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6286" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin_1.jpg" alt="install arduino agent" width="700" height="324" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin_1.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin_1-300x139.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin_1-150x69.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/download_plugin_1-585x271.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Dopo l&#8217;installazione dell&#8217;<strong>Arduino Create Agent</strong>, la procedura guidata indicherà che la comunicazione con il plugin è avvenuta con successo:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6287" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/ACA_install_ok.jpg" alt="install aca ok" width="700" height="322" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/ACA_install_ok.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/ACA_install_ok-300x138.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/ACA_install_ok-150x69.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/ACA_install_ok-585x269.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Andiamo avanti cliccando sul pulsante <strong>NEXT</strong>. Nella schermata successiva viene richiesto di collegare la scheda al pc. Quindi procediamo collegando, tramite cavo usb, la scheda MKR GSM 1400 al nostro computer:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6288" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/usb_gsm_1400.jpg" alt="usb gsm 1400" width="700" height="286" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/usb_gsm_1400.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/usb_gsm_1400-300x123.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/usb_gsm_1400-150x61.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/usb_gsm_1400-585x239.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Dopo qualche istante il plug <strong>Arduino Create Agent</strong>, aggiornerà la procedura guidata on line che la scheda MKR 1400 è stata collegata al computer.</p>
<p>A questo punto otterremo la seguente schermata dove assoceremmo un nome alla nostra scheda:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6289" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400_name.jpg" alt="gsm 1400 board name" width="700" height="327" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400_name.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400_name-300x140.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400_name-150x70.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_1400_name-585x273.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Inseriamo un nome identificativo, ad esempio gsm_1400 e andiamo avanti cliccando sul pulsante NEXT.</p>
<p>Ora la procedura indica se vogliamo configurare il <strong>Crypto Chip</strong> presente nella MKR GSM 1400. Questa procedura è importante perché aumenta il livello di sicurezza della comunicazione tra la scheda e l&#8217;Arduino Cloud.</p>
<p>Clicchiamo su CONFIGURE e attendiamo la fine della configurazione del Crypto Chip.</p>
<p>Nella schermata successiva ci viene chiesto di inserire la scheda SIM. Io in questa fase ho scollegato la scheda dalla porta usb, ho inserito la sim e ricollegato la scheda alla porta usb.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6290" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/insert_sim.jpg" alt="insert arduino sim" width="700" height="327" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/insert_sim.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/insert_sim-300x140.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/insert_sim-150x70.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/insert_sim-585x273.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Quindi clicchiamo nuovamente sul pulsante NEXT.</p>
<p>Nella schermata successiva viene visualizzato uno sketch di esempio. Lasciamo questo codice invariato e clicchiamo sul pulsante <strong>ENTER GSM DATA</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6291" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_data.jpg" alt="arduino enter gsm data" width="700" height="341" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_data.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_data-300x146.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_data-150x73.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/gsm_data-585x285.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Ora viene richiesta la compilazione dei campi relativi ai parametri della Arduino SIM. <a href="#sim_data">Questi parametri</a> gli abbiamo già incontrati quando abbiamo configurato la Arduino SIM.</p>
<p>Inseriamoli nei relativi campi e clicchiamo sul pulsante UPLOAD</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6295" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/upload.jpg" alt="upload sketch" width="700" height="341" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/upload.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/upload-300x146.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/upload-150x73.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/upload-585x285.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Terminato l&#8217;upload dello sketch sulla Arduino GSM 1400, la procedura guidata prova a stabilire una connessione con la scheda utilizzando la rete gsm:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6296" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/iot_cloud.jpg" alt="iot connection to arduino cloud" width="700" height="283" /></p>
<p>Se tutto funziona correttamente otterremo la schermata del Network Monitor:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6297" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/network_monitor.jpg" alt="Network monitor" width="700" height="337" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/network_monitor.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/network_monitor-300x144.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/network_monitor-150x72.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/network_monitor-585x282.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>In questa schermata possiamo accendere o spegnere il led on board della MKR GSM 1400. Scrivendo sulla textbox la stringa ON e cliccando sul bottone SEND potremo osservare che sulla scheda il led viene effettivamente acceso.<br />
Per spegnerlo sarà sufficiente inserire la stringa OFF e premere nuovamente sul bottone SEND.</p>
<p>Terminiamo la procedura guidata cliccando sul pulsante PLAY.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6299" src="https://logicaprogrammabile.it/wp-content/uploads/2020/04/finish.jpg" alt="arduino cloud " width="700" height="348" srcset="https://logicaprogrammabile.it/wp-content/uploads/2020/04/finish.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/finish-300x149.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/finish-150x75.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2020/04/finish-585x291.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Nel prossimo articolo andremmo a creare una THING utilizzando l&#8217;Arduino cloud e a scrivere del codice per spedire o ricevere dei dati.</p>
<p>&nbsp;</p>
<p>The post <a href="https://logicaprogrammabile.it/scopri-come-configurare-arduino-sim-mkr-1400/">Scopri come configurare Arduino sim e MKR 1400</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/scopri-come-configurare-arduino-sim-mkr-1400/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino. Utilizzare la rete GSM per progetti IoT</title>
		<link>https://logicaprogrammabile.it/arduino-gsm-utilizzare-rete-gsm-progetti-iot/</link>
					<comments>https://logicaprogrammabile.it/arduino-gsm-utilizzare-rete-gsm-progetti-iot/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 13:56:35 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[Internet delle cose]]></category>
		<category><![CDATA[IOT]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=4687</guid>

					<description><![CDATA[<p>Come utilizzare Arduino e rete gsm per progetti IoT Sentire parlare di progetti IoT è quasi diventata una moda e nonostante la realizzazione di progetti più o meno interessanti, possiamo confermare che il mercato è in forte espansione e l&#8217;industria sta investendo ingenti capitali. Uno...</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-gsm-utilizzare-rete-gsm-progetti-iot/">Arduino. Utilizzare la rete GSM per progetti IoT</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Come utilizzare Arduino e rete gsm per progetti IoT</h3>
<p>Sentire parlare di progetti IoT è quasi diventata una moda e nonostante la realizzazione di progetti più o meno interessanti, possiamo confermare che il mercato è in forte espansione e l&#8217;industria sta investendo ingenti capitali. Uno degli aspetti chiave dell&#8217;internet delle cose è sicuramente la remotizzazione dei dispositivi. Vengono perciò progettate reti dedicate, come la <a href="http://www.sigfox.com/en/" target="_blank">rete Sigfox</a> oppure il sistema <a href="http://lora-alliance.org/" target="_blank">LoRa</a> caratterizzate da lunghe distanze operative e bassi consumi.<br />
Un altro canale di comunicazione che sta ritornando in uso è la rete gsm, forte della sua alta percentuale di copertura del territorio nazionale e un uso ormai semplificato grazie a libreria pronte all&#8217;uso.<br />
Nonostante i moduli GSM abbiano un consumo energetico maggiore rispetto a quelli SigFox e LoRa, rimane comunque un sistema molto valido soprattutto in attesa che anche nel nostro paese vengano realizzate reti IoT dedicate.</p>
<p>Esistono diverse shield gsm o moduli stand alone che permettono di costruire circuiti capaci di dialogare tra loro a grandi distanze. La shield ufficiale Arduino è da tempo indisponibile, nonostante esiste una seconda versione, viste le diatribe tra le due società Arduino, ho preferito usare un altro prodotto ed in particolare quello sviluppato da Mikroelektronica che si basa sul modulo M95A perché  ha un costo contenuto ed è compatibile con la libreria ufficiale disponibile nell&#8217;ide sviluppato da Arduino.cc.</p>
<p><span id="more-4687"></span></p>
<p>Di seguito potete vedere il modulo e la sua pin function</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4697 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2015/06/gsm2click.png" alt="arduino gsm mikroelektronika mikrobus gsm2click board" width="209" height="198" /></p>
<p style="text-align: center;"><a href="https://logicaprogrammabile.it/wp-content/uploads/2015/06/PINOUT_GSM2Click.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4714" src="https://logicaprogrammabile.it/wp-content/uploads/2015/06/PINOUT_GSM2Click.png" alt="PINOUT_GSM2Click" width="137" height="170" /></a></p>
<p>Mikroelektronica, oltre ha produrre diversi tipi di compilatori, ha un suo sistema di sviluppo hardware composto da delle schede chiamate <a href="http://www.mikroe.com/click/" target="_blank">Click Boards</a> che si collegano tra loro utilizzando il <a href="http://www.mikroe.com/downloads/get/1737/mikrobus_specification.pdf" target="_blank">Mikro Bus</a>.</p>
<p>La comunicazione tra la GSM2click ed Arduino avviene tramite UART. Esiste anche la Arduino UNO click shield ma purtroppo non possiamo utilizzarla perché la libreria gsm utilizza la SoftwareSerial sui pin 2 e 3 mentre nella Arduino UNO click shield la seriale è collegata ai pin 0 e 1.<br />
Quindi dovremmo adattare i collegamenti Arduino UNO e la GSM2click seguendo questo semplice schema:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4700 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2015/06/SchemaArduinoGSMclick.png" alt="Arduino gsm 2 click" width="430" height="256" srcset="https://logicaprogrammabile.it/wp-content/uploads/2015/06/SchemaArduinoGSMclick.png 430w, https://logicaprogrammabile.it/wp-content/uploads/2015/06/SchemaArduinoGSMclick-300x179.png 300w" sizes="auto, (max-width: 430px) 100vw, 430px" /></p>
<p>Il modulo GSM2Click utilizza sia l&#8217;alimentazione a 3.3Vdc sia quella a 5Vdc. I pin TX e RX del modulo vanno rispettivamente collegati al pin 2 e pin 3 di Arduino (quelli utilizzati dalla SoftwareSerial della libraria GSM). Il pin7 di Arduino va collegato al pin RST che in pratica corrisponde al PowerKey del modulo M95.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4704" src="https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2click_Arduino.jpg" alt="GS2Click arduino UNO gsm" width="448" height="296" srcset="https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2click_Arduino.jpg 448w, https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2click_Arduino-300x198.jpg 300w" sizes="auto, (max-width: 448px) 100vw, 448px" /></p>
<h4>Codice di esempio</h4>
<p>Prima di caricare il codice dobbiamo inserire nel modulo GSM2Click una SIM attiva con relativo credito telefonico. Nonostante il modulo possa funzionare senza l&#8217;ausilio di un&#8217;antenna consiglio assolutamente il suo impiego per aumentare il segnale ricevuto e soprattutto evitare disadattamenti di impedenza del trasmettitore RF.</p>
<p>Il codice seguente inizializza il modem del modulo M95 e ne ricava il codice IMEI:</p>
<pre class="lang:arduino decode:true ">// libraria GSM
#include &lt;GSM.h&gt;

//creo un oggetto modem
GSMModem modem;

String IMEI = "";
float tempo_prec, tempo =0;

void setup()
{
//init seriale
Serial.begin(9600);
delay(100);

Serial.println("Avvio modem...");

//memorizzo il tempo corrente
tempo_prec = millis();

//inizializzo il modem e verifico il suo stato
if (modem.begin())
{
//memorizzo il tempo corrente
tempo= millis();

//calcolo il tempo di avvio del modem
Serial.print("Modem avviato in ");
Serial.print((tempo - tempo_prec)/1000);
Serial.println(" secondi.");

}
else
//avvisami in caso di errore
Serial.println("ERRORE, nussuna risposta dal modem.");

Serial.println("Leggo il codice IMEI");

//ottengo il codice imei
IMEI = modem.getIMEI();

//verifico il codice e lo visualizzo
if (IMEI != NULL)
{
Serial.print("Codice IMEI= " + IMEI);
}
else
{
Serial.println("ERRORE: lettura codice IMEI fallita!");
}
}

void loop()
{

}</pre>
<p>La classe GSM permette di semplificare la comunicazione col modulo utilizzando una sintassi molto elementare. Abbiamo comunque la possibilità di scendere nel dettaglio utilizzando i comandi AT. La Quectel fornisce dettagliate documentazioni relative a tutti i sui moduli, in questo modo possiamo ottimizzare il nostro codice accedendo solo alle funzioni specifiche del modulo.</p>
<p>Per provare ad utilizzare i comandi AT, ho modificato il circuito elettrico prelevando il segnale sul pin STA del modulo GSM2Click, questo perchè prima di inviare un comando devo assicurarmi che il modulo sia attivo e funzionante.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4713" src="https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2Click_AT.png" alt="GSM2Click_AT" width="461" height="265" srcset="https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2Click_AT.png 461w, https://logicaprogrammabile.it/wp-content/uploads/2015/06/GSM2Click_AT-300x172.png 300w" sizes="auto, (max-width: 461px) 100vw, 461px" /></p>
<p>Questo il codice che testa la comunicazione tramite comandi AT:</p>
<pre class="lang:arduino decode:true ">#include &lt;SoftwareSerial.h&gt;

#define rxPin 2
#define txPin 3

SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);

String risp_at = "";
char message[50];

void setup() {
// put your setup code here, to run once:
mySerial.begin(9600);
Serial.begin(9600);

pinMode(6, INPUT);
pinMode(7, OUTPUT);

//verifico se il modulo è attivo
if(digitalRead(6) == LOW)
{
//attivo il moduloinviando un livello
//logico alto al pin PWK (Power Key)
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
}

//attendi l'avvio del modulo
while(digitalRead(6) == LOW)
{
delay(100);
Serial.print(".");
}

//Invio il comando 'AT' per verificare la
//risposta del modulo
mySerial.write("AT");
mySerial.write(10);
mySerial.write(13);

delay(500);

//attendo finchè non ricevo dati dal modulo
while(mySerial.available())
{
risp_at += (char)mySerial.read();
}

if(risp_at.length() &gt; 0)
{
risp_at.toCharArray(message, risp_at.length());
Serial.println(risp_at);
}
}

void loop()
{
delay(10);
}</pre>
<p>&nbsp;</p>
<p>Volendo possiamo utilizzare direttamente il Serial Monitor per inviare comandi AT al modulo. In pratica invio il comando ad Arduino UNO che lo rigira al modulo M95 e viceversa, i dati inviati dal modulo M95 vengono spediti al serial monitor tramite Arduino UNO. Questo è un ottimo metodo per testare comandi At e capirne il funzionamento.</p>
<pre class="lang:arduino decode:true ">#include &lt;SoftwareSerial.h&gt;

#define rxPin 2
#define txPin 3

SoftwareSerial mySerial(rxPin,txPin); // RX, TX

void setup(){

Serial.begin(9600);
Serial.println("Arduino serial initialized!");
delay(10);

mySerial.begin(9600);
Serial.println("Software serial initialized!");
delay(10);

pinMode(6, INPUT);
pinMode(7, OUTPUT);

//verifico se il modulo è attivo
if(digitalRead(6) == LOW)
{
//attivo il moduloinviando un livello
//logico alto al pin PWK (Power Key)
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
}

}

void loop()
{
if(Serial.available())
{
mySerial.write(Serial.read());
}

if(mySerial.available())
{
Serial.write(mySerial.read());
}
}</pre>
<p>Ora possiamo usare il Serial Monitor come se fosse collegato direttamente al modulo M95.<br />
Lanciamo il Serial Monitor ed assicuriamoci di avere impostata la velocità di comunicazione a 9600bps e di selezionare il ritorno carrello e la nuova linea (NL &amp; CR).</p>
<p>Proviamo a scrivere sul serial monitor il comando AT e clicchiamo sul pulsante invia. Il modulo risponderà con questa stringa:</p>
<pre class="lang:arduino decode:true ">OK //comando eseguito correttamente</pre>
<p>La risposta OK informa che il comando AT è stato eseguito correttamente.<br />
Possiamo verificare ed esempio quale sia il livello del segnale della rete GSM inviando al modulo questi caratteri AT+CSQ<br />
il risultato, nel mio caso è il seguente:</p>
<pre class="lang:arduino decode:true ">+CSQ: 26,0

OK</pre>
<p>il comando CSQ è riconosciuto valido e il suo valore è 26,0. Questi dati possono essere interpretati utilizzando il manuale del modulo M95.</p>
<p>Le istruzioni AT sono molto semplici e permettono di eseguire sia comandi sia settaggi di impostazioni. Per ulteriori esempi non dovete fare altro che leggerli dal manuale!</p>
<p>The post <a href="https://logicaprogrammabile.it/arduino-gsm-utilizzare-rete-gsm-progetti-iot/">Arduino. Utilizzare la rete GSM per progetti IoT</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/arduino-gsm-utilizzare-rete-gsm-progetti-iot/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
