Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Scapy
  3. aioblescan

aioblescan

MITPython0.2.14

A Python 3/asyncio library for scanning and decoding Bluetooth Low Energy (BLE) advertisements, with support for Ruuvi Tag and Eddystone.

GitHubGitHub
128 stars59 forks0 contributors

What is aioblescan?

aioblescan is a Python library that scans and decodes Bluetooth Low Energy (BLE) advertisement packets using asyncio. It solves the problem of capturing and interpreting BLE data from devices like Ruuvi Tags, Eddystone beacons, and various environmental sensors, providing a lightweight alternative to more complex tools.

Target Audience

Python developers working with IoT projects, BLE device monitoring, or sensor data collection who need a simple, asynchronous way to capture and decode BLE advertisements.

Value Proposition

Developers choose aioblescan for its focused functionality, asyncio-based performance, and out-of-the-box support for popular BLE devices like Ruuvi Tags and Eddystone, without the overhead of larger networking libraries.

Overview

Python only library to scan and decode advertised BLE info. Uses asyncio. Can decode Ruuvi Tag. Can broadcast EddyStone packets.

Use Cases

Best For

  • Monitoring Ruuvi Tag weather sensors via BLE
  • Decoding Eddystone beacon URLs and telemetry data
  • Capturing environmental data from ATC_MiThermometer devices
  • Tracking Tilt hydrometer readings in brewing or fermentation
  • Building custom BLE scanner applications in Python
  • Analyzing raw BLE advertisement packets for unknown devices

Not Ideal For

  • Projects requiring full BLE connections and data transfer, as it only handles advertisement packets
  • Teams on Windows or macOS needing out-of-the-box BLE scanning without additional setup
  • Applications that need a graphical interface or no-code solution, since it's a programming library

Pros & Cons

Pros

Lightweight Design

Avoids the complexity and dependencies of Scapy, focusing solely on BLE advertisements for a cleaner installation and use, as highlighted in the README's philosophy.

Async Performance

Leverages Python's asyncio to handle multiple BLE packets efficiently, ideal for continuous scanning without blocking, demonstrated in the asynchronous packet processing.

Built-in Device Parsing

Decodes data from Ruuvi Tags, Eddystone beacons, and sensors like ATC_MiThermometer, outputting structured JSON with metrics like temperature and humidity, as shown in the examples.

Raw Packet Exposure

Provides raw HCI event data for unrecognized packets, enabling manual analysis and customization for new devices, evident in the generic scanning output.

Cons

Niche Device Support

Limited to pre-coded devices; for unsupported BLE hardware, users must implement their own decoding logic from raw data, which the README acknowledges with raw packet displays.

Platform Dependency

Primarily suited for Linux environments with Bluetooth stack access, with no clear guidance for Windows or macOS in the documentation, posing setup challenges.

Development Overhead

Requires Python programming to use, lacking high-level APIs or GUI tools for quick deployment, as seen in the need to write custom processing functions.

Frequently Asked Questions

Quick Stats

Stars128
Forks59
Contributors0
Open Issues6
Last commit1 year ago
CreatedSince 2017

Tags

#iot#python-library#bluetooth-low-energy#python-asyncio#sensor-data#ble-scanning#eddystone

Built With

a
asyncio
P
Python 3

Included in

Scapy335
Auto-fetched 1 day ago

Related Projects

wifiphisherwifiphisher

The Rogue Access Point Framework

Stars14,607
Forks2,733
Last commit9 days ago
pwnagotchipwnagotchi

(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning.

Stars9,094
Forks1,226
Last commit9 months ago
ResponderResponder

Responder is a LLMNR, NBT-NS and MDNS poisoner, with built-in HTTP/SMB/MSSQL/FTP/LDAP rogue authentication server supporting NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP and Basic HTTP authentication.

Stars4,871
Forks1,799
Last commit6 years ago
trackerjackertrackerjacker

Like nmap for mapping wifi networks you're not connected to, plus device tracking

Stars2,732
Forks194
Last commit2 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub