beremiz

Update README.md
wxPython4
2022-10-19, Edouard Tisserant
5107a2712b17
Parents db3ea47b0d0b
Children 99b20dff00d5
Update README.md
  • +133 -88
    README.md
  • --- a/README.md Tue Oct 11 15:07:14 2022 +0200
    +++ b/README.md Wed Oct 19 20:53:01 2022 +0200
    @@ -1,4 +1,6 @@
    +<!---
    [![docs](https://readthedocs.org/projects/beremiz/badge/?version=latest)](https://beremiz.readthedocs.io)
    +-->
    # Beremiz #
    @@ -15,73 +17,154 @@
    See official [Beremiz website](http://www.beremiz.org/) for more information.
    -## Build on Linux ##
    +## Install latest release ##
    +
    +Windows installer and Snap package for Linux are available in [Github releases](https://github.com/beremiz/beremiz/releases) and [Snapcraft's store](https://snapcraft.io/beremiz)
    +
    +## Tutorials and examples ##
    -* Prerequisites
    +In IDE, find menu "File>Tutorials and examples" to quickly open examples that should run as-is.
    +
    +There are more examples in 'tests/projects' and 'exemples' directories.
    +
    +Some example and test are shown on [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA).
    +
    +## Development with Beremiz ##
    - # Ubuntu/Debian :
    - sudo apt-get install build-essential bison flex autoconf
    - sudo apt-get install python2-dev libpython2.7-dev libgtk-3-dev libssl-dev libgl1-mesa-dev libglu1-mesa-dev python-setuptools python-lxml
    -
    - python2 -m pip install wxPython==4.1.1
    - python2 -m pip install pyro mercurial==5.9.3 nevow matplotlib lxml zeroconf2 cycler autobahn msgpack u-msgpack-python sslpsk posix_spawn future enum34 twisted click opcua pycountry fonttools Brotli python-config
    +Developers are invited to subscribe to [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
    +
    +The list is moderated and requires subscription before posting.
    +
    +To subscribe to the mailing list go [here](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/).
    -* Prepare
    +Searchable archive using search engine of your choice is available [here](http://beremiz-devel.2374573.n4.nabble.com/).
    +
    +## Build on Linux (developer setup) ##
    +
    +### Prerequisites (Ubuntu/Debian) :
    +```
    +sudo apt-get install build-essential bison flex autoconf
    +sudo apt-get install python2-dev libpython2.7-dev libgtk-3-dev libssl-dev libgl1-mesa-dev libglu1-mesa-dev python-setuptools
    - mkdir ~/Beremiz
    - cd ~/Beremiz
    -
    -* Get Source Code
    +python2 -m pip install \
    + future \
    + matplotlib \
    + msgpack_python \
    + u-msgpack-python \
    + zeroconf2 \
    + enum34 \
    + pyro \
    + sslpsk \
    + posix_spawn \
    + twisted \
    + nevow \
    + autobahn \
    + click \
    + opcua \
    + pycountry \
    + fonttools \
    + Brotli \
    + lxml==4.5.0 \
    + wxPython==4.1.1
    - cd ~/Beremiz
    - hg clone https://bitbucket.org/automforge/beremiz
    - hg clone https://bitbucket.org/automforge/matiec
    +```
    +
    +### Prepare build directory
    +
    +All commands hereafter assume that selected directory to contain all downloaded source code and build results is '~/Beremiz'
    -* Build MatIEC compiler
    +```
    +mkdir ~/Beremiz
    +cd ~/Beremiz
    +```
    +
    +### Get Source Code (Mercurial)
    - cd ~/Beremiz/matiec
    - autoreconf -i
    - ./configure
    - make
    +```
    +cd ~/Beremiz
    +hg clone https://hg.beremiz.org/beremiz
    +hg clone https://hg.beremiz.org/matiec
    +```
    +
    +### Get Source Code (Git)
    -* Build CanFestival (optional)
    - Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
    +```
    +cd ~/Beremiz
    +git clone https://github.com/beremiz/beremiz
    +git clone https://github.com/beremiz/matiec
    +```
    +
    +### Build MatIEC compiler
    +
    +```
    +cd ~/Beremiz/matiec
    +autoreconf -i
    +./configure
    +make
    +```
    - cd ~/Beremiz
    - hg clone http://dev.automforge.net/CanFestival-3
    - cd ~/Beremiz/CanFestival-3
    - ./configure --can=virtual
    - make
    +### Build CanFestival (optional)
    +
    +Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
    -* Build Modbus library (optional)
    - Only needed for Modbus support.
    +```
    +cd ~/Beremiz
    +hg clone http://hg.beremiz.org/CanFestival-3
    +cd ~/Beremiz/CanFestival-3
    +./configure --can=virtual
    +make
    +```
    +
    +### Build Modbus library (optional)
    +
    +Only needed for Modbus support.
    - cd ~/Beremiz
    - hg clone https://bitbucket.org/mjsousa/modbus Modbus
    - cd ~/Beremiz/Modbus
    - make
    +```
    +cd ~/Beremiz
    +hg clone https://hg.beremiz.org/Modbus
    +cd ~/Beremiz/Modbus
    +make
    +```
    +
    +### Build BACnet (optional)
    -* Build BACnet (optional)
    - Only needed for BACnet support.
    +Only needed for BACnet support.
    +
    +```
    +cd ~/Beremiz
    +svn checkout https://svn.code.sf.net/p/bacnet/code/trunk/bacnet-stack/ BACnet
    +cd BACnet
    +make MAKE_DEFINE='-fPIC' MY_BACNET_DEFINES='-DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE -DINTRINSIC_REPORTING -DBACNET_TIME_MASTER -DBACNET_PROPERTY_LISTS=1 -DBACNET_PROTOCOL_REVISION=16' library
    +```
    +
    +### Launch Beremiz IDE
    - cd ~/Beremiz
    - svn checkout https://svn.code.sf.net/p/bacnet/code/trunk/bacnet-stack/ BACnet
    - cd BACnet
    - make MAKE_DEFINE='-fPIC' MY_BACNET_DEFINES='-DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE -DINTRINSIC_REPORTING -DBACNET_TIME_MASTER -DBACNET_PROPERTY_LISTS=1 -DBACNET_PROTOCOL_REVISION=16' library
    +```
    +cd ~/Beremiz/beremiz
    +python Beremiz.py
    +```
    +
    +## Run standalone Beremiz runtime ##
    +
    +* Start standalone Beremiz service
    -
    -* Launch Beremiz IDE
    +```
    +mkdir ~/beremiz_runtime_workdir
    +python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_runtime_workdir
    +```
    - cd ~/Beremiz/beremiz
    - python Beremiz.py
    +To connect IDE with runtime, enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service in this case :
    +
    +```
    +PYRO://127.0.0.1:61194
    +```
    +
    +If project's URL is 'LOCAL://', then IDE launches on demand a local instance of Beremiz python runtime working on a temporary directory.
    ## Build documentation
    -Source code for Beremiz user manual is stored in
    -[doc](tree/default/doc)
    -directory in project's source tree.
    -It's written in reStructuredText (ReST) and uses Sphinx to build documentation in different formats.
    -
    +Source code for documentation is stored in [doc](tree/default/doc) directory in project's source tree.
    +It's written in reStructuredText (ReST) and uses Sphinx to generate documentation in different formats.
    To build documentation you need following packages on Ubuntu/Debian:
    @@ -121,40 +204,11 @@
    Result documentation is stored in 'doc/\_build/latex/Beremiz.pdf'.
    -## Run standalone Beremiz runtime ##
    -
    -Runtime implementation can be different on different platforms.
    -For example, PLC used Cortex-M most likely would have C-based runtime. Beremiz project contains reference implementation in python, that can be easily run on GNU/Linux, Windows and Mac OS X.
    -This section will describe how to run it.
    -
    -If project's URL is 'LOCAL://', then IDE launches temprorary instance of Beremiz python runtime (Beremiz_service.py) localy as user tries to connect to PLC. This allows to debug programs localy without PLC.
    -
    -If you want to run Beremiz_service.py as standalone service, then follow these instructions:
    -
    -* Start standalone Beremiz service
    -
    - mkdir ~/beremiz_workdir
    - python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_workdir
    -
    -* Launch Beremiz IDE
    -
    - python Beremiz.py
    -
    -* Open/Create PLC project in Beremiz IDE.
    - Enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service (For example, PYRO://127.0.0.1:61194).
    - Save project and connect to running Beremiz service.
    -
    -## Examples ##
    -
    -Almost for all functionality exists example in ['tests'](tree/default/tests/projects) and ['exemples'](tree/default/tests/projects) directories.
    -
    -Most of examples are shown on [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA).
    -
    ## Documentation ##
    * See [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA) to get quick information how to use Beremiz IDE.
    - * [Official user manual](http://beremiz.readthedocs.io/) is built from sources in doc directory.
    + * [Official documentation](http://beremiz.readthedocs.io/) is built from sources in doc directory.
    Documentation does not cover all aspects of Beremiz use yet.
    Contribution are very welcome!
    @@ -168,12 +222,3 @@
    * See official [Beremiz website](http://www.beremiz.org/) for more information.
    -## Support and development ##
    -
    -Main community support channel is [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
    -
    -The list is moderated and requires subscription for posting to it.
    -
    -To subscribe to the mailing list go [here](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/).
    -
    -Searchable archive using search engine of your choice is available [here](http://beremiz-devel.2374573.n4.nabble.com/).
    \ No newline at end of file