Esistono diverse tipologie di board Maduino dedicate all’IoT, tra cui la “Maduino Zero A9G” e la “Maduino SIM808”.
Maduino Zero A9G
Fonte: MakerFabs (produttore)
Features:
- Arduino compatibile
- Tensione ingresso batteria: 3,4 – 4,2 volt
- Microcontrollore: ATSAMD21G18, 32-Bit ARM Cortex M0+
- Clock: 48 MHz
- Sistema di controllo dell’alimentazione integrato
- Supporta i comandi AT
- Quad-band: 850/900/1800/1900 MHz
- Supporta il traffico dati GPRS, la massima velocità di trasferimento dati in download è 85.6 Kbps, upload 42.8 Kbps
- Slot per Micro SIM Card
- Slot per Micro SD Card
- Sensibilità Tracking: -166dBm
- Sensibilità acquisizione: -148dBm
- Time-To-First-Fix:
– Cold start: 27,5 secondi
– Hot start: 1 secondo
– Warm start: 1 secondi - Precisione: circa 2,5 metri
- Interfaccia: I2C/SPI/UART/18*GPIO
- Temperatura di funzionamento: da -40°C a +85℃
- Dimensioni (mm): 55,4x40x8
- Peso: 20 grammi
Programmazione – Maduino Zero A9G:
La Maduino Zero A9G è programmabile con IDE Arduino, con la seguente procedura:
1) Dal gestore schede dell’IDE Arduino (Strumenti -> Scheda -> Gestore Schede), cercare “Arduino Zero”, quindi installare “Arduino SAMD Boards (32-bits ARM Cortex-M0+).
2) Scegliere la scheda “Arduino/Genuino Zero (Native USB Port)” in Strumenti -> Scheda.
3) Caricare il programma tramite l’apposito comando nell’IDE.
4) Una volta caricato il programma, la board Maduino viene identificata come “Arduino/Genuino Zero MKR1000“.
Per quale motivo la scheda viene riconosciuta come “MKR1000”?
La scheda è basata sul SAMD21, pertanto potrebbe essere riconosciuta in questo modo se è in modalità programmazione. Quando la scheda viene riconosciuta dall’IDE come MKR1000 potrà essere programmata in quanto è in modalità programmazione, mentre se sarà riconosciuta come “Arduino Zero” significa che è già stata programmata ed è in esecuzione il programma, in tal caso non è consentita la programmazione.
Fonte: FuturaShop
Come si può caricare lo sketch dopo aver già programmato la scheda?
(La scheda viene riconosciuta come “Arduino Zero” e non si programma…)
Per passare alla modalità programmazione è necessario premere 2 volte consecutive il tasto di RESET a bordo scheda. Fatto questo, la scheda sarà riconosciuta come “MKR1000” creando una COM diversa da quella precedente, quindi scegliere la COM corretta e come Scheda selezionare “Arduino Zero”.
Fonte: FuturaShop
Esempio di utilizzo – Maduino Zero A9G:
Localizzazione mediante coordinate GPS (con modulo GPS collegato alla board)
Programmare la board Maduino Zero A9G, compilando il seguente codice:
#include<stdio.h>
#include<string.h>
#define DEBUG true
int pon=9;
int poff=6;
int lowp=5;
void setup() {
pinMode(pon, OUTPUT);
pinMode(poff, OUTPUT);
pinMode(lowp, OUTPUT);
digitalWrite(poff, LOW);
digitalWrite(lowp, HIGH);
digitalWrite(pon, HIGH);
SerialUSB.begin(115200);
while (!SerialUSB) {
; // wait for serial port to connect
}
Serial1.begin(115200);
digitalWrite(pon, LOW);
delay(3000);
digitalWrite(pon, HIGH);
delay(5000);
sendData(“AT+GPS=1 “,1000,DEBUG);
}
void loop() {
sendData(“AT+GPSRD=1”,1000,DEBUG);
delay(1000);
}
String sendData(String command, const int timeout, boolean debug) {
String response = “”;
Serial1.println(command);
long int time = millis();
while( (time+timeout) > millis()) {
while(Serial1.available()) {
char c = Serial1.read();
response+=c;
}
}
if(debug) {
SerialUSB.print(response);
}
return response;
}
Aprire quindi il monitor seriale nell’IDE di Arduino, in cui verranno “stampati” i dati relativi alle coordinate GPS.
Limitazioni Maduino Zero A9G:
– difficoltà nella programmazione (librerie)
– scarsa documentazione
Maduino SIM808 – GPS Tracker
Fonte: MakerFabs (produttore)
Vantaggi Maduino SIM808 – GPS Tracker A9G:
– programmazione utilizzando librerie TinyGSM
– maggior documentazione
Scheda Tecnica:
- Arduino compatibile
- Tensione ingresso batteria: 3,4 – 4,2 volt
- Microcontrollore: ATSAMD21G18, 32-Bit ARM Cortex M0+
- Clock: 48 MHz
- Sistema di controllo dell’alimentazione integrato
- Interfaccia comandi AT con rilevamento “auto baud”
- Quad-band: 850/900/1800/1900 MHz
- Invia e ricevi dati GPRS (TCP / IP, HTTP, ecc.)
- Slot per Micro SIM Card
- Slot per Micro SD Card
- GPS L1 C/A code
- Canali: 66
- Sensibilità Tracking: -165dBm
- Sensibilità acquisizione: -148dBm
- Time-To-First-Fix:
– Cold start: 32 secondi
– Hot start: 1 secondo
– Warm start: 5 secondi - Precisione: circa 2,5 metri
- Interfaccia: I2C/SPI/UART/18*GPIO
- Temperatura di funzionamento: da -40°C a +85℃
- Dimensioni (mm): 55x40x8
- Peso: 20 grammi
Programmazione Maduino SIM808 – GPS Tracker:
La Maduino SIM808 è programmabile con IDE Arduino, seguendo la stessa procedura:
1) Dal gestore schede dell’IDE Arduino (Strumenti -> Scheda -> Gestore Schede), cercare “Arduino Zero”, quindi installare “Arduino SAMD Boards (32-bits ARM Cortex-M0+).
2) Scegliere la scheda “Arduino/Genuino Zero (Native USB Port)” in Strumenti -> Scheda.
3) Caricare il programma tramite l’apposito comando nell’IDE.
4) Una volta caricato il programma, la board Maduino viene identificata come “Arduino/Genuino Zero MKR1000“.
N.b.: per riprogrammare la scheda, è necessario premere due volte il tasto “Reset” presente sulla scheda e ripetere la procedura di programmazione dal punto 1.
Per quale motivo la scheda viene riconosciuta come “MKR1000”?
La scheda è basata sul SAMD21, pertanto potrebbe essere riconosciuta in questo modo se è in modalità programmazione. Quando la scheda viene riconosciuta dall’IDE come MKR1000 potrà essere programmata in quanto è in modalità programmazione, mentre se sarà riconosciuta come “Arduino Zero” significa che è già stata programmata ed è in esecuzione il programma, in tal caso non è consentita la programmazione.
Fonte: FuturaShop
Come si può caricare lo sketch dopo aver già programmato la scheda?
(La scheda viene riconosciuta come “Arduino Zero” e non si programma…)
Per passare alla modalità programmazione è necessario premere 2 volte consecutive il tasto di RESET a bordo scheda. Fatto questo, la scheda sarà riconosciuta come “MKR1000” creando una COM diversa da quella precedente, quindi scegliere la COM corretta e come Scheda selezionare “Arduino Zero”.
Fonte: FuturaShop
Esempio di utilizzo – Maduino SIM808:
Localizzazione mediante coordinate GPS (con modulo GPS collegato alla board)
Programmare la board Maduino SIM808, compilando il seguente codice:
#include<stdio.h>
#include<string.h>
#define DEBUG true
int pon=9;
void setup() {
SerialUSB.begin(9600);
while (!SerialUSB) {
; // wait for serial port to connect
}
Serial1.begin(9600);
pinMode(pon, OUTPUT);
digitalWrite(pon, HIGH);
delay(3000);
digitalWrite(pon, LOW);
delay(1000);
}
void loop() {
setgps();
while(1) {
sendData( “AT+CGNSINF”,1000,DEBUG);
delay(1000);
sendData( “AT+CSQ”,1000,DEBUG);
}
}
void setgps(void) {
sendData( “AT+CGNSPWR=1”,1000,DEBUG);
sendData( “AT+CGNSSEQ=RMC”,1000,DEBUG);
}
String sendData(String command, const int timeout, boolean debug) {
String response = “”;
Serial1.println(command);
long int time = millis();
while( (time+timeout) > millis()) {
while(Serial1.available()) {
char c = Serial1.read();
response+=c;
}
}
if(debug)
{
SerialUSB.print(response);
}
return response;
}
Aprire quindi il monitor seriale nell’IDE di Arduino, in cui verranno “stampati” i dati relativi alle coordinate GPS.