DESCRIPTION
OTA update for PoS Terminals
RTSoft has been tasked by major IT provider of automation systems for Retail industry to develop a solution for remote update of software (operating system and/or application) for a family of devices PoS terminals.

The solution should allow an automatic rollback in case of update failures such as connectivity problem or unexpected power loss, implement versioning and secure delivery mechanisms, and be customizable for future integrations.

Additionally, the solution should include a cloud back-end service for device and software repository, content delivery and rollout management.

The target devices’s characteristics are:

  • SoC: Mediatek MT7688
  • Flash memory: 64MB
  • Operating system: Linux (OpenWRT)

Key facts
  • Custom-built Linux kernel and OpenWRT image for A/B update mechanism
  • Modified U-Boot for A/B update mechanism
  • Custom implementation of Direct Device Integration (DDI) protocol for an edge device
  • Custom implementation of an Update Server as a cloud service

  • merkoptima.png
Solution

RTSoft provided its architecture and software development expertise on a system level. In the early stage of the project RTSoft collaborated with client's technical team to identify possible set of use cases and draft requirement for the solution that provide a best trade-off for the client. During a development phase RTSoft offered the solution's architecture and developed all software components some of which were based on open-source software.

On the client-side, RTSoft modified system software and developed update software components which provide:

  • update delivery mechanism
  • verification and installation mechanism
  • reporting.

On the server-side, RTSoft developed a "ready to be deployed as a Docker container" cloud service harnessing the open-source Eclipse hawkBit software.

The service provides the following functionality:

  •  authorization mechanisms
  • software distributions repository update process monitoring
  • different batch rollout campaigns
  • administrative REST API
  • Web GUI and console tools.

BENEFITS
Cloud-based solution, fast deployment and scaling

Secure device access control system

