I'm new to JeeStuff, have done a lot of daily blog reading and think JeeStuff can be very usefull for me.
In short: I want to monitor gas/water/electricity consumption, solar system production and possibly temperature/humidy sensors.
I have seen some examples of gas/water/electricity monitoring based on a CNY70 which should work in my case also, except for the monitoring of electricity: due to the solar system, the rotating disk of the electricity meter can rotate both ways. It even wobbles when the sunlight changes in strength and/or electrical appliances are switched on/off!
So counting the rotations of this meter is a bit more complicated, but should be doable with 2, nicely aligned CNY70's and building a quadrature decoder:
---------------------------------> disk rotation
00000000011111000000 -> Left sensor value
00000000001111100000 -> Right sensor value
disk rotation <---------------------------------
00000000001111000000 -> Left sensor value
00000000011110000000 -> Right sensor value
The combined two-bit value can be 'decoded' to obtain:
- the direction (consumption/production of electricity) of the counter. - enabling/disabling of the counter .
A single JeeNode USB happens to have 4 ports, so this should be enough to hook-up 4 CNY70 sensors.
So far so good, but now comes the part I don't fully understand: The rotating disk might spin very fast, so I want to use the interrupt functionality for all sensors. Of what I have read, the 4 ports use the same interrupt. This means that I can't use the interrupt value (up/down) as input for the quadrature decoder, but that I have to tie the data pin of the CNY70 to the digital input pin instead, which leaves me with the question how to generate the interrupt for all 4 sensors if the data value changes??? In the ISR, I would then read all digital input pins, store those values, and have the mainloop watch for changes in the values, decode, count, and finally send the counter values in intervals to the system that logs these values. Is that the right assumption?
Furthermore, for logging wireless temperature/humidity/electricity sensors on the 868Mhz & 434Mhz bands, I need some receivers and connect them to a JeeNode. From the blogs in April, I understand that this is possible using the ELV RX868-3V, 868 Mhz receiver: (13.55), ELV Shop A 434 Mhz reciever/transmitter seems to be unavaliable at the moment at both Conrad and ELV stores for some reason. Can I use any other receiver/transmitter? May it require 5V or should it be a 3V model?
If I would need both receivers, can they be attached to a single JeeNode, or need I two of them, one for each receiver??
And last but no least: logging & viewing. I don't want a full-blown computer running 24/7 to log all the values, therefore the small SheevaPlug thingies seem very nice for this purpose. The problem is that these run some Linux distrubution, and I don't understand Linux very well (understatement), but would it be very difficult to get JeeMon running and adapt it to the sensors I would like to use?
The alternative would be a JeeLink I guess that stores all the messages, attached to my Windows Home Server (which is only awake on demand!!) which collects the data from the JeeLink during the times it is awake. This solution would not be the preferred way, since the data/graphs are not really easily available and displayed on a remote display or anything else.
An alternative for JeeMon, and still using something like a SheevaPlug would be (as mentioned by somebody else) translating the messages from the JeeStuff to xPL formatted messages and using the standard available xPL utilities / databases / web-frontends to store & display the logged values.
Suggestions are welcome!



.