OpenMV MicroPython OpenMV MicroPython OpenMV MicroPython
  • Home
  • Tutorial
  • Libraries
  • Boards
  • Shields
  • Sensors
  • Language
  • CPython
  • Internals
  • Changelog
  • License
/
  • English
  • 简体中文
  • 繁體中文
  • Deutsch
  • 日本語
  • Español
  • Русский
  • Français
  • 한국어
  • Italiano
  • Português
  • Nederlands
  • Română
  • Hrvatski
  • Čeština
  • Polski
  • Suomi
  • Svenska
  • Magyar
  • Türkçe
  • Discussion
  • Öğ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

On this page

  • 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
Edit this page
  1. OpenMV MicroPython /
  2. OpenMV Cam Eğitimi /
  3. 11. Bluetooth /
  4. 11.3. Radyo ve bağlantı katmanı
View Source Open in ChatGPT Open in Claude Open in Perplexity

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.

2400 MHz'den 2480 MHz'e kadar yatay bir frekans ekseni, üzerine çizilmiş 2 MHz genişliğinde 40 dar kanal yuvasıyla. Yuvaların üçü, bandın alt kenarında, ortasında ve üst kenarında olmak üzere "reklam kanalları" olarak vurgulanmıştır. Kalan 37'si "veri kanalları" olarak etiketlenmiştir.

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ü.

Previous
11.2. BLE yığını
Next
11.4. Reklam yapma ve tarama

For OpenMV firmware v5.0.0 · based on MicroPython v1.28 · docs built 16 Jun 2026 · Copyright © 2014-2026 by OpenMV, Damien P. George, and others.

Made with Sphinx using the Shibuya theme.