Server and Client of PyIEC61850 based on mz-automation
a. Python 3.8.10
- Install python-launcher
- Install asdf
- sudo apt-get install python3-dev
sudo apt-get install liblzma-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install libreadline-dev
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev
xz-utils tk-dev libffi-dev liblzma-dev python-openssl - asdf install python 3.8.10
b. CMake 3.7.2 or higher
- sudo apt-get install g++ sudo apt-get install gcc sudo apt-get install libssl-dev
- wget wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz
- tar -zxvf cmake-3.20.0.tar.gz
- cd cmake-3.20.0
- export CC=<path_of_gcc/gcc-version> export CXX=<path_of_g++/g++-version>
- ./bootstrap && make && sudo make install
c. SWIG 4.0.0 or higher
- wget http://prdownloads.sourceforge.net/swig/swig-4.0.0.tar.gz
- tar xzf swig-4.0.0.tar.gz
- cd swig-4.0.0
- ./configure
- make
- sudo make install
- cd ~
- sudo apt update && upgrade
- git clone https://github.com/keyvdir/pyiec61850.git
- cd pyiec61850
- git clone https://github.com/mz-automation/libiec61850.git
- wget https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.4.tar.gz
- tar -zxvf v2.28.4.tar.gz
- mv mbedtls-2.28.4/ libiec61850/third_party/mbedtls/mbedtls-2.28.4
- cd libiec61850
- py --list
- cmake -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/home/mind_support/.asdf/shims/python3.8 .
- make WITH_MBEDTLS=1
- cd ..
- python3 server.py and python3 client.py (different terminal window)
Data type for write, read, and other complete functions can be found in “libiec61850/pyiec61850/iec61850.py”. Please refer to the original website of IEC61850 for further information of the data types. https://libiec61850.com/api/modules.html