{"id":1376,"date":"2025-08-08T18:18:06","date_gmt":"2025-08-08T18:18:06","guid":{"rendered":"https:\/\/www.bleuio.com\/blog\/?p=1376"},"modified":"2025-08-10T10:05:38","modified_gmt":"2025-08-10T10:05:38","slug":"execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone","status":"publish","type":"post","link":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/","title":{"rendered":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This project demonstrates how to execute a Python script wirelessly from your mobile phone using a <strong>BleuIO dongle<\/strong>. By sending simple text commands over Bluetooth Low Energy (BLE) through the <strong>Serial Port Service (SPS)<\/strong>, the Python script can trigger actions. In our case, the script will retrieve and display CO2, temperature, and humidity values from a nearby BLE air quality monitoring sensor called HibouAir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This approach opens up many possibilities for interactive projects, sensor monitoring, and remote control applications \u2014 all without the need for internet connectivity.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prerequisites<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hardware<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.bleuio.com\/index.php#product-area\" target=\"_blank\" rel=\"noreferrer noopener\">BleuIO USB dongle<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.hibouair.com\/specifications-air-quality-monitor-co2-sensor.php\" target=\"_blank\" rel=\"noreferrer noopener\">HibouAir air quality monitor<\/a><\/li>\n\n\n\n<li>Computer (Mac or Windows)<\/li>\n\n\n\n<li>Mobile phone with <strong><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=no.nordicsemi.android.mcp&amp;hl=en\" target=\"_blank\" rel=\"noreferrer noopener\">nRF Connect<\/a><\/strong> or similar BLE app<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Software<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Python 3 installed on your computer<\/li>\n\n\n\n<li><code>pyserial<\/code> library (<code>pip install pyserial<\/code>)<\/li>\n\n\n\n<li>nRF Connect (iOS \/ Android)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up the BleuIO Dongle<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Begin by plugging your BleuIO dongle into the computer. Open a BLE terminal such as the <strong><a href=\"https:\/\/bleuio.com\/web_terminal.html\">BleuIO Web Terminal<\/a><\/strong> or any serial monitor and enable the Serial Port Service. You can do this by entering:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code><br>ATASPS1<br>AT+ADVSTART<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This enables the SPS service, ensures incoming data is displayed as ASCII text, and starts advertising so your phone can connect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Python Script<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Python script connects to the BleuIO dongle over a serial port and listens for incoming BLE messages. When it receives one of four possible commands \u2014 <code>CO2<\/code>, <code>TEMP<\/code>, <code>HUM<\/code>, or <code>ALL<\/code> \u2014 it triggers a scan using the <code>AT+FINDSCANDATA=220069=3<\/code> command. Here 220069 is the boardID of HibouAir sensor which we will use to retrieve air quality data in real time. This scans for nearby BLE devices broadcasting the matching advertising data. From the latest packet received, the script decodes and extracts the relevant sensor values.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Below is the complete script. Update the <code>port<\/code> variable to match your BleuIO\u2019s serial port location.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import serial\nimport time\nimport re\n\ndef send_and_wait(ser, at_cmd):\n    ser.write((at_cmd + '\\r\\n').encode())\n    time.sleep(2)\n    output = &#91;]\n    while ser.in_waiting:\n        line = ser.readline().decode('utf-8', errors='ignore').strip()\n        output.append(line)\n    return output\n\ndef extract_last_adv_hex(lines):\n    adv_lines = &#91;l for l in lines if \"Device Data &#91;ADV]:\" in l]\n    if not adv_lines:\n        return None\n    last_line = adv_lines&#91;-1]\n    match = re.search(r'(&#91;0-9A-Fa-f]{40,})$', last_line)\n    if match:\n        return match.group(1)\n    return None\n\ndef parse_co2_temp_hum(adv):\n    pos = adv.find(\"5B0705\")\n    if pos == -1:\n        return None\n\n    def parse_val(offset, reverse=True, scale=1.0, signed=False):\n        raw = adv&#91;pos + offset : pos + offset + 4]\n        if reverse:\n            raw = ''.join(reversed(&#91;raw&#91;i:i+2] for i in range(0, 4, 2)]))\n        val = int(raw, 16)\n        if signed and val > 32767:\n            val -= 65536\n        return val \/ scale\n\n    temp_raw = parse_val(22, scale=1, signed=True)\n    temp = temp_raw \/ 10\n    hum = parse_val(26, scale=10)\n    co2 = int(adv&#91;pos + 46 : pos + 50], 16)\n\n    return {\n        \"temp\": round(temp, 1),\n        \"hum\": round(hum, 1),\n        \"co2\": co2\n    }\n\n# --- Main Loop ---\nport = \"\/dev\/cu.usbmodem4048FDEBA6D01\"\nbaudrate = 115200\n\ntry:\n    with serial.Serial(port, baudrate, timeout=1) as ser:\n        print(\"Listening for BLE SPS command...\")\n        while True:\n            line = ser.readline().decode('utf-8', errors='ignore').strip()\n            if line:\n                #print(f\" Received: {line}\")\n                cmd = line.replace(\"&#91;Received]:\", \"\").strip().upper()\n                if cmd in &#91;\"CO2\", \"TEMP\", \"HUM\", \"ALL\"]:\n                    print(\" Scanning for environmental data...\")\n                    results = send_and_wait(ser, \"AT+FINDSCANDATA=0504220069=3\")\n                    adv = extract_last_adv_hex(results)\n                    if adv:\n                        data = parse_co2_temp_hum(adv)\n                        if data:\n                            if cmd == \"CO2\":\n                                print(f\" CO2: {data&#91;'co2']} ppm\")\n                            elif cmd == \"TEMP\":\n                                print(f\" Temp: {data&#91;'temp']} \u00b0C\")\n                            elif cmd == \"HUM\":\n                                print(f\" Hum: {data&#91;'hum']} %\")\n                            elif cmd == \"ALL\":\n                                print(f\" Temp: {data&#91;'temp']} \u00b0C\")\n                                print(f\" Hum: {data&#91;'hum']} %\")\n                                print(f\" CO2: {data&#91;'co2']} ppm\")\n                        else:\n                            print(\" Could not decode sensor values.\")\n                    else:\n                        print(\" No advertising data found.\")\nexcept serial.SerialException as e:\n    print(\"Serial error:\", e)\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">How It Works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once the script is running, it keeps the serial connection to the BleuIO open and listens for BLE SPS messages sent from the phone. When a command is received, it is cleaned to remove any extra text added by the dongle, then matched against one of the four recognized keywords. If a match is found, the script asks the dongle to scan for nearby advertising packets from a device matching our filter. The script extracts the CO2, temperature, and humidity values, then displays the requested data based on the command.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, sending <code>CO2<\/code> from the phone will only display the CO2 value, while sending <code>ALL<\/code> will show all three measurements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing the Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run the script on your computer, then use the nRF Connect app on your phone to connect to the BleuIO dongle. Locate the SPS write characteristic (UUID ending in <code>...5CBA<\/code>) and send a command in <strong>Text<\/strong> mode. Try sending <code>CO2<\/code>, <code>TEMP<\/code>, <code>HUM<\/code>, and <code>ALL<\/code> to see the different outputs. You should see the values appear in your terminal almost instantly after each command is sent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Output<\/h2>\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=\"Control Python Scripts via BLE Using BleuIO and Mobile Phone\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/qh3UbMZbHA8?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\n\n\n<h2 class=\"wp-block-heading\"><strong>Use Cases and Expanding the Idea<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This setup goes beyond simply reading CO2, temperature, and humidity. At its core, it is a <strong>BLE command-to-script bridge<\/strong> \u2014 meaning you can trigger any Python action from your phone without needing Wi-Fi or internet access.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In real-world use, this could be applied to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Remote environmental monitoring<\/strong>: Trigger on-demand scans for sensor readings in greenhouses, offices, or laboratories.<\/li>\n\n\n\n<li><strong>IoT control panels<\/strong>: Send commands to control connected devices, such as turning fans or air purifiers on when CO2 levels rise.<\/li>\n\n\n\n<li><strong>Data logging systems<\/strong>: Store sensor readings in a file or database only when requested, helping conserve storage and processing power.<\/li>\n\n\n\n<li><strong>Event-based automation<\/strong>: Pair with external hardware like Raspberry Pi GPIO pins to trigger physical actions when commands are received.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Because the commands are just plain text, the possibilities for customization are endless. You could add more commands to control different hardware, run different scripts, or even communicate with multiple BLE devices. This same approach can also integrate with web dashboards, cloud services, or data visualization tools to make the results more accessible and actionable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This project shows how simple it is to control Python scripts and interact with BLE sensor data using BleuIO and your phone. By combining the SPS profile with AT commands, you can create flexible, interactive tools that can be extended for various IoT applications \u2014 from remote environmental monitoring to interactive control systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This project demonstrates how to execute a Python script wirelessly from your mobile phone using a BleuIO dongle. By sending simple text commands over Bluetooth Low Energy (BLE) through the Serial Port Service (SPS), the Python script can trigger actions. In our case, the script will retrieve and display CO2, temperature, and humidity values from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1382,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bleuio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - 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\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"og:description\" content=\"This project demonstrates how to execute a Python script wirelessly from your mobile phone using a BleuIO dongle. By sending simple text commands over Bluetooth Low Energy (BLE) through the Serial Port Service (SPS), the Python script can trigger actions. In our case, the script will retrieve and display CO2, temperature, and humidity values from [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/\" \/>\n<meta property=\"og:site_name\" content=\"BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-08T18:18:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-10T10:05:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/\"},\"author\":{\"name\":\"BleuIO\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"headline\":\"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone\",\"datePublished\":\"2025-08-08T18:18:06+00:00\",\"dateModified\":\"2025-08-10T10:05:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/\"},\"wordCount\":706,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/execute-python-code-remotely-1.jpg\",\"articleSection\":[\"BleuIO\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/\",\"name\":\"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - BleuIO - Create Bluetooth Low Energy application\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/execute-python-code-remotely-1.jpg\",\"datePublished\":\"2025-08-08T18:18:06+00:00\",\"dateModified\":\"2025-08-10T10:05:38+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/execute-python-code-remotely-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/execute-python-code-remotely-1.jpg\",\"width\":750,\"height\":450,\"caption\":\"execute python code remotely\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone\"}]},{\"@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":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - 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\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/","og_locale":"en_US","og_type":"article","og_title":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - BleuIO - Create Bluetooth Low Energy application","og_description":"This project demonstrates how to execute a Python script wirelessly from your mobile phone using a BleuIO dongle. By sending simple text commands over Bluetooth Low Energy (BLE) through the Serial Port Service (SPS), the Python script can trigger actions. In our case, the script will retrieve and display CO2, temperature, and humidity values from [&hellip;]","og_url":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/","og_site_name":"BleuIO - Create Bluetooth Low Energy application","article_published_time":"2025-08-08T18:18:06+00:00","article_modified_time":"2025-08-10T10:05:38+00:00","og_image":[{"width":750,"height":450,"url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg","type":"image\/jpeg"}],"author":"BleuIO","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#article","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/"},"author":{"name":"BleuIO","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"headline":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone","datePublished":"2025-08-08T18:18:06+00:00","dateModified":"2025-08-10T10:05:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/"},"wordCount":706,"commentCount":0,"image":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg","articleSection":["BleuIO"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/","url":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/","name":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone - BleuIO - Create Bluetooth Low Energy application","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#primaryimage"},"image":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg","datePublished":"2025-08-08T18:18:06+00:00","dateModified":"2025-08-10T10:05:38+00:00","author":{"@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"breadcrumb":{"@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#primaryimage","url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg","contentUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2025\/08\/execute-python-code-remotely-1.jpg","width":750,"height":450,"caption":"execute python code remotely"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bleuio.com\/blog\/execute-python-scripts-via-ble-using-bleuio-and-your-mobile-phone\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bleuio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Execute Python Scripts via BLE Using BleuIO and Your Mobile Phone"}]},{"@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\/1376","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=1376"}],"version-history":[{"count":2,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions"}],"predecessor-version":[{"id":1383,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions\/1383"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media\/1382"}],"wp:attachment":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media?parent=1376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/categories?post=1376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/tags?post=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}