
Оглавление:
- Шаг 1. Почему именно BLE Scanner?
- Шаг 2: подготовка
- Шаг 3: Обрежьте печатную плату
- Шаг 4: паяльник
- Шаг 5: пайка силовой цепи
- Шаг 6: Пайка подтягивающего резистора
- Шаг 7: пайка программных контактов
- Шаг 8: очистка коробки TicTac
- Шаг 9: втиснитесь в коробку
- Шаг 10: Подготовьте программное обеспечение
- Шаг 11: запрограммируйте ESP32
- Шаг 12: Получите данные
- Шаг 13: Измерение мощности
- Шаг 14: Удачного сканирования
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

В этой инструкции показано, как использовать ESP32 для создания беспроводного сканера сигналов BLE, все отсканированные данные будут отправляться на HTTP-сервер через Wi-Fi.
Шаг 1. Почему именно BLE Scanner?

Сигнал BLE (Bluetooth Low Energy) очень распространен для современных цифровых устройств, мобильных телефонов, браслетов, iBeacon, тегов ресурсов. Этот сигнал не только помогает вам соединить устройства в пары, он также может сообщать о состоянии устройства, таком как уровень заряда батареи, частота сердечных сокращений, движение (ходьба, бег, падение), температура, тревожная кнопка, защита от потери и т. Д.
Это ценные большие данные для отслеживания местоположения, если мы можем собрать сигнал BLE в определенном количестве позиций.
В конечном итоге сканер BLE должен зафиксироваться в выбранном положении. Однако выбор подходящего места требует проб и ошибок. Крошечный беспроводной сканер BLE удобен, чтобы помочь вам проверить, где находится нужное место.
Шаг 2: подготовка


Плата ESP32
На этот раз я использую плату ESP-WROOM-32.
Крошечный контейнер
Любой маленький контейнер должен быть в порядке, у меня в руке есть крошечная коробка TicTac, и в нее просто помещается плата ESP32, какое совпадение!
Lipo Аккумулятор
Пиковый ток ESP32 составляет около 250 мА. Чтобы не потреблять ток более 1С в любое время, Lipo Battery должна иметь емкость более 250 мАч. 852025 - это максимальный размер, который может поместиться в коробку Tictac, и он заявляет, что у него 300 мАч, этого достаточно.
Цепь регулятора мощности
Стабилизатор LDO 3,3 В, несколько конденсаторов, у меня есть стабилизатор HT7333A, конденсатор 22 и 100 мкФ в руке
Другие
SMD-резистор 10 кОм для подтягивания вывода EN, небольшой кусок универсальной печатной платы, выключатель питания, некоторые провода с покрытием, 7-контактный разъем
Док-станция для разработчиков ESP32
В программном процессе также требуется док-станция для разработки ESP32, вы можете найти, как это сделать, в моих предыдущих инструкциях:
www.instructables.com/id/Battery-Powered-E…
Шаг 3: Обрежьте печатную плату

Измерьте размер вашего крошечного контейнера и обрежьте печатную плату, чтобы она поместилась в него.
Шаг 4: паяльник

Начнем пайку с 7-контактного разъема и печатной платы.
Шаг 5: пайка силовой цепи



Вот сводка подключения:
LDO Vin -> контактный разъем Vcc (1) -> выключатель питания -> Lipo V +, контактный разъем для зарядки (7)
LDO GND -> контактный разъем GND (2), конденсаторы V- контакты, ESP32 GND LDO Vout -> конденсаторы V + контакты, ESP32 Vcc
Шаг 6: Пайка подтягивающего резистора

Это самая сложная пайка в этом проекте, ширина выводов на плате ESP32 составляет всего 1,27 мм. К счастью, контакты Vcc и EN находятся рядом, они могут направлять резистор между обоими контактами без провода.
Вывод ESP32 Vcc -> резистор 10 кОм -> вывод ESP32 EN
Шаг 7: пайка программных контактов

Вот сводка подключения:
Разъем Tx pin (3) -> ESP32 Tx pin
Разъем Rx (4) -> ESP32 Rx pin Заголовок программного контакта (5) -> ESP32 GPIO 0 pin Заголовок RST (6) -> ESP32 EN pin
Шаг 8: очистка коробки TicTac

- Съесть все сладости
- Удалите наклейки
Шаг 9: втиснитесь в коробку



Выдавите все компоненты в коробку TicTac, будьте осторожны, не обрывайте провода.
Шаг 10: Подготовьте программное обеспечение


