דלגו לתוכן המרכזי
KitLab
שיעור קודם
מנורת בלוטות' — הצעד לאלחוטי· 35 / 41
מנורת בלוטות' — הצעד לאלחוטי
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

מנורת בלוטות' — הצעד לאלחוטי

מה בשיעור?

  • בלוטות' קלאסי מול BLE
  • מבנה מאסטר-סלייב ותדר 2.4GHz
  • ארבעת שלבי התקשורת
  • היתרון על אינפרה-אדום
  • if data — None ומחרוזת ריקה כ"לא נכון"

מה נלמד כאן

  • תקשורת בלוטות'
  • בלוטות' קלאסי מול BLE
  • לשלוט בנורית מהטלפון

הצעד לאלחוטי

מנורת בלוטות'

כאן מתחילים להשתמש במה שמייחד את ה-ESP32: תקשורת אלחוטית בתוך השבב.


הידע שצריך

1. בלוטות'

טכנולוגיה אלחוטית לטווח קצר, לצריכת חשמל נמוכה ועלות נמוכה.

קלאסי BLE
מתאים ל העברה מהירה תקשורת קטנה ומחזורית
דוגמאות אודיו, קבצים חיישנים, שעונים
חשמל גבוה יותר נמוך מאוד

ESP32 תומך בשניהם. הספרייה שנשתמש בה עובדת עם BLE.

2. איך זה עובד

תהליך התקשורת

גלי רדיו ב-2.4GHz, במבנה מאסטר-סלייב: הטלפון יוזם, ה-ESP32 משדר את עצמו וממתין.

ארבעה שלבים: שידור נוכחות → התאמה → חיבור → ניתוק.

בשיעור 16 השתמשנו בשלט אינפרה-אדום. ההבדל: אינפרה-אדום דורש קו ראייה ישיר. בלוטות' עובר דרך קירות ומגיע רחוק יותר. זה השדרוג האמיתי.


הניסוי

המטרה: להדליק ולכבות נורית מהטלפון.

רשימת רכיבים

הרכיב כמות
לוח ESP32 1
לוח ניסוי 400 נקודות 1
נורית LED 1
נגד 220Ω 1

אין שום מודול תקשורת — הבלוטות' כבר בשבב.

התרשים החשמלי

התרשים החשמלי

החיבור

חיבור הרכיבים

באפליקציה: בערכה מצורף LightBlue.apk — אפליקציית BLE כללית לאנדרואיד.


הקוד

from libs.ACB_Blu import ACB_ESP32_BLE
from machine import Pin
import time

LED_PIN = 5
led = Pin(LED_PIN, Pin.OUT)

ble = ACB_ESP32_BLE("Bluetooth LED")     # השם שיופיע בטלפון

print("The device started, now you can pair it with bluetooth!")

while True:
    data = ble.handle_received_data()    # האם הגיע משהו?

    if data:
        if data == "1":
            led.value(1)
        elif data == "0":
            led.value(0)

    time.sleep(0.1)

שתי שורות שעושות הכול:

  • ACB_ESP32_BLE("שם") — מפעיל את הבלוטות' ונותן לו שם. זה השם שתחפשו בטלפון.
  • handle_received_data() — מחזירה נתונים אם הגיעו, ו-None אם לא.

if data: — בפייתון, None ומחרוזת ריקה נחשבים "לא נכון". אז שורה אחת מכסה גם "הגיע משהו" וגם "זה לא ריק". ב-C היה צריך שתי בדיקות.


איך מתחברים

  1. העלו את התוכנית
  2. בטלפון: פתחו LightBlue וחפשו "Bluetooth LED"
  3. התחברו ושלחו 1 להדלקה, 0 לכיבוי

נסו בעצמכם

  • שנו את שם המכשיר. מופיע בטלפון?
  • הוסיפו פקודות: 2 להבהוב, 3 לכיבוי מושהה.
  • החליפו ב-RGB ושלחו צבעים.
  • שלחו נתונים חזרה לטלפון — למשל טמפרטורה.
  • לכו לחדר אחר. מאיזה מרחק החיבור נופל?

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

נשלח למייל את קובצי הקוד, החומרים ועדכונים על שיעורים חדשים. בלי ספאם.