Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:sw:00-start [2018/10/22 08:32]
mkudlacek
en:sw:00-start [2024/02/13 13:22] (current)
avsetula [Choosing the right software]
Line 1: Line 1:
-====== ​Software ​======+====== ​Choosing the right software ​====== ​ 
 +Software openness of Unipi controllers provides you with the option to choose from a wide selection of available software solutions, ranging from Mervis, the officially supported platform, to third-party platforms to your software. This guide will help you to navigate between the available software and to choose the best option for your project.
  
-One of the main advantages of our hardware is its open nature. Users of our product are not limited to a single software solution. In case of UniPi controllers,​ customers can choose from a variety of software platforms, both commercial and opensource. That way, every customer can choose a solution ideal for any project.+----
  
-Thanks to their open nature, our controllers have a wide range of possible usesFrom small smarthome applications to industrial automation, from custom-coded simple platforms to professional all-in-one solutions ​all you need to do is to choose a right software.  +<​tile>​ 
-==== Choosing the right software ​==== +| en:​sw:​01-mervis ​         | Mervis ​               | files:​unipi-kb-icon-mervis.png    | 
-When choosing the right software, there are several questions to consider: ​+| en:sw:02-apis            | APIs                  | files:unipi-kb-icon-os.png ​       | 
 +| en:​sw:​03-3rd-party ​      | Third-party software ​ | files:​unipi-kb-icon-software.png  | 
 +| en:​sw:​04-unipi-firmware ​ | Unipi Software ​       | files:​unipi-kb-icon-products.png ​ | 
 +</​tile>​ 
 +===== Software options =====
  
-**Is the given software compatible with the control unit?** +{{:​en:​sw:​software_schematkoeng.jpg|}}
-Software developed and provided by our team is compatible with all our products, but the development of other software platforms and their compatibility with our products is a responsibility of third-party developersIf you're not sure whether or not the third-party software is compatible with our products, we recommend using our native software+
  
-**To what extend is the software supported?​** +==== Mervis ==== 
-Third-party developers provide their own documentation,​ manuals and support for their software. ​If you cannot find solution for a problem, you may post your question on their or our forum. Documentation,​ manuals and support for our software can be accessed either via our website, or by contacting our technical support.+{{:​en:​sw:​unipi-software-mervis-comp.jpg|}}
  
