Skip to content
Snippets Groups Projects
Commit 15f80b8b authored by Thomas Juerges's avatar Thomas Juerges
Browse files

Merge branch 'add_requirements' into 'master'

Add requirements

See merge request lofar2.0/pypcc!3
parents f9df7e8a d48a70a3
No related branches found
No related tags found
1 merge request!3Add requirements
**/env
**/__pycache__
......@@ -4,14 +4,66 @@ Python OPC-UA server to control the I2C devices in the LTS.
+ opcuserv.py: OPC-UA server that expose (visible) variables and methods.
# LTS structure:
# Prerequisites
## Requirements
This Python3 code uses other Python3 modules:
- opcua
- pyyaml
- numpy
We recommend to install a virtual environment and then install the dependencies there. For convenience we have added the relevant modules to the file `requirements.txt` that can be used to install them with pip3: `python3 -m pip install -r requirements.txt`
Below are step-by-step instructions that show how to install the dependencies neatly in a Python3 virtual environment.
```bash
# Create a Python3 virtual environment with the name "env"
python3 -m venv env
# Activate the virtual environment
. env/bin/activate
# Update the already installed modules in the virtual environment since they are usually outdated
python3 -m pip install --upgrade pip wheel
# Deactivate the virtual environment and start it again
deactivate
. env/bin/activate
# And finally install the module dependencies
python3 -m pip install -r requirements.txt
```
# Execute it
The software can be simply executed with Python3: `python3 opcuaserv.py`
Optional parameters are explained when the `-h` or `--help` parameter is supplied:
```bash
python3 opcuaserv.py --help
cryptography is not installed, use of crypto disabled
cryptography is not installed, use of crypto disabled
usage: opcuaserv.py [-h] [-s] [--no-lib-hack] [-p PORT]
optional arguments:
-h, --help show this help message and exit
-s, --simulator Do not connect to I2c, but simulate behaviour.
--no-lib-hack Do not require a hacked opcua library. Breaks behaviour.
-p PORT, --port PORT Port number to listen on [4842].
```
# LTS structure
Raspberry pi (LTS_pypcc.yaml -> I2C controller on raspberry pi)
> Control PCB (LTS_switch.yaml -> I2C switch)
>
> > RCU2 PCB (LTS_RCUx.yaml -> I2C devices)
> >
> > > RCU2 Dither source (LTS_RCU2_dither.yaml -> I2C bitbang)
> >
> > > ADC (LTS_RCU2_ADC.yaml -> SPI bitbang2)
> >
> > Clock PCB (LTS_clk.yaml -> I2C device)
> >
> > > PLL (LTS_clkPLL.yaml -> SPI bitbang1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment