OpenMV MicroPython OpenMV MicroPython OpenMV MicroPython
  • Ana sayfa
  • Öğretici
  • Temel kütüphaneler
  • Kartlar
  • Kalkanlar
  • Sensörler
  • Dil
  • CPython
  • İç yapı
  • Değişiklik günlüğü
/
  • dev
  • English
  • العربية
  • 简体中文
  • 繁體中文
  • Hrvatski
  • Čeština
  • Nederlands
  • Suomi
  • Français
  • Deutsch
  • עברית
  • Magyar
  • Bahasa Indonesia
  • Italiano
  • 日本語
  • 한국어
  • Polski
  • Português (Brasil)
  • Português (Portugal)
  • Română
  • Русский
  • Español
  • Svenska
  • ไทย
  • Türkçe
  • Українська
  • Tiếng Việt
  • Tartışma
  • Öğretici
    • 1. Hızlı başlangıç
    • 2. Python’a Genel Bakış
    • 3. Donanım Kontrolü
    • 4. Görüntü Sensörleri
    • 5. Görüntü İşleme
    • 6. NumPy
    • 7. Makine Öğrenmesi
    • 8. Asyncio
    • 9. Ağ İletişimi
    • 10. Web Sunucuları
    • 11. Bluetooth
      • 11.1. Bluetooth Neden Kullanılır
      • 11.2. BLE yığını
      • 11.3. Radyo ve bağlantı katmanı
      • 11.4. Reklam yapma ve tarama
      • 11.5. Bağlantılar
      • 11.6. Servisler ve karakteristikler
      • 11.7. GATT işlemleri
      • 11.8. aioble modülü
      • 11.9. Çevre birimi olarak davranma
      • 11.10. Merkez olarak davranmak
      • 11.11. L2CAP kanalları
      • 11.12. Eşzamanlı roller ve çoklu bağlantılar
      • 11.13. Eşleştirme ve bağlama
      • 11.14. Özet
    • 12. Ana Bilgisayar Protokolü
    • 13. Araçlar
    • 14. Üretim
  • Kütüphaneler
  • Kartlar
  • Shield'lar
  • Sensörler
  • Dil
  • CPython
  • İç Yapı
  • Değişiklik Günlüğü
  • Lisans

Bu sayfada

  • 11.3.1. Radyo
  • 11.3.2. Bağlantı katmanı
  • 11.3.3. Kameranın ve bir eşin paylaştıkları
  • 11.3.4. Python’un tüm bunlardan gördükleri
micropython-doc 0 0
Bu sayfayı düzenle
  1. OpenMV MicroPython /
  2. OpenMV Cam Eğitimi /
  3. 11. Bluetooth /
  4. 11.3. Radyo ve bağlantı katmanı
Kaynağı görüntüle ChatGPT'de aç Claude'da aç Perplexity'de aç

11.3. Radyo ve bağlantı katmanı¶

BLE yığınının en alttaki iki katmanı, Python açısından neredeyse tamamen otomatiktir – radyo silikonu ve MicroPython’un onun üzerinde çalıştırdığı katmanlar, bir kanal seçmekten kaybolan bir paketi yeniden iletmeye kadar her şeyi halleder. Yaptıkları seçimlerden üçü hâlâ kullanıcıya yönelik API’ye yansır: güç, menzil ve iş hacmi.

11.3.1. Radyo¶

BLE, Wi-Fi, mikrodalga fırınlar ve diğer çoğu kısa menzilli kablosuz cihazla aynı 2.4 GHz Endüstriyel-Bilimsel-Tıbbi (ISM) bandını kullanır. Bant, 2 MHz genişliğinde 40 kanala bölünmüştür.

  • 40 kanalın üçü, reklam için ayrılmıştır – bir cihazın varlığını dinleyen herkese duyuran kısa yayınlar. Bunlar, bir dinleyicinin üçünü de hızlıca tarayabilmesi ve herhangi birindeki parazitin cihazı tamamen yayın dışı bırakma olasılığının düşük olması için banda yayılmıştır.

  • Otuz yedisi veri kanalıdır. İki cihaz bağlandıktan sonra, paketlerini bu kanallar üzerinden, iki tarafın bağlantı sırasında üzerinde anlaştığı sözde rastgele bir dizide kanaldan kanala atlayarak değiş tokuş eder. Uyarlanabilir frekans atlama, her iki tarafın da bir kanalı kötü (yoğun Wi-Fi paraziti, mikrodalga, komşu BLE ağı) olarak işaretlemesine olanak tanır; böylece dizi o kanalı atlar.

A horizontal frequency axis from 2400 MHz to 2480 MHz with 40 narrow channel slots drawn on it. Three of the slots, at the bottom edge, middle, and upper edge of the band, are highlighted as "advertising channels". The remaining 37 are labelled "data channels".

2.4 GHz bandındaki 40 BLE kanalı. Üçü reklam içindir, geri kalanı açık bir bağlantıda trafiği taşır.¶

