Dopo un po' di tempo ho ripreso in mano la Electron Sparkle ed ho montato una scheda SIM di Things Mobile. Nel tempo peraltro e' andata persa l'antenna originale della confezione prodotta da Taoglass ed il dispositivo non puo' funzionare senza... ho preso
questa antenna su Amazon come sostituzione
Per configurare la scheda con una SIM di terze parti si deve installare la parte CLI di Particle con
npm install --unsafe-perm --verbose -g particle-cli
(attenzione potrebbero esserci problemi nella compilazione della seriale)
particle update
Per effettuare il flash del firmware si deve premere RESET+MODE, poi rilasciare RESET e tenendo premuto MODE attendere che il led diventi giallo
Si deve
scaricare il file Tinker.ino modificando l'APN che per Mobile Things e' TM
#include "cellular_hal.h"
STARTUP(cellular_credentials_set("TM", "", "", NULL));
ed impostando il KeepAlive
Queste righe dovranno essere comprese in ogni script che verra' caricato sul dispositivo
si compila quindi
particle compile electron tinker.ino --saveTo firmware.bin
particle flash --usb firmware.bin
Puo' essere necessario effettuare il claim del device ma prima si deve conoscere il seriale
Per effettuare l'identify si deve premere il pusante Mode fino a quando il led diventa blu.
A questo punto si lancia
particle identify
Ci si logga sul cloud
particle cloud login
e si efffettua il claim
particle device add device_ID
Per verificare che tutto sia andato a buon fine si puo' provare ad accendere il led blu da linea di comando con il comando (dove Geocell e' il nome mnemonico del dispositivo)
particle call Geocell digitalwrite D7,HIGH
per l'invio degli SMS Mobile Things non ha problemi ed e' sufficiente il seguente codice
-----------------------------------------------
const char* phNum = "+39347107xxxxx";
const char* msg = "Test message";
int ret;
void setup() {
Serial.begin(115200);
ret = Cellular.command("AT+CMGF=1\r\n");
Serial.print("Return from message format = ");
Serial.println(ret);
ret = Cellular.command("AT+CMGS=\"%s%s\",129\r\n",(phNum[0] != '+') ? "+" : "", phNum); //
Serial.print("Return from phNum send = ");
Serial.println(ret);
ret = Cellular.command("%s\x1a", msg);
Serial.print("Return from message send = ");
Serial.println(ret);
}
void loop() {
}
--------------------------------------------------