Just released EasyIoT server beta v0_8b1 with support for MySensors:S_COVER, V_UP, V_STOP, V_DOWN, V_DIMMER.
Posts made by EasyIoT
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@hawk_2050 Battery status is supported. You do not need to configure anything. Just send battery status and it will show in user interface.
-
RE: My 2AA battery sensor
@daenny yes, I'm using DO pin and MOSFET connected to step up regulator. But this is complicated solution. I'ts better to use different temperature sensor which can operate down to 1.8V. Right now I'm testing custom board with NRF24L and HTU21D (it's not cheap, but it can work down to 1,8V). Results are pretty good. Temperature and humidity sensor can operate more than 5 years on 2 AA batteries. For example door window sensor and water leak sensor can work more than 10 years on 2 AA batteries. It's seems that for those sensors AA batteries are overkill.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
New version of EasyIoT server V0.7 released. Supported MySesnors data types are:
S_DOOR, V_TRIPPED Low power door/window sensor,
S_HUM, V_HUM,
S_TEMP,V_TEMP,
S_LIGHT and V_LIGHT,
S_MOTION and V_TRIPPED.
I_TIME
S_DIMMER, V_DIMMER, V_LIGHT
S_LIGHT_LEVEL, V_LIGHT_LEVEL
S_BARO, V_PRESSURE, V_FORECAST
S_DISTANCE, V_DISTANCE
S_DUST, V_DUST_LEVEL
S_POWER, V_WATT, V_KWH
S_WATER, V_FLOW, V_VOLUME
S_UV, V_UV
S_MOTION, V_TRIPPED - > also supports motion detectorYou can download latest release at EasyIoT server download
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@aur did you check EasyIoT server installation. Just connect NRF24L01 directly to RPI and then download RPI image and put it to SD card. In latest beta you have also support for RPI2.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
New beta 0_7b1 is out for testing. New MySensor supported data types are:
S_DISTANCE, V_DISTANCE
S_DUST, V_DUST_LEVEL
S_POWER, V_WATT, V_KWH
S_WATER, V_FLOW, V_VOLUME
S_UV, V_UV
S_MOTION, V_TRIPPED - > also supports motion detector -
RE: Error when communicating with EasyIot
@pvoj It shoud work. It works for me and other users also reports it works.
-
RE: EasyIoT serial interface
@diamantmatch you are right. Maybe somehow I can change current driver to work with serial interface. But Raspberry costs only 30$ and consumes couple of W - ideal HW for server. And you do not even need additional gateway.
Right now I will focus on developing other new functions... -
RE: Getting the NRF24L01+ to work on the RPi
@Dheeraj I've checked. I'm using the same library and it works for me. There are no special tricks...
-
RE: EasyIoT serial interface
@diamantmatch EasyIoT server can work on Raspberry Pi and Windows platform, but on Win platform it does not support MySensors protocol. The reason is that on Raspberry Pi is NRF24l01 directly connected to GPIO ports. It means it depends on Raspberry Pi HW. Misleading text in controller description on MySensors site will be fixed in new update.
By the way - direct NRF24L01 connection to GPIO works great, so why use gateway? -
RE: Getting the NRF24L01+ to work on the RPi
My experience is that NRF24L01 can be connected directly to Raspberry Pi GPIO. I've been running EasyIoT server on Raspberry Pi with directly connected NRF24L01 and it works couple of months without any problems.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
New version of EasyIoT server is released. Supported MySensor data types are:
S_DOOR, V_TRIPPED,
S_HUM, V_HUM,
S_TEMP,V_TEMP,
S_LIGHT and V_LIGHT,
S_MOTION and V_TRIPPED.
I_TIME
S_DIMMER, V_DIMMER, V_LIGHT
S_LIGHT_LEVEL, V_LIGHT_LEVEL
S_BARO, V_PRESSURE, V_FORECASTWe also added automation functions and SMS gateway (control and monitor your network with SMS).
-
RE: Another possible board - ATMega328, nRF socket, DHT22 socket, MOSFET, Uno pinout
ebay item location - not in China but in my city - wow
-
String message length
In MyMessage.c is length of string message incorrect for longer messages. Right now is:
MyMessage& MyMessage::set(const char* value) {
uint8_t length = strlen(value);
miSetLength(length);
miSetPayloadType(P_STRING);
strncpy(data, value, min(length, MAX_PAYLOAD));
return *this;
}Correct calculation of length is:
MyMessage& MyMessage::set(const char* value) {
** uint8_t length = min(strlen(value), MAX_PAYLOAD);**
miSetLength(length);
miSetPayloadType(P_STRING);
** strncpy(data, value, length);**
return *this;
}I have problems in EasyIoT server if gw.sendSketchInfo text is longer than 24 characters. I've added additional checks but it's right to fix problem at source.
-
RE: Power usage with a Pro Mini as sensor node(Humidity & Temperature!)
@Magiske this is approximation. I'm using 2AA alkaline batteries. Full alkaline battery is 1,6Vx2 = 3.2V. When battery is discharged voltage at beginning drops very quickly, between 1.5V and 1V is almost linear (when discharged with low current) and then drops very quickly. At 0.8V per cell battery is practically empty.
In my case 3V and more is 100% and 2V is 0%. I've measure those 2% in linear range. So I will get more than calculated value 2300 days.I'm using wasted alkaline batteries from electric toys. Batteries are not branded. Capacity of new AA battery is between 2200 mAh and 2900 mAh. It depends on brand and discharge current. Self discharge rate of alkaline batteries is low.
Outside I'm using 50W photocell and Pb accumulator. It works in the winter (min -15C couple of days). This is also power supply for balcony irrigation system.
Total winner in low power consumption is my water leak sensor. Power consumption is so low, that after I put wasted battery in sensor from LCD temperature display voltage actually raise after couple of days.
Battery status:
1.dec 8%,
8,jan 18%.
-
RE: Power usage with a Pro Mini as sensor node(Humidity & Temperature!)
@Magiske I've got similar results with striped Arduino pro mini at 1Mhz, HTU21D as sensor and 2 AA alkaline batteries. Sending interval is 5 min. In 46 days battery drops for 2% -> 100% in 2300 days which is 6,3 years.
-
RE: My 2AA battery sensor
@funky81 Thx. You can burn fuses with other Arduino - that's how I do it. Just google ArduinoISP.
-
RE: Help getting started - temperature sensor network for beginner
@majic Hi, as @tbowmo sad it may be problem with MySensors range, because you are having 6 floors. Of course you can use relay nodes, but why complicate things. If you are already using WiFi network in your building maybe ESP8266 WiFi module is better choice.
-
RE: The new ESP8266 WIFI models
@ServiceXp in spec is 215mA, which is more than 10x as NRF24L01 current consumption. I didn't measure current, but my configuration did't work with FDT power supply. I'm using additional AMS1117 regulator to power ESP8266 and Arduino.
But ESP8266 can be put in sleep mode, and current consumption is much lower. I plan to add sleep support in ESP8266 EasyIoT library. -
RE: My 2AA battery sensor
@m26872 In fact most of sensors can work on 2 AA batteries without step up regulator if sensor is selected carefully. That also minimize number of components and battery consumption.
I'm using 1M pull up resistor instead of internal resistor (50-60K) - this lower power consumption. 1M is quite big but wires are short, so it's working ok. -
RE: My 2AA battery sensor
@m26872 here is my complete description for MySensors door/window sensor. For other sensors I will add descriptions in the future...
-
RE: The new ESP8266 WIFI models
@ServiceXp, I've created ESP8266 library similar to MySensor library. I'm using V0.9.2.2 firmware. Because in firmware are some typos library will probably work only with this firmware. I've implemented couple of sensors with this module. Distance range of ESP8266 module is much better than NRF24l01, but also power consumtion is much bigger.
Sources are on GitHub. -
RE: My 2AA battery sensor
This are my results, with low power arduino powerd on 2 AA alkaline batteries.
Door/window sensor (front door - opens frequently). On ocrober 4 battery status 64%, december 18 62% (still at 62%). 100% spike is when I reprogram my sensor. In 75 days battery drops for 2 % -> 100% in more than 10 years.
Code is available on GitHub.EasyIoT server battery status
Temperature and humidity sensor with DHT22 and step up regulator. Arduino and NFR24L is powered directly on 2 AA batteries, DHT22 is powered on step up regulator but only when measure is taken. Battery drops for 14% in 75 days. Actually this design is not so good. I'm testing new design without step up regulator and better temperature/humidity sensor. 2AA alkaline batteries could last 10 years.
This is my water leak sensor. I'm using 2 wasted AA batteries for testing, and voltage actually rise. Current consumption is about 6uA (self discharge is about 10 times bigger) practically all the time.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
New version of EasyIoT server supports MySensors S_MOTION and V_TRIPPED. All supported MySensors types in EasyIoT server are:
S_DOOR, V_TRIPPED,
S_HUM, V_HUM,
S_TEMP,V_TEMP,
S_LIGHT and V_LIGHT,
S_MOTION and V_TRIPPED.Now is also supported ESP8266 WiFi module.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@jilldris Thx. I will add more sensors in future and also new protocols. Implementing new sensor type in protocol part is easy, hard part is implementing logic and visualization in web UI interface.
In new release I've added S_LIGHT an V_LIGHT. It works with mysensors relay example.. In new version I've also added Raspberry Pi GPIO driver to control GPIO pins.
-
RE: nRF24L01+PA
@dzairo I'm using nRF24L01+ with PA on my server side and normal NRF24L+ on node side. At beginning I have norlam NRF24L+ on server side. I dint't see big improvement in range/reliability when I change to PA module. But I notice something strange. PA module works better with PA_HIGH than with PA_MAX.
-
RE: MySensors power consumption
@dzairo You need step up regulator if you use DHT22. If you use HTU21T you do not need step up regulator if you use 2 AA batteries. In second case will batteries last much longer than in first case.
-
RE: MySensors power consumption
@Zeph lowering frequency can increase power consumption because of slower execution, but it also mean that you can use lower voltage (direct battery connection and no step up regulator).
I'm using P channel MOSFET SI2333DDS-T1-GE3. It has low internal resistance G is conencted to Arduino DO, S to 3.3 V and D to switch regulator.
I got my HTI21T on ebay. -
RE: MySensors power consumption
@jonnyfishman I'm using striped (no regulator and no power LED) version of Arduino pro mini. 6uA is in sleep mode (only WD is enabled). You can simply put Arduino in sleep mde with gw.powerDown(); or gw.sleep(); . Lower frequency means only that current consumption is lower when Arduino is running and not in sleep mode. Lower frequency also mean that Arduino can run at lower voltage.
Try with simple sketch which use only gw.begin and gw.sleep and measure current. -
RE: MySensors power consumption
@tbowmo I know for this Atmel limitation. But DHT22 sensor is open collector output and pull up resistor is connected to battery. It can happened that after battery voltage drops the sensor will stop working because of threshold value for 1 as you said. But as I said this was just experimental solution I will use HTU21T sensor.
-
RE: MySensors power consumption
@daulagari I'm using http://www.ebay.com/itm/231083181020 and MOSFET transistor as switch connected to DO pin. But this is not ideal solution for temp/hum measurement. It's better to use low voltage sensor for example HTU21T which can be connected directly to 2 AA batteries. It's just proof of concept for other sensors which require minimum 3,3V.
@jonnyfishman my sleep consumption is about 6uA (not mA). -
RE: MySensors power consumption
@jonnyfishman I have created sensor node with DHT22 temp, humidity sensor. It is powered by 2 AA cells. The configuration is "strange", because arduino works at 1MHZ directly connected to batteries, DHT22 is connected to step up regulator which is switched on only when measure is taken. Battery consumption is about 1% per 4 days which mean it should work over a year. But there is better way to use more appropriate temperature sensor with lower operation voltage and lower operation current. With better sensor it could run couple of years on 2 AA cells...
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@kihotx I hope next week...
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@Dany I will also implement V_DIMMER in future.
@kihotx EasyIoT server controller at the moment supports S_DOOR, V_TRIPPED, S_HUM, V_HUM and S_TEMP and V_TEMP. In the new release I will add GPIO support (so you can control also Raspberry Pi GPIO ports) and in MySensor driver I will add S_LIGHT an V_LIGHT -
RE: EasyIoT server - Mysensors Raspberry Pi controller
@kihotx which message type is RGB slider? In next release I will implement S_LIGHT V_LIGHT (http://mysensors.org/build/relay example) .
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@Johnny-B-Good in new version of EasyIoT server I added new MySensor types: S_HUM, V_HUM and S_TEMP, V_TEMP. Now MySensor driver works with latest MySensor 1.4 library from Githib. I also added logging and displaying sensor data.
-
RE: ago control - another open project
@Tim no and yes. I'm not working with HG any more because some drawbacks. Now I'm working on EasyIoT server. See: http://forum.mysensors.org/topic/343/easyiot-server-mysensors-raspberry-pi-controller/4
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
@Johnny-B-Good nice to hear that now it works. I even did't know that it doesn't work with latest version of MySensors - thx to noticing me.
Yes, right now I'm preparing new version with (hope this week):- fix for mysensors library
- add S_HUM, V_HUM and S_TEMP, V_TEMP
- add database support - you will be able to see chart for each sensor
In the near future expect support for more sensors and access to Raspberry Pi GPIO, SMS interface to MySensors network...
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
Hi, Johnny B Good. I've checked in my code and you are right. It doesn't work with current V1.4 mysensors protocol, beacuse I'm using old message header structure. It looks like they changed message structure (file MyMessage.h). I will fix that in next release.
For now you can try compile with older version of 1.4 MySensor library. You can download library here: MySensors -
RE: EasyIoT server - Mysensors Raspberry Pi controller
Added new MySensors Driver options. Now you can set Base Radio Id, Data Rate and Power Amplifier level.
-
RE: EasyIoT server - Mysensors Raspberry Pi controller
I didn't decided yet, but anyway for noncommercial use is current version for free. It works with Mysensors BinarySwitchSensor Example (http://mysensors.org/build/binary) so you can use it to remotely monitor your doors/windows.
-
EasyIoT server - Mysensors Raspberry Pi controller
New controller on raspberry supports mysensors v1.4. Download: http://iot-playground.com/
-
RE: Sensor::readMessage()
Also in RelayActuator.ino
void setRelayStatus(message_s message) {
if (message.header.messageType=M_SET_VARIABLE &&
message.header.type==V_LIGHT) {is better:
void setRelayStatus(message_s message) {
if ((message.header.messageType==M_SET_VARIABLE || message.header.messageType==M_ACK_VARIABLE ) &&
message.header.type==V_LIGHT) {Be careful message.header.messageType=M_SET_VARIABLE and message.header.messageType==M_SET_VARIABLE is not the same.
-
Sensor::readMessage()
When I ported sensor.cpp to C# i notice:
boolean Sensor::readMessage() {
uint8_t len = RF24::getDynamicPayloadSize();
RF24::read(&msg, len);if (!(msg.header.messageType==M_INTERNAL && msg.header.type == I_PING_ACK)) { delay(ACK_SEND_DELAY); // Small delay here to let other side switch to reading mode RF24::stopListening(); RF24::openWritingPipe(TO_ADDR(msg.header.last)); RF24::write(&radioId, sizeof(uint8_t)); RF24::closeReadingPipe(WRITE_PIPE); // Stop listening to write-pipe after transmit RF24::startListening(); debug(PSTR("Sent ack msg to %d\n"), msg.header.last); } uint8_t valid = validate(len-sizeof(header_s)); boolean ok = valid == VALIDATE_OK; // Make sure string gets terminated ok for full sized messages. msg.data[len - sizeof(header_s) ] = '\0'; debug(PSTR("Rx: fr=%d,to=%d,la=%d,ci=%d,mt=%d,t=%d,cr=%d(%s): %s\n"), msg.header.from,msg.header.to, msg.header.last, msg.header.childId, msg.header.messageType, msg.header.type, msg.header.crc, valid==0?"ok":valid==1?"ec":"ev", msg.data); return ok;
}
Is this correct? Isn't better to first validante message and then send confirmation if it is ok. Like this:
boolean Sensor::readMessage() {
uint8_t len = RF24::getDynamicPayloadSize();
RF24::read(&msg, len);uint8_t valid = validate(len-sizeof(header_s));
boolean ok = valid == VALIDATE_OK;**
**
if (ok && !(msg.header.messageType==M_INTERNAL && msg.header.type == I_PING_ACK)) {
delay(ACK_SEND_DELAY); // Small delay here to let other side switch to reading mode
RF24::stopListening();
RF24::openWritingPipe(TO_ADDR(msg.header.last));
RF24::write(&radioId, sizeof(uint8_t));
RF24::closeReadingPipe(WRITE_PIPE); // Stop listening to write-pipe after transmit
RF24::startListening();
debug(PSTR("Sent ack msg to %d\n"), msg.header.last);
}// Make sure string gets terminated ok for full sized messages. msg.data[len - sizeof(header_s) ] = '\0'; debug(PSTR("Rx: fr=%d,to=%d,la=%d,ci=%d,mt=%d,t=%d,cr=%d(%s): %s\n"), msg.header.from,msg.header.to, msg.header.last, msg.header.childId, msg.header.messageType, msg.header.type, msg.header.crc, valid==0?"ok":valid==1?"ec":"ev", msg.data); return ok;
}
-
RE: ago control - another open project
@hek thx for MySensors. Great page.
Mono/.Net is quite responsive on RPI. I chose HG because it is written in C#, it is easy to develop and suits my needs. I keep low level RF24 library in C and ported Gateway lib to C#. Right now port is experimental and works only for couple Gateway commands.
-
RE: ago control - another open project
Right now I'm integrating sensor network with HomeGenie (http://homegenie.it). HG works on linux box, Win and Raspberry Pi. My configuration is Rasppbery Pi as gateway directly connected to NRF24L. I think that this is the cheapest (DIY) solution for home automation