# HG changeset patch # User Edouard Tisserant # Date 1666205581 -7200 # Node ID 5107a2712b175bb1e19352cc8eff4b9291e2b03f # Parent db3ea47b0d0b3b8235d02d65239b699c387633ce Update README.md diff -r db3ea47b0d0b -r 5107a2712b17 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 @@ + # Beremiz # @@ -15,73 +17,154 @@ See official [Beremiz website](http://www.beremiz.org/) for more information. -## Build on Linux ## - -* 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 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 - -* Prepare - - mkdir ~/Beremiz - cd ~/Beremiz - -* Get Source Code - - cd ~/Beremiz - hg clone https://bitbucket.org/automforge/beremiz - hg clone https://bitbucket.org/automforge/matiec - -* Build MatIEC compiler - - cd ~/Beremiz/matiec - autoreconf -i - ./configure - make - -* Build CanFestival (optional) - Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'. - - cd ~/Beremiz - hg clone http://dev.automforge.net/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 - -* Build BACnet (optional) - 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/beremiz - python Beremiz.py +## 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 ## + +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 ## + +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/). + +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 + +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 + +``` + +### Prepare build directory + +All commands hereafter assume that selected directory to contain all downloaded source code and build results is '~/Beremiz' + +``` +mkdir ~/Beremiz +cd ~/Beremiz +``` + +### Get Source Code (Mercurial) + +``` +cd ~/Beremiz +hg clone https://hg.beremiz.org/beremiz +hg clone https://hg.beremiz.org/matiec +``` + +### Get Source Code (Git) + +``` +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 +``` + +### Build CanFestival (optional) + +Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'. + +``` +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://hg.beremiz.org/Modbus +cd ~/Beremiz/Modbus +make +``` + +### Build BACnet (optional) + +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/beremiz +python Beremiz.py +``` + +## Run standalone Beremiz runtime ## + +* Start standalone Beremiz service + +``` +mkdir ~/beremiz_runtime_workdir +python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_runtime_workdir +``` + +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