IDE Arduino
Скачайте и установите Arduino IDE, если еще не сделали:
www.arduino.cc/en/Main/Software
arduino-esp32
Установите аппаратную поддержку ESP32
Подробная инструкция по установке в популярных операционных системах.
Для Linux: https://www.arduino.cc/en/Guide/Linux (см. Также страницу игровой площадки Arduino
Для macOS X:
Для Windows:
Ссылка:
Шаг 11: запрограммируйте ESP32




- Загрузите программу Arduino:
- Измените параметры:
#define WIFI_SSID "YOURAPSSID"
#define WIFI_PASSWORD "YOURAPPASSWORD" #define POST_URL "https:// YOURSERVERNAMEORIP: 3000 /"
- Выберите плату: любая плата ESP32
- Выберите раздел: без OTA / минимальный SPIFFS
- Загрузить
Шаг 12: Получите данные

Если у вас еще нет HTTP-сервера для получения данных POST, вы можете попробовать использовать эту простую программу Node.js:
Вот образцы полученных данных:
Вт 20 мар 2018 08:44:41 GMT + 0000 (UTC): [{"Address": "6e: 3d: f0: a0: 00: 36", "Rssi": -65, "ManufacturerData": "4c0010050b1047f0b3"}, {"Address": "f8: 04: 2e: bc: 51: 97 "," Rssi ": -94," ManufacturerData ":" 75004204018020f8042ebc5197fa042ebc519601000000000000 "}, {" Address ":" 0c: 07: 4a: fa: 60: dd "," Rssi ": -96," ManufacturerData ": "4c0009060304c0a80105"}]
Шаг 13: Измерение мощности



Программа сканирует сигнал BLE в течение 30 секунд, затем в режиме глубокого сна 300 секунд и затем снова сканирует. Для каждого контура он потребляет около 3,9 мВтч.
Теоретически он может работать: (результат тестирования я обновлю позже в своем Twitter)
300 мАч Lipo / 3,9 мВтч @ 330 секунд
= [(300 мА * 3,3 В) мВтч / 3,9 мВт * 330] секунд ~ 83769 секунд ~ 23 часа
2018-04-08 Обновление:
Я перешел на стабилизатор LDO XC6503D331 и провел 2 измерения:
Раунд 1: 12:43:28 - 16:42:10 (~ 20 часов) 210 BLE scan POST получено
Раунд 2: 10:04:01 - 05:36:47 (~ 19,5 часов) Получено 208 POST сканирования BLE
Шаг 14: Удачного сканирования

Пришло время найти место для установки вашей сети отслеживания BLE!
Рекомендуемые:
Светодиодный самокат Cylon - сканер Ларсона 80-х: 5 шагов (с изображениями)

Светодиодный самокат Cylon - сканер Ларсона 80-х: Этот проект представляет собой модернизацию скутера 80-х годов прошлого века - я помещаю светодиодную ленту в решетку радиатора Honda Elite моего парня Смоки, чтобы создать эффект анимации сканера Ларсона, одновременно обучая его тому, как припой. Схема и код переделаны из
Лазерный сканер Raspberry Pi: 9 шагов (с изображениями)

Лазерный сканер Raspberry Pi: Лазерный сканер - это встроенное системное устройство Raspberry Pi, способное оцифровывать объекты в файлы сетки .obj для воспроизведения с помощью 3D-печати. Устройство делает это за счет использования линейного лазера и встроенной камеры PiCam для компьютерного зрения. Лазер
Сканер карт для торгового автомата: 13 шагов (с изображениями)

Сканер карточек для автомата с коллекционными картами: Сканер карточек для автомата с коллекционными картами Журнал изменений можно найти на последнем шаге. Предыстория Я объяснил основную мотивацию моего проекта во вступлении к устройству подачи карточек. Но короче говоря, мы с детьми накопили большое количество Коллекционных карточек b
Настольный компьютерный томограф и 3D-сканер с Arduino: 12 шагов (с изображениями)

Настольный компьютерный томограф и 3D-сканер с Arduino: компьютерная томография (КТ) или компьютерная аксиальная томография (КТ) чаще всего связаны с визуализацией тела, поскольку она позволяет клиницистам увидеть анатомическую структуру внутри пациента, не прибегая к хирургическому вмешательству. Изобразить внутри человека б
Сделай сам 3D-сканер на основе структурированного света и стереозрения на языке Python: 6 шагов (с изображениями)

Сделай сам 3D-сканер на основе структурированного света и стереозрения на языке Python: этот 3D-сканер был создан с использованием недорогих традиционных предметов, таких как видеопроектор и веб-камеры. 3D-сканер структурированного света - это устройство 3D-сканирования для измерения трехмерной формы объекта с использованием проецируемых световых схем и системы камеры