First step was to discover how does the measurement work.
This is the very first prototype of my power meter. I found out, one can buy original sensor attachable to my type of gas meter. Then I registered my first ever device on the power monitor model and named it PM-1. Vin (steady voltage of 0.6V) and the output of the LM293 is low, so current flows from VCC and the blue LED is ON. Here is every step that I did to make use Grandeur to build my app: To build up program for ESP8266 on Arduino IDE, I used Grandeur's Arduino SDK for pushing current and power updates to my project on Grandeur. If a summary update occurs on the Cloud, it prints it to the Serial (just for logging purpose). I have a similar power meter and the right one is sending a full "SML-Datagram" with consumption, voltage, current, and may more. It is not clear for me, at the end, have used the expansion board in the box? nodemcu esp8266 meter pulse power logger arduino sensor thalin phototransistor running patrik wifi temperature 6c ide projects raspberry pi There are a few parameters that need to be tuned for each power meter's pulses/KWh (usually says XXX imp/KWh somewhere on your meter). In this mode the sensor will not sleep and will report the current consumption in Watts and cumulative KWh to the gateway. Battery wont work as deep sleep wont be effective since the ESP8266 need to count the LED pulse and send out data with Wifi but Im not sure. It's an important difference. I think its not bad for my first 3D design. Next I concentrated on correct pulse detection. You can also set frequency that your sensor will report the power consumption by updating SEND_FREQUENCY.
To see his devices and their data, he/she would have to log in just like you do on facebook (you see your friends, your own posts, and your own groups, not everyone else's). By default they use j-link adapter for upload so I needed to adopt them to use st-link by setting in platformio.ini: At that time it also required some changes to PIO but now it works out of the box. While controlling an appliance from phone is cool, it doesn't save you any money, right! So I thought what if we could see how our appliance is consuming power and tune our usage around that and eventually reduce our electricity bills by a few percent. The sensor defaults to measuring its values using a unit of measurement You can check what they are offering at their, and each SDK has its own details documentation. It might be of help to you. So, the hardware worked. Your email address will not be published. The power meter shows the current and power consumption graphs in the web app on my phone. proximity mqtt infra detector See the pictures and the scheme for explanation. I can help you with a code for that. My meter was showing 11mA at 4.5V which was way too high for battery powering. One of DISABLE, INCREMENT and DECREMENT. Now let's move to the second issue. Esp32 untilgbar nie is much more comfortable with WLAN. Only a short hint: You have a "Smart Meter". Will try to add the resistor and give feedback if this works for me. On logging in, I see my PM-1 power meter that I registered earlier from the Cloud Dashboard. What do you mean by pin 20 and 21? To get the data in, I connected USB bluetooth adapter with added antenna and wrote a simple data relay script in python: When everything was working on a bench, I measured the dimensions and created a box derived from the original sensor clip. Thanks for your reply, I'm glad it worked out this way. My Power meter is unsmart today. This is how I got them from the, To test my power meter, I used Grandeur CLI to locally serve my web app on localhost:3000. on any pin. However i did not follow through to the end because I went a different route (my meter sends radio signals I went with This ). 2 years ago. Looking forward to your comments.
Required fields are marked *. Monitor power consumption of your appliances in $4. You can change this by using Sensor Filters. Surely one of is the mentioned GPIO PIN12 as mentiones in the code. This could be solved either by a RC circuit or by ignoring subsequent pulses for some time after detecting the first one in software.
I used magnetic contact for detecting pulses, source code is here: https://github.com/danielkucera/ble-meter-mbed (but it doesnt compile anymore ). falling_edge (Optional): What to do when a falling edge is need your help again. Blue LED: the blue LED is attached to the output signal of the LM293 comparator an lights independent from the ESP8266.If there is no pulse (dark), the voltage output from the phototransistor circuit is low, therefore Vref < Vin (steady voltage of 0,6V) and the output of the LM293 is high, no current flows to VCC and the blue LED is OFF.
In the App SDK, there's this Auth API which lets you perform user authentication in the app. I hope its of help. That's when Grandeur came to the rescue. It also has the pairing feature that I need. esp8266 openenergymonitor Inspired by wireless thermometers I started to experiment with 433MHz transmitters and receivers. How is battery life affected?
The idea behind this project is to use the current sensor ACS712 to calculate the current. Im using Wemos D1 MINI and I have connected output pin 20 to D1 pin on Wemos and output pin 21 to ground on Wemos. Defaults to INCREMENT. Fortunately (and thanks to Mr. Stehliks lecture), Ive found a 3D printable sensor clip which only needs adding a reed switch for under 1EUR and you have a working sensor. See integration sensor for summing up pulse counter Disassembled sensor can be seen on this page. The pulse counter sensor allows you to count the number of pulses and the frequency of a signal 12. document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); This site uses Akismet to reduce spam. relay arduino sensor pulse moisture water mysensors distance power meter vcc soil motion dht temperature air humidity 5v connected build The real one was following: 4.17mA when transmitting and 3.1A in sleep so the power budget looks like this: When we take into account typical AAA battery capacity of about 540mAh it should theoretically last more than 3 years which is way better than I required (at least a year). In this mode the sensor will sleep most of the time and only report KWh. What it'd do, under the hood, is it'll pair that power meter with that user account making that account the owner of that device, and only he/she can see the device data. It has support for nrf51 with both Arduino and Mbed frameworks. By adding a 2M Ohm resistor I could reach about 2V. my power meter sits inside my safety cabinet. It then prepares a summary packet containing the RMS current as current. I already have flashed it and this is working, even it appears in my WLAN. Hello, very interesting post. @carlb To see his devices and their data, he/she would have to log in just like you do on facebook (you see your friends, your own posts, and your own groups, not everyone else's). Each customer would have to register his/her account on the web app when he/she buys a device from me for the very first time. That's how simple the circuit looks like: I powered the current sensor with 3.3V (via the ESP) and connected its output to the analog input of the ESP. Okay then. So it's settled. Get the code for hardware and app in energy monitoring directory. Read the values in Openhab to get these cool graphs! When a user logs in, how will the app know which devices (from the devices that I sold) does this particular user own? See this image: https://ae01.alicdn.com/kf/HTB1ZIbibL1H3KVjSZFHq6zKppXao/DDS518L-120-230.jpg. // Minimum time between send (in milliseconds). Well I saw the smart air cooler project by Moiz where he switched the cooler on/off from his web app and I thought of extending it a little. My newer power meter has more advanced communication, but also this blinking red LED, which I use again. The power meter shows the current and power consumption graphs in the web app on my phone. Here's how I did this from. When using the LM393 light sensor board and WATTS reading are completely wrong so don't get reported add a 0.1uF capacitor between the DO and GND. This hooked me up to the idea of setting up user accounts.
Was the same circuit design used for both gas and electricity meters? Added one of the pins to GPIO12, the other one to 3.3V ping of the ESP32. To fit 70 pulses in a second, your meter will have shorter pulses than 38 ms. Maybe the pulselength changes at different frequencies. Then I tried to directly connect 3.3V voltage (behind regulator) and checked the current: 28uA was very nice result so I had to find the problem. I checked the datasheet of onboard voltage regulator (AMS1117) and it needs 3mA solely for its operation so this board was out of game. In every loop, it runs the sendUpdate function which reads current sensor's OUT pin (connected to ESP's A0) for one second, translates from ADC levels to voltage, gets upper and lower voltage peaks from that one second data, calculates peak-to-peak voltage, then RMS voltage, translates it to RMS current, and then finally calculates power. esp8266 neat Are you using LDR to detect the blinking LED of meter?
It's open-ended. (I'm loving it), so that we can access our power meter's variables (its current and power) in our user account.
Try requesting it again. Will report once up and running smoothly. I use this ESP32 device: https://www.amazon.de/gp/product/B071P98VTG/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1 I tried to use a photoresistor to make a tachometer but it's too slow to handle that job. I was very happy with the result so I built one for electricity metering too.
When a user logs into the app, he/she sees empty list, and an "Add a device" button, on clicking which he could enter the device ID (which I would print on the device itself), and that device would be added to his/her devices list. values over time. In my meter, the pulse length was contant (38 ms as far as I could see). // Number of blinks per kWh of your meter. This mode requires constant power so you will need to connect the sensor to an electrical outlet.
nodemcu esp8266 circuit grounded hackaday esp8266 geiger dialing fxs After a month in production I can share some data with you. I used some more sticky putty to prevent ambient light shining into the phototransistor as I opened the case in daylight. esp8266 reports 03. maxim counting pulses hackster things project predefines the variables that the IoT product would have and which will later be fetched/updated from the device-end or the app-end. This is how I got them from the Grandeur Dashboard: To test my power meter, I used Grandeur CLI to locally serve my web app on localhost:3000. The MySensors Arduino library handles the wireless radio link and protocol The appropiate voltages were found by using potentiometers for the Vin and the Vref voltage. So when a customer downloads my web app, will he/she have to find his/her power meter from a huge list of all those power meters to see its power consumption? It is important to drill a hole at the exact position of the LED.
Defaults to 13us. A new version has been release since you last visited this page: 2022.6.2 .
About: I like to combine electronics like Arduino's, ESP8266 etc with 3D designing and 3D printing. Grandeur handles device communications with Cloud over the web, which means we first need to connect our ESP to internet which is what ESP8266WiFi library is for. My ESP cannot connect to Grandeur without this token. Let's see how I integrated Grandeur and built the app. Thanks for the tip. What photo resistor to use for the power meter? My idea was to use a beacon mode to broadcast current gas counter value after each change and go back to sleep: without any connection establishment, authentication, back channel or standby mode. pulse sensor optical openenergymonitor guide setup // No pulse count value received from controller. Therefore I used the LED pulses to read the current Power, the LED pulses 1000 times for 1 kW/h. this value can not be higher than 13us, for the ESP8266 you can use larger intervals too. This was easily solved with correct pin header socket from local shop with soldered 2.54mm pin header.
What I did was doing ADC on the output of current sensor (which is the voltage induced due to the current) and measured the actual current by multiplying it with the sensitivity of the current sensor (1A change in current changes the induced voltage by 185mV for a 30A current sensor). So in this tutorial, I'll show you how I built my IoT power meter that monitors current and power of appliances similar to the cooler. Green LED: the green LED is attached to GPIO0 of the ESP8266 and pulses if the ESP8266 has detected a good pulse. Device auth token helps in validating the device's authenticity. But to use the JS SDK in my app, I needed my project's API key and access credentials (access key and token) from, , which the JS SDK uses to make connection with my project on the Cloud. Reply esp8266 nodemcu oximeter solves our troubles here. They are marked as 20 and 21. I use that in another project (not on Instructables yet), Hi Wim3d, thank you for replying :-)I my pulse length is 5ms, so i tweaked the setting to fit this.I found the limiting factor to be a 100ms delaydigitalWrite(LEDPIN, HIGH); // blink led delay(100); <-----------------------THIS DELAY digitalWrite(LEDPIN, LOW);The calc 3600000ms / 105ms = 34285 pulse/hourhour = 3428.5 watt max readingBecause of this every time our consumption was higher then this, the counter was reading wrong.I changed the delay value to 5msThen calc 3600000ms / 10ms = 360000 pulse/hour = 36000watt max readingNow my measurements is the same as the electricity company readings :-).
But i still got no data from this. iot By using a pull-up resistor on the output, I could get an output difference of almost 3.3V. Here's code to measure the current from the current sensor: Making a PCB out of it, here is a glimpse of the design: The fritzing file of the design and schematic is attached in the end. Had similar setup on my old long ago Domiticz setup with Mysensors. measure the total consumed energy in kWh. Here's how it looks while running: We log into the app with the email and password we gave our. For debugging purposes, I run on my notebook on first shell: To store the data I use Zabbix with MySQL.
Our power meter can measure current and power, so here's how I defined them in the model: Since we cannot use (or test) our device without a user, I created the first user of my product from the, To test my device, I paired it with my user directly from the. The ESP8266 detects the low voltage when there is a pulse. Nevertheless, I chose the second option because software is cheaper and easier to debug than an electrical circuit. I'd been thinking about trying to sniff the wireless data. Costs me (here in germany) about 15 EUR. Now that we know the base platform I'd develop my power meters on, let's officially define our project: An IoT power meter using ESP8266 and ACS712 current sensor that would send current and power readings to the app where I'd push those readings to a graph in real-time. Ill post an update after batteries die. Hello, At the moment, on the same ESP8266 I have: I like to do the pulse counter for power meter but there is no ready power source at the meter!





