{"id":72,"date":"2021-07-02T14:13:28","date_gmt":"2021-07-02T14:13:28","guid":{"rendered":"https:\/\/www.bleuio.com\/blog\/?p=72"},"modified":"2022-04-01T07:32:55","modified_gmt":"2022-04-01T07:32:55","slug":"transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio","status":"publish","type":"post","link":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/","title":{"rendered":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This tutorial will show how to transfer files wirelessly over the Bluetooth Low Energy protocol. We will use two BleuIO dongles for this project\u2014one for sending and another one for receiving. The sender dongle will be in central mode, while the receiver dongle will be in peripheral mode.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have already created two python scripts for sending and receiving. You can get the source code from&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_file_transfer_example\">https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_file_transfer_example<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can try this project on two different computers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A video tutorial will show you how to do it on one computer and send files between two BleuIO dongles.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Requirements :<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.bleuio.com\/#product-area\" target=\"_blank\" rel=\"noreferrer noopener\">Two BleuIO dongles.<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_file_transfer_example\" target=\"_blank\">Python Scripts.<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/pypi.org\/project\/pyserial\/\" target=\"_blank\">Pyserial<\/a>.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Steps:<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>First, connect two BleuIO dongles to your computer.\u00a0<\/li><li>Note down the COM port for each dongle. You can find the port using device manager.<\/li><li>Try to find receiver dongle MAC id. To do that, start advertising your receiver dongle and note down the MAC id.\u00a0 Follow the video if you need more details on how to do it.<\/li><li>Open\u00a0<strong>file_recieve.py<\/strong>\u00a0and\u00a0<strong>file_transfer.py files<\/strong>. Update COM port and MAC id where necessary.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the <strong>file_recieve.py<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import serial\r\nimport time\r\n\r\nyour_com_port = \"COM6\"  # Change this to the com port your dongle is connected to.\r\nfile_name = \"result.png\"  # Change this to match the file type you are recieving\r\n\r\nconnecting_to_dongle = True\r\ntrying_to_connect = False\r\n\r\nprint(\"Connecting to dongle...\")\r\n# Trying to connect to dongle until connected. Make sure the port and baudrate is the same as your dongle.\r\n# You can check in the device manager to see what port then right-click and choose properties then the Port Settings\r\n# tab to see the other settings\r\nwhile connecting_to_dongle:\r\n    try:\r\n        console = serial.Serial(\r\n            port=your_com_port,\r\n            baudrate=57600,\r\n            parity=\"N\",\r\n            stopbits=1,\r\n            bytesize=8,\r\n            timeout=0,\r\n        )\r\n        if console.is_open.__bool__():\r\n            connecting_to_dongle = False\r\n    except:\r\n        print(\"Dongle not connected. Please reconnect Dongle.\")\r\n        time.sleep(5)\r\n\r\nprint(\"Connected to Dongle.\")\r\n\r\nfile_data = \"\"\r\nfile_transfer_done = False\r\nconnected = \"0\"\r\nline = \"\"\r\nwhile 1 and console.is_open.__bool__() or not file_transfer_done:\r\n    console.write(str.encode(\"AT+DUAL\"))\r\n    console.write(\"\\r\".encode())\r\n    print(\"Putting dongle in Dual role.\")\r\n    time.sleep(0.1)\r\n    console.write(str.encode(\"AT+ADVSTART\"))\r\n    console.write(\"\\r\".encode())\r\n    time.sleep(0.1)\r\n    print(\"Starting advertising and awaiting connection from other dongle...\")\r\n    while connected == \"0\":\r\n        dongle_output2 = console.read(console.in_waiting)\r\n        time.sleep(2)\r\n        if not dongle_output2.isspace():\r\n            if dongle_output2.decode().__contains__(\"\\r\\nCONNECTED.\"):\r\n                connected = \"1\"\r\n                print(\"Connected!\")\r\n            if dongle_output2.decode().__contains__(\"\\r\\nDISCONNECTED.\"):\r\n                connected = \"0\"\r\n                print(\"Disconnected!\")\r\n            dongle_output2 = \" \"\r\n    while connected == \"1\" or not file_transfer_done:\r\n        time.sleep(0.2)\r\n        dongle_output3 = console.read(console.in_waiting)\r\n        if not dongle_output3.isspace():\r\n            if dongle_output3.__contains__(str.encode(\"\\r\\nDISCONNECTED.\")):\r\n                print(\"Disconnected!\")\r\n                connected = \"0\"\r\n            elif dongle_output3.__contains__(str.encode(\"&#91;DONE]\")):\r\n                file_transfer_done = True\r\n                print(\"File transfer complete!\\r\\n\")\r\n                fo = open(file_name, \"wb\")\r\n                hex = bytes.fromhex(file_data)\r\n                fo.write(hex)\r\n                fo.close()\r\n                print(\"Exiting script...\")\r\n                exit()\r\n            elif dongle_output3.__contains__(str.encode(\"&#91;Received]:\")):\r\n                line = dongle_output3.decode()\r\n                line = line.replace(\"\\r\", \"\")\r\n                line = line.replace(\"\\n\", \"\")\r\n                line = line.replace(\"&#91;Received]:\", \"\")\r\n                line = line.replace(\" \", \"\")\r\n                file_data += line\r\n                print(line)\r\n            dongle_output3 = \"\"\r\n        msg = \"\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Set the file type that you are expecting to receive. For example, if you are expecting a jpg file, change\u00a0<strong>file_name\u00a0<\/strong>on\u00a0<strong>file_recieve.py<\/strong>\u00a0to result.<strong>jpg<\/strong>, and for a text file, you can rename it to result.<strong>txt<\/strong><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the <strong>file_transfer.py<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import serial\r\nimport time\r\n\r\ntarget_dongle_mac_address = (\r\n    \"&#91;0]40:48:FD:E5:2D:AF\"  # Change this to the peripheral's mac address.\r\n)\r\nyour_com_port = \"COM25\"  # Change this to the com port your dongle is connected to.\r\n\r\nconnecting_to_dongle = True\r\ntrying_to_connect = False\r\nfile_name = \"test.txt\"\r\n\r\nprint(\"Connecting to dongle...\")\r\n# Trying to connect to dongle until connected. Make sure the port and baudrate is the same as your dongle.\r\n# You can check in the device manager to see what port then right-click and choose properties then the Port Settings\r\n# tab to see the other settings\r\nwhile connecting_to_dongle:\r\n    try:\r\n        console = serial.Serial(\r\n            port=your_com_port,\r\n            baudrate=57600,\r\n            parity=\"N\",\r\n            stopbits=1,\r\n            bytesize=8,\r\n            timeout=0,\r\n        )\r\n        if console.is_open.__bool__():\r\n            connecting_to_dongle = False\r\n    except:\r\n        print(\"Dongle not connected. Please reconnect Dongle.\")\r\n        time.sleep(5)\r\n\r\nprint(\"Connected to Dongle.\")\r\n\r\nconnected = \"0\"\r\nwhile 1 and console.is_open.__bool__():\r\n    console.write(str.encode(\"AT+DUAL\"))\r\n    console.write(\"\\r\".encode())\r\n    time.sleep(0.1)\r\n    print(\"Putting dongle in Dual role and trying to connect to other dongle.\")\r\n    while connected == \"0\":\r\n        time.sleep(0.5)\r\n        if not trying_to_connect:\r\n            console.write(str.encode(\"AT+GAPCONNECT=\"))\r\n            console.write(str.encode(target_dongle_mac_address))\r\n            console.write(\"\\r\".encode())\r\n            trying_to_connect = True\r\n        dongle_output2 = console.read(console.in_waiting)\r\n        time.sleep(2)\r\n        print(\"Trying to connect to Peripheral...\")\r\n        if not dongle_output2.isspace():\r\n            if dongle_output2.decode().__contains__(\"\\r\\nCONNECTED.\"):\r\n                connected = \"1\"\r\n                print(\"Connected!\")\r\n                time.sleep(10)\r\n            if dongle_output2.decode().__contains__(\"\\r\\nDISCONNECTED.\"):\r\n                connected = \"0\"\r\n                print(\"Disconnected!\")\r\n                trying_to_connect = False\r\n            dongle_output2 = \" \"\r\n    while connected == \"1\":\r\n        dongle_output3 = console.read(console.in_waiting)\r\n        want_to_exit = input(\r\n            \"Press Enter to start sending file or 'exit' to quit script.\\n\\r>> \"\r\n        )\r\n        want_to_exit = want_to_exit.upper()\r\n        if \"EXIT\" in want_to_exit:\r\n            print(\"Exiting script...\")\r\n            exit()\r\n        hex_to_send = \"\"\r\n        fo2 = open(file_name, \"rb\")\r\n        print(\"Sending file. Please wait...\")\r\n        while (byte := fo2.read(1)) :\r\n            hex_to_send += byte.hex().upper()\r\n            if len(hex_to_send) >= 200:\r\n                # my_dongle.at_spssend(hex_to_send)\r\n                console.write(str.encode(\"AT+SPSSEND=\" + hex_to_send + \"\\r\"))\r\n                time.sleep(0.2)\r\n                hex_to_send = \"\"\r\n        if len(hex_to_send) != 0:\r\n            # my_dongle.at_spssend(hex_to_send)\r\n            console.write(str.encode(\"AT+SPSSEND=\" + hex_to_send + \"\\r\"))\r\n            time.sleep(0.2)\r\n        fo2.close()\r\n        console.write(str.encode(\"AT+SPSSEND=&#91;DONE]\\r\"))\r\n        print(\"File transfer complete!\\r\\n\")\r\n        print(\"Exiting script...\")\r\n        exit()<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Keep the file in the same directory with\u00a0<strong>file_transfer.py\u00a0<\/strong>and change the file name accordingly.<\/li><li>Now run the script\u00a0<strong>file_recieve.py\u00a0<\/strong>using a terminal. It will start advertising and will be ready to receive.<\/li><li>Now run the\u00a0<strong>file_transfer.py\u00a0<\/strong>script.\u00a0<\/li><li>Once both the dongles are connected, you will be asked to send the file from the file transfer script.\u00a0<\/li><li>The receiver dongle will give you a confirmation once received, and you will find the file stored in the same folder with the receiver script.<\/li><li>Finally, you can check if you received the file correctly by running a checksum.\u00a0<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Please follow the video if you have difficulty in understanding.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Transfer files wirelessly over the Bluetooth Low Energy protocol using BleuIO\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/dqN0eCLhcEc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial will show how to transfer files wirelessly over the Bluetooth Low Energy protocol. We will use two BleuIO dongles for this project\u2014one for sending and another one for receiving. The sender dongle will be in central mode, while the receiver dongle will be in peripheral mode.&nbsp; We have already created two python scripts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":73,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,2],"tags":[],"class_list":["post-72","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 v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application<\/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:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"og:description\" content=\"This tutorial will show how to transfer files wirelessly over the Bluetooth Low Energy protocol. We will use two BleuIO dongles for this project\u2014one for sending and another one for receiving. The sender dongle will be in central mode, while the receiver dongle will be in peripheral mode.&nbsp; We have already created two python scripts [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/\" \/>\n<meta property=\"og:site_name\" content=\"BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-02T14:13:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-01T07:32:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"770\" \/>\n\t<meta property=\"og:image:height\" content=\"375\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"BleuIO\" \/>\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:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/\"},\"author\":{\"name\":\"BleuIO\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"headline\":\"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python\",\"datePublished\":\"2021-07-02T14:13:28+00:00\",\"dateModified\":\"2022-04-01T07:32:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/\"},\"wordCount\":374,\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/transfer-ble-file-using-bleuio.gif\",\"articleSection\":[\"BleuIO\",\"BleuIO tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/\",\"name\":\"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/transfer-ble-file-using-bleuio.gif\",\"datePublished\":\"2021-07-02T14:13:28+00:00\",\"dateModified\":\"2022-04-01T07:32:55+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/transfer-ble-file-using-bleuio.gif\",\"contentUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/transfer-ble-file-using-bleuio.gif\",\"width\":770,\"height\":375,\"caption\":\"Transfer files wirelessly over the Bluetooth Low Energy protocol\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\",\"name\":\"BleuIO - Create Bluetooth Low Energy application\",\"description\":\"Learn Bluetooth Low Energy programming and build Bluetooth Low Energy Application\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\",\"name\":\"BleuIO\",\"sameAs\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/author\\\/biadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application","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:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/","og_locale":"en_US","og_type":"article","og_title":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application","og_description":"This tutorial will show how to transfer files wirelessly over the Bluetooth Low Energy protocol. We will use two BleuIO dongles for this project\u2014one for sending and another one for receiving. The sender dongle will be in central mode, while the receiver dongle will be in peripheral mode.&nbsp; We have already created two python scripts [&hellip;]","og_url":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/","og_site_name":"BleuIO - Create Bluetooth Low Energy application","article_published_time":"2021-07-02T14:13:28+00:00","article_modified_time":"2022-04-01T07:32:55+00:00","og_image":[{"width":770,"height":375,"url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif","type":"image\/gif"}],"author":"BleuIO","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#article","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/"},"author":{"name":"BleuIO","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"headline":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python","datePublished":"2021-07-02T14:13:28+00:00","dateModified":"2022-04-01T07:32:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/"},"wordCount":374,"image":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif","articleSection":["BleuIO","BleuIO tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/","url":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/","name":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python - BleuIO - Create Bluetooth Low Energy application","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#primaryimage"},"image":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif","datePublished":"2021-07-02T14:13:28+00:00","dateModified":"2022-04-01T07:32:55+00:00","author":{"@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"breadcrumb":{"@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#primaryimage","url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif","contentUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/transfer-ble-file-using-bleuio.gif","width":770,"height":375,"caption":"Transfer files wirelessly over the Bluetooth Low Energy protocol"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bleuio.com\/blog\/transfer-files-wirelessly-over-the-bluetooth-low-energy-protocol-using-bleuio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bleuio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Transfer files wirelessly over the Bluetooth Low Energy protocol Using Python"}]},{"@type":"WebSite","@id":"https:\/\/www.bleuio.com\/blog\/#website","url":"https:\/\/www.bleuio.com\/blog\/","name":"BleuIO - Create Bluetooth Low Energy application","description":"Learn Bluetooth Low Energy programming and build Bluetooth Low Energy Application","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bleuio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80","name":"BleuIO","sameAs":["https:\/\/www.bleuio.com\/blog"],"url":"https:\/\/www.bleuio.com\/blog\/author\/biadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/72","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/comments?post=72"}],"version-history":[{"count":2,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/72\/revisions"}],"predecessor-version":[{"id":248,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/72\/revisions\/248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media\/73"}],"wp:attachment":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media?parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/categories?post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/tags?post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}