Things simulator
This is a “Things” simulator (think IOT)
Proudly hosted on https://www.clever-cloud.com/
Thing
) is a set of one or more components:/things
/components
Here TemperatureSensor
has only one component: TemperatureComponent
class TemperatureSensor extends Thing {
constructor({id, minTemperature, maxTemperature, delay}) {
super({id, delay});
this.temperature = new TemperatureComponent({minTemperature, maxTemperature})
}
But you can imagine a DHT sensor like that:
class TemperatureSensor extends Thing {
constructor({id, minTemperature, maxTemperature, minHumidity, maxHumidity, delay}) {
super({id, delay});
this.temperature = new TemperatureComponent({minTemperature, maxTemperature})
this.humidity = new HumidityComponent({minHumidity, maxHumidity})
}
generateData()
methoddelay
thing.start("generateData")
(so, you can name generateData
otherwise)getData()
methodgetData()
does not trigger generateData()
generateData()
is called by a kind of workerstart()
method of https://github.com/bots-squad/creatures/blob/master/mum/Thing.jsSee main.js
Eg: “I want 100 humidity sensors”
// Generate n humidity sensors
let humiditySensors = [...Array(100).keys()].map(item => {
let h = new HumiditySensor({id:`h${item}`, delay:randomDelay()});
h.start("generateData");
return h;
});
See main.js
Eg: “I want to get all temperature sensors”
app.get('/sensors/temperature', authorized, (req, res) => {
res.send(temperatureSensors.map(sensor => sensor.getData()));
});
master
, your new sensor will be automatically deployed on http://creatures.cleverapps.ioPOST
)