{"id":1709,"date":"2026-06-19T17:49:58","date_gmt":"2026-06-19T17:49:58","guid":{"rendered":"https:\/\/www.bleuio.com\/blog\/?p=1709"},"modified":"2026-06-22T10:19:23","modified_gmt":"2026-06-22T10:19:23","slug":"send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio","status":"publish","type":"post","link":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/","title":{"rendered":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In this project, we are going to build a simple air quality data-sharing system using a BleuIO USB dongle, a HibouAir sensor, Python, and openSenseMap.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal of this project is to collect temperature and humidity data from a HibouAir sensor over Bluetooth Low Energy and publish the values online using openSenseMap. Once the data is uploaded to openSenseMap, it can be viewed publicly and shared with others.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a minimal project designed to show how BleuIO can be used as a BLE gateway for collecting environmental sensor data and sending it to an online platform. The same idea can later be expanded to include other air quality parameters such as CO2, VOC, particulate matter, pressure, or other sensor values.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is openSenseMap?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">openSenseMap is an open data platform for environmental sensor data. It allows users to create a virtual sensor station, called a senseBox, and upload measurements from different sensors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By using openSenseMap, we can make our air quality data public and easy to access. This is useful for projects related to environmental monitoring, smart cities, classrooms, research, and IoT demonstrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this project, we will create a senseBox on openSenseMap and add two sensors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Temperature<\/li>\n\n\n\n<li>Relative humidity<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The Python script will read these values from the HibouAir BLE advertisement and upload them to the correct openSenseMap sensor IDs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Requirements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To complete this project, we need the following hardware and software:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/bleuio.com\/bluetooth-low-energy-usb-ssd025.php\" target=\"_blank\" rel=\"noreferrer noopener\">BleuIO USB dongle<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.hibouair.com\/air-quality-monitor-hibouair-duo.php\" target=\"_blank\" rel=\"noreferrer noopener\">HibouAir sensor<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/opensensemap.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">openSenseMap account<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No extra microcontroller, BLE pairing, database, or web server is required. BleuIO connects directly to the computer through USB and is controlled using AT commands from the Python script.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Up openSenseMap<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, create an account on openSenseMap. After logging in, create a new senseBox. This senseBox will represent the sensor station where our HibouAir measurements will be uploaded.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inside the senseBox, create two sensors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Temperature with unit <code>\u00b0C<\/code><\/li>\n\n\n\n<li>Relative humidity with unit <code>%RH<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After creating the senseBox and sensors, openSenseMap will provide different IDs. We need to copy and save the following values:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>senseBox ID<\/li>\n\n\n\n<li>Temperature sensor ID<\/li>\n\n\n\n<li>Humidity sensor ID<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These IDs are important because the Python script uses them to know where to upload each measurement. The senseBox ID identifies the box, while each sensor ID identifies the individual measurement field.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring the Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The project uses an <code>info.txt<\/code> file to store the required IDs and configuration values.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>info.txt<\/code> does not already exist, copy the example file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp info.example.txt info.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then add the openSenseMap IDs and the HibouAir board ID:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OPENSENSEMAP_BOX_ID=your_box_id_here\nSENSOR_ID_TEMPERATURE=your_temperature_sensor_id_here\nSENSOR_ID_HUMIDITY=your_humidity_sensor_id_here\nHIBOUAIR_SENSOR_ID=220069\n\n# Optional on macOS:\n# BLEUIO_PORT=\/dev\/cu.usbmodemXXXX<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>HIBOUAIR_SENSOR_ID<\/code> is the board ID printed on the HibouAir sensor. The script uses this ID to filter BLE advertisements and make sure it is reading data from the correct device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normally, the script automatically finds the BleuIO serial port on macOS by checking <code>\/dev\/cu.usbmodem*<\/code> and <code>\/dev\/cu.usbserial*<\/code>. If needed, the port can also be added manually in <code>info.txt<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>info.txt<\/code> file is excluded from Git using <code>.gitignore<\/code>, so private box IDs and sensor IDs are not committed to the repository.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Dependencies<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open Terminal, go to the project directory, and run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m venv .venv\nsource .venv\/bin\/activate\npython3 -m pip install -r requirements.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The project uses only two Python packages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>pyserial<\/code><\/li>\n\n\n\n<li><code>requests<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>pyserial<\/code> is used to communicate with the BleuIO dongle over the serial port, and <code>requests<\/code> is used to upload data to openSenseMap.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How the Project Works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The BleuIO USB dongle is connected directly to the Mac. The Python script opens the BleuIO serial port and sends AT commands to scan for BLE advertisements from the HibouAir sensor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The script uses the HibouAir board ID to filter the scan result. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AT+FINDSCANDATA=220069=5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This command asks BleuIO to search for advertised data containing the board ID <code>220069<\/code> for five seconds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the scan response is received, the script decodes the latest valid HibouAir advertisement. It extracts only two values. Temperature and Relative humidity,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After decoding the values, the script uploads them to the configured openSenseMap senseBox using the temperature and humidity sensor IDs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The upload process repeats every 60 seconds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Only temperature and humidity are uploaded. Bluetooth addresses, raw advertising payloads, and other sensor values are not sent to openSenseMap or saved to a file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Running the Script<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Connect BleuIO to the Computer and run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 main.py<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Press <code>Ctrl+C<\/code> to stop the logger.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>## BleuIO HibouAir openSenseMap Logger\n\nUsing port: \/dev\/cu.usbmodem4048FDE52CF21\nChecking BleuIO...\nBleuIO responded OK\n\nScanning for HibouAir sensor ID: 220069\nScan command: AT+FINDSCANDATA=220069=5\nWaiting for BleuIO scan response...\n\nDecoded HibouAir data:\nTemperature: 24.3 \u00b0C\nHumidity: 42.8 %RH\n\nUploading to openSenseMap...\nTemperature uploaded successfully\nHumidity uploaded successfully\n\nWaiting 60 seconds before next scan...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The script reads the BleuIO response, decodes the temperature and humidity values, uploads them to openSenseMap, and then waits before starting the next scan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Outputs<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"1024\" src=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-19-at-17.00.03-1006x1024.png\" alt=\"\" class=\"wp-image-1710\" srcset=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-19-at-17.00.03-1006x1024.png 1006w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-19-at-17.00.03-295x300.png 295w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-19-at-17.00.03-768x782.png 768w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-19-at-17.00.03.png 1024w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-1024x521.jpg\" alt=\"\" class=\"wp-image-1712\" srcset=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-1024x521.jpg 1024w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-300x153.jpg 300w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-768x391.jpg 768w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-1536x781.jpg 1536w, https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/openSenseMap-org-06-19-2026_05_02_PM-1-2048x1042.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The full source code for this project is available on <strong><a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_opensensemap\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Users can download the project, configure their own openSenseMap IDs, add their HibouAir board ID, and run the script on their own system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_opensensemap\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_opensensemap<\/a><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Expanding the Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This project currently uploads only temperature and humidity, but it can be expanded easily.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Users can modify the script to decode and upload more environmental parameters, such as: CO2, VOC, Particulate matter, Air pressure, Light level etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additional sensors can also be created in openSenseMap, and their sensor IDs can be added to the configuration file. This makes the project flexible for different air quality monitoring and IoT applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With only a BleuIO USB dongle, a HibouAir sensor, and a Python script, we can collect temperature and humidity data and make it publicly available. The project is easy to set up, requires no BLE pairing, and can be extended for more advanced air quality monitoring applications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this project, we are going to build a simple air quality data-sharing system using a BleuIO USB dongle, a HibouAir sensor, Python, and openSenseMap. The goal of this project is to collect temperature and humidity data from a HibouAir sensor over Bluetooth Low Energy and publish the values online using openSenseMap. Once the data [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1714,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,2],"tags":[],"class_list":["post-1709","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 v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - 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\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"og:description\" content=\"In this project, we are going to build a simple air quality data-sharing system using a BleuIO USB dongle, a HibouAir sensor, Python, and openSenseMap. The goal of this project is to collect temperature and humidity data from a HibouAir sensor over Bluetooth Low Energy and publish the values online using openSenseMap. Once the data [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/\" \/>\n<meta property=\"og:site_name\" content=\"BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-19T17:49:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-22T10:19:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"619\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\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\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/\"},\"author\":{\"name\":\"BleuIO\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"headline\":\"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO\",\"datePublished\":\"2026-06-19T17:49:58+00:00\",\"dateModified\":\"2026-06-22T10:19:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/\"},\"wordCount\":868,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/opensensemap.webp\",\"articleSection\":[\"BleuIO\",\"BleuIO tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/\",\"name\":\"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - BleuIO - Create Bluetooth Low Energy application\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/opensensemap.webp\",\"datePublished\":\"2026-06-19T17:49:58+00:00\",\"dateModified\":\"2026-06-22T10:19:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/opensensemap.webp\",\"contentUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/opensensemap.webp\",\"width\":1100,\"height\":619,\"caption\":\"opensensemap\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO\"}]},{\"@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":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - 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\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/","og_locale":"en_US","og_type":"article","og_title":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - BleuIO - Create Bluetooth Low Energy application","og_description":"In this project, we are going to build a simple air quality data-sharing system using a BleuIO USB dongle, a HibouAir sensor, Python, and openSenseMap. The goal of this project is to collect temperature and humidity data from a HibouAir sensor over Bluetooth Low Energy and publish the values online using openSenseMap. Once the data [&hellip;]","og_url":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/","og_site_name":"BleuIO - Create Bluetooth Low Energy application","article_published_time":"2026-06-19T17:49:58+00:00","article_modified_time":"2026-06-22T10:19:23+00:00","og_image":[{"width":1100,"height":619,"url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp","type":"image\/webp"}],"author":"BleuIO","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#article","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/"},"author":{"name":"BleuIO","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"headline":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO","datePublished":"2026-06-19T17:49:58+00:00","dateModified":"2026-06-22T10:19:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/"},"wordCount":868,"commentCount":0,"image":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp","articleSection":["BleuIO","BleuIO tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/","url":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/","name":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO - BleuIO - Create Bluetooth Low Energy application","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#primaryimage"},"image":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp","datePublished":"2026-06-19T17:49:58+00:00","dateModified":"2026-06-22T10:19:23+00:00","author":{"@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"breadcrumb":{"@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#primaryimage","url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp","contentUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2026\/06\/opensensemap.webp","width":1100,"height":619,"caption":"opensensemap"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bleuio.com\/blog\/send-hibouair-temperature-and-humidity-data-to-opensensemap-using-bleuio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bleuio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Send HibouAir Temperature and Humidity Data to openSenseMap Using BleuIO"}]},{"@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\/1709","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=1709"}],"version-history":[{"count":1,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/1709\/revisions"}],"predecessor-version":[{"id":1713,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/1709\/revisions\/1713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media\/1714"}],"wp:attachment":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media?parent=1709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/categories?post=1709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/tags?post=1709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}