Water Meter monitoring with Itron Cyble

Hi All,

My first post here. Please excuse if this is in the wrong place might be better in programming questions.

Maybe first just to establish if it is possible?

The water meter has a clip on sensor that I think uses a hall effect sensor to monitor a wheel turning during water supply.

Now for the technical stuff.

I don't have an oscilloscope to check the outputs so just going on the specs that I have.

The sensor comes with a 5 wire output:

Direction
High Frequency
Low Frequency
Ground
Anti Tamper

Additional Notes:

All outputs are polarized open collector type soild state contacts (Max 30V/100mA. Pmax 1W, Ron 60Ω, 600pF + ca.100pF/m cable length)

HF Output
Non compensated output
Pulse duration at 65ms for f<10Hz, min 35ms for 10Hz >= f =< 14Hz (sorry can't get the greater than equal character to work)

Back to the original question? Would it be possible to read these pulses with an Arduino?

Can you post a link to the datasheet for the device?

The Arduino system is great for learning-by-doing. If it was my project I think I would write a simple program to see if it could detect the pulses.

Have you some means to verify any data that you do get with the Arduino?

...R

I've messed around with sketches for push buttons and wiring in the sensor instead of the button but I don't have the fundamental understanding of the sensor so proving difficult.

These are two documents I'm aware of...

https://www1.itron.com/local/Indonesia%20Portfolio/Cyble_Sensor_brochure.pdf

https://www.acquarj.com.br/manuais/catalogos/CybleSensorV2_ig_ML_12_09.pdf

Any advice would be appreciated.

DuncanCT:
I've messed around with sketches for push buttons and wiring in the sensor instead of the button but I don't have the fundamental understanding of the sensor so proving difficult.

Without having one of your devices on my workbench it is difficult to help.

First there is a need to get the Arduino to detect pulses from the device.

Then there is the need to interpret the pulses as quantities of water.

What happens if you set an I/O pin with pinMode( pin, INPUT_PULLUP); and connect it to the LF wire (and GND) and use digitalRead() in loop() to read the value and display it on the Serial Monitor.

Have you some means to know that the device produces a pulse? - so that you could know that the Arduino failed to detect it (if it it did).

...R

PS if my suggestion does not work it does not mean the thing is broken or impossible - just that I don't know the correct way to interface with the device.

Thanks Robin, got it working. Think it was just stupidity that was stopping me. :slight_smile:

Using the code below.

const int  ItronCyble = 12;
const int LED = 13;

int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;

void setup() {
  pinMode(ItronCyble, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  buttonState = digitalRead(ItronCyble);

  if (buttonState != lastButtonState) {
    if (buttonState == LOW) {
      buttonPushCounter++;
      Serial.println(buttonPushCounter);
    } 
    delay(50);
  }
  lastButtonState = buttonState;

  if (buttonState == HIGH) {
    digitalWrite(LED, LOW);
  } else {
    digitalWrite(LED, HIGH);
  }
}

Now just interested to know the best way to transmit data via MQTT. I have Mosquitto running on a Pi and would like to publish the data there. Then into Node Red UI. Maybe I should move this part to Programming Questions.

Would this be the best approach to getting an easy GUI? Any other suggestions?

I don't know MQTT - sorry.

...R

I don't find information of Water Meter monitoring with Itron Cyble when you move this part to programing question. Could you please share for me a few information. Thanks