Certificate-based access to artifacts repository
Rollouts monitoring system
Rollout tasks with load balancing
Scales to thousands of devices
Array
(
    [TAGS] => Python, U-Boot, OpenWRT, Java, C, Docker, RAUC framework, Grafana, InfluxDB, Chronograf, Syslog-ng
    [~TAGS] => Python, U-Boot, OpenWRT, Java, C, Docker, RAUC framework, Grafana, InfluxDB, Chronograf, Syslog-ng
    [ID] => 115
    [~ID] => 115
    [NAME] => OTA update for PoS Terminals
    [~NAME] => OTA update for PoS Terminals
    [IBLOCK_ID] => 10
    [~IBLOCK_ID] => 10
    [IBLOCK_SECTION_ID] => 
    [~IBLOCK_SECTION_ID] => 
    [DETAIL_TEXT] => 
Solution

RTSoft provided its architecture and software development expertise on a system level. In the early stage of the project RTSoft collaborated with client's technical team to identify possible set of use cases and draft requirement for the solution that provide a best trade-off for the client. During a development phase RTSoft offered the solution's architecture and developed all software components some of which were based on open-source software.

On the client-side, RTSoft modified system software and developed update software components which provide:

  • update delivery mechanism
  • verification and installation mechanism
  • reporting.

On the server-side, RTSoft developed a "ready to be deployed as a Docker container" cloud service harnessing the open-source Eclipse hawkBit software.

The service provides the following functionality:

  •  authorization mechanisms
  • software distributions repository update process monitoring
  • different batch rollout campaigns
  • administrative REST API
  • Web GUI and console tools.

[~DETAIL_TEXT] =>
Solution

RTSoft provided its architecture and software development expertise on a system level. In the early stage of the project RTSoft collaborated with client's technical team to identify possible set of use cases and draft requirement for the solution that provide a best trade-off for the client. During a development phase RTSoft offered the solution's architecture and developed all software components some of which were based on open-source software.

On the client-side, RTSoft modified system software and developed update software components which provide:

  • update delivery mechanism
  • verification and installation mechanism
  • reporting.

On the server-side, RTSoft developed a "ready to be deployed as a Docker container" cloud service harnessing the open-source Eclipse hawkBit software.

The service provides the following functionality:

  •  authorization mechanisms
  • software distributions repository update process monitoring
  • different batch rollout campaigns
  • administrative REST API
  • Web GUI and console tools.

[DETAIL_TEXT_TYPE] => html [~DETAIL_TEXT_TYPE] => html [PREVIEW_TEXT] => RTSoft has been tasked by major IT provider of automation systems for Retail industry to develop a solution for remote update of software (operating system and/or application) for a family of devices PoS terminals.

The solution should allow an automatic rollback in case of update failures such as connectivity problem or unexpected power loss, implement versioning and secure delivery mechanisms, and be customizable for future integrations.

Additionally, the solution should include a cloud back-end service for device and software repository, content delivery and rollout management.

The target devices’s characteristics are:

  • SoC: Mediatek MT7688
  • Flash memory: 64MB
  • Operating system: Linux (OpenWRT)

[~PREVIEW_TEXT] => RTSoft has been tasked by major IT provider of automation systems for Retail industry to develop a solution for remote update of software (operating system and/or application) for a family of devices PoS terminals.

The solution should allow an automatic rollback in case of update failures such as connectivity problem or unexpected power loss, implement versioning and secure delivery mechanisms, and be customizable for future integrations.

Additionally, the solution should include a cloud back-end service for device and software repository, content delivery and rollout management.

The target devices’s characteristics are:

  • SoC: Mediatek MT7688
  • Flash memory: 64MB
  • Operating system: Linux (OpenWRT)

[PREVIEW_TEXT_TYPE] => html [~PREVIEW_TEXT_TYPE] => html [DETAIL_PICTURE] => Array ( [ID] => 194 [TIMESTAMP_X] => 12/23/2021 12:08:05 pm [MODULE_ID] => iblock [HEIGHT] => 1000 [WIDTH] => 800 [FILE_SIZE] => 115343 [CONTENT_TYPE] => image/jpeg [SUBDIR] => iblock/01c [FILE_NAME] => 4.jpg [ORIGINAL_NAME] => 4.jpg [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => 96635c8b2c2472bb98a5952e6289116e [~src] => [SRC] => /upload/iblock/01c/4.jpg [UNSAFE_SRC] => /upload/iblock/01c/4.jpg [SAFE_SRC] => /upload/iblock/01c/4.jpg [ALT] => OTA update for PoS Terminals [TITLE] => OTA update for PoS Terminals ) [~DETAIL_PICTURE] => 194 [TIMESTAMP_X] => 12/23/2021 12:08:05 pm [~TIMESTAMP_X] => 12/23/2021 12:08:05 pm [ACTIVE_FROM] => 07/25/2019 [~ACTIVE_FROM] => 07/25/2019 [LIST_PAGE_URL] => /our-work/ [~LIST_PAGE_URL] => /our-work/ [DETAIL_PAGE_URL] => /our-work/115/ [~DETAIL_PAGE_URL] => /our-work/115/ [LANG_DIR] => / [~LANG_DIR] => / [CODE] => OTA_update [~CODE] => OTA_update [EXTERNAL_ID] => 96 [~EXTERNAL_ID] => 96 [IBLOCK_TYPE_ID] => projects [~IBLOCK_TYPE_ID] => projects [IBLOCK_CODE] => projects_en [~IBLOCK_CODE] => projects_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 [NAV_RESULT] => [DISPLAY_ACTIVE_FROM] => 25.07.2019 [IPROPERTY_VALUES] => Array ( ) [FIELDS] => Array ( [TAGS] => Python, U-Boot, OpenWRT, Java, C, Docker, RAUC framework, Grafana, InfluxDB, Chronograf, Syslog-ng ) [PROPERTIES] => Array ( [KEY_FACTS] => Array ( [ID] => 25 [TIMESTAMP_X] => 0000-00-00 00:00:00 [IBLOCK_ID] => 10 [NAME] => Key facts [ACTIVE] => Y [SORT] => 500 [CODE] => KEY_FACTS [DEFAULT_VALUE] => Array ( [TEXT] => [TYPE] => HTML ) [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => HTML [USER_TYPE_SETTINGS] => Array ( [height] => 200 ) [HINT] => [PROPERTY_VALUE_ID] => 231 [VALUE] => Array ( [TEXT] => <li>Custom-built Linux kernel and OpenWRT image for A/B update mechanism</li> <li>Modified U-Boot for A/B update mechanism </li> <li>Custom implementation of Direct Device Integration (DDI) protocol for an edge device</li> <li>Custom implementation of an Update Server as a cloud service</li> <br> <img width="350" alt="merkoptima.png" src="/upload/medialibrary/0bc/merkoptima.png" height="239" title="merkoptima.png"><br> [TYPE] => HTML ) [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [TEXT] =>
  • Custom-built Linux kernel and OpenWRT image for A/B update mechanism
  • Modified U-Boot for A/B update mechanism
  • Custom implementation of Direct Device Integration (DDI) protocol for an edge device
  • Custom implementation of an Update Server as a cloud service

  • merkoptima.png
    [TYPE] => HTML ) [~DESCRIPTION] => [~NAME] => Key facts [~DEFAULT_VALUE] => Array ( [TEXT] => [TYPE] => HTML ) ) [QUOTE] => Array ( [ID] => 26 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => Quote [ACTIVE] => Y [SORT] => 500 [CODE] => QUOTE [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => Quote [~DEFAULT_VALUE] => ) [QUOTE_EXECUTOR] => Array ( [ID] => 27 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => Quote исполнитель [ACTIVE] => Y [SORT] => 500 [CODE] => QUOTE_EXECUTOR [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => Quote исполнитель [~DEFAULT_VALUE] => ) [QUOTE_PIC] => Array ( [ID] => 28 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => Quote картинка [ACTIVE] => Y [SORT] => 500 [CODE] => QUOTE_PIC [DEFAULT_VALUE] => [PROPERTY_TYPE] => F [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => jpg, gif, bmp, png, jpeg [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => Quote картинка [~DEFAULT_VALUE] => ) [URL] => Array ( [ID] => 29 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => URL сайта в description [ACTIVE] => Y [SORT] => 500 [CODE] => URL [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => URL сайта в description [~DEFAULT_VALUE] => ) [BENEFITS_FOR_CUSTOMERS] => Array ( [ID] => 30 [TIMESTAMP_X] => 0000-00-00 00:00:00 [IBLOCK_ID] => 10 [NAME] => Преимущества для клиентов [ACTIVE] => Y [SORT] => 500 [CODE] => BENEFITS_FOR_CUSTOMERS [DEFAULT_VALUE] => Array ( [TYPE] => HTML [TEXT] => ) [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => Y [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 2 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => HTML [USER_TYPE_SETTINGS] => Array ( [height] => 200 ) [HINT] => [PROPERTY_VALUE_ID] => Array ( [0] => 232 [1] => 233 [2] => 234 [3] => 235 [4] => 236 [5] => 237 ) [VALUE] => Array ( [0] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_0"></figure> <div class="grid_benefits__item__descr"> Cloud-based solution, fast deployment and scaling </div> <br> [TYPE] => HTML ) [1] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_1"></figure> <div class="grid_benefits__item__descr"> Secure device access control system </div> <br> [TYPE] => HTML ) [2] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_2"></figure> <div class="grid_benefits__item__descr">Certificate-based access to artifacts repository </div> [TYPE] => HTML ) [3] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_3"></figure> <div class="grid_benefits__item__descr">Rollouts monitoring system </div> [TYPE] => HTML ) [4] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_4"></figure> <div class="grid_benefits__item__descr">Rollout tasks with load balancing </div> [TYPE] => HTML ) [5] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_5"></figure> <div class="grid_benefits__item__descr">Scales to thousands of devices </div> [TYPE] => HTML ) ) [DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => ) [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [0] => Array ( [TEXT] =>
    Cloud-based solution, fast deployment and scaling

    [TYPE] => HTML ) [1] => Array ( [TEXT] =>
    Secure device access control system

    [TYPE] => HTML ) [2] => Array ( [TEXT] =>
    Certificate-based access to artifacts repository
    [TYPE] => HTML ) [3] => Array ( [TEXT] =>
    Rollouts monitoring system
    [TYPE] => HTML ) [4] => Array ( [TEXT] =>
    Rollout tasks with load balancing
    [TYPE] => HTML ) [5] => Array ( [TEXT] =>
    Scales to thousands of devices
    [TYPE] => HTML ) ) [~DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => ) [~NAME] => Преимущества для клиентов [~DEFAULT_VALUE] => Array ( [TYPE] => HTML [TEXT] => ) ) [TECHNOLOGIES] => Array ( [ID] => 31 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => Технологии [ACTIVE] => Y [SORT] => 500 [CODE] => TECHNOLOGIES [DEFAULT_VALUE] => [PROPERTY_TYPE] => E [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => Y [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 5 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => Array ( [0] => 238 [1] => 239 [2] => 240 [3] => 241 [4] => 242 [5] => 243 [6] => 244 [7] => 245 [8] => 246 [9] => 247 [10] => 248 ) [VALUE] => Array ( [0] => 86 [1] => 87 [2] => 88 [3] => 89 [4] => 85 [5] => 90 [6] => 91 [7] => 92 [8] => 93 [9] => 94 [10] => 95 ) [DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => ) [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [0] => 86 [1] => 87 [2] => 88 [3] => 89 [4] => 85 [5] => 90 [6] => 91 [7] => 92 [8] => 93 [9] => 94 [10] => 95 ) [~DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => ) [~NAME] => Технологии [~DEFAULT_VALUE] => ) [METRIC] => Array ( [ID] => 33 [TIMESTAMP_X] => 2021-11-01 08:25:59 [IBLOCK_ID] => 10 [NAME] => Код метрики кнопки Linkedin [ACTIVE] => Y [SORT] => 500 [CODE] => METRIC [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => 420 [VALUE] => 115 [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => 115 [~DESCRIPTION] => [~NAME] => Код метрики кнопки Linkedin [~DEFAULT_VALUE] => ) ) [DISPLAY_PROPERTIES] => Array ( [KEY_FACTS] => Array ( [ID] => 25 [TIMESTAMP_X] => 0000-00-00 00:00:00 [IBLOCK_ID] => 10 [NAME] => Key facts [ACTIVE] => Y [SORT] => 500 [CODE] => KEY_FACTS [DEFAULT_VALUE] => Array ( [TEXT] => [TYPE] => HTML ) [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => HTML [USER_TYPE_SETTINGS] => Array ( [height] => 200 ) [HINT] => [PROPERTY_VALUE_ID] => 231 [VALUE] => Array ( [TEXT] => <li>Custom-built Linux kernel and OpenWRT image for A/B update mechanism</li> <li>Modified U-Boot for A/B update mechanism </li> <li>Custom implementation of Direct Device Integration (DDI) protocol for an edge device</li> <li>Custom implementation of an Update Server as a cloud service</li> <br> <img width="350" alt="merkoptima.png" src="/upload/medialibrary/0bc/merkoptima.png" height="239" title="merkoptima.png"><br> [TYPE] => HTML ) [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [TEXT] =>
  • Custom-built Linux kernel and OpenWRT image for A/B update mechanism
  • Modified U-Boot for A/B update mechanism
  • Custom implementation of Direct Device Integration (DDI) protocol for an edge device
  • Custom implementation of an Update Server as a cloud service

  • merkoptima.png
    [TYPE] => HTML ) [~DESCRIPTION] => [~NAME] => Key facts [~DEFAULT_VALUE] => Array ( [TEXT] => [TYPE] => HTML ) [DISPLAY_VALUE] =>
  • Custom-built Linux kernel and OpenWRT image for A/B update mechanism
  • Modified U-Boot for A/B update mechanism
  • Custom implementation of Direct Device Integration (DDI) protocol for an edge device
  • Custom implementation of an Update Server as a cloud service

  • merkoptima.png
    ) [TECHNOLOGIES] => Array ( [ID] => 31 [TIMESTAMP_X] => 2021-02-01 12:08:51 [IBLOCK_ID] => 10 [NAME] => Технологии [ACTIVE] => Y [SORT] => 500 [CODE] => TECHNOLOGIES [DEFAULT_VALUE] => [PROPERTY_TYPE] => E [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => Y [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 5 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => Array ( [0] => 238 [1] => 239 [2] => 240 [3] => 241 [4] => 242 [5] => 243 [6] => 244 [7] => 245 [8] => 246 [9] => 247 [10] => 248 ) [VALUE] => Array ( [0] => 86 [1] => 87 [2] => 88 [3] => 89 [4] => 85 [5] => 90 [6] => 91 [7] => 92 [8] => 93 [9] => 94 [10] => 95 ) [DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => ) [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [0] => 86 [1] => 87 [2] => 88 [3] => 89 [4] => 85 [5] => 90 [6] => 91 [7] => 92 [8] => 93 [9] => 94 [10] => 95 ) [~DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => ) [~NAME] => Технологии [~DEFAULT_VALUE] => [DISPLAY_VALUE] => Array ( [0] => U-Boot [1] => OpenWRT [2] => Java [3] => C [4] => Python [5] => Docker [6] => RAUC framework [7] => Grafana [8] => InfluxDB [9] => Chronograf [10] => Syslog-ng ) [LINK_ELEMENT_VALUE] => Array ( [86] => Array ( [ID] => 86 [~ID] => 86 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => U-Boot [~NAME] => U-Boot [DETAIL_PAGE_URL] => /content/detail.php?ID=86 [~DETAIL_PAGE_URL] => /content/detail.php?ID=86 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 86 [~EXTERNAL_ID] => 86 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [87] => Array ( [ID] => 87 [~ID] => 87 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => OpenWRT [~NAME] => OpenWRT [DETAIL_PAGE_URL] => /content/detail.php?ID=87 [~DETAIL_PAGE_URL] => /content/detail.php?ID=87 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 87 [~EXTERNAL_ID] => 87 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [88] => Array ( [ID] => 88 [~ID] => 88 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Java [~NAME] => Java [DETAIL_PAGE_URL] => /content/detail.php?ID=88 [~DETAIL_PAGE_URL] => /content/detail.php?ID=88 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 88 [~EXTERNAL_ID] => 88 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [89] => Array ( [ID] => 89 [~ID] => 89 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => C [~NAME] => C [DETAIL_PAGE_URL] => /content/detail.php?ID=89 [~DETAIL_PAGE_URL] => /content/detail.php?ID=89 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 89 [~EXTERNAL_ID] => 89 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [85] => Array ( [ID] => 85 [~ID] => 85 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Python [~NAME] => Python [DETAIL_PAGE_URL] => /content/detail.php?ID=85 [~DETAIL_PAGE_URL] => /content/detail.php?ID=85 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 85 [~EXTERNAL_ID] => 85 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [90] => Array ( [ID] => 90 [~ID] => 90 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Docker [~NAME] => Docker [DETAIL_PAGE_URL] => /content/detail.php?ID=90 [~DETAIL_PAGE_URL] => /content/detail.php?ID=90 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 90 [~EXTERNAL_ID] => 90 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [91] => Array ( [ID] => 91 [~ID] => 91 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => RAUC framework [~NAME] => RAUC framework [DETAIL_PAGE_URL] => /content/detail.php?ID=91 [~DETAIL_PAGE_URL] => /content/detail.php?ID=91 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 91 [~EXTERNAL_ID] => 91 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [92] => Array ( [ID] => 92 [~ID] => 92 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Grafana [~NAME] => Grafana [DETAIL_PAGE_URL] => /content/detail.php?ID=92 [~DETAIL_PAGE_URL] => /content/detail.php?ID=92 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 92 [~EXTERNAL_ID] => 92 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [93] => Array ( [ID] => 93 [~ID] => 93 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => InfluxDB [~NAME] => InfluxDB [DETAIL_PAGE_URL] => /content/detail.php?ID=93 [~DETAIL_PAGE_URL] => /content/detail.php?ID=93 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 93 [~EXTERNAL_ID] => 93 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [94] => Array ( [ID] => 94 [~ID] => 94 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Chronograf [~NAME] => Chronograf [DETAIL_PAGE_URL] => /content/detail.php?ID=94 [~DETAIL_PAGE_URL] => /content/detail.php?ID=94 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 94 [~EXTERNAL_ID] => 94 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) [95] => Array ( [ID] => 95 [~ID] => 95 [IBLOCK_ID] => 5 [~IBLOCK_ID] => 5 [NAME] => Syslog-ng [~NAME] => Syslog-ng [DETAIL_PAGE_URL] => /content/detail.php?ID=95 [~DETAIL_PAGE_URL] => /content/detail.php?ID=95 [PREVIEW_PICTURE] => [~PREVIEW_PICTURE] => [DETAIL_PICTURE] => [~DETAIL_PICTURE] => [SORT] => 500 [~SORT] => 500 [LANG_DIR] => / [~LANG_DIR] => / [CODE] => [~CODE] => [EXTERNAL_ID] => 95 [~EXTERNAL_ID] => 95 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [IBLOCK_TYPE_ID] => content [~IBLOCK_TYPE_ID] => content [IBLOCK_CODE] => technologies_en [~IBLOCK_CODE] => technologies_en [IBLOCK_EXTERNAL_ID] => [~IBLOCK_EXTERNAL_ID] => [LID] => s2 [~LID] => s2 ) ) ) [BENEFITS_FOR_CUSTOMERS] => Array ( [ID] => 30 [TIMESTAMP_X] => 0000-00-00 00:00:00 [IBLOCK_ID] => 10 [NAME] => Преимущества для клиентов [ACTIVE] => Y [SORT] => 500 [CODE] => BENEFITS_FOR_CUSTOMERS [DEFAULT_VALUE] => Array ( [TYPE] => HTML [TEXT] => ) [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => Y [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 2 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => HTML [USER_TYPE_SETTINGS] => Array ( [height] => 200 ) [HINT] => [PROPERTY_VALUE_ID] => Array ( [0] => 232 [1] => 233 [2] => 234 [3] => 235 [4] => 236 [5] => 237 ) [VALUE] => Array ( [0] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_0"></figure> <div class="grid_benefits__item__descr"> Cloud-based solution, fast deployment and scaling </div> <br> [TYPE] => HTML ) [1] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_1"></figure> <div class="grid_benefits__item__descr"> Secure device access control system </div> <br> [TYPE] => HTML ) [2] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_2"></figure> <div class="grid_benefits__item__descr">Certificate-based access to artifacts repository </div> [TYPE] => HTML ) [3] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_3"></figure> <div class="grid_benefits__item__descr">Rollouts monitoring system </div> [TYPE] => HTML ) [4] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_4"></figure> <div class="grid_benefits__item__descr">Rollout tasks with load balancing </div> [TYPE] => HTML ) [5] => Array ( [TEXT] => <figure class="grid_benefits__item__icon grid_benefits__item__icon_5"></figure> <div class="grid_benefits__item__descr">Scales to thousands of devices </div> [TYPE] => HTML ) ) [DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => ) [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => Array ( [0] => Array ( [TEXT] =>
    Cloud-based solution, fast deployment and scaling

    [TYPE] => HTML ) [1] => Array ( [TEXT] =>
    Secure device access control system

    [TYPE] => HTML ) [2] => Array ( [TEXT] =>
    Certificate-based access to artifacts repository
    [TYPE] => HTML ) [3] => Array ( [TEXT] =>
    Rollouts monitoring system
    [TYPE] => HTML ) [4] => Array ( [TEXT] =>
    Rollout tasks with load balancing
    [TYPE] => HTML ) [5] => Array ( [TEXT] =>
    Scales to thousands of devices
    [TYPE] => HTML ) ) [~DESCRIPTION] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => ) [~NAME] => Преимущества для клиентов [~DEFAULT_VALUE] => Array ( [TYPE] => HTML [TEXT] => ) [DISPLAY_VALUE] => Array ( [0] =>
    Cloud-based solution, fast deployment and scaling

    [1] =>
    Secure device access control system

    [2] =>
    Certificate-based access to artifacts repository
    [3] =>
    Rollouts monitoring system
    [4] =>
    Rollout tasks with load balancing
    [5] =>
    Scales to thousands of devices
    ) ) ) [IBLOCK] => Array ( [ID] => 10 [~ID] => 10 [TIMESTAMP_X] => 02/01/2021 12:25:02 pm [~TIMESTAMP_X] => 02/01/2021 12:25:02 pm [IBLOCK_TYPE_ID] => projects [~IBLOCK_TYPE_ID] => projects [LID] => s2 [~LID] => s2 [CODE] => projects_en [~CODE] => projects_en [NAME] => Проекты_EN [~NAME] => Проекты_EN [ACTIVE] => Y [~ACTIVE] => Y [SORT] => 500 [~SORT] => 500 [LIST_PAGE_URL] => /our-work/index.php?ID=10 [~LIST_PAGE_URL] => /our-work/index.php?ID=10 [DETAIL_PAGE_URL] => #SITE_DIR#/our-work/#ELEMENT_ID#/ [~DETAIL_PAGE_URL] => #SITE_DIR#/our-work/#ELEMENT_ID#/ [SECTION_PAGE_URL] => #SITE_DIR#/our-work/list.php?SECTION_ID=#SECTION_ID# [~SECTION_PAGE_URL] => #SITE_DIR#/our-work/list.php?SECTION_ID=#SECTION_ID# [CANONICAL_PAGE_URL] => [~CANONICAL_PAGE_URL] => [PICTURE] => [~PICTURE] => [DESCRIPTION] => [~DESCRIPTION] => [DESCRIPTION_TYPE] => text [~DESCRIPTION_TYPE] => text [RSS_TTL] => 24 [~RSS_TTL] => 24 [RSS_ACTIVE] => Y [~RSS_ACTIVE] => Y [RSS_FILE_ACTIVE] => N [~RSS_FILE_ACTIVE] => N [RSS_FILE_LIMIT] => [~RSS_FILE_LIMIT] => [RSS_FILE_DAYS] => [~RSS_FILE_DAYS] => [RSS_YANDEX_ACTIVE] => N [~RSS_YANDEX_ACTIVE] => N [XML_ID] => [~XML_ID] => [TMP_ID] => [~TMP_ID] => [INDEX_ELEMENT] => Y [~INDEX_ELEMENT] => Y [INDEX_SECTION] => Y [~INDEX_SECTION] => Y [WORKFLOW] => N [~WORKFLOW] => N [BIZPROC] => N [~BIZPROC] => N [SECTION_CHOOSER] => L [~SECTION_CHOOSER] => L [LIST_MODE] => [~LIST_MODE] => [RIGHTS_MODE] => S [~RIGHTS_MODE] => S [SECTION_PROPERTY] => N [~SECTION_PROPERTY] => N [PROPERTY_INDEX] => N [~PROPERTY_INDEX] => N [VERSION] => 1 [~VERSION] => 1 [LAST_CONV_ELEMENT] => 0 [~LAST_CONV_ELEMENT] => 0 [SOCNET_GROUP_ID] => [~SOCNET_GROUP_ID] => [EDIT_FILE_BEFORE] => [~EDIT_FILE_BEFORE] => [EDIT_FILE_AFTER] => [~EDIT_FILE_AFTER] => [SECTIONS_NAME] => Разделы [~SECTIONS_NAME] => Разделы [SECTION_NAME] => Раздел [~SECTION_NAME] => Раздел [ELEMENTS_NAME] => Элементы [~ELEMENTS_NAME] => Элементы [ELEMENT_NAME] => Элемент [~ELEMENT_NAME] => Элемент [EXTERNAL_ID] => [~EXTERNAL_ID] => [LANG_DIR] => / [~LANG_DIR] => / [SERVER_NAME] => rtsoft.de/ [~SERVER_NAME] => rtsoft.de/ ) [SECTION] => Array ( [PATH] => Array ( ) ) [SECTION_URL] => [META_TAGS] => Array ( [ELEMENT_CHAIN] => OTA update for PoS Terminals [BROWSER_TITLE] => [KEYWORDS] => [DESCRIPTION] => ) )
    More projects
    OTA update for smart energy controllers

    This update system is a cloud solution designed to increase the efficiency of automatic deployment of new software versions across the entire fleet of Smart Meters, store and update software in the cloud, and swiftly eliminate software bugs and security holes.

    One of our partners, a prominent manufacturer of controllers and smart meters for power industry automation, oreder us to develop a software cloud solution for updating smart meter systems. This task is critical for managing a fleet of connected devices, either completely autonomous or not available for qualified on-site maintenance.

    System features

    The system is based on the RITMS UP2DATE platform created by RTSoft engineers. The platform allows users to update software swiftly, efficiently and reliably both in the global network and in corporate networks, including OEM partners.

    The solution contains the following main components:

    • An integrating and managing cloud component

    • Embedded software for remote devices 

    Computer vision for people flow analysis in an underground metro station

    One of our customers, a CCTV system integration company, requested us to develop a system to count people and measure people flow in underground metro. The purpose of the system is to assist platform load and passenger queues. The video surveillance system had been already deployed there and RTSoft should propose a hardware and software add-on by a very competitive price. 

    RTSoft helps customers to build AI + IoT applications through integration of computer vision, data analysis and augmented reality.  Our experience in embedded platforms (Intel Movidius, Nvidia Jetson, Google Coral) and dedicated ML frameworks (Openvino, TensorRT, TFLite) made it possible to fulfill this project.

    System features:

    • Visitors headcount

    • Crowd headcount

    • Queue detector

    • GDPRA compliance 


    OTA update for PoS Terminals
    RTSoft has been tasked by major IT provider of automation systems for Retail industry to develop a solution for remote update of software (operating system and/or application) for a family of devices PoS terminals.

    The solution should allow an automatic rollback in case of update failures such as connectivity problem or unexpected power loss, implement versioning and secure delivery mechanisms, and be customizable for future integrations.

    Additionally, the solution should include a cloud back-end service for device and software repository, content delivery and rollout management.

    The target devices’s characteristics are:

    • SoC: Mediatek MT7688
    • Flash memory: 64MB
    • Operating system: Linux (OpenWRT)

    STM32MP1 customized firmware manages smart robotics operations

    RTSoft designed and developed the firmware for a smart robotics controller that makes the controller an excellent platform for educational and business uses. 

    The system software implements the abstraction interface for work with various sensors and actuators like ultrasonic, camera, thermo, photo, encoder motor, servo motor and many others in Real-Time. The programming API is available in python and C/C++. 

    The robotics platform features the color touch display with the graphical interface, which can also be customized by a user via the programming API.

    Besides on-board GUI the solution implements two remote interfaces: WebDAV and ssh. Integration with a cloud is supported via MQTT protocol. 

    The connectivity is available via WiFi, Bluetooth and USB Ethernet. SD card and USB flash drives can be used to distribute data to/from the controller. Multiple controllers can be connected with each other via CAN interface where a Master controller can seamlessly operate with remote sensors and actuators connected to a Slave controller(s) in the same real-time manner.


    This website uses cookies. By continuing to browse website you are agreeing to our use of cookies.

    OK