-**Open ​source or proprietary ​software?** +A complete software platform provided for free to all Unipi controllers. The Mervis IDE development environment,​ a core of the solution, is suitable also for users without any deeper PLC programming knowledge thanks to its user-friendly interface and clear design. Mervis also offers a professional SCADA interface, HMI editor, cloud database and a mobile app. That makes it an ideal choice for a variety of users such as installation companies looking for a reliable and stable solution with full technical support. Detailed info about Mervis is available [[https://​kb.unipi.technology/​en:​sw:​01-mervis|on this link]].  
-Open source software ​can be developed ​or edited ​by anyone. That means users can experiment ​and create ​their own programs ​and share its source code freelyCommercial software does not offer advantages ​of open-source solutions, ​they can however ​offer a better ​support, dynamic development and more user-friendly interfaces+ 
 +//Note: Additionally,​ Mervis training courses are organized throughout a year. These courses are suitable for both beginners and experienced users. Learn more about the courses and closest course dates [[https://​www.unipi.technology/​training-and-certification|on this link]].//  
 + 
 +==== Application programming interface (API) ==== 
 +{{:​en:​sw:​unipi-software-api-en-comp.jpg|}} 
 + 
 +Unipi controllers are based on the Linux open-source ​operating system, for which we provide an application programming interfaces (API) as a method of direct access to inputs, outputs and communication interfaces of Unipi controllers. Thanks to the API the Unipi hardware can be quickly and easily integrated into your software ​or third-party solutions, making it an ideal choice for software ​developers. Our technical support team is ready to help you with implementation.  
 + 
 +Unipi API consists of three main components:  
 +  ​Modbus TCP protocol representing a standard interface for interaction with Unipi PLC I/Os 
 +  ​SysFS driver providing filesystem-level access to Unipi controller inputs/​outputs 
 +  * EVOK - a set of web-based APIs for interaction with all I/Os of Unipi controllers and extension modules 
 + 
 +More info about the individual APIs is available [[https://​kb.unipi.technology/​en:​sw:​02-apis|on this link]]  
 + 
 +//Note: Using the Mervis platform does not prevent access to the controller’s Linux OS, eg. you can use your software along with Mervis on a single controller. A good example of this feature is the [[https://​kb.unipi.technology/​en:​sw:​01-mervis:​08-sscp-bridge|SSCP to SQL Bridge]] service for storing data from Mervis-running Unipi PLCs into an external SQL database.//​ 
 +  
 +===== Important info for choosing the right software ===== 
 + 
 +==== Commercial ​or open-source?​ ==== 
 +**Open-source solutions** are characterized ​by freely accessible and editable source code, allowing its users to modify ​and update the software according to their needs or to add new tools and functionsThe main disadvantage is the absence ​of technical support - in case of issues, users have to rely on various community forums. Open-source software also cannot always guarantee compatibility with hardware. Aside from open APIs, Unipi technology also provides preassembled operating system images suitable for developers and OEM customers - an open-source ​OS image and a custom OS image.  
 + 
 +//Note: For Unipi-developed APIs (see above) we provide full technical support and complete documentation. We also guarantee their full compatibility with all Unipi controllers.//​  
 + 
 +**Commercial ​solutions** are closed software platforms that often require paid licences to be used. Their users are limited only to officially developed tools and functions provided by the solutions’ developers. This disadvantage is, however, compensated by the availability of official technical ​support, dynamic development, regular updates ​and a guarantee of full functionality on systems listed as compatible. The official supported solution for Unipi controllers is Mervis (see above) for which we provide direct technical support and we guarantee its full compatibility with all Unipi controllers.  
 + 
 +{{:​en:​sw:​software_table_eng.png|}} 
 + 
 +==== What is the extent of Unipi technical support? ==== 
 + 
 +**Full support** is provided for Mervis and the Unipi-developed APIs. Direct technical support is also available along with complete documentation,​ tutorials, OS images and assistance with implementation and/or installation.  
 + 
 +**Partial support** is available for Node-RED, taking the form of a preassembled OS image available on Unipi Knowledge Base. The support is limited to preparation of Unipi hardware - in case of software issues please consult [[https://​discourse.nodered.org/​|Node-RED community]] forum or the [[https://​forum.unipi.technology/​category/​27/​node-red|Node-RED section]] of the Unipi technology forum. ​  
 + 
 +For other third-party solutions, **technical support is not provided**. If you encounter trouble with commercial platforms, please consult the corresponding tech support department. In the case of open-source solutions please visit community forums dedicated to the solution.  
 + 
 +===== List of available software solutions ===== 
 +==== Officially supported platforms ====  
 + 
 +| Name | **Developed by Unipi** | **OS image** | **Unipi support** | **Full functionality** | 
 +| [[en:​sw:​01-mervis|Mervis]] | Yes | Yes | Yes | All Unipi PLCs | 
 +| [[en:​sw:​02-apis|API]] | Yes | Yes | Yes | All Unipi PLCs | 
 + 
 +==== Third-party solutions ==== 
 + 
 +| Name | **Developed by Unipi** | **OS image** | **Unipi support** | **Full functionality** | 
 +| [[https://​kb.unipi.technology/​en:​sw:​03-3rd-party:​nodered|Node-RED]] | No | Yes | Partial¹ | All Unipi PLCs | 
 +| [[https://​www.home-assistant.io/​|HomeAssistant]] | No | No | No | Not guaranteed² | 
 +| [[https://​kb.unipi.technology/​en:​sw:​03-3rd-party:​codesys|CODESYS]] | No | No | No | Not guaranteed² | 
 +| [[https://​kb.unipi.technology/​en:​sw:​03-3rd-party:​rexygen|REXYGEN]] | No | No | Third-party | Unipi 1.1 | 
 +| [[https://​fhem.de/​|FHEM]] | No | No | No | Not guaranteed² | 
 +| [[https://​pimatic.org/​|Pimatic]] | No | No | No | Not guaranteed² | 
 +| [[https://​www.domoticz.com/​|Domoticz]] | No | No | No | Not guaranteed² | 
 +| [[https://​www.openplcproject.com/​|OpenPLC]] | No | No | No | Unipi Neuron, Unipi 1.1 (Not guaranteed) | 
 +| [[https://​www.openhab.org/​|openHAB]] | No | No | No | Not guaranteed² | 
 +| [[https://​nymea.io/​|Nymea]] | No | No | No | Unipi Patron, Neuron & Axon (through SysFS) | 
 +| [[https://​homebridge.io/​|Homebridge]] | No | No | No | Unipi Neuron, Unipi 1.1 | 
 +| Others³ | No | No | No | Not guaranteed² |  
 + 
 +**Explanation** 
 +  - Tech. support provided only for the preparation of Unipi hardware for Node-RED implementation 
 +  - Functionality may be limited only to certain product lines or models. We recommend consulting the corresponding tech support or community forum 
 +  - Open-source solutions not included in the list that may be compatible with Unipi controllers. 
 + 
 +If you have any software-related questions, feel free to get in touch at [[mailto:​[email protected]|[email protected]]],​ or contact our technical support at [[mailto:​[email protected]|[email protected]]].
  
-**What will be the product used for?** 
-The answer here greatly depends on the specific application you want to use our product in as each software offers slightly different features and functions. For commercial projects and industrial systems, is suitable a software in accordance with IEC 61131-3. For Smart Home it is good to use platforms which focuses on such application and offers convenient functions and visually appealing interface. But most importantly it always depends on your individual needs. 
  
-**What technology are going to be used in the project?** 
-Depending on the software platform, it may or may not support all the protocols, devices and third-party products. Before choosing the software, we thus strongly recommend to check the platform'​s compatibility,​ either via platform'​s documentation or by sending a request to the platform'​s developer. ​