NodeManager: plugin for a rapid development of battery-powered sensors
-
I've just pushed out 1.5-dev3 on https://github.com/mysensors/NodeManager/tree/702a05c7e2f4425c188d5abf62b4a119fea29bc8 fixing a critical bug for the BME280 sensor and providing a way to automatically detect which i2c address the sensor is on for both BME280 and BMP085/BMP180 if anybody is interested.
I'm planning some additional tests so to release a stable v1.5 in a week or two (unfortunately starting from June the real life will become very demanding with me). So please share any feedback by then in case you will have the chance to test the latest dev release. Thanks
-
@gohan done but I don't have such a sensor to test the code so if you could give it a try I'd really appreciate it. Available in v1.5-dev4 you can get from here: https://github.com/mysensors/NodeManager/tree/38fd51c99e47b6ec90f4885ff1cb0cfe33857ab4.
Instructions on https://github.com/mysensors/NodeManager/issues/87
Thanks! -
Can you please consider support for MCP23017 IO-Expander And TTP226/TTP229 Touch control sensor modules in I2C mode?
I can help test them both for sure... 😈 😇
Will it be a good idea to have external file based extension to Node Manager?
I will like to extend the configuration child and probably add node authentication through another security-child. Self Healing Network capabilities are next on my list.
-
@gohan done but I don't have such a sensor to test the code so if you could give it a try I'd really appreciate it. Available in v1.5-dev4 you can get from here: https://github.com/mysensors/NodeManager/tree/38fd51c99e47b6ec90f4885ff1cb0cfe33857ab4.
Instructions on https://github.com/mysensors/NodeManager/issues/87
Thanks!@user2684 Sorry for noob question but how do I get data from the sensors?
I have registered sensors like this to test them outnodeManager.setSleep(SLEEP, 10, MINUTES); nodeManager.registerSensor(SENSOR_MOTION, 3); nodeManager.registerSensor(SENSOR_BME280); nodeManager.registerSensor(SENSOR_MCP9808); -
Can you please consider support for MCP23017 IO-Expander And TTP226/TTP229 Touch control sensor modules in I2C mode?
@vikasjee tracking both with https://github.com/mysensors/NodeManager/issues/90 and https://github.com/mysensors/NodeManager/issues/92. Mean while I will order the samples and wait for their delivery, if you have any link with demo code to share, please feel free to do so on the two github issues.
Regarding the external file based extension, this is definitively a good idea. I did spend some time at the beginning trying to identify the best way to package this but my weak programming skills prevented me to identify an optimal solution I'm sure. I did not go for multiple files mainly because I thought during upgrade this would have required overwriting multiple files in multiple projects so I gave up. As a workaround, I also tried to put all NodeManager's files in a dedicated folder or create an arduino library but it didn't work (but don't remember why).
So the only way now to expand the existing code in a clean way is to write in your main sketch an inline class deriving from the Sensor class or the other NodeManager's classes and use registerSensor() providing an instance of this class. But I am of course open to any other better way to achieve the same :-)
-
@user2684 Sorry for noob question but how do I get data from the sensors?
I have registered sensors like this to test them outnodeManager.setSleep(SLEEP, 10, MINUTES); nodeManager.registerSensor(SENSOR_MOTION, 3); nodeManager.registerSensor(SENSOR_BME280); nodeManager.registerSensor(SENSOR_MCP9808);@gohan since you have set a sleep interval of 10 minutes, what you should see in the logs (and in your gateway) is NodeManager starting up, presenting all the child nodes (one of more for each sensor), running SENSOR_BME280's and SENSOR_MCP9808's onLoop() and a bunch of messages set out with the measures and finally going to sleep for 10 minutes and waking up and sending out a V_TRIPPED message if SENSOR_MOTION triggers.
Generally speaking you can get the measures in the serial output, in the controller or by sending the node a REQ message to each of the child ids. Do you see something different?
Thanks -
@gohan never thought about it but it is a good idea to add some "output" capabilities. Tracking this with https://github.com/mysensors/NodeManager/issues/95 but would require some time since it has a few dependencies. Thanks!
-
I've added a rain gauge out-out-the-box sensor for the latest dev release called 1.5-dev5 (https://github.com/mysensors/NodeManager/tree/126812a9d01311640416222be8225fdcca1e7266). This is intended to be the last enhancement for the upcoming v1.5 version but of course I'll wait for some additional days to collect (and fix) any issue all the new sensors might have.
The implementation of the rain gauge sensor has to be different than the one from the build section for a good number of reasons and limitations. All the details here: https://github.com/mysensors/NodeManager/issues/90.
-
@gohan
User2694 say:"Setup MySensorsSince NodeManager has to communicate with the MySensors gateway on your behalf, it has to know how to do it. Place on top of the config.h file all the MySensors typical directives you are used to set on top of your sketch so both your sketch AND NodeManager will be able to share the same configuration. For example:"
link text