{"id":1911,"date":"2019-10-10T19:48:12","date_gmt":"2019-10-10T19:48:12","guid":{"rendered":"http:\/\/bryceautomation.com\/?p=1911"},"modified":"2021-09-23T08:29:26","modified_gmt":"2021-09-23T08:29:26","slug":"alexa-voice-commands-to-plc","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/","title":{"rendered":"Alexa Voice Commands to PLC"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to Alexa voice commands to PLC<\/h3>\n\n\n\n<p>In this post, we will discuss how to send Alexa voice commands to a PLC.   This is a simple process, but requires several steps.   I&#8217;m simply doing an experiment to allow an Alexa voice commands to turn on various inputs on a PLC module.  This document is As-Is, and use at your own risk.   Be sure you have knowledge of all safety factors before utilizing this document.<\/p><div id=\"bryce-3733988269\" class=\"bryce-afterfirst bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"7728240895\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<p>Basically, we will tell Alexa to turn a light on.  An ESP8266 module will receive this command.  In turn, this will energize an input on a TTL (Transistor-Transistor Logic) module.   <\/p>\n\n\n\n<p>I will list the hardware I used:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>An Amazon Echo Dot<\/li><li>Allen Bradley ControlLogix, SLC-500, or PLC-5 with a TTL card<\/li><li>ESP8266-12E Development board.  (with Micro-USB cable)<\/li><li>An old Cat-5 Ethernet cable (8 conductors)<\/li><li>Programming cable for the PLC<\/li><\/ul>\n\n\n\n<p>Then there is some software and subscriptions you will need to free web sites.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>RSLogix 5, RSLogix 500, or RSLogix 5000 (Studio 5000) depending on your PLC system (non-free software)<\/li><li>Subscribe to <a href=\"http:\/\/sinric.com\/\">Sinric.com<\/a><\/li><li>Install the APP for  <a href=\"http:\/\/alexa.amazon.com\">Alexa on your phone,<\/a> and set up your Echo device. <\/li><li><a href=\"http:\/\/arduino.cc\/\">Arduino IDE (free to download)<\/a><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Sinric Setup<\/h3>\n\n\n\n<p>First, go to <a href=\"http:\/\/sinric.com\">sinric.com,<\/a> and set up an account.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"817\" height=\"180\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric1.png\" alt=\"\" class=\"wp-image-1912 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric1.png 817w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric1-300x66.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric1-768x169.png 768w\" data-sizes=\"(max-width: 817px) 100vw, 817px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 817px; --smush-placeholder-aspect-ratio: 817\/180;\" \/><\/figure>\n\n\n\n<p>Make note of your API Key (Copy to Notepad).   Next, add a Smart Home Device.   (Click the ADD Button).   I set up the device as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"296\" height=\"306\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric2.png\" alt=\"\" class=\"wp-image-1913 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric2.png 296w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/sinric2-290x300.png 290w\" data-sizes=\"(max-width: 296px) 100vw, 296px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 296px; --smush-placeholder-aspect-ratio: 296\/306;\" \/><\/figure>\n\n\n\n<p>You may need to scroll down to get the Device ID of the device you just added.  Paste this Device ID in your notepad also.   You will need it later.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"400\" height=\"187\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Sinric3.png\" alt=\"\" class=\"wp-image-1914 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Sinric3.png 400w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Sinric3-300x140.png 300w\" data-sizes=\"(max-width: 400px) 100vw, 400px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 400px; --smush-placeholder-aspect-ratio: 400\/187;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Alexa Setup<\/h3>\n\n\n\n<p>Secondly, install the Alexa app on your phone, and set up your Echo device.  Use the procedure provided with your Echo.  Be sure your Echo is connected to the Internet.<\/p>\n\n\n\n<p>You can use your phone, or web browser to add the Sinric skill.    After adding this skill, you will need to link the Sinric account.  You will be guided to do this after you add the skill.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"519\" height=\"231\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-13-55-28.png\" alt=\"\" class=\"wp-image-1915 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-13-55-28.png 519w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-13-55-28-300x134.png 300w\" data-sizes=\"(max-width: 519px) 100vw, 519px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 519px; --smush-placeholder-aspect-ratio: 519\/231;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">ESP8266 Setup<\/h2>\n\n\n\n<p>Be sure you have the <a href=\"http:\/\/arduino.cc\">Arduino IDE <\/a>installed, and download the <a href=\"https:\/\/github.com\/kakopappa\/sinric\">sinric code.<\/a><\/p>\n\n\n\n<p>In this case, I just downloaded the ZIP file.   Obviously, you need to unzip the file.   I simply placed the unzipped folder into \/home\/arduino\/libraries.  Your operating system or version may vary.<\/p>\n\n\n\n<p>Secondly, I added the ESP8266 board to the Arduino IDE.   Under file | preferences,  I just added this to additional board managers:  http:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json<\/p>\n\n\n\n<p>You might need to close then re-open the IDE.   Then I went to Tools | Boards, and selected the &#8220;Generic ESP8266 Module&#8221; option.  Of course you also need to go to Tools | Port, and select the appropriate COM port for your  ESP8266 (Be sure it&#8217;s plugged in!)The Code<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Code<\/h3>\n\n\n\n<p>Finally, you are ready to finish the code!    Be sure to install the appropriate libraries.   (Follow the instructions for the links given).  I&#8217;m using the switch_example file from the code downloaded from github.   (We unzipped this earlier, and put it in the libraries folder.)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"118\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Libraries-1024x118.png\" alt=\"\" class=\"wp-image-1916 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Libraries-1024x118.png 1024w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Libraries-300x35.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Libraries-768x89.png 768w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Libraries.png 1144w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/118;\" \/><\/figure>\n\n\n\n<p>Be sure to enter the API Key from the Sinric website that you copied to notepad earlier (Replace &#8220;YOURAPIKEY&#8221;.   Also enter the SSID and password of your network.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"369\" height=\"67\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-14-18-13.png\" alt=\"\" class=\"wp-image-1917 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-14-18-13.png 369w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/Screenshot-from-2019-10-10-14-18-13-300x54.png 300w\" data-sizes=\"(max-width: 369px) 100vw, 369px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 369px; --smush-placeholder-aspect-ratio: 369\/67;\" \/><\/figure>\n\n\n\n<p>At last, set up your device!  Be sure to enter the device ID for both the &#8220;TurnOn, and TurnOff&#8221; functions.   For a TTL card, Low is actually the value of 1.  Therefore, the TurnOn function will set the pin low, and vice-versa.  Replace &#8220;MYDEVICEID&#8221; with the device ID that you copied from the Sinric site, and pasted into notepad earlier.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"568\" height=\"150\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceon.png\" alt=\"\" class=\"wp-image-1918 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceon.png 568w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceon-300x79.png 300w\" data-sizes=\"(max-width: 568px) 100vw, 568px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 568px; --smush-placeholder-aspect-ratio: 568\/150;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"548\" height=\"129\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceoff.png\" alt=\"\" class=\"wp-image-1919 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceoff.png 548w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/deviceoff-300x71.png 300w\" data-sizes=\"(max-width: 548px) 100vw, 548px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 548px; --smush-placeholder-aspect-ratio: 548\/129;\" \/><\/figure>\n\n\n\n<p>In the Setup Function, be sure to set the PinMode as Output.  I will also set the initial state HIGH (OFF).<\/p>\n\n\n\n<p>pinMode(LED_BUILTIN, OUTPUT);<\/p>\n\n\n\n<p>digitalWrite(LED_BUILTIN, HIGH);<\/p>\n\n\n\n<p>At last, upload your code to the ESP8266.    <strong>Ask Alexa to discover devices.  <\/strong>LED 2 is the Builtin LED, so you should be able to send voice commands, and see the light turn on and off.   This will prove that everything is working so far.   I just said &#8220;Alexa, turn on water heater&#8221;.   &#8220;Alexa, turn off water heater&#8221;  On my development board, the LED light is ON in the LOW state, which matches the way my TTL card will work.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PLC Wiring<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0757-1024x768.jpg\" alt=\"\" class=\"wp-image-1921 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0757-1024x768.jpg 1024w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0757-300x225.jpg 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0757-768x576.jpg 768w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0757.jpg 1000w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><\/figure>\n\n\n\n<p>I used an old Cat-5 cable, and cut both ends off.   Two of the wires will go to 3V3, and GND, respectively for power.   The other six leads are connected to Digital Inputs 0 to 5.  <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0756-1024x768.jpg\" alt=\"\" class=\"wp-image-1922 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0756-1024x768.jpg 1024w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0756-300x225.jpg 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0756-768x576.jpg 768w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0756.jpg 1000w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><\/figure>\n\n\n\n<p>My 1746-IG16 has a sticker on the door that explains the wiring well.    First I wired up the supply (5v) Even though I only had 3.3v.   Secondly, I connected the GND.   Be sure not to mix up the colors.   They will correspond with the ESP8266 wiring.   I also wired up inputs 0 to 5.<\/p>\n\n\n\n<p>Finally, I powered everything up, and said &#8220;Alexa, turn on water heater&#8221;.   The digital input status light came on, and the value of 1 was placed in the input image table (top row, bit 4)  Apparently I didn&#8217;t wire them in the right order, but that is OK.  Then, &#8220;Alexa turn off water heater&#8221; should set the bit to 0.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"437\" height=\"362\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/InputHigh.png\" alt=\"\" class=\"wp-image-1923 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/InputHigh.png 437w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/InputHigh-300x249.png 300w\" data-sizes=\"(max-width: 437px) 100vw, 437px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 437px; --smush-placeholder-aspect-ratio: 437\/362;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>With this method, you can issue voice commands that are read by the PLC.  Based on your PLC program, your options are endless!  Don&#8217;t think you are just limited to the I\/O of the ESP8266 or the TTL card.   I&#8217;m using it in the easiest way here, but remember, you can have the ESP8266 place any bit pattern on the card to represent a numeric value of up to 32767 that can be read by the PLC.   You can program the PLC to perform a different function each time this bit pattern changes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Other Options<\/h4>\n\n\n\n<p>The above method requires a TTL module, and a lot of wiring.   If your processor has a serial port, you can use the MAX232 module.   This module converts serial TTL signals to RS232.   Instead of placing a bit pattern on various discrete outputs, you would just send an ASCII code into your serial port.  In the SLC, PLC, or ControlLogix, you would read this code with an ASCII read instruction.   Your logic would then take the appropriate action based on the code generated from the ESP.<\/p>\n\n\n\n<p>Yet another option would be to use Node-Red.  Node-Red has an Ethernet\/IP node available to write to the processor, and this works very well going to a ControlLogix Ethernet module.  You can create &#8220;Virtual&#8221; Alexa devices in Node Red as well.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Limitations<\/h4>\n\n\n\n<p>The maximum number of &#8220;Virtual&#8221; devices I could use in the ESP8266 is 10.  However, by using an ESP32, I was able to use 15 devices by default.<\/p>\n\n\n\n<p>Feel free to write comments below or suggestions, and corrections!<\/p>\n\n\n\n<p>If you are interested in other PLC posts, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/slc500\/\">SLC-500<\/a> Category Page,  or the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/controllogix\/\">ControlLogix<\/a> category page!<\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n\n\n\n<p><\/p>\n<div id=\"bryce-2010637314\" class=\"bryce-after-content bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"4667596182\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to Alexa voice commands to PLC In this post, we will discuss how to send Alexa voice commands to a PLC. This is a simple process, but requires several steps. I&#8217;m simply doing an experiment to allow an Alexa voice commands to turn on various inputs on a PLC module. This document is As-Is, <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":1925,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,5,4,130],"tags":[157,159],"class_list":{"0":"post-1911","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-advanced","8":"category-arduino-other-microprocessors","9":"category-controllogix","10":"category-slc500","11":"tag-alexa","12":"tag-alexa-voice-commands","13":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Alexa Voice Commands to PLC using the ESP8266<\/title>\n<meta name=\"description\" content=\"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC&#039;s TTL Input module.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Alexa Voice Commands to PLC using the ESP8266\" \/>\n<meta property=\"og:description\" content=\"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC&#039;s TTL Input module.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/\" \/>\n<meta property=\"og:site_name\" content=\"Bryce Automation\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ricky.bryce.7\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-10T19:48:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-23T08:29:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ricky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Alexa Voice Commands to PLC\",\"datePublished\":\"2019-10-10T19:48:12+00:00\",\"dateModified\":\"2021-09-23T08:29:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/\"},\"wordCount\":1137,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/IMG_0758.jpg\",\"keywords\":[\"Alexa\",\"Alexa Voice Commands\"],\"articleSection\":[\"Advanced\",\"Arduino and other microprocessors\",\"ControlLogix\",\"SLC500\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/\",\"name\":\"Alexa Voice Commands to PLC using the ESP8266\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/IMG_0758.jpg\",\"datePublished\":\"2019-10-10T19:48:12+00:00\",\"dateModified\":\"2021-09-23T08:29:26+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC's TTL Input module.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/IMG_0758.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/IMG_0758.jpg\",\"width\":1000,\"height\":750,\"caption\":\"Alexa\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/10\\\/alexa-voice-commands-to-plc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alexa Voice Commands to PLC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Alexa Voice Commands to PLC using the ESP8266","description":"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC's TTL Input module.","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:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/","og_locale":"en_US","og_type":"article","og_title":"Alexa Voice Commands to PLC using the ESP8266","og_description":"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC's TTL Input module.","og_url":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2019-10-10T19:48:12+00:00","article_modified_time":"2021-09-23T08:29:26+00:00","og_image":[{"width":1000,"height":750,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg","type":"image\/jpeg"}],"author":"Ricky","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Alexa Voice Commands to PLC","datePublished":"2019-10-10T19:48:12+00:00","dateModified":"2021-09-23T08:29:26+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/"},"wordCount":1137,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg","keywords":["Alexa","Alexa Voice Commands"],"articleSection":["Advanced","Arduino and other microprocessors","ControlLogix","SLC500"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/","url":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/","name":"Alexa Voice Commands to PLC using the ESP8266","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg","datePublished":"2019-10-10T19:48:12+00:00","dateModified":"2021-09-23T08:29:26+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"We will use an ESP8266 to receive voice commands from your Amazon Echo. This will provide high and low states to a PLC's TTL Input module.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/IMG_0758.jpg","width":1000,"height":750,"caption":"Alexa"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/10\/alexa-voice-commands-to-plc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Alexa Voice Commands to PLC"}]},{"@type":"WebSite","@id":"https:\/\/bryceautomation.com\/#website","url":"https:\/\/bryceautomation.com\/","name":"Bryce Automation","description":"Automating Home and Industry...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bryceautomation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7","name":"Ricky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","url":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","caption":"Ricky"},"sameAs":["http:\/\/bryceautomation.com","https:\/\/www.facebook.com\/ricky.bryce.7","https:\/\/www.linkedin.com\/in\/ricky-bryce-4367a416\/"],"url":"https:\/\/bryceautomation.com\/index.php\/author\/ricky\/"}]}},"_links":{"self":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/1911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/comments?post=1911"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/1911\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/1925"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=1911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=1911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=1911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}