Sitelet https://github.com/rootcastleco/openhaystack
Skip to content

About

Build your own 'AirTags' 🏷 today! Framework for tracking personal Bluetooth devices via Apple's massive Find My network.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

ESP32 Google Find My Device Tracker

Bu proje, ESP32 mikrodenetleyiciyi Google Find My Device ağında özel bir tracker olarak kullanmanızı sağlar. GoogleFindMyTools projesinin fork'udur.

🎯 Ne Yapar?

  • 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

⚠️ Önemli Uyarılar

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.

📋 Gereksinimler

  • 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ı

🚀 Kurulum

1. Repo'yu Klonlayın

git clone https://github.com/rootcastleco/openhaystack.git
cd openhaystack/GoogleFindMyTools

2. Python Ortamını Hazırlayın

# 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.txt

3. Tracker Kaydet

python main.py
  1. Chrome açılacak → Google hesabınıza giriş yapın
  2. Cihaz listesi göründüğünde 'r' tuşuna basın
  3. Tekrar giriş yapın (E2EE key için)
  4. 40 karakterlik Advertisement Key görünecek - bunu kopyalayın!

4. ESP32 Firmware'i Hazırlayı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";

5. ESP32'ye Flash (ESP-IDF ile)

macOS / Linux

# 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

Windows

# 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ştirin

6. Konum Sorgulama

ESP32'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çin

🔧 Sorun Giderme

ChromeDriver Sürüm Hatası

Eğ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

ESP32 Flash Hatası - Port Meşgul

  1. Seri port kullanan tüm programları kapatın
  2. 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
  3. Tekrar idf.py flash çalıştırın

"Python bulunamadı" Hatası (Windows)

$env:PATH = "C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python312;" + $env:PATH

📁 Proje Yapısı

openhaystack/
├── 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

🔗 Kaynaklar

📄 Lisans

Bu proje GNU Affero General Public License v3.0 ile lisanslanmıştır.

👤 Yazar

rootcastle engineering & innovation

About

Build your own 'AirTags' 🏷 today! Framework for tracking personal Bluetooth devices via Apple's massive Find My network.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages