{"id":1138,"date":"2023-08-16T09:10:00","date_gmt":"2023-08-16T09:10:00","guid":{"rendered":"https:\/\/joseamaita.com\/en\/?p=1138"},"modified":"2023-08-16T14:37:50","modified_gmt":"2023-08-16T14:37:50","slug":"opc-router-tutorial-linux","status":"publish","type":"post","link":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/","title":{"rendered":"OPC Router Tutorial Linux"},"content":{"rendered":"\n<p>Following the fourth part of the <a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial\/\">OPC Router tutorial<\/a>, I&#8217;m presenting how to run an OPC Router application in a Linux operating system with Docker on a <a href=\"https:\/\/www.raspberrypi.com\/\">Raspberry Pi<\/a> 4. Remember, we&#8217;re configuring and running a project for &#8220;Pap\u00edn&#8221;, a fictional potato bread factory.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Why_an_OPC_Router_tutorial_with_Linux\" >Why an OPC Router tutorial with Linux?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Prerequisites\" >Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Schematic_Diagram\" >Schematic Diagram<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Getting_Started\" >Getting Started<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Configure_OPC_Router_service_for_Docker\" >Configure OPC Router service for Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#Check_your_Linux_Docker_service_with_OPC_Router\" >Check your Linux Docker service with OPC Router<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_an_OPC_Router_tutorial_with_Linux\"><\/span>Why an OPC Router tutorial with Linux?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Because \u201clearning by doing\u201d with examples is fun. Also, this particular functionality can bring us an exciting use case: the possibility of running data acquisition applications in operating systems other than Windows, which could result in better performance, fewer resources to consume, and less expensive hardware. See below a list of posts that complete this tutorial:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial\/\">Getting Started with OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-sql\/\">Connect an OPC DA server to Microsoft SQL Server<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-mqtt\/\">Connect an MQTT data source to InfluxDB Cloud<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-calculator\/\">Perform multiple calculations within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\">Run an OPC Router application with Linux and Docker<\/a> (this post)<\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-simulator\/\">Build a process data simulator with Python, CSV and OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-rest\/\">Explore basic RESTful web services within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-telegram\/\">Build a Telegram basic interaction within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-sms\/\">Build an SMS basic interaction within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-whatsapp\/\">Build a WhatsApp basic interaction within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-teams\/\">Build a Teams basic interaction within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-backend\/\">Explore advanced RESTful web services within OPC Router<\/a><\/li><li><a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-portainer\/\">Run an OPC Router application with Portainer<\/a><\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Firstly, you\u2019ll need:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Raspberry Pi 4 \ud83c\udf47<\/li><li>Ethernet network \u27bf<\/li><li>Schematic diagram \ud83d\udcdd<\/li><li><a href=\"https:\/\/joseamaita.com\/en\/ubuntu-server-on-a-raspberry-pi\/\">Installation of Ubuntu Server on a Raspberry Pi<\/a> post with Docker \ud83d\udcd3<\/li><li><strong>OPC Router Config<\/strong> application \ud83d\udcbb<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schematic_Diagram\"><\/span>Schematic Diagram<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To illustrate this idea better, look at this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"813\" height=\"331\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_024.png\" alt=\"\" class=\"wp-image-1194\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_024.png 813w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_024-300x122.png 300w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_024-768x313.png 768w\" sizes=\"auto, (max-width: 813px) 100vw, 813px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Getting_Started\"><\/span>Getting Started<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>First, run&nbsp;<strong>OPC Router Config<\/strong>.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"315\" height=\"116\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_006.png\" alt=\"opc router tutorial linux 1\" class=\"wp-image-267\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_006.png 315w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_006-300x110.png 300w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Wait for the&nbsp;<strong>OPC Router 4<\/strong>&nbsp;GUI to load.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"485\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_007.png\" alt=\"opc router tutorial linux 2\" class=\"wp-image-269\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_007.png 428w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_007-265x300.png 265w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Then, you should see something like this in the&nbsp;<em>Start<\/em>&nbsp;tab:<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008-1024x553.png\" alt=\"opc router tutorial linux 3\" class=\"wp-image-272\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008-1024x553.png 1024w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008-300x162.png 300w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008-768x414.png 768w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008-1536x829.png 1536w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/05\/img_p_04_008.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_OPC_Router_service_for_Docker\"><\/span>Configure OPC Router service for Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>To begin with, go to the &#8220;Plug-ins&#8221; section to configure the OPC Router service.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"348\" height=\"312\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_002.png\" alt=\"opc router tutorial linux 4\" class=\"wp-image-1149\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_002.png 348w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_002-300x269.png 300w\" sizes=\"auto, (max-width: 348px) 100vw, 348px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Following this, choose &#8220;Manual Docker setup&#8221;.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"355\" height=\"323\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_003.png\" alt=\"opc router tutorial linux 5\" class=\"wp-image-1150\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_003.png 355w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_003-300x273.png 300w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>In &#8220;Basic settings&#8221;, set your &#8220;Service Name&#8221; as the name of your Docker container.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_004.png\" alt=\"opc router tutorial linux 6\" class=\"wp-image-1152\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_004.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_004-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>After that, set your &#8220;Version&#8221; as the name of the latest runtime Docker container available and keep your desired timezone.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_005.png\" alt=\"opc router tutorial linux 7\" class=\"wp-image-1154\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_005.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_005-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Also, press the &#8220;Set access data&#8221; button to specify authentication details to your Docker container.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_006.png\" alt=\"opc router tutorial linux 8\" class=\"wp-image-1156\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_006.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_006-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Enter your username and password.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"456\" height=\"313\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_007.png\" alt=\"opc router tutorial linux 9\" class=\"wp-image-1158\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_007.png 456w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_007-300x206.png 300w\" sizes=\"auto, (max-width: 456px) 100vw, 456px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>At this point, watch your user credentials in &#8220;Access data&#8221;.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_008.png\" alt=\"opc router tutorial linux 10\" class=\"wp-image-1159\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_008.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_008-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Press the &#8220;Portmappings&#8221; button to start exposing desired ports to reach.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_009.png\" alt=\"opc router tutorial linux 11\" class=\"wp-image-1160\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_009.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_009-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Select &#8220;UA server(49420:49420)&#8221; for this use case.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"486\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_010.png\" alt=\"opc router tutorial linux 12\" class=\"wp-image-1161\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_010.png 464w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_010-286x300.png 286w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Press the &#8220;OK&#8221; button to save changes.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"486\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_011.png\" alt=\"\" class=\"wp-image-1162\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_011.png 464w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_011-286x300.png 286w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Accept the End User License Agreement (EULA) and press the &#8220;Next&#8221; button.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_012.png\" alt=\"\" class=\"wp-image-1164\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_012.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_012-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Watch the command that will create and run your OPC Router Docker container.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_013.png\" alt=\"\" class=\"wp-image-1167\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_013.png 621w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_013-300x181.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Copy and paste this command:<\/li><\/ul>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>docker run -d -p 51515:27017 -p 49420:49420 --env TZ=America\/Caracas --env OR_DATABASE_USERNAME=opc-router --env MONGO_INITDB_ROOT_USERNAME=opc-router --env OR_DATABASE_PASSWORD=opc-router --env MONGO_INITDB_ROOT_PASSWORD=opc-router --env MONGO_ENABLE_AUTHENTICATION=true --env MONGO_ENABLE_TLS=true --env OR_DATABASE_ENABLE_TLS=true -v opc-router-opc-router-db:\/data\/db -v opc-router-opc-router-cert:\/root\/.dotnet\/corefx\/cryptography\/x509stores\/ --name opc-router --restart=unless-stopped  opcrouter\/runtime:latest --i-accept-eula<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_014.png\" alt=\"\" class=\"wp-image-1168\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_014.png 621w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_014-300x181.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Connect to the Raspberry Pi using SSH and paste the command to run.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"151\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_015.png\" alt=\"\" class=\"wp-image-1170\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_015.png 979w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_015-300x46.png 300w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_015-768x118.png 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Then, press &lt;Enter&gt; and wait for the download of the &#8220;opcrouter\/runtime:latest&#8221; Docker image.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"808\" height=\"452\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_016.png\" alt=\"\" class=\"wp-image-1173\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_016.png 808w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_016-300x168.png 300w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_016-768x430.png 768w\" sizes=\"auto, (max-width: 808px) 100vw, 808px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Watch for the creation of the &#8220;opc-router&#8221; Docker container.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"481\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_017.png\" alt=\"\" class=\"wp-image-1175\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_017.png 709w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_017-300x204.png 300w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Also, monitor your recently created &#8220;opc-router&#8221; Docker container by running:<\/li><\/ul>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>$ docker ps<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"120\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-1.png\" alt=\"\" class=\"wp-image-1223\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-1.png 768w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-1-300x47.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"120\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-2.png\" alt=\"\" class=\"wp-image-1224\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-2.png 865w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-2-300x42.png 300w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_018-2-768x107.png 768w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Check_your_Linux_Docker_service_with_OPC_Router\"><\/span>Check your Linux Docker service with OPC Router<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Go back to <strong>OPC Router Config<\/strong>, make sure you have the correct Raspberry Pi IP address and user credentials. Then, press the &#8220;Test&#8221; button to test connectivity.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_019.png\" alt=\"\" class=\"wp-image-1178\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_019.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_019-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Press the &#8220;OK&#8221; button to confirm the valid connection.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_020.png\" alt=\"\" class=\"wp-image-1179\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_020.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_020-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>So, press the &#8220;Done&#8221; button to to complete this step.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"374\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_021.png\" alt=\"\" class=\"wp-image-1181\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_021.png 620w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_021-300x181.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>At this point, see the connection to the newly integrated &#8220;opc-router&#8221; service.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"1024\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_022-349x1024.png\" alt=\"\" class=\"wp-image-1182\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_022-349x1024.png 349w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_022-102x300.png 102w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_022.png 353w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Finally, you&#8217;re ready to add plugins and transfer objects to run on your Raspberry Pi. Notice that some plugins are not supported on the target system because only works on Windows.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"551\" height=\"1024\" src=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_023-551x1024.png\" alt=\"\" class=\"wp-image-1183\" srcset=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_023-551x1024.png 551w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_023-162x300.png 162w, https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_023.png 559w\" sizes=\"auto, (max-width: 551px) 100vw, 551px\" \/><\/figure>\n\n\n\n<p>Did you enjoy this OPC Router tutorial with Linux? I\u2019d love to hear from you.<\/p>\n\n\n\n<p>Stay tuned and follow part 6 of this tutorial! \ud83d\ude0e<\/p>\n\n\n\n<p>For other articles like this one in English, click&nbsp;<a href=\"https:\/\/joseamaita.com\/en\/blog\/\">here<\/a>. To see them in Spanish, click&nbsp;<a href=\"https:\/\/joseamaita.com\/blog\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Following the fourth part of the OPC Router tutorial, I&#8217;m presenting how to run an OPC Router application in a Linux operating system with Docker on a Raspberry Pi 4. Remember, we&#8217;re configuring and running a project for &#8220;Pap\u00edn&#8221;, a fictional potato bread factory. Why an OPC Router tutorial with Linux? Because \u201clearning by doing\u201d&hellip;&nbsp;<a href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">OPC Router Tutorial Linux<\/span><\/a><\/p>\n<div class='heateor_sss_sharing_container heateor_sss_vertical_sharing heateor_sss_bottom_sharing' style='width:44px;left: -10px;top: 100px;-webkit-box-shadow:none;box-shadow:none;' data-heateor-sss-href='https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138'><div class=\"heateor_sss_sharing_ul\"><a aria-label=\"Facebook\" class=\"heateor_sss_facebook\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138\" title=\"Facebook\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#0765FE;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path fill=\"#fff\" d=\"M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z\"><\/path><\/svg><\/span><\/a><a aria-label=\"Twitter\" class=\"heateor_sss_button_twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?text=joseamaita.com%20-%20The%20place%20where%20I%20make%20things%20happen.&url=https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138\" title=\"Twitter\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_twitter\" style=\"background-color:#55acee;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-4 -4 39 39\"><path d=\"M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Linkedin\" class=\"heateor_sss_button_linkedin\" href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138\" title=\"Linkedin\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_linkedin\" style=\"background-color:#0077b5;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path d=\"M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Whatsapp\" class=\"heateor_sss_whatsapp\" href=\"https:\/\/api.whatsapp.com\/send?text=joseamaita.com%20-%20The%20place%20where%20I%20make%20things%20happen.%20https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138\" title=\"Whatsapp\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#55eb4c;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-6 -5 40 40\"><path class=\"heateor_sss_svg_stroke heateor_sss_no_fill\" stroke=\"#fff\" stroke-width=\"2\" fill=\"none\" d=\"M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046\"><\/path><path d=\"M 7 19 l -1 6 l 6 -1\" class=\"heateor_sss_no_fill heateor_sss_svg_stroke\" stroke=\"#fff\" stroke-width=\"2\" fill=\"none\"><\/path><path d=\"M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Telegram\" class=\"heateor_sss_button_telegram\" href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138&text=joseamaita.com%20-%20The%20place%20where%20I%20make%20things%20happen.\" title=\"Telegram\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_telegram\" style=\"background-color:#3da5f1;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path fill=\"#fff\" d=\"M25.515 6.896L6.027 14.41c-1.33.534-1.322 1.276-.243 1.606l5 1.56 1.72 5.66c.226.625.115.873.77.873.506 0 .73-.235 1.012-.51l2.43-2.363 5.056 3.734c.93.514 1.602.25 1.834-.863l3.32-15.638c.338-1.363-.52-1.98-1.41-1.577z\"><\/path><\/svg><\/span><\/a><a aria-label=\"Reddit\" class=\"heateor_sss_button_reddit\" href=\"https:\/\/reddit.com\/submit?url=https%3A%2F%2Fjoseamaita.com%2Fen%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1138&title=joseamaita.com%20-%20The%20place%20where%20I%20make%20things%20happen.\" title=\"Reddit\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_reddit\" style=\"background-color:#ff5700;width:40px;height:40px;margin:0;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-3.5 -3.5 39 39\"><path d=\"M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z\" fill=\"#fff\"\/><\/svg><\/span><\/a><a class=\"heateor_sss_more\" aria-label=\"More\" title=\"More\" rel=\"nofollow noopener\" style=\"font-size: 32px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;\" href=\"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138\" onclick=\"event.preventDefault()\"><span class=\"heateor_sss_svg\" style=\"background-color:#ee8e2d;width:40px;height:40px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;\" onclick=\"heateorSssMoreSharingPopup(this, 'https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138', 'joseamaita.com%20-%20The%20place%20where%20I%20make%20things%20happen.', '' )\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"-.3 0 32 32\" version=\"1.1\" width=\"100%\" height=\"100%\" style=\"display:block;\" xml:space=\"preserve\"><g><path fill=\"#fff\" d=\"M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z\" fill-rule=\"evenodd\"><\/path><\/g><\/svg><\/span><\/a><\/div><div class=\"heateorSssClear\"><\/div><\/div>","protected":false},"author":1,"featured_media":1146,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[5,3,22,30,35],"tags":[37,25,23,32,36],"class_list":["post-1138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-english","category-industrial-automation","category-opc-router","category-raspberry-pi","category-ubuntu","tag-docker","tag-industrial-automation","tag-opc-router","tag-raspberry-pi","tag-ubuntu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>OPC Router Tutorial Linux - joseamaita.com<\/title>\n<meta name=\"description\" content=\"Following the fourth part of the OPC Router tutorial, I&#039;m presenting how to run an OPC Router application using Linux and Docker on an RPi 4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OPC Router Tutorial Linux - joseamaita.com\" \/>\n<meta property=\"og:description\" content=\"Following the fourth part of the OPC Router tutorial, I&#039;m presenting how to run an OPC Router application using Linux and Docker on an RPi 4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"joseamaita.com\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-16T09:10:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-16T14:37:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png\" \/>\n\t<meta property=\"og:image:width\" content=\"335\" \/>\n\t<meta property=\"og:image:height\" content=\"367\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jos\u00e9 Alberto Maita\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos\u00e9 Alberto Maita\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\"},\"author\":{\"name\":\"Jos\u00e9 Alberto Maita\",\"@id\":\"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4\"},\"headline\":\"OPC Router Tutorial Linux\",\"datePublished\":\"2023-08-16T09:10:00+00:00\",\"dateModified\":\"2023-08-16T14:37:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\"},\"wordCount\":617,\"image\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png\",\"keywords\":[\"Docker\",\"Industrial Automation\",\"OPC Router\",\"Raspberry Pi\",\"Ubuntu\"],\"articleSection\":[\"English\",\"Industrial Automation\",\"OPC Router\",\"Raspberry Pi\",\"Ubuntu\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\",\"url\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\",\"name\":\"OPC Router Tutorial Linux - joseamaita.com\",\"isPartOf\":{\"@id\":\"https:\/\/joseamaita.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png\",\"datePublished\":\"2023-08-16T09:10:00+00:00\",\"dateModified\":\"2023-08-16T14:37:50+00:00\",\"author\":{\"@id\":\"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4\"},\"description\":\"Following the fourth part of the OPC Router tutorial, I'm presenting how to run an OPC Router application using Linux and Docker on an RPi 4.\",\"breadcrumb\":{\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage\",\"url\":\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png\",\"contentUrl\":\"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png\",\"width\":335,\"height\":367},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/joseamaita.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OPC Router Tutorial Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/joseamaita.com\/en\/#website\",\"url\":\"https:\/\/joseamaita.com\/en\/\",\"name\":\"joseamaita.com\",\"description\":\"The place where I make things happen.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/joseamaita.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4\",\"name\":\"Jos\u00e9 Alberto Maita\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/joseamaita.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dfc4d3fa06e5fa2aee2ef3834715e1b8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dfc4d3fa06e5fa2aee2ef3834715e1b8?s=96&d=mm&r=g\",\"caption\":\"Jos\u00e9 Alberto Maita\"},\"url\":\"https:\/\/joseamaita.com\/en\/author\/joseamaita\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OPC Router Tutorial Linux - joseamaita.com","description":"Following the fourth part of the OPC Router tutorial, I'm presenting how to run an OPC Router application using Linux and Docker on an RPi 4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/","og_locale":"en_US","og_type":"article","og_title":"OPC Router Tutorial Linux - joseamaita.com","og_description":"Following the fourth part of the OPC Router tutorial, I'm presenting how to run an OPC Router application using Linux and Docker on an RPi 4.","og_url":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/","og_site_name":"joseamaita.com","article_published_time":"2023-08-16T09:10:00+00:00","article_modified_time":"2023-08-16T14:37:50+00:00","og_image":[{"width":335,"height":367,"url":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","type":"image\/png"}],"author":"Jos\u00e9 Alberto Maita","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jos\u00e9 Alberto Maita","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#article","isPartOf":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/"},"author":{"name":"Jos\u00e9 Alberto Maita","@id":"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4"},"headline":"OPC Router Tutorial Linux","datePublished":"2023-08-16T09:10:00+00:00","dateModified":"2023-08-16T14:37:50+00:00","mainEntityOfPage":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/"},"wordCount":617,"image":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","keywords":["Docker","Industrial Automation","OPC Router","Raspberry Pi","Ubuntu"],"articleSection":["English","Industrial Automation","OPC Router","Raspberry Pi","Ubuntu"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/","url":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/","name":"OPC Router Tutorial Linux - joseamaita.com","isPartOf":{"@id":"https:\/\/joseamaita.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage"},"image":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","datePublished":"2023-08-16T09:10:00+00:00","dateModified":"2023-08-16T14:37:50+00:00","author":{"@id":"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4"},"description":"Following the fourth part of the OPC Router tutorial, I'm presenting how to run an OPC Router application using Linux and Docker on an RPi 4.","breadcrumb":{"@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#primaryimage","url":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","contentUrl":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","width":335,"height":367},{"@type":"BreadcrumbList","@id":"https:\/\/joseamaita.com\/en\/opc-router-tutorial-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/joseamaita.com\/en\/"},{"@type":"ListItem","position":2,"name":"OPC Router Tutorial Linux"}]},{"@type":"WebSite","@id":"https:\/\/joseamaita.com\/en\/#website","url":"https:\/\/joseamaita.com\/en\/","name":"joseamaita.com","description":"The place where I make things happen.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/joseamaita.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/joseamaita.com\/en\/#\/schema\/person\/b53d49d3ddf8f348fed0d484b541b1a4","name":"Jos\u00e9 Alberto Maita","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/joseamaita.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dfc4d3fa06e5fa2aee2ef3834715e1b8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dfc4d3fa06e5fa2aee2ef3834715e1b8?s=96&d=mm&r=g","caption":"Jos\u00e9 Alberto Maita"},"url":"https:\/\/joseamaita.com\/en\/author\/joseamaita\/"}]}},"jetpack_featured_media_url":"https:\/\/joseamaita.com\/en\/wp-content\/uploads\/sites\/2\/2022\/07\/img_p_11_001.png","_links":{"self":[{"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/comments?post=1138"}],"version-history":[{"count":49,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138\/revisions"}],"predecessor-version":[{"id":2819,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/posts\/1138\/revisions\/2819"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/media\/1146"}],"wp:attachment":[{"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/media?parent=1138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/categories?post=1138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joseamaita.com\/en\/wp-json\/wp\/v2\/tags?post=1138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}