מצוין! 🎉
מהצילום רואים:
✅ Bluetooth מופעל
✅ המחשב משדר בשם:
DESKTOP-LS79N7L
✅ המחשב מוגדר כ־Discoverable (ניתן לגילוי)
צעד 3
עכשיו קח את הטלפון שלך:
פתח הגדרות → Bluetooth
הפעל Bluetooth אם הוא כבוי.
לחץ על סריקה / Search / Pair new device.
חפש ברשימת ההתקנים:
DESKTOP-LS79N7L
שזה שם המחשב שלך.
📱 כתוב לי:
האם אתה רואה את DESKTOP-LS79N7L בטלפון?
אם כן, לחץ עליו ונסה לבצע Pair (צימוד).
אם מופיע קוד בן 6 ספרות בשני המכשירים, אשר אותו בשניהם.
ברגע שהטלפון יתחבר למחשב, נעבור לשלב הבא שבו נזהה את המחשב מתוך אפליקציה ונעבוד לקראת "תחנת אשקלון".
מצוין! 🎉
מהצילום רואים:
✅ Bluetooth מופעל
✅ המחשב משדר בשם:
DESKTOP-LS79N7L
✅ המחשב מוגדר כ־Discoverable (ניתן לגילוי)
צעד 3
עכשיו קח את הטלפון שלך:
פתח הגדרות → Bluetooth
הפעל Bluetooth אם הוא כבוי.
לחץ על סריקה / Search / Pair new device.
חפש ברשימת ההתקנים:
DESKTOP-LS79N7L
שזה שם המחשב שלך.
📱 כתוב לי:
האם אתה רואה את DESKTOP-LS79N7L בטלפון?
אם כן, לחץ עליו ונסה לבצע Pair (צימוד).
אם מופיע קוד בן 6 ספרות בשני המכשירים, אשר אותו בשניהם.
ברגע שהטלפון יתחבר למחשב, נעבור לשלב הבא שבו נזהה את המחשב מתוך אפליקציה ונעבוד לקראת "תחנת אשקלון".
מעולה. נתחיל בצורה הכי פשוטה שיש, בלי אפליקציה ובלי הצפנה בשלב זה.
שלב 1 – התקנת אפליקציית סריקת BLE בטלפון
בטלפון Samsung התקן:
זו אפליקציה מקצועית שמציגה כל שידור Bluetooth Low Energy בסביבה.
אחרי ההתקנה
פתח את האפליקציה.
אשר הרשאות Bluetooth ומיקום אם תתבקש.
לחץ SCAN.
📱 תגיד לי:
האם האפליקציה הותקנה?
האם אתה רואה כפתור SCAN?
לאחר מכן נעבור לשלב 2: נגרום למחשב לשדר מזהה BLE שהטלפון יוכל לראות.
אין בעיה, אז נתקין Python.
צעד 1 – הורדת Python
היכנס לאתר הרשמי:
או ישירות:
צעד 2 – התקנה
כשתריץ את קובץ ההתקנה:
⚠️ חשוב מאוד לסמן בתחתית החלון:
☑ Add Python to PATH
ורק אז ללחוץ:
Install Now
צעד 3
בסיום ההתקנה פתח CMD (חלון שחור) וכתוב:
python --version
אם הכול תקין תראה משהו כמו:
Python 3.13.x
📸 שלח צילום מסך של מסך ההתקנה או של הפלט של python --version אחרי ההתקנה, ונמשיך לשלב הבא של שידור BLE מהמחשב.
מצוין! 🎉
יש לך Python 3.14.6 מותקן, אז אפשר להתקדם.
שלב הבא – בדיקת BLE במחשב
פתח CMD וכתוב:
pip install bleak
המתן עד שיסיים.
לאחר מכן כתוב:
pip install winrt-runtime
(אם מתקבלת שגיאה, צלם אותה ונדלג על השלב הזה.)
📋 כתוב לי:
האם
bleakהותקן בהצלחה?האם היו שגיאות?
אחרי זה אשלח לך תוכנית Python קצרה שתבדוק אילו יכולות Bluetooth זמינות במחשב שלך, כדי לראות אם המתאם שלך מסוגל לשדר BLE Beacon. זו בדיקה בטוחה שלא משנה שום דבר במחשב.
מצוין! 👏
עכשיו נבדוק שהכול עובד לפני שננסה לשדר BLE.
צעד 1
פתח Notepad (פנקס רשימות).
הדבק את הקוד הבא:
import asyncio
from bleak import BleakScanner
async def main():
devices = await BleakScanner.discover(timeout=5.0)
for device in devices:
print(device)
asyncio.run(main())
שמור בשם:
scan.py
על שולחן העבודה.
צעד 2
פתח CMD וכתוב:
cd Desktop
python scan.py
המתן כ-5 שניות.
צעד 3
העתק לכאן את כל מה שמופיע בחלון השחור.
המטרה כרגע היא לבדוק שמתאם ה-Bluetooth שלך מסוגל לעבוד עם BLE דרך Python. אם הסריקה מצליחה, נעבור לשלב הבא: נגרום למחשב לשדר מזהה כמו:
ASHKELON
והטלפון שלך יראה אותו ב-nRF Connect.
מעולה, זו לא שגיאת Bluetooth אלא שגיאה שהקובץ לא נמצא.
כתבת:
python scan.py
אבל Windows מחפש את הקובץ ב־
C:\scan.py
והוא לא שם.
בוא נבדוק איפה שמרת את הקובץ
פתח CMD וכתוב:
cd %USERPROFILE%\Desktop
dir scan.py
ולחץ Enter.
אם הקובץ קיים, תראה משהו כמו:
scan.py
ואז תפעיל:
python scan.py
אם אתה לא בטוח שהקובץ נשמר:
פתח Notepad.
הדבק שוב את הקוד.
לחץ File → Save As.
בחר Desktop.
בשם הקובץ כתוב בדיוק:
scan.py
ב־Save as type בחר:
All Files (*.*)
ולא Text Documents.
שמור.
אחרי זה כתוב לי מה הפלט של:
dir %USERPROFILE%\Desktop\scan.py
ואני אכוון אותך לשלב הבא.
מעולה! 🎉
הקובץ scan.py נמצא במקום הנכון.
עכשיו באותו חלון CMD, כשאתה נמצא ב־
C:\Users\user\Desktop>
הרץ:
python scan.py
והמתן כ־5–10 שניות.
אחר כך העתק לכאן את כל מה שמופיע בחלון.
אם מתקבלת שגיאה, העתק את כל השגיאה בדיוק כפי שהיא מופיעה.
אנחנו ממש צעד אחד לפני שנראה אילו התקני BLE המחשב שלך מסוגל לזהות.
מצוין! 🎉
הסריקה עבדה.
זה אומר:
✅ Python עובד
✅ Bleak עובד
✅ Bluetooth LE עובד
✅ המחשב מצליח לראות התקני BLE בסביבה
לדוגמה הוא זיהה:
SF SYSTEM BT
ELK-BLEDDM
ועוד התקנים שונים.
השלב הבא
עכשיו נרצה שהטלפון יראה אותך.
יש מגבלה חשובה ב-Windows:
רוב מתאמי ה-Bluetooth של Windows יכולים לסרוק BLE, אבל לא תמיד יכולים לשדר Beacon BLE ישירות דרך Python.
לפני שנבנה משדר, בוא נבדוק את המתאם.
ב-CMD כתוב:
python -c "from bleak import BleakScanner; print('BLE OK')"
אם מתקבל:
BLE OK
נמשיך לבדיקה הבאה.
לאחר מכן אשלח לך קוד קצר שינסה לזהות אם מתאם ה-Realtek שלך מסוגל לשדר BLE. אם כן, נגרום לטלפון לראות שידור בשם:
ASHKELON
ב־nRF Connect. 🚉📱
מעולה! 🎉
הגענו לנקודה שבה אנחנו יודעים:
✅ Python עובד
✅ Bluetooth LE עובד
✅ המחשב סורק BLE
עכשיו יש משהו חשוב:
Windows בדרך כלל לא מאפשר לשדר BLE Beacon בקלות דרך Python בלבד, במיוחד עם מתאמי Realtek. לכן לפני שנכתוב הרבה קוד, בוא נבדוק אם המחשב מסוגל לשדר BLE.
צעד הבא
פתח CMD והרץ:
python -c "import platform; print(platform.platform())"
והעתק לכאן את התוצאה.
בנוסף, כתוב לי:
Windows 10 או Windows 11?
64 ביט? (כנראה כן, אבל נאשר)
אחרי שאקבל את התוצאה, אחליט אם:
נשתמש במחשב עצמו כמשדר BLE.
או שנשתמש ב־ESP32/Arduino בהמשך (שהוא פתרון הרבה יותר יציב לפרויקט "תחנת אשקלון").
אנחנו ממש קרובים לבדיקה האם המחשב יכול לשדר Beacon שהטלפון יראה ב־nRF Connect. 🚉📱
מצוין. 👍
יש לך:
Windows 11
Build 22631
64-bit
וזה תומך ב-Bluetooth LE.
עכשיו אני רוצה לבדוק אם Windows רואה את המתאם כמתאם BLE מלא.
צעד הבא
ב-CMD הרץ:
powershell "Get-PnpDevice | findstr /i Bluetooth"
והעתק לכאן את כל הפלט.
בינתיים חשוב שתדע:
📌 כבר הוכחנו שהמחשב קולט BLE.
📌 השלב הבא הוא לבדוק אם הוא יכול לשדר BLE.
📌 אם הוא לא יוכל לשדר, עדיין נוכל להשיג את המטרה שלך בעזרת ESP32 בעלות נמוכה מאוד, אבל קודם נבדוק את המחשב עצמו.
שלח את הפלט של הפקודה ונמשיך.
מצוין! 🎉
הפלט מראה:
✅ Microsoft Bluetooth LE Enumerator קיים
✅ Realtek Wireless Bluetooth Adapter תקין
✅ Windows מזהה יכולות BLE
כלומר יש סיכוי טוב שהמתאם תומך ב-BLE, אבל עדיין לא בטוח שהוא יכול לשדר Advertising/Beacon ולא רק לסרוק.
בוא נעשה בדיקה פשוטה יותר שתקרב אותנו למטרה שלך.
המטרה הבאה
שהטלפון שלך יראה שידור בשם:
ASHKELON
ב־nRF Connect.
צעד הבא
ב־CMD הרץ:
pip install winrt
אם הוא כבר מותקן, תקבל הודעה שהוא קיים.
לאחר שזה מסתיים, כתוב לי רק:
הצליח
או שלח את הודעת השגיאה אם יש כזו.
אחרי זה אתן לך קובץ Python קצר לבדיקה האם Windows 11 והמתאם Realtek שלך מסוגלים לשדר BLE Beacon. אם כן, תוך כמה דקות תראה את השידור בטלפון. 🚉📱
מצוין, זו לא בעיה. 👍
ב־Python 3.14 החבילה winrt עדיין לא זמינה בצורה הרגילה, ולכן קיבלת:
No matching distribution found for winrt
זה לא אומר שיש בעיה במחשב.
איפה אנחנו עומדים?
✔ Python עובד
✔ Bluetooth LE עובד
✔ הטלפון סורק BLE
✔ המחשב סורק BLE
אבל כדי לשדר BLE מהמחשב נצטרך להשתמש בממשקי Windows מתקדמים או בתוכנת Beacon ייעודית.
הדרך המהירה ביותר
במקום להילחם עם מגבלות Windows, אני מציע:
נבדוק קודם שהטלפון רואה שידורי BLE קיימים (כבר ראינו שהמחשב מזהה אותם).
נעבור ל־ESP32 או מודול BLE קטן בהמשך כדי לשדר מזהה "ASHKELON" בצורה אמינה.
נבנה אפליקציה שממפה:
ST001 -> תחנת אשקלון ST002 -> תחנת אשדודעם הצפנה ואימות בהמשך.
לפני שנחליט, יש לי שאלה:
האם המטרה שלך היא הוכחת היתכנות (POC) בלבד, או שאתה רוצה שבסוף תהיה מערכת אמיתית לפריסה בתחנות רכבת?
אם זה POC, נוכל להמשיך עם המחשב והטלפון.
אם זו מערכת אמיתית, עדיף לעבור מוקדם ל־ESP32 כי הוא משדר BLE בצורה יציבה וזולה.
מעולה. ל־POC אנחנו לא צריכים להסתבך עם הצפנה או אפליקציה עדיין.
המטרה הקרובה:
📱 הטלפון יזהה מזהה שמשודר מהמחשב
📍 ויציג "תחנת אשקלון"
אבל יש מגבלה: Windows 11 עם מתאם Realtek בדרך כלל לא משדר BLE Beacon בקלות.
לכן אני מציע POC דו־שלבי:
שלב א' (היום)
נוכיח שהטלפון והמחשב מתקשרים.
במחשב פתח CMD והרץ:
hostname
העתק לי את התוצאה.
שלב ב'
נכתוב תוכנת Python קטנה שרצה במחשב ומשדרת דרך Bluetooth Classic או דרך Socket מקומי, והטלפון יקבל את המזהה.
בהמשך
נעבור ל־BLE Beacon אמיתי עם:
ST001
ASHKELON
ואז נבנה טבלת המרה באפליקציה.
כרגע תכתוב לי רק את הפלט של:
hostname
ואני אכין את ה־POC הראשון.
C:\Users\user\Desktop>hostname
DESKTOP-LS79N7L
מצוין. 🎉
המחשב שלך מזוהה כ:
DESKTOP-LS79N7L
עכשיו נעשה POC פשוט מאוד:
שלב הבא
בטלפון (באפליקציית nRF Connect שכבר התקנת):
לחץ על SCAN.
המתן 10 שניות.
בשורת החיפוש למעלה כתוב:
DESKTOP
או:
LS79N7L
ותראה אם משהו מופיע.
אם לא מופיע (וזה מה שאני מצפה שיקרה), אז הוכחנו ש:
✅ הטלפון סורק BLE
✅ המחשב סורק BLE
❌ המחשב לא משדר BLE Beacon כברירת מחדל
בשלב הבא נתקין תוכנת Beacon ל-Windows או נכתוב משדר ייעודי.
לפני שנמשיך, תגיד לי:
📱 האם ב־nRF Connect אתה רואה בכלל התקן בשם DESKTOP-LS79N7L כשאתה מחפש? כן או לא?
מצוין. זה בדיוק מה שציפיתי לראות. 👍
המשמעות היא:
✅ הטלפון סורק BLE תקין
✅ המחשב סורק BLE תקין
❌ המחשב לא משדר BLE Beacon ולכן הטלפון לא רואה אותו
זו לא תקלה אצלך, אלא מגבלה נפוצה של Windows ומתאמי Realtek.
עכשיו יש לנו שתי אפשרויות
אפשרות 1 (מומלצת ל־POC)
להשתמש ב־ESP32 (כ־20–30 ₪).
תוך 5 דקות נוכל לגרום לטלפון לראות:
ASHKELON
ואחר כך להוסיף:
מזהה תחנה
הצפנה
טבלת המרה
RSSI ומרחק
אפשרות 2 (בלי לקנות כלום)
לגרום למחשב לשדר באמצעות תוכנת Beacon ייעודית ל־Windows.
זה אפשרי, אבל הרבה יותר מסורבל ותלוי במתאם Bluetooth הספציפי.
מכיוון שאמרת שזה POC, אני ממליץ:
יש לך במקרה ESP32 או מודול Bluetooth כמו HC-05 / HM-10 לידך?
אם כן, נוכל עוד היום לגרום לטלפון לזהות "תחנת אשקלון" בצורה הרבה יותר פשוטה ואמינה. אם אין לך, ננסה את מסלול Windows Beacon.
אין בעיה. ל־POC אפשר להמשיך רק עם המחשב והטלפון.
אבל חשוב לדעת: הגענו לנקודה שבה הוכחנו שהמחשב שלך לא משדר Beacon BLE גלוי לטלפון בצורה פשוטה עם החומרה וההגדרות הנוכחיות.
אז הייתי משנה כיוון מעט:
המטרה הבאה
לבנות POC שבו:
💻 המחשב = "תחנת אשקלון"
📱 הטלפון = מקבל את הזיהוי
בלי לקנות חומרה.
הדרך הפשוטה ביותר
נבנה אפליקציית Android קטנה שתתחבר למחשב דרך:
Wi-Fi באותה רשת
אוBluetooth Classic
והמחשב ישלח:
{
"station_id": "ST001",
"station_name": "ASHKELON"
}
והטלפון יציג:
תחנת אשקלון
ל־POC זה הרבה יותר פשוט מאשר להילחם במגבלות BLE של Windows.
שאלה אחת
הטלפון והמחשב מחוברים כרגע לאותה רשת Wi-Fi בבית?
אם כן, נוכל תוך כמה דקות לגרום לטלפון לקבל הודעה מהמחשב ולהציג "תחנת אשקלון", ומשם להמשיך להצפנה, טבלת המרה ואפליקציה מסודרת.
מצוין! 🎉
אם המחשב והטלפון באותה רשת Wi-Fi, אפשר לעשות POC אמיתי כבר עכשיו.
שלב 1 – למצוא את כתובת ה-IP של המחשב
בחלון CMD כתוב:
ipconfig
חפש שורה שנראית כך:
IPv4 Address . . . . . . . . . . : 192.168.1.123
או
כתובת IPv4 . . . . . . . . . . : 192.168.x.x
📋 העתק לכאן רק את השורה של IPv4 Address.
לדוגמה:
IPv4 Address . . . . . . . . . . : 192.168.1.123
אחרי שאקבל את כתובת ה-IP, אשלח לך קובץ Python קטן שיגרום למחשב לשדר:
{
"station_id": "ST001",
"station_name": "ASHKELON"
}
ואז נבדוק מהטלפון שהוא מקבל את המידע.
מצוין. 👍
כתובת ה־IP של המחשב היא:
172.16.4.218
עכשיו נבנה שרת קטן במחשב שישדר:
{
"station_id": "ST001",
"station_name": "ASHKELON"
}
שלב 2
פתח Notepad וצור קובץ חדש בשם:
station.py
והדבק בו:
from http.server import BaseHTTPRequestHandler, HTTPServer
import json
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
data = {
"station_id": "ST001",
"station_name": "ASHKELON"
}
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.end_headers()
self.wfile.write(json.dumps(data).encode())
server = HTTPServer(("0.0.0.0", 8080), Handler)
print("Station server started")
print("http://172.16.4.218:8080")
server.serve_forever()
שמור על שולחן העבודה.
שלב 3
ב־CMD:
cd %USERPROFILE%\Desktop
python station.py
אם הכול תקין תקבל:
Station server started
http://172.16.4.218:8080
📋 תכתוב לי אם קיבלת את ההודעה הזו.
לאחר מכן נעבור לטלפון ונבדוק שהוא רואה את "תחנת אשקלון".
בוודאי. 👍
עשינו היום התקדמות יפה:
✅ התקנת Python 3.14.6
✅ התקנת Bleak
✅ בדיקת Bluetooth תקינה
✅ סריקת BLE מהמחשב הצליחה
✅ nRF Connect בטלפון עובד
✅ זיהינו שהמחשב לא משדר BLE Beacon כברירת מחדל
✅ מצאנו את כתובת ה־IP של המחשב:
172.16.4.218
✅ התחלנו לעבור ל־POC מבוסס Wi-Fi
הנקודה שבה עצרנו:
היינו אמורים ליצור קובץ:
station.py
ולהריץ שרת קטן שישדר:
{
"station_id": "ST001",
"station_name": "ASHKELON"
}
בשבוע הבא פשוט תכתוב לי:
ממשיכים מפרויקט תחנת אשקלון
ואמשיך בדיוק מהשלב שבו עצרנו, כולל:
יצירת
station.pyבדיקה מהטלפון
אפליקציית Android
טבלת המרה Station ID → שם תחנה
ובהמשך גם הצפנה ואימות דו־צדדי.
שיהיה ערב טוב! 🚉📱💻
אין תגובות:
הוסף רשומת תגובה