OpenMV MicroPython OpenMV MicroPython OpenMV MicroPython
  • Beranda
  • Tutorial
  • Pustaka
  • Papan
  • Shield
  • Sensor
  • Bahasa
  • CPython
  • Internal
  • Changelog
  • Lisensi
/
  • 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
  • Diskusi
  • Tutorial
    • 1. Mulai cepat
    • 2. Ikhtisar Python
    • 3. Kontrol Hardware
    • 4. Sensor Visi
    • 5. Pemrosesan Citra
    • 6. NumPy
    • 7. Pembelajaran Mesin
    • 8. Asyncio
    • 9. Jaringan
    • 10. Server Web
    • 11. Bluetooth
      • 11.1. Mengapa Bluetooth
      • 11.2. Stack BLE
      • 11.3. Radio dan lapisan tautan
      • 11.4. Periklanan dan Pemindaian
      • 11.5. Koneksi
      • 11.6. Layanan dan karakteristik
      • 11.7. Operasi GATT
      • 11.8. Modul aioble
      • 11.9. Bertindak sebagai periferal
      • 11.10. Bertindak sebagai central
      • 11.11. Saluran L2CAP
      • 11.12. Peran bersamaan dan beberapa koneksi
      • 11.13. Pairing dan bonding
      • 11.14. Penutup
    • 12. Protokol Host
    • 13. Alat
    • 14. Produksi
  • Pustaka
  • Papan
  • Perisai
  • Sensor
  • Bahasa
  • CPython
  • Internal
  • Changelog
  • Lisensi

Di halaman ini

  • 11.3.1. Radio
  • 11.3.2. Lapisan tautan
  • 11.3.3. Apa yang dibagi kamera dan peer
  • 11.3.4. Apa yang dilihat Python dari semua ini
micropython-doc 0 0
Edit halaman ini
  1. OpenMV MicroPython /
  2. Tutorial OpenMV Cam /
  3. 11. Bluetooth /
  4. 11.3. Radio dan lapisan tautan
Lihat Sumber Buka di ChatGPT Buka di Claude Buka di Perplexity

11.3. Radio dan lapisan tautan¶

Dua lapisan terbawah dari tumpukan BLE hampir sepenuhnya otomatis dari perspektif Python -- silikon radio dan lapisan yang dijalankan MicroPython di atasnya menangani segalanya mulai dari memilih saluran hingga mentransmisikan ulang paket yang hilang. Tiga pilihan yang mereka buat masih terlihat pada API yang menghadap pengguna: daya, jangkauan, dan throughput.

11.3.1. Radio¶

BLE menggunakan pita Industrial-Scientific-Medical (ISM) 2,4 GHz yang sama seperti Wi-Fi, oven microwave, dan sebagian besar nirkabel jarak pendek lainnya. Pita ini dibagi menjadi 40 saluran dengan lebar 2 MHz.

  • Tiga dari 40 saluran dicadangkan untuk periklanan -- siaran singkat yang mengumumkan kehadiran perangkat kepada siapa pun yang mendengarkan. Ketiganya tersebar di seluruh pita sehingga pendengar dapat menyapu ketiganya dengan cepat dan sehingga interferensi pada salah satunya kecil kemungkinannya untuk mengeluarkan perangkat dari udara sepenuhnya.

  • Tiga puluh tujuh adalah saluran data. Setelah dua perangkat terhubung, mereka bertukar paket pada saluran-saluran ini, berpindah di antara mereka pada urutan pseudo-acak yang disepakati kedua sisi saat waktu koneksi. Adaptive frequency hopping memungkinkan salah satu sisi menandai sebuah saluran sebagai buruk (interferensi Wi-Fi berat, microwave, jaringan BLE tetangga) sehingga urutan melewatinya.

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

40 saluran BLE pada pita 2,4 GHz. Tiga untuk periklanan, sisanya membawa lalu lintas pada koneksi terbuka.¶

Radio memancarkan paket-paket singkat -- paling lama beberapa milidetik -- dan tidur di antaranya. Tidur itulah yang membuat teknologi ini low energy. Peripheral BLE tipikal menghabiskan jauh di bawah satu persen waktunya untuk benar-benar mentransmisi; sisanya adalah radio yang dimatikan di antara peristiwa terjadwal.

