[OT] electric imp - Hands On

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) :smiley:
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...

A proposito il prezzo; Circa 30€

Proprio bello, quasi quasi ne prendo uno anche io :slight_smile:

Ma questo?

È indubbiamente un must-have per chi vuole sperimentare con il wi-fi.

nid69ita:
Ma questo?
Electric Imp : ID 1129 : Adafruit Industries, Unique & fun DIY electronics and kits

Si, proprio questo. In verità tutto sta nella SD (Che poi non è una SD)

yoshi93:
È indubbiamente un must-have per chi vuole sperimentare con il wi-fi.

A dire la verità non è solo wi-fi ma un processore con la wi-fi (Ed un sistema di programmazione veramente avanzato...)

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 :stuck_out_tongue_closed_eyes:. Rimango sintonizzato per future impressioni (visto che l'avevo addocchiato anche io da tempo ed è sulla mia wishlist su robot-italy).

Adesso vedo di fare un paio di foto e postarle...

edit

foto aggiunte.

visto, ma se non erro tutto passa attravero i loro server, sia quando programmi che quando raccogli i dati.

Solo per questo la boccio in partenza, altrimenti sarebbe stata un'ottima idea.

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.

Il problema è che il form factor è SD ma non è una SD perchè ci vuole un lettore apposito. Quindi crea confusione.
Attendo gli sviluppi del CC3000 di Adafruit --> Adafruit HUZZAH CC3000 WiFi Breakout with Onboard Antenna [v1.1] : ID 1469 : $34.95 : Adafruit Industries, Unique & fun DIY electronics and kits --> Adafruit HUZZAH CC3000 WiFi Shield with Onboard Antenna : ID 1491 : $39.95 : Adafruit Industries, Unique & fun DIY electronics and kits

P.S. Pighixxx i due modulini microcippo presi a Bassano penso che te li rispedirò... sono difficilissimi da saldare :fearful: :roll_eyes:

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" :grin:

Eccomi qua.
Questa mattina ho scritto sul forum da cellulare ma è sparito il messaggio :roll_eyes:

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)

ecco, quel

server.log("I2C Read Fail: Result == Null");

esattamente su che server outputa? e quel

output.set(temp);

e poi

// Register with the server
imp.configure("Temperature Logger", [], [output]);

Sicuramente sul server electric imp.

e da quanto vedo non c'è altro sistema di output...

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.