This repo contains all source code and information pertaining to the configuration and operation of the embedded portion of CSHacked. It boots up, tries to create a mesh network with nearby ESPs, then scans for tags. When it finds one, it uploads signal and timestamp data to the ingestion server for processing.
Below, you'll find some (slightly modified) documentation from the repo this project was pulled from.
Supported Targets | ESP32 |
---|
This project is based off of the ESP-IDF BT-INQUIRY demo
Demo of Classic Bluetooth Device and Service Discovery. Performs inquiry to search for devices, relays names, MAC addresses, and RSSI to the screen.
Install script automatically flashes and device and increments device number. Must be run in project directory (outside container)
python3 incflash.py
This example is designed to run on commonly available ESP32 development board, e.g. ESP32-DevKitC.
idf.py menuconfig
Build the project and flash it to the board, then run the monitor tool to view serial output:
idf.py -p PORT flash monitor
(Replace PORT with the name of the serial port to use. For example, /dev/ttyUSB0)
(To exit the serial monitor, type Ctrl-]
.)
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
-
Some old BT devices don't place their device name in EIR. Users can obtain the peer device name in
bt_app_gap_cb
ESP_BT_GAP_DISC_RES_EVT
event handler or resolve it in EIR as in the functionget_name_from_eir
. -
The ESP32 places its device name in EIR by default.