{"id":1363,"date":"2021-11-19T14:36:18","date_gmt":"2021-11-19T14:36:18","guid":{"rendered":"https:\/\/smartsensordevices.com\/?p=1363"},"modified":"2021-11-19T14:36:28","modified_gmt":"2021-11-19T14:36:28","slug":"bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio","status":"publish","type":"post","link":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/","title":{"rendered":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p>The project is a simple example showcasing a quick way to setup an Arduino with a USB Host Shield as a USB CDC Host capable of communicating with the BleuIO Dongle.<\/p>\n\n\n\n<p>When a BleuIO Dongle is connected to the USB port, the BleuIO Dongle will start advertising. It will then act as a terminal, taking input and sending data to the Arduino Virtual Com Port.<\/p>\n\n\n\n<p>We have used an Arduino Uno Rev. 3 with SparkFun\u2019s USB Host Shield (DEV-09947) for this example.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. About the Code<\/h2>\n\n\n\n<p>You can get project&nbsp;<a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example\"><strong>HERE<\/strong><\/a><br><a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example\">https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example<\/a><br>This project based on the \u2018acm_terminal\u2019 example in the&nbsp;<a href=\"https:\/\/felis.github.io\/USB_Host_Shield_2.0\/\">Host USB Shield Library 2.0<\/a><br><br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/amc_example.png\" alt=\"alt text\"><\/p>\n\n\n\n<p>The largest possible max.packet size for the function Acm.RcvData() is 64 bytes, so to accommodate the amount of data we will receive, we are using three buffers to receive the data from the BleuIO Dongle.<\/p>\n\n\n\n<p>If the buffers have received any data, we print it out to the serial terminal connected to the Virtual COM Port.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>void loop()\n{\n    Usb.Task();\n\n    if( Acm.isReady()) {\n       uint8_t rcode;\n       uint8_t rcode2;\n       uint8_t rcode3;\n\n       \/* reading the keyboard *\/\n       if(Serial.available()) {\n         uint8_t data= Serial.read();\n         \/* sending to the BleuIO Dongle *\/\n         rcode = Acm.SndData(1, &amp;data);\n         if (rcode)\n            ErrorMessage&lt;uint8_t>(PSTR(\"SndData\"), rcode);\n       }\/\/if(Serial.available()...\n\n        if(start_flag == 0x00)\n        {\n            rcode = Acm.SndData(strlen((char *)START_CMDS), (uint8_t *)START_CMDS);\n            if (rcode)\n            {\n                ErrorMessage&lt;uint8_t>(PSTR(\"SndData\"), rcode);\n            }\n\n          start_flag = 0x01;\n        }\n        \/* reading the BleuIO Dongle *\/\n        uint8_t  buf&#91;64];\n        uint16_t rcvd = 64;\n        uint8_t  buf2&#91;64];\n        uint16_t rcvd2 = 64;\n        uint8_t  buf3&#91;64];\n        uint16_t rcvd3 = 64;\n        uint8_t  dongle_input&#91;3*64];\n        uint16_t input_indx = 0;\n\n        memset(dongle_input, 0, sizeof(dongle_input));\n\n        rcode = Acm.RcvData(&amp;rcvd, buf);\n        delay(1);\n        rcode2 = Acm.RcvData(&amp;rcvd2, buf2);\n        delay(1);\n        rcode3 = Acm.RcvData(&amp;rcvd3, buf3);\n         if (rcode &amp;&amp; rcode != hrNAK)\n         {\n            ErrorMessage&lt;uint8_t>(PSTR(\"Ret\"), rcode);\n         }\n\n         if (rcode2 &amp;&amp; rcode2 != hrNAK)\n         {\n             ErrorMessage&lt;uint8_t>(PSTR(\"Ret\"), rcode2);\n         }\n\n         if (rcode3 &amp;&amp; rcode3 != hrNAK)\n         {\n             ErrorMessage&lt;uint8_t>(PSTR(\"Ret\"), rcode3);\n         }\n\n\n            if( rcvd ) { \/\/more than zero bytes received\n              for(uint16_t i=0; i &lt; rcvd; i++ ) {\n                Serial.print((char)buf&#91;i]); \/\/printing on the screen\n                dongle_input&#91;input_indx] = buf&#91;i];\n                input_indx++;\n              }\n            }\n\n            if( rcvd2 ) { \/\/more than zero bytes received\n              for(uint16_t i=0; i &lt; rcvd2; i++ ) {\n                Serial.print((char)buf2&#91;i]); \/\/printing on the screen\n                dongle_input&#91;input_indx] = buf2&#91;i];\n                input_indx++;\n              }\n            }\n\n            if( rcvd3 ) { \/\/more than zero bytes received\n              for(uint16_t i=0; i &lt; rcvd3; i++ ) {\n                Serial.print((char)buf3&#91;i]); \/\/printing on the screen\n                dongle_input&#91;input_indx] = buf3&#91;i];\n                input_indx++;\n              }\n            }\n            dongle_input&#91;input_indx] = 0x00;\n\n            \/\/ Example on a way for the Arduino to react to BleuIO events\n            if(strlen((char *)dongle_input) != 0)\n            {\n              if(strstr((char *)dongle_input, \"handle_evt_gap_connected\") != NULL)\n              {\n                Serial.print(\"&lt;&lt;CONNECTION DETECTED!>>\");\n              }\n              else if(strstr((char *)dongle_input, \"handle_evt_gap_disconnected\") != NULL)\n              {\n                Serial.print(\"&lt;&lt;CONNECTION LOST!>>\");\n              }\n            }\n    }\/\/if( Usb.getUsbTaskState() == USB_STATE_RUNNING..\n}<\/code><\/pre>\n\n\n\n<p>We also store the latest data from the dongle into the dongle_input buffer and run it through a simple \u201cparser\u201d to showcase an easy way of how you can react to events and have the Arduino do something.<\/p>\n\n\n\n<p>In this example, we are explicitly looking for BLE connection or disconnect events. When found, we just print out \u201c&lt;&lt;CONNECTION DETECTED!&gt;&gt;\u201d or \u201c&lt;&lt;CONNECTION LOST!&gt;&gt;\u201d to the terminal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Using the example project<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">3.1 What you will need<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>A BleuIO dongle with firmware version 2.1.0 or later (<a href=\"https:\/\/www.bleuio.com\/getting_started\/docs\/release_history\/#release-v210\">https:\/\/www.bleuio.com\/getting_started\/docs\/release_history\/#release-v210<\/a>)<\/li><li>An Arduino Uno Rev. 3 (<a href=\"https:\/\/store.arduino.cc\/products\/arduino-uno-rev3\">https:\/\/store.arduino.cc\/products\/arduino-uno-rev3<\/a>)<\/li><li>An USB Host Shield (<a href=\"https:\/\/www.sparkfun.com\/products\/9947\">https:\/\/www.sparkfun.com\/products\/9947<\/a>)<\/li><li>The Arduino IDE (<a href=\"https:\/\/www.arduino.cc\/en\/software\">https:\/\/www.arduino.cc\/en\/software<\/a>)<\/li><li>Host USB shield library 2.0<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3.2 Requirments for the SparkFun board<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>With the SparkFun board, it seems like you MUST supply external power on Vin or the barrel jack. 5V from the USB cable did not work.<\/li><li>You must also apply a jumper from pin D7 to RESET.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. How to setup project<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">4.1 Downloading the project from GitHub<\/h4>\n\n\n\n<p>Get project&nbsp;<a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example\">HERE<\/a><br><a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example\">https:\/\/github.com\/smart-sensor-devices-ab\/arduino_bleuio_example<\/a><br><br>Either clone the project, or download it as a zip file and unzip it, into your Arduino folder.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.2 Downloading the USB Host Shield Library 2.0<\/h4>\n\n\n\n<p>Either download the Library from Here (<a href=\"https:\/\/felis.github.io\/USB_Host_Shield_2.0\/\">https:\/\/felis.github.io\/USB_Host_Shield_2.0\/<\/a>) and place the folder into your libraries folder inside your Arduino folder. (For information on installing libraries, see:&nbsp;<a href=\"http:\/\/www.arduino.cc\/en\/Guide\/Libraries\">http:\/\/www.arduino.cc\/en\/Guide\/Libraries<\/a>)<br><br>Or download it through the Arduino IDE:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>In Arduino IDE choose Sketch&gt;Include Library&gt;Manage Library<br><br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/manage_lib.png\" alt=\"alt text\"><\/li><li>Search for USB Host Shield Library 2.0 and click \u2018Install\u2019<br><br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/install_lib.png\" alt=\"alt text\"><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Running the example<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>In Arduino IDE click the upload button to upload the project to your Arduino.<br><br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/upload.png\" alt=\"alt text\"><\/li><li>Open up the \u2018Arduino Uno Viritual COM Port\u2019 with a serial terminal emulation program like TeraTerm, Putty or CoolTerm.Serial port Setup:<br>Baudrate: 115200<br>Data Bits: 8<br>Parity: None<br>Stop Bits: 1<br>Flow Control: None<\/li><li>Or inside the Arduino IDE open up Arduino Monitor and in the bottom right corner select \u2018Carriage Return\u2019 and \u2018115200 baud\u2019<br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/serial_monitor.png\" alt=\"alt text\"><\/li><li>You should see the word \u2018Start\u2019 and then see the dongle running two commands: setting response data and starting the advertising. You can now type commands to the dongle.<br><br><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/arduino_example_img\/start.png\" alt=\"alt text\"><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction The project is a simple example showcasing a quick way to setup an Arduino with a USB Host Shield as a USB CDC Host capable of communicating with the BleuIO Dongle. When a BleuIO Dongle is connected to the USB port, the BleuIO Dongle will start advertising. It will then act as a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1364,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,21],"tags":[],"class_list":["post-1363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bleuio","category-bleuio-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB\" \/>\n<meta property=\"og:description\" content=\"1. Introduction The project is a simple example showcasing a quick way to setup an Arduino with a USB Host Shield as a USB CDC Host capable of communicating with the BleuIO Dongle. When a BleuIO Dongle is connected to the USB port, the BleuIO Dongle will start advertising. It will then act as a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\" \/>\n<meta property=\"og:site_name\" content=\"SMART SENSOR DEVICES AB\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-19T14:36:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-19T14:36:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"413\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"siteManager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ssd_techs\" \/>\n<meta name=\"twitter:site\" content=\"@ssd_techs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"siteManager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\"},\"author\":{\"name\":\"siteManager\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1\"},\"headline\":\"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO\",\"datePublished\":\"2021-11-19T14:36:18+00:00\",\"dateModified\":\"2021-11-19T14:36:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\"},\"wordCount\":561,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg\",\"articleSection\":[\"BleuIO\",\"BleuIO tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\",\"name\":\"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB\",\"isPartOf\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg\",\"datePublished\":\"2021-11-19T14:36:18+00:00\",\"dateModified\":\"2021-11-19T14:36:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg\",\"contentUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg\",\"width\":800,\"height\":413},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/smartsensordevices.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#website\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/\",\"name\":\"SMART SENSOR DEVICES AB\",\"description\":\"IOT solutions for the future\",\"publisher\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/smartsensordevices.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\",\"name\":\"SMART SENSOR DEVICES AB\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png\",\"contentUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png\",\"width\":756,\"height\":230,\"caption\":\"SMART SENSOR DEVICES AB\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ssd_techs\",\"https:\/\/www.linkedin.com\/company\/smart-sensor-devices-ab\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1\",\"name\":\"siteManager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g\",\"caption\":\"siteManager\"},\"url\":\"https:\/\/smartsensordevices.com\/blog\/author\/ssdadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB","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:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/","og_locale":"en_US","og_type":"article","og_title":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB","og_description":"1. Introduction The project is a simple example showcasing a quick way to setup an Arduino with a USB Host Shield as a USB CDC Host capable of communicating with the BleuIO Dongle. When a BleuIO Dongle is connected to the USB port, the BleuIO Dongle will start advertising. It will then act as a [&hellip;]","og_url":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/","og_site_name":"SMART SENSOR DEVICES AB","article_published_time":"2021-11-19T14:36:18+00:00","article_modified_time":"2021-11-19T14:36:28+00:00","og_image":[{"width":800,"height":413,"url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg","type":"image\/jpeg"}],"author":"siteManager","twitter_card":"summary_large_image","twitter_creator":"@ssd_techs","twitter_site":"@ssd_techs","twitter_misc":{"Written by":"siteManager","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#article","isPartOf":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/"},"author":{"name":"siteManager","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1"},"headline":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO","datePublished":"2021-11-19T14:36:18+00:00","dateModified":"2021-11-19T14:36:28+00:00","mainEntityOfPage":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/"},"wordCount":561,"commentCount":0,"publisher":{"@id":"https:\/\/smartsensordevices.com\/blog\/#organization"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg","articleSection":["BleuIO","BleuIO tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/","url":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/","name":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO - SMART SENSOR DEVICES AB","isPartOf":{"@id":"https:\/\/smartsensordevices.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg","datePublished":"2021-11-19T14:36:18+00:00","dateModified":"2021-11-19T14:36:28+00:00","breadcrumb":{"@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#primaryimage","url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg","contentUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/11\/arduino.jpg","width":800,"height":413},{"@type":"BreadcrumbList","@id":"https:\/\/smartsensordevices.com\/blog\/bluetooth-low-energy-ble-tutorial-for-arduino-using-bleuio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/smartsensordevices.com\/"},{"@type":"ListItem","position":2,"name":"Bluetooth Low Energy (BLE) Tutorial for Arduino using BleuIO"}]},{"@type":"WebSite","@id":"https:\/\/smartsensordevices.com\/blog\/#website","url":"https:\/\/smartsensordevices.com\/blog\/","name":"SMART SENSOR DEVICES AB","description":"IOT solutions for the future","publisher":{"@id":"https:\/\/smartsensordevices.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/smartsensordevices.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/smartsensordevices.com\/blog\/#organization","name":"SMART SENSOR DEVICES AB","url":"https:\/\/smartsensordevices.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png","contentUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png","width":756,"height":230,"caption":"SMART SENSOR DEVICES AB"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ssd_techs","https:\/\/www.linkedin.com\/company\/smart-sensor-devices-ab\/"]},{"@type":"Person","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1","name":"siteManager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g","caption":"siteManager"},"url":"https:\/\/smartsensordevices.com\/blog\/author\/ssdadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1363"}],"collection":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/comments?post=1363"}],"version-history":[{"count":1,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1363\/revisions"}],"predecessor-version":[{"id":1365,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1363\/revisions\/1365"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/media\/1364"}],"wp:attachment":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/media?parent=1363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/categories?post=1363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/tags?post=1363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}