In the App SDK, there's this Auth API which lets you perform user authentication in the app. I hope its of help. That's when Grandeur came to the rescue. It also has the pairing feature that I need. esp8266 openenergymonitor Inspired by wireless thermometers I started to experiment with 433MHz transmitters and receivers. How is battery life affected?






Defaults to 13us. A new version has been release since you last visited this page: 2022.6.2 .

What I did was doing ADC on the output of current sensor (which is the voltage induced due to the current) and measured the actual current by multiplying it with the sensitivity of the current sensor (1A change in current changes the induced voltage by 185mV for a 30A current sensor). So in this tutorial, I'll show you how I built my IoT power meter that monitors current and power of appliances similar to the cooler. Green LED: the green LED is attached to GPIO0 of the ESP8266 and pulses if the ESP8266 has detected a good pulse. Device auth token helps in validating the device's authenticity. But to use the JS SDK in my app, I needed my project's API key and access credentials (access key and token) from, , which the JS SDK uses to make connection with my project on the Cloud. Reply esp8266 nodemcu oximeter solves our troubles here. They are marked as 20 and 21. I use that in another project (not on Instructables yet), Hi Wim3d, thank you for replying :-)I my pulse length is 5ms, so i tweaked the setting to fit this.I found the limiting factor to be a 100ms delaydigitalWrite(LEDPIN, HIGH); // blink led delay(100); <-----------------------THIS DELAY digitalWrite(LEDPIN, LOW);The calc 3600000ms / 105ms = 34285 pulse/hourhour = 3428.5 watt max readingBecause of this every time our consumption was higher then this, the counter was reading wrong.I changed the delay value to 5msThen calc 3600000ms / 10ms = 360000 pulse/hour = 36000watt max readingNow my measurements is the same as the electricity company readings :-).

Our power meter can measure current and power, so here's how I defined them in the model: Since we cannot use (or test) our device without a user, I created the first user of my product from the, To test my device, I paired it with my user directly from the. The ESP8266 detects the low voltage when there is a pulse. Nevertheless, I chose the second option because software is cheaper and easier to debug than an electrical circuit. I'd been thinking about trying to sniff the wireless data. Costs me (here in germany) about 15 EUR. Now that we know the base platform I'd develop my power meters on, let's officially define our project: An IoT power meter using ESP8266 and ACS712 current sensor that would send current and power readings to the app where I'd push those readings to a graph in real-time. Ill post an update after batteries die. Hello, At the moment, on the same ESP8266 I have: I like to do the pulse counter for power meter but there is no ready power source at the meter!