I am using HPL EB METER.I am trying to format the data which are coming out from the EB meter serially.I can able to receive data from the serial terminal. I am using below-mentioned cmd to get the response.
Thanks for your reply and my requirements are, I want to get data from the meter on 24*7 and transmit through ZigBee.I have written code on Arduino UNO and it will return the response on 24*7.
Already we are reading the meter values from the GXDLMSDirector.
Is there any programming manual to understand the bytes indication.
I have download those cpp files.I have few doubts in that.
1)Hope my HPL EB meter will act as a server .I am going to receive data from EB meter.So,I need to access only "GuruxDLMSClientExample"
2)I have opened "GuruxDLMSClientExample.cpp" file in "src" directory.
3)I have planned to call only the functions which are written in "communication.cpp" file
If I call above-mentioned functions on my main.ino file (Arduino), Hope I will get the data from the EB meter.
Is there any necessity to use all other header and CPP file which are present in other directories except "GuruxDLMSClientExample" for receive data from EB meter.
If I have understood on the wrong way, please help us.
In file included from /home/ntlabs1042/Desktop/OHM /main/main.ino:39:0:
sketch/communication.h:56:45: fatal error: netdb.h: No such file or directory
#include <netdb.h> //Add support for sockets
^
compilation terminated.
exit status 1
Error compiling for board Arduino Mini.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
But I dont find this header file at all the available directories
Almost I am nearby to view the output of our meter.when I am running your code on Arduino IDE, below-mentioned files are not found.
#include <string>
#include <vector>
#include <netdb.h> //Add support for sockets
#include <sys/types.h> //Add support for sockets
#include <sys/socket.h> //Add support for sockets
#include <netinet/in.h> //Add support for sockets
#include <arpa/inet.h> //Add support for sockets
#include <termios.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <fcntl.h>
you have advised me to remove the socket connection files.Ok but rest of the files also I don't find.
you have mentioned like #include<string>
but in my Arduino whether its header or CPP?
Hi,
I have written file name on below which are not supported by Arduino IDE. If you will have any other files which will be supporting to my IDE, please share with us or else I should edit header files according to my requirement.
//#include <netdb.h> //Add support for sockets //commented on communication.h
//#include <sys/types.h> //Add support for sockets //commented on communication.h
//#include <sys/socket.h> //Add support for sockets //commented on communication.h
//#include <netinet/in.h> //Add support for sockets //commented on communication.h
//#include <arpa/inet.h> //Add support for sockets //commented on communication.h
//#include <termios.h> //commented on communication.h
//#include <sys/ioctl.h> //commented on communication.h
//#include <sys/stat.h> //commented on communication.h
I have planned to change my IDE because of most of the file's are not supporting. So that, If you will prefer any embedded IDE to me, it will be very helpful to me to finish the development
I have downloaded white, yellow, green, blue books from the internet. My question which book should I follow for further development and which is the latest?
We tried to read the register values with the help of GXDLMSDirector. After initializing and AARQ request we got the packet information for Data, Register, clock, script table, activity calendar, action schedule, lechdlcsetup, association logical name, profilegeneric, extended register.
This is the request command we gathered for getting register data.
7E A0 1C 00 02 04 01 41 76 85 8D E6 E6 00 C0 01 C1 00 03 00 00 00 01 02 FF 02 00 B4 85 7E.
The response we got is
7E A0 21 41 00 02 04 01 96 BD B6 E6 E7 00 C4 01 C1 00 09 0C 07 E2 05 01 FF 00 00 00 00 01 4A 00 8C D6 7E.
Here, we aren't sure where exactly is the L1,L2,L3 voltage values. Can we decode the hex values or is there any operation which has to be performed to get the values.
You are reading 0.0.0.1.2.255 Ch. 0 Time stamp of the most recent billing period (1) closed.
I believe that you are reading wrong data. Check OBIS code using director.
Hi,
Can you please explain the procedure how to read the OBIS codes?.
I tried reading that using Tools-->OBIS codes. An dialog box is opening where on the left side the meter manufacturer name appears and at the bottom NEW button is enabled.
If i click the new button a separate dialog box appears where there is a dropdown which has about 30 options. If Register option is enabled nothing is happening.
Hi,
Association view will tell that kind of functionality meter can offer.
DLMS standard requires that association view is implemented.
All the meters don't support association view (there are bugs, or some objects are missing).
For this reason, this functionality is added.
In the normal case, you should read association view. This is done by selecting "Refresh" from "Tools" menu in GXDLMSDirector.
HPL EB METER TYPE PPEM 26
Hi,
DLMS is very complicated protocol. You don't just send few bytes and get the reply. Here you are just initializing the connection.
Best way to start is if you download GXDLMSDirector and try to read your meter with it.
BR,
Mikko
Hi,
Hi,
Thanks for your reply and my requirements are, I want to get data from the meter on 24*7 and transmit through ZigBee.I have written code on Arduino UNO and it will return the response on 24*7.
Already we are reading the meter values from the GXDLMSDirector.
Is there any programming manual to understand the bytes indication.
HPL EB METER TYPE PPEM 26
Hi,
All this is specified in the standard. I believe that best way is if you use our libraries.
DLMS is not easy protocol.
BR,
Mikko
RYB voltage's read from HPL EB meter
we are ready to use your libraries.Hope we can get required data like R, Y, B voltages, current, temperature, load values.
Is there any user manual for GXDLMSDirector.
GXDLMSDirector help
Hi,
There is context sensitive help on GXDLMSDirector.
More mouse over GXLDMSDirecot and press F1
http://www.gurux.fi/GXDLMSDirectorHelp
BR,
Mikko
source code reg
Hi kurumi,
Is there any c source code is available in GURUx forum.I have found some CPP code which is available on GitHub.
https://github.com/Gurux/Gurux.DLMS.cpp
I am asking you c code for use it on Arduino and I am familiar with c code only.I have planned to use only Arduino Uno or MSP430G2553.
ANSI C
Hi,
ANSI C is not open source at the moment.
BR,
Mikko
code development reg
I have download those cpp files.I have few doubts in that.
1)Hope my HPL EB meter will act as a server .I am going to receive data from EB meter.So,I need to access only "GuruxDLMSClientExample"
2)I have opened "GuruxDLMSClientExample.cpp" file in "src" directory.
3)I have planned to call only the functions which are written in "communication.cpp" file
i) CGXCommunication::Close()
ii)CGXCommunication::Connect(const char* pAddress, unsigned short Port()
iii)CGXCommunication::GXGetCommState(HANDLE hWnd, LPDCB dcb)
iv)CGXCommunication::GXSetCommState(HANDLE hWnd, LPDCB DCB)
v)CGXCommunication::Read(unsigned char eop, CGXByteBuffer& reply)
If I call above-mentioned functions on my main.ino file (Arduino), Hope I will get the data from the EB meter.
Is there any necessity to use all other header and CPP file which are present in other directories except "GuruxDLMSClientExample" for receive data from EB meter.
If I have understood on the wrong way, please help us.
C++
Hi,
Your meter is acting as a server. You need only client code. DLMS is complicated protocol. You need all the files from the development folder.
BR,
Mikko
file missing
when I am trying to run the code, compiler it's showing error like
Arduino: 1.8.5 (Linux), Board: "Arduino Mini, ATmega328P"
In file included from /home/ntlabs1042/Desktop/OHM /main/main.ino:39:0:
sketch/communication.h:56:45: fatal error: netdb.h: No such file or directory
#include <netdb.h> //Add support for sockets
^
compilation terminated.
exit status 1
Error compiling for board Arduino Mini.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
But I dont find this header file at all the available directories
netdb.h
Hi,
Remove that and remove socket functionality. Your environment doesn't support sockets.
BR,
Mikko
header file missing reg
Hi,
Almost I am nearby to view the output of our meter.when I am running your code on Arduino IDE, below-mentioned files are not found.
#include <string>
#include <vector>
#include <netdb.h> //Add support for sockets
#include <sys/types.h> //Add support for sockets
#include <sys/socket.h> //Add support for sockets
#include <netinet/in.h> //Add support for sockets
#include <arpa/inet.h> //Add support for sockets
#include <termios.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <fcntl.h>
you have advised me to remove the socket connection files.Ok but rest of the files also I don't find.
you have mentioned like #include<string>
but in my Arduino whether its header or CPP?
header file missing reg
Hi,
It seems that your compiler is not support string. What compiler you use?
BR,
Mikko
compiler reg
Hi,
I am using Arduino IDE 1.8.5 .
Reading the meter
Hi,
I am trying to use the below link (C file)
1) http://www.gurux.fi/Gurux.DLMS.Client.
I am using the header files from
2) https://github.com/Gurux/Gurux.DLMS.cpp.
Please let us know whether we can use C file from URL 1.
header files reg
Hi,
I have written file name on below which are not supported by Arduino IDE. If you will have any other files which will be supporting to my IDE, please share with us or else I should edit header files according to my requirement.
//#include <netdb.h> //Add support for sockets //commented on communication.h
//#include <sys/types.h> //Add support for sockets //commented on communication.h
//#include <sys/socket.h> //Add support for sockets //commented on communication.h
//#include <netinet/in.h> //Add support for sockets //commented on communication.h
//#include <arpa/inet.h> //Add support for sockets //commented on communication.h
//#include <termios.h> //commented on communication.h
//#include <sys/ioctl.h> //commented on communication.h
//#include <sys/stat.h> //commented on communication.h
//#include <algorithm> //commented on enum.h
//#include <functional>
//#include <cctype>
//#include <locale>
//#include <sstream>
//#include <vector>
//#include <map>
//#include <fstream>
//#include <iostream>
//#include <cmath>
//#include <vector> // GXDLMSObjectCollection.h
//#include <string> // GXStandardObisCode.h
//#include <vector> // GXStandardObisCode.h
IDE reg
Hi,
I have planned to change my IDE because of most of the file's are not supporting. So that, If you will prefer any embedded IDE to me, it will be very helpful to me to finish the development
header files reg
Hi,
ANSI C is not open source at the moment.
Most of the missing files are included in Standard Template Library (STL).
Check if you can add support for STL.
BR,
Mikko
manuals reg
Hi,
Thank you for your replay and we have found few libraries which are missing in my IDE on below-mentioned link.
https://github.com/andysworkshop/avr-stl/tree/master/include
I have downloaded white, yellow, green, blue books from the internet. My question which book should I follow for further development and which is the latest?
header files reg
Hi,
Green book defines DLMS communication level and Blue Book defines COSEM objects.
BR,
Mikko
Reading L1,L2,L3 voltages
Hi,
We tried to read the register values with the help of GXDLMSDirector. After initializing and AARQ request we got the packet information for Data, Register, clock, script table, activity calendar, action schedule, lechdlcsetup, association logical name, profilegeneric, extended register.
This is the request command we gathered for getting register data.
7E A0 1C 00 02 04 01 41 76 85 8D E6 E6 00 C0 01 C1 00 03 00 00 00 01 02 FF 02 00 B4 85 7E.
The response we got is
7E A0 21 41 00 02 04 01 96 BD B6 E6 E7 00 C4 01 C1 00 09 0C 07 E2 05 01 FF 00 00 00 00 01 4A 00 8C D6 7E.
Here, we aren't sure where exactly is the L1,L2,L3 voltage values. Can we decode the hex values or is there any operation which has to be performed to get the values.
Thanks and Regards,
Selva
Reading L1,L2,L3 voltages
Hi,
You are reading 0.0.0.1.2.255 Ch. 0 Time stamp of the most recent billing period (1) closed.
I believe that you are reading wrong data. Check OBIS code using director.
BR,
Mikko
Checking OBIS codes
Hi,
Can you please explain the procedure how to read the OBIS codes?.
I tried reading that using Tools-->OBIS codes. An dialog box is opening where on the left side the meter manufacturer name appears and at the bottom NEW button is enabled.
If i click the new button a separate dialog box appears where there is a dropdown which has about 30 options. If Register option is enabled nothing is happening.
So, please explain us how to read the OBIS codes.
Thanks and Regards,
Selva.
Checking OBIS codes
Hi,
Association view will tell that kind of functionality meter can offer.
DLMS standard requires that association view is implemented.
All the meters don't support association view (there are bugs, or some objects are missing).
For this reason, this functionality is added.
In the normal case, you should read association view. This is done by selecting "Refresh" from "Tools" menu in GXDLMSDirector.
BR,
Mikko