11.3.2. Lapisan tautan¶

Lapisan tautan adalah unit terkecil BLE yang berkomunikasi dengan mitranya di perangkat lain. Ini menangani empat tugas.

  • Pembingkaian paket. Setiap paket membawa header pendek (alamat akses saluran, panjang paket, bit kontrol), payload, dan CRC. Penerima memeriksa CRC dan membuang apa pun yang rusak.

  • Pengalamatan. Setiap perangkat BLE memiliki alamat perangkat 48-bit yang mengidentifikasinya di radio. Beberapa bersifat public -- pengidentifikasi perangkat keras yang ditetapkan produsen, dapat dilacak selamanya. Beberapa bersifat random -- dihasilkan di perangkat, dirotasi secara berkala, dan secara opsional dienkripsi sehingga penyadap tidak dapat menghubungkan dua transmisi ke perangkat keras fisik yang sama. Alamat muncul lagi di Periklanan dan Pemindaian.

  • Penjadwalan koneksi. Setelah dua perangkat terhubung, lapisan tautan menjadwalkan peristiwa radio berkala pada urutan hopping -- terpisah interval koneksi yang tetap -- dan mengemas data apa pun yang antre dari lapisan GATT di atasnya ke dalam masing-masing. Kedua sisi kembali tidur di antara peristiwa. Interval koneksi adalah kenop yang dapat diminta aplikasi (lihat Koneksi).

  • Keandalan. Setiap paket pada sebuah koneksi diakui oleh sisi lainnya. Lapisan tautan mentransmisikan ulang apa pun yang tidak mendapat respons, sehingga lapisan di atasnya melihat aliran byte yang terurut dan tanpa kehilangan. Tidak seperti UDP -- kirim paket, harap yang terbaik di sisi jaringan, BLE tidak memiliki mode tidak andal yang terpisah dalam penggunaan normal -- setiap paket pada koneksi terbuka dicoba ulang hingga tiba atau tautan dinyatakan hilang.

Lapisan tautan juga adalah tempat enkripsi berjalan setelah sepasang perangkat menyepakati kunci selama pemasangan (lihat Pairing dan bonding). Setiap paket pada tautan terenkripsi didekripsi di penerima sebelum lapisan di atasnya melihatnya.

11.3.3. Apa yang dibagi kamera dan peer¶

Radio di kedua ujung menyepakati saat waktu koneksi sejumlah parameter yang mengatur percakapan:

  • Interval koneksi -- seberapa sering kedua sisi bangun untuk bertukar paket, dari 7,5 ms hingga 4 detik.

  • Latensi peripheral -- berapa banyak interval berturut-turut yang boleh dilewati peripheral jika tidak ada yang perlu dikatakan, untuk menghemat daya.

  • Supervision timeout -- berapa lama salah satu sisi menunggu sebelum menyatakan tautan hilang ketika sisi lain diam.

  • MTU -- paket tunggal terbesar yang akan dikirimkan salah satu sisi ke GATT (default 23 byte, dapat dinegosiasikan lebih tinggi).

Radio dan lapisan tautan bersama-sama bertanggung jawab untuk mengantarkan paket yang andal dan terurut dari satu perangkat ke perangkat lain sambil menjaga kedua radio mati sebanyak mungkin. Setiap lapisan di atas bebas berperilaku seolah-olah ada saluran byte yang bersih dan privat antara kedua titik akhir.

11.3.4. Apa yang dilihat Python dari semua ini¶

Hampir tidak ada. API bluetooth dan aioble tidak mengekspos saluran, urutan hopping, CRC paket, atau timer transmisi ulang; semuanya ditangani di dalam port BLE dan radio. Bagian yang memang terlihat adalah yang diekspos oleh negosiasi waktu koneksi -- interval koneksi, MTU, tipe alamat.

Sebelumnya
11.2. Stack BLE
Berikutnya
11.4. Periklanan dan Pemindaian

Untuk firmware OpenMV v5.0.0 · berdasarkan MicroPython v1.28 · dokumen dibuat 18 Juni 2026 · Hak Cipta © 2014-2026 oleh OpenMV, Damien P. George, dan lainnya.

Dibuat dengan Sphinx menggunakan tema Shibuya.