Bu proje, ESP32 mikrodenetleyiciyi Google Find My Device ağında özel bir tracker olarak kullanmanızı sağlar. GoogleFindMyTools projesinin fork'udur.
- ESP32'yi Google Find My Device ağına bağlar
- Yakındaki Android cihazlar ESP32'nin konumunu Google'a bildirir
- Python script ile konumu sorgulayabilirsiniz
4 günde bir
python main.pyçalıştırmanız gerekiyor - aksi halde Google sunucularına advertisement "announce" edilmez.
Resmi Google Find My Device uygulamasında görünmez - sadece Python script ile sorgulanabilir.
- Python 3.10+
- Google Chrome (güncel sürüm)
- ESP-IDF v5.3 (ESP32 için)
- ESP32 geliştirme kartı (ESP32-WROOM, ESP32-CAM, ESP32-C3)
- Google hesabı
git clone https://github.com/rootcastleco/openhaystack.git
cd openhaystack/GoogleFindMyTools# Virtual environment oluştur
python -m venv venv
# Aktive et
# Windows:
.\venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Bağımlılıkları kur
pip install -r requirements.txtpython main.py- Chrome açılacak → Google hesabınıza giriş yapın
- Cihaz listesi göründüğünde 'r' tuşuna basın
- Tekrar giriş yapın (E2EE key için)
- 40 karakterlik Advertisement Key görünecek - bunu kopyalayın!
ESP32Firmware/main/main.c dosyasında 29. satırı düzenleyin:
// Bu satırı bulun:
const char *eid_string = "INSERT_YOUR_ADVERTISEMENT_KEY_HERE";
// Kendi key'inizi ekleyin:
const char *eid_string = "YOUR_40_CHAR_KEY_HERE";# ESP-IDF'yi kur (eğer kurulu değilse)
git clone -b v5.3 --recursive https://github.com/espressif/esp-idf.git ~/esp-idf
cd ~/esp-idf
./install.sh esp32
source ~/esp-idf/export.sh
# Firmware klasörüne git
cd /path/to/openhaystack/GoogleFindMyTools/ESP32Firmware
# Build ve flash
idf.py set-target esp32
idf.py build
idf.py flash# Python'u PATH'e ekle
$env:PATH = "C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python312;" + $env:PATH
# ESP-IDF ortamını aktive et
. C:\path\to\esp-idf\export.ps1
# Firmware klasörüne git
cd C:\path\to\GoogleFindMyTools\ESP32Firmware
# Build ve flash
idf.py set-target esp32
idf.py build
idf.py -p COM3 flash # Portu kendi ESP32'nize göre değiştirinESP32'yi flash ettikten 15-30 dakika sonra:
cd GoogleFindMyTools
source venv/bin/activate # veya Windows: .\venv\Scripts\activate
python main.py
# Cihaz numarasını seçinEğer This version of ChromeDriver only supports Chrome version X hatası alırsanız:
chrome_driver.py dosyasında version_main=None yerine Chrome sürümünüzü yazın:
# Satır 61, 72, 85'te:
driver = uc.Chrome(options=chrome_options, version_main=144) # Chrome sürümünüze göre- Seri port kullanan tüm programları kapatın
- ESP32'yi flash moduna alın:
- BOOT butonuna basılı tutun
- RESET'e basın veya USB'yi takın
- BOOT'u bırakın
- Tekrar
idf.py flashçalıştırın
$env:PATH = "C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python312;" + $env:PATHopenhaystack/
├── GoogleFindMyTools/ # Google Find My Device araçları
│ ├── main.py # Ana Python scripti
│ ├── chrome_driver.py # ChromeDriver yönetimi (düzeltildi)
│ ├── Auth/ # Authentication tokenları
│ ├── ESP32Firmware/ # ESP32 firmware kodu
│ │ ├── main/main.c # Advertisement key burada
│ │ └── sdkconfig # ESP-IDF konfigürasyonu
│ └── requirements.txt # Python bağımlılıkları
├── Firmware/ # OpenHaystack (Apple) firmware
│ └── ESP32/ # Apple Find My için ESP32 firmware
└── README.md # Bu dosya
Bu proje GNU Affero General Public License v3.0 ile lisanslanmıştır.
rootcastle engineering & innovation