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

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

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

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

מה בשיעור?

  • בלוטות' קלאסי מול BLE
  • מבנה מאסטר-סלייב ותדר 2.4GHz
  • ארבעת שלבי התקשורת
  • למה BluetoothSerial נראית כמו Serial רגיל
  • היתרון על אינפרה-אדום: עובר דרך קירות

מה נלמד כאן

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

הצעד לאלחוטי

מנורה רגילה נדלקת ידנית. מנורה חכמה נשלטת מרחוק, בלי חוטים.

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

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


הידע שצריך

1. בלוטות'

בלוטות' היא טכנולוגיית תקשורת אלחוטית לטווח קצר, שתוכננה להעברת נתונים בצריכת חשמל נמוכה ובעלות נמוכה. היא נמצאת בטלפונים, במחשבים, באוזניות ובמכשירי בית חכם.

שני סוגים — וההבדל חשוב

בלוטות' קלאסי BLE (Low Energy)
מתאים ל העברת נתונים מהירה תקשורת מחזורית וקטנה
דוגמאות אודיו, העברת קבצים חיישנים, שעונים חכמים
צריכת חשמל גבוהה יותר נמוכה מאוד

ESP32 תומך בשניהם. למנורה שלנו נשתמש בקלאסי — הוא פשוט יותר לתכנות.

2. איך זה עובד

בלוטות' משתמש בגלי רדיו בתדר 2.4GHz, במבנה מאסטר-סלייב:

  • המאסטר (הטלפון) יוזם את החיבור ומנהל את התקשורת
  • הסלייב (ה-ESP32) משדר את עצמו מחזורית וממתין שיגלו אותו

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

ארבעת שלבי התקשורת

1. שידור נוכחות (Advertising) — הסלייב משדר חבילות "אני כאן" באופן מחזורי. המאסטר סורק ומגלה.

2. התאמה וקישור (Pairing) — אימות והצפנה, כדי שהתקשורת תהיה מאובטחת.

3. חיבור — אחרי שנוצר הקשר, שני הצדדים מחליפים נתונים.

4. ניתוק — בסיום או בפסק זמן.

3. מנורת הבלוטות'

איך היא עובדת:

  1. החיבור — ה-ESP32 מפעיל בלוטות' וממתין. הטלפון מחפש, מתאים ויוצר ערוץ תקשורת.
  2. שליחת פקודה — המשתמש שולח פקודה מאפליקציה בטלפון, וה-ESP32 מקבל אותה.
  3. פענוח — התוכנית מפרשת את הפקודה.
  4. ביצוע — הנורית נדלקת או נכבית.

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


הניסוי

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

רשימת רכיבים

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

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

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

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

החיבור

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

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

האפליקציה


הקוד

#include "BluetoothSerial.h"

#define LED 5

BluetoothSerial SerialBT;

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(115200);
  SerialBT.begin("Bluetooth LED");     // השם שיופיע בטלפון
  delay(1000);
  Serial.println("The device started, now you can pair it with bluetooth!");
}

void loop() {
  int message;
  if (SerialBT.available()) {          // האם הגיע משהו?
    message = SerialBT.read();         // קוראים בייט
    Serial.println(message);

    if (message == '1')      digitalWrite(LED, HIGH);
    else if (message == '0') digitalWrite(LED, LOW);
  }
}

שלוש שורות שעושות את כל העבודה:

  • SerialBT.begin("Bluetooth LED") — מפעיל את הבלוטות' ונותן לו שם. זה השם שתחפשו בטלפון.
  • SerialBT.available() — בודק אם הגיעו נתונים
  • SerialBT.read() — קורא בייט אחד

שימו לב שזה נראה בדיוק כמו Serial — אותן פקודות, רק שהערוץ הוא אלחוטי במקום כבל. זו לא במקרהBluetoothSerial תוכננה בכוונה להיראות כך, כדי שכל מה שידעתם על תקשורת טורית יעבוד מיד גם כאן.

הפעולה


איך מתחברים

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

שליטה מהטלפון


נסו בעצמכם

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

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

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

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