Oggi ho messo le mani sul prodotto in oggetto.
Che dire, fantastico. In una form factor SD include WIFI (802.11 B/G/N), Un Cortex-M3, 128Kb di Memoria (Solo 40K disponibili per i programmi)
Non ho avuto molto tempo per smanettare ma in meno di mezz'ora ho collegato un sensore di temperatura e visualizzato in remoto i dati via web.
Come linguaggio di programmazione usa Squirrel (Ad oggetti); Onestamente non lo conoscevo e mi sono informato sulle origini (Squirrel (programming language) - Wikipedia) ed è partorito da un Italiano! (Alberto DeMichelis).
Vabbè cose da fare (Imparare lo Squirrel)
Ritornando in (Off) Topic sono rimasto stupefatto delle possibilità di electric-imp e sicuramente in futuro sarà oggetto di studio.
Per tutti quelli che pensano ad un progetto di domotica un pensierino lo farei...
pighixxx:
A dire la verità non è solo wi-fi ma un processore con la wi-fi (Ed un sistema di programmazione veramente avanzato...)
Un must-have e basta per essere più precisi . Rimango sintonizzato per future impressioni (visto che l'avevo addocchiato anche io da tempo ed è sulla mia wishlist su robot-italy).
Sembra di si anche se sembra rilascino entro breve una versione open. Quello che mi ha stupito è la facilità di configurazione (Basta usare un qualsiasi telefono android o ios per flashare i parametri); Però non penso passi tutto dai loro server: Ho fatto un'applicazione per plottare la temperatura ambiente e l'ho linkata a Xively. Non sembra che il flusso dati passi da ei, ma potrei sbagliarmi.
pighixxx:
Ho fatto un'applicazione per plottare la temperatura ambiente e l'ho linkata a Xively. Non sembra che il flusso dati passi da ei, ma potrei sbagliarmi.
puoi linkarmi il codice? per quel che ho capito io i dati sono spediti ai loro server, e a quel punto sei tu che devi andare a "pescarteli", come se loro fossero un immenso DB.
Ma se puoi fare socket come preferisci e collegarti dove vuoi, e l'ide viene rilasciato, allora mi diventa molto interessante, diciamo che questa cosa per me fa proprio da "cosa interessante" a "spazzatura"
Eccomi qua.
Questa mattina ho scritto sul forum da cellulare ma è sparito il messaggio
Questo è il codice:
// Temperature logging example for Hannah
// Temperature Sensor Class for SA56004X
class TemperatureSensor
{
i2cPort = null;
i2cAddress = null;
conversionRate = 0x04;
constructor(port, address)
{
if(port == I2C_12)
{
// Configure I2C bus on pins 1 & 2
hardware.configure(I2C_12);
i2cPort = hardware.i2c12;
}
else if(port == I2C_89)
{
// Configure I2C bus on pins 8 & 9
hardware.configure(I2C_89);
i2cPort = hardware.i2c89;
}
else
{
server.log("Invalid I2C port specified.");
}
i2cAddress = address << 1;
}
// Retrieve temperature (from local sensor) in deg C
function getTemperature()
{
local result = i2cPort.read(0x92, "\x00", 2);
if (result == null) {
server.log("I2C Read Fail: Result == Null");
return -1;
}else if(result[0] == null){
server.log("I2C Read Fail: Result[0] == Null");
return -1;
}else if(result[1] == null){
server.log("I2C Read Fail: Result[1] == Null");
return -1;
}
local t = ((result[0] << 4) + (result[1] >> 4)) * 0.0625;
if (t > 128) t -= 256;
return t;
}
}
// Instantiate the sensor
local sensor = TemperatureSensor(I2C_89, 0x92);
// Output port to send temperature readings
local output = OutputPort("Temperature", "number");
// Capture and log a temperature reading every 5s
function capture()
{
// Set timer for the next capture
imp.wakeup(15.0, capture);
// Output the temperature
local temp = sensor.getTemperature();
output.set(temp);
server.log(format("%3.1fC", temp));
server.show(format("%3.1fC", temp));
}
// Register with the server
imp.configure("Temperature Logger", [], [output]);
// Start capturing temperature
capture();
poi manca il link a Xively che si fa graficamente dall'ambiente di sviluppo (Che è online)
Non lo so, ti direi una bugia; Sinceramente non ho avuto tantissimo tempo per seguirla. So per certo (Mi sembra di aver letto da qualche parte) che hanno usato una electric imp come gateway per una rete radio wireless.