BleuIO

BleuIO

  • Get Started
  • Buy Now
  • Manual
  • AT Commands
  • Help

›Python library < v1.2.0

Manual

  • How it works
  • How to use
  • Verbose Mode
  • Known Issues
  • Troubleshooting

Firmware Updates

    BleuIO Pro (SSD025)

    • Firmware Updates
    • Release History

    BleuIO (SSD005)

    • Firmware Updates
    • Release History of BleuIO (SSD005)

AT-Commands

  • List of AT Commands

BleuIO Libraries

  • JavaScript Library
  • Python Library

Scripts & Tutorials

  • Python: iBeacon
  • Python: Eddystone Beacon
  • Python: Scan
  • Python: Scan and Store
  • Python: SPS Script
  • Python: File transfer Script
  • Python: Repeater Script
  • Javascript: Google chrome.serial Beacon
  • C# Console App Example
  • C# WFA Example

Script using libraries

    Python library > v1.2.0

    • Custom Services example using Python library
    • Eddystone example using Python library
    • IBeacon example using Python library
    • Scan example using Python library
    • Scan and store example using Python library

    Python library < v1.2.0

    • Eddystone example using Python library
    • IBeacon example using Python library
    • Scan example using Python library
    • Scan and store example using Python library
    • SPS example using Python library
    • Security Example using Python library

    JS library

    • Eddystone example using Javascript library
    • IBeacon example using Javascript library
    • Scan example using Javascript library
    • Security Example using Javascript library
    • Get Device Distance

Projects

    Arduino

    • Arduino Example

    Beaglebone

    • Beaglebone Example

    Raspberry Pi

    • Raspberry PI into Beacon
    • Raspberry PI home automation

    Raspberry PI Pico

    • BleuIO integration (Part1)
    • BleuIO integration (Part2)
    • BleuIO integration (Part3)

    Renesas RA4M2

    • Signal Strength Monitoring
    • Real-Time CO2 monitor
    • Monitoring Air Quality

    STM32 Nucleo-144

    • Nucleo-144 board example
    • Smart Bulb Example

    M5Stack's CoreMP135

    • M5Stack's CoreMP135 board example

Build Your Own Firmware

  • Build Your Own Firmware
  • Advertising Example

More

  • Links
Order Now

BleuIO

$19.99

Buy Now

Scan example using Python library

Introduction

In this example, we're going to set up the dongle using the following Python script to scan for nearby Bluetooth devices.

from bleuio_lib.bleuio_funcs import BleuIo
from time import sleep

my_dongle = BleuIo()
my_dongle.start_daemon()

print(
    "\nConnected to dongle\n\n" "Welcome to the Bluetooth device Scanning example!\n\n"
)

# Set the dongle in central role
my_dongle.at_central()


user_input = input(
    "Enter:\n"
    '"1" Continuous scan\n'
    '"2" Scan for a limited time\n'
    '"3" Scan a target device\n'
)

if user_input == "1":
    # "Continuous scan" option

    # Start scanning for bluetooth devices
    my_dongle.at_gapscan()
    log = []
    try:
        while True:
            # Fetch response from the dongle
            response = my_dongle.rx_scanning_results
            # Iterate the response for every device found
            for device in response:

                # Add and print the device if its not already found
                if device not in log:
                    print(device)
                    log.append(device)
    except:
        my_dongle.stop_scan()
        exit()

elif user_input == "2":
    # "Scan for a limited time" option
    time_limit = input("Enter time limit(seconds):\n")

    while not time_limit.isdigit():
        time_limit = input("Wrong input please try again")

    print("Scanning..")

    # Starts scan with entered time limit
    my_dongle.at_gapscan(int(time_limit))
    response = my_dongle.rx_scanning_results
    # Prints the result
    for device in response:
        print(device)

elif user_input == "3":
    # "Scan a target device" option

    # Prompting user to enter a device address scanned for
    device_address = input(
        "Enter device type and address:\n" "Example: [0]40:48:FD:E5:2F:A5\n"
    )

    print("Scanning target device: {}".format(device_address))

    # Start scanning for the device
    my_dongle.at_scantarget(device_address)

    user_input = input("Press ENTER to get the result")

    # Stop the scan
    my_dongle.stop_scan()

    # Fetch the result
    devices = my_dongle.rx_scanning_results

    # Print the result
    for device in devices:
        print(device)

    # Stop daemon and exit
    my_dongle.stop_daemon()
    exit()

Full source also available on GitHub.


← IBeacon example using Python libraryScan and store example using Python library →
  • Introduction

Support Request

If you have any queries or technical questions, please don't hesitate to send us a message. We will reply within 24 hours.

Message Sent!

Docs
ManualAT CommandsHelp
Community
YouTubeLinkedInFacebook
More
BleuIOSmart Sensor DevicesGitHub
Sales & Support
support@bleuio.comsales@bleuio.com
Copyright © 2025 BleuIO. A product of Smart Sensor Devices