Radyo kısa paketler iletir – en fazla birkaç milisaniye uzunluğunda – ve aralarda uyur. Teknolojiyi düşük enerjili yapan şey bu uykudur. Tipik bir BLE peripheral, zamanının yüzde birinden çok daha azını fiilen iletim yaparak geçirir; geri kalanı, radyonun zamanlanmış olaylar arasında kapatıldığı süredir.

11.3.2. Bağlantı katmanı¶

Bağlantı katmanı, başka bir cihazdaki karşılığıyla konuşan en küçük BLE birimidir. Dört işi üstlenir.

  • Paket çerçeveleme. Her paket kısa bir başlık (kanal erişim adresi, paket uzunluğu, kontrol bitleri), bir yük ve bir CRC taşır. Alıcı CRC’yi denetler ve bozuk olan her şeyi atar.

  • Adresleme. Her BLE cihazının, onu radyoda tanımlayan 48 bitlik bir cihaz adresi vardır. Bazıları genel‘dir – üreticinin atadığı, sonsuza dek izlenebilen bir donanım tanımlayıcısı. Bazıları rastgele‘dir – cihazda üretilen, periyodik olarak değiştirilen ve isteğe bağlı olarak şifrelenen; böylece bir gizli dinleyici iki iletimi aynı fiziksel donanıma bağlayamaz. Adresler Reklam yapma ve tarama belgesinde tekrar ele alınır.

  • Bağlantı zamanlaması. İki cihaz bağlandıktan sonra, bağlantı katmanı atlama dizisi üzerinde periyodik radyo olayları zamanlar – sabit bir bağlantı aralığı ile – ve üstteki GATT katmanından kuyruğa alınmış verileri her birine paketler. Olaylar arasında her iki taraf da tekrar uykuya geçer. Bağlantı aralığı, uygulamanın talep edebileceği bir ayardır (bkz. Bağlantılar).

  • Güvenilirlik. Bir bağlantıdaki her paket, diğer tarafça onaylanır. Bağlantı katmanı, yanıt almayan her şeyi yeniden iletir; böylece üstteki katmanlar sıralı, kayıpsız bir bayt akışı görür. Ağ iletişimi tarafındaki UDP – bir paket gönder, en iyisini um aksine, BLE normal kullanımda ayrı bir güvenilmez mod içermez – açık bir bağlantıdaki her paket, ulaşana kadar ya da bağlantının koptuğu ilan edilene kadar yeniden denenir.

Bağlantı katmanı, aynı zamanda bir çift cihazın eşleşme sırasında bir anahtar üzerinde anlaşmasının ardından şifrelemenin çalıştığı yerdir (bkz. Eşleştirme ve bağlama). Şifreli bir bağlantıdaki her paket, üstteki katmanlar görmeden önce alıcıda şifresi çözülür.

11.3.3. Kameranın ve bir eşin paylaştıkları¶

Her iki uçtaki radyolar, bağlantı sırasında konuşmayı yöneten bir avuç parametre üzerinde anlaşır:

  • Bağlantı aralığı – iki tarafın paket değiş tokuşu için ne sıklıkta uyandığı; 7.5 ms ile 4 s arasında herhangi bir değer.

  • Peripheral gecikmesi – söyleyecek bir şeyi yoksa peripheral’ın güç tasarrufu için ardışık kaç aralığı atlayabileceği.

  • Denetim zaman aşımı – diğer taraf sustuğunda, taraflardan birinin bağlantının koptuğunu ilan etmeden önce ne kadar beklediği.

  • MTU – taraflardan herhangi birinin GATT’a teslim edeceği en büyük tek paket (varsayılan 23 bayt, müzakereyle yükseltilebilir).

Radyo ve bağlantı katmanı birlikte, her iki radyoyu da olabildiğince kapalı tutarken güvenilir, sıralı paketleri bir cihazdan diğerine ulaştırmaktan sorumludur. Üstteki her katman, iki uç nokta arasında temiz, özel bir bayt kanalı varmış gibi davranmakta serbesttir.

11.3.4. Python’un tüm bunlardan gördükleri¶

Neredeyse hiçbir şey. bluetooth ve aioble API’leri kanalları, atlama dizilerini, paket CRC’lerini veya yeniden iletim zamanlayıcılarını sunmaz; bunların hepsi BLE portunun ve radyonun içinde halledilir. Gerçekten yansıyan parçalar, bağlantı sırasındaki müzakerenin açığa çıkardığı parçalardır – bağlantı aralığı, MTU, adres türü.

Önceki
11.2. BLE yığını
Sonraki
11.4. Reklam yapma ve tarama

OpenMV donanım yazılımı v5.0.0 için · MicroPython v1.28 tabanlı · belgeler 19 Haziran 2026 tarihinde oluşturuldu · Telif hakkı © 2014-2026 OpenMV, Damien P. George ve diğerleri.

Sphinx kullanılarak Shibuya theme temasıyla oluşturuldu.