{"id":24811182,"url":"https://github.com/thin-edge/takebishi-devicegateway","last_synced_at":"2026-02-10T04:32:33.814Z","repository":{"id":234432018,"uuid":"788304568","full_name":"thin-edge/takebishi-devicegateway","owner":"thin-edge","description":"Takebishi DeviceGateway integration with thin-edge.io","archived":false,"fork":false,"pushed_at":"2024-04-23T08:43:59.000Z","size":5314,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-03T06:39:21.222Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thin-edge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-18T06:52:26.000Z","updated_at":"2024-04-23T08:44:02.000Z","dependencies_parsed_at":"2024-04-23T10:29:55.874Z","dependency_job_id":"39c0ed77-202c-49ca-b945-d900d66a5df5","html_url":"https://github.com/thin-edge/takebishi-devicegateway","commit_stats":null,"previous_names":["thin-edge/takebishi-devicegateway"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thin-edge/takebishi-devicegateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Ftakebishi-devicegateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Ftakebishi-devicegateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Ftakebishi-devicegateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Ftakebishi-devicegateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thin-edge","download_url":"https://codeload.github.com/thin-edge/takebishi-devicegateway/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Ftakebishi-devicegateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29290990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T03:42:42.660Z","status":"ssl_error","status_checked_at":"2026-02-10T03:42:41.897Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-30T12:19:35.286Z","updated_at":"2026-02-10T04:32:33.775Z","avatar_url":"https://github.com/thin-edge.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Installation Manual\n\n## Overview\n\n\u003e [!NOTE]\n\u003e We can use Takebishi DeviceGateway \u0026 thin-edge.io either in combination with the Cumulocity IoT OPC-UA gateway or directly with the thin-edge (via MQTT).\n\u003e The second option is more lightweight but requires a little bit knowledge of the thin-edge.io MQTT data model (https://thin-edge.github.io/thin-edge.io/understand/thin-edge-json/).\n\n## Prerequisites\n\n- A tenant in Cumulocity IoT with OPC-UA feature enabled\n- A license for Takebishi DeviceGateway\n- docker and docker compose installed\n\n## Installation\n\n### Setup \n1. Follow the instructions to [install](https://thin-edge.github.io/thin-edge.io/install/) thin-edge and [connect](https://thin-edge.github.io/thin-edge.io/start/connect-c8y/) it to our Cumulocity IoT account\n2. Copy the ```opcua``` folder (or the ```thin-edge_only``` folder in case of not using OPC-UA) of this repository onto our thin-edge device (or clone the whole repository).\n3. Create the following folders on our thin-edge device\n   ```console\n   sudo mkdir /etc/opcua\n   sudo mkdir /etc/takebishi\n   sudo mkdir /etc/takebishi/sd_card\n   sudo mkdir /etc/takebishi/data\n   ```\n4. Copy our Takebishi license file into the folder ```/etc/takebishi/sd_card```\n5. Adjust the ```.env``` file to our liking. The OPCUA_GATEWAY_IDENTIFIER needs to be unique within our Cumulocity IoT tenant\n6. Start the docker from within the opcua (or thin-edge_only) folder\n    ```console\n    sudo docker compose up\n    ```\n    The images for the Cumulocity IoT OPC-UA gateway and for Takebishi DeviceGateway should be pulled automatically. Otherwise please check the FAQ ([Cumulocity IoT OPC-UA Gateway](#where-can-i-find-the-docker-image-for-cumulocity-iot-opc-ua-gateway?)\n    \u0026 [Takebishi DeviceGateway](#where-can-i-find-the-docker-image-for-takebishi-devicegateway?))\n\n### Configuration DeviceGateway\nOnce the containers have started we can access the DeviceGateway GUI on localhost:80.\nWe can log in with the default user (username: administrator / password: admin)\n\n![DeviceGateway login](pics/login_devicegateway.png)\n\nFirst we should verify that the license file was correctly recognized. For that we can navigate to Management-\u003eInformation-\u003eVersion and check the ```Serial```\n\n![DeviceGateway license check](pics/license_check_devicegateway.png)\n\n\u003e [!NOTE]\n\u003e The remaining steps are only needed if using OPC-UA\n\nAs the final step we have to activate the OPC-UA server within DeviceGateway. For that we can navigate to IoT Interface-\u003eOPC UA-\u003eServer Configuration and set the OPC-UA server to valid. For the rest of this guide we will assume we use the default configuration.\n\n![DeviceGateway OPC-UA configuration](pics/opcua_config_devicegateway.png)\n\nFinally we can start the server from the summary page.\n\n![DeviceGateway OPC-UA status](pics/opcua_status_devicegateway.png)\n\n### Configuration Cumulocity IoT\n\n\u003e [!NOTE]\n\u003e This can be skiped in case of not using OPC-UA\n\nAt this point in Cumulocity IoT Devicemanagement we should see two device objects\n1. The thin-edge device\n2. The OPC-UA gateway\n\nNavigating to the gateway object in the next step we will connect to the OPC-UA server running within Takebishi DeviceGateway.\nFor that go to the ```OPC UA Server``` screen on the gateway device and add a new server.\nAs the ```Server URL``` we have to enter ```opc.tcp://takebishi-device-gateway:52220``` (not the URL that might be shown in the DeviceGateway GUI)\n\n![Cumulocity IoT Add OPC-UA server](pics/opcua_add_server_cumulocity.png)\n\nAfterwards we should see a new device added in Cumulocity IoT (as a child device of the gateway).\nWe can navigate to the device and see the OPC-UA address space (it might take a couple of minutes until the gateway has scanned and synced the address space to the cloud).\n\n![Cumulocity IoT OPC-UA address space](pics/opcua_address_space_cumulocity.png)\n\nOnce we are adding data sources in the DeviceGateway they will automatically show up in the OPC-UA address space under Root-\u003eObjects-\u003eDataSource\n\n### Sending data\n\nHere are two examples utilizing the simulation features within Takebishi DeviceGateway to send data to Cumulocity.\n\n[Example with OPC-UA](/docs/example_opc_ua.md)\n\n[Example with MQTT](/docs/example_mqtt.md)\n\n## Optional features\n\n### Managing the Takebishi license file through Cumulocity IoT\n\n\u003e [!NOTE]\n\u003e This section only applies if we are using a temporary trial license file. If we are using a commercial license, the license management works via Takebishi's license server. See the FAQ [How do I get a DeviceGateway license?](#how-do-i-get-a-license-for-takebishi-devicegateway?)\n\nWe can manage (and replace) the Takebishi license file as a configuration through Cumulocity IoT. For that first go to the thin-edge configuration for the configuration plugin under ```/etc/tedge/plugins/tedge-configuration-plugin.toml```\nIn this file add the row ```{ path = '/etc/takebishi/sd_card/DeviceGateway.lic', type = 'device-gateway.lic' },```\n\nAfter a restart of the thin-edge the new configuration file should appear in the Cumulocity IoT UI.\n\n![Manage license in Cumulocity IoT](pics/license_view_cumulocity.png)\n\n### Accessing the Takebishi GUI through VNC via Cumulocity IoT Cloud Remote Access\n\n\u003e [!NOTE] \n\u003e For this manual we will utilize TigerVNC. Cumulocity IoT Cloud Remote Access has also been tested with other VNC servers. If we use another VNC server the setup might be slightly different.\n\n\u003e [!IMPORTANT] \n\u003e Please ensure that our Cumulocity IoT tenant has the microservice \"Cloud-remote-access\" subscribed.\n\nFirst we install TigerVNC onto the device:\n```sudo apt install tigervnc-standalone-server```\n\nAfter installation we will need to set a VNC password\n```tigervncpasswd```\n\nIn order to have TigerVNC starting on system boot we will create a systemd entry.\nUnder ```/etc/systemd/system``` create a file ```tigervnc.service``` with the following content. We can exchange ```mysuer``` with the user we want to let the service run under.\n\n```\n[Unit]\nDescription=Remote desktop service (VNC)\nAfter=syslog.target network.target\n\n[Service]\nType=simple\nUser=myuser\nPAMName=myuser\nPIDFile=/home/myuser/.vnc/%H%i.pid\nExecStart=/usr/bin/tigervncserver -fg :1\nExecStop=/usr/bin/tigervncserver -kill%i\n\n[Install]\nWantedBy=multi-user.target\n```\n\nAfterwards we start the service\n```sudo systemctl start tigervnc```\n\nIn Cumulocity IoT we will go to our thin-edge device in the Devicemanagement to the Remote Access screen. Here we now can add a new endpoint. With the above service configuration the port to configure is 5901.\n\n![Gain VNC access](pics/vnc_cumulocity.png)\n\n## FAQ\n\n### How do I get a license for Takebishi DeviceGateway?\n\nIf you need a temporary trial license please get in contact with Takebishi or the Software AG partner team.\nCommercial licenses can be acquired from the Takebishi web store https://www.faweb.net/en/support/order-online/#dgw\nIn case of commercial licenses you will need to install the license management server from Takebishi (which is available as docker as well https://www.faweb.net/en/download/download).\n\n### Where can I find the docker image for Takebishi DeviceGateway?\n\nThe download of the docker image can be either found under https://www.faweb.net/en/download/download/#devicegateway or in the AWS docker repository under https://gallery.ecr.aws/takebishi/tkbs-dgwd20\n```console\ndocker pull public.ecr.aws/takebishi/tkbs-dgwd20:\u003cversion\u003e\n```\n\n### Where can I find the docker image for Cumulocity IoT OPC-UA Gateway?\n\nThe download of the docker image can be found under https://github.com/thin-edge/opcua-device-gateway-container/pkgs/container/opcua-device-gateway\n```console\ndocker pull ghcr.io/thin-edge/opcua-device-gateway:\u003cversion\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthin-edge%2Ftakebishi-devicegateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthin-edge%2Ftakebishi-devicegateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthin-edge%2Ftakebishi-devicegateway/lists"}