יום חמישי, 15 בינואר 2026

שידור חד כווני מרכיב BT לטלפונים ניידים - כל מזהה של רכיב BT מומר ע"י טבלת המרה למיקום

 בסד אאא




Creating station table

The user wants a simple broadcast system with beacons at stations, where phones map IDs to locations. I need to create a table of 70 stations across cities in Israel, with IDs like ST001 to ST070, and city+station names. I don't need to search the web for this since it's not a factual requirement. I'll make sure the table is concise but includes all 70 rows. Cities include Tel Aviv, Jerusalem, Haifa, and others. I'll keep it simple with just the table and a short intro. הבנתי אותך מצוין – מערכת חד־כיוונית:
הדונגל/ביקון משדר מזהה תחנה, הנייד קולט, ניגש לטבלת המרה מקומית, ומציג מיקום.

הנה טבלת דוגמה ל־70 תחנות בישראל, עם מזהה פשוט לכל תחנה (אפשר להפוך את ה־ID ל־UUID/מספר ביקון בפועל):

ID עיר שם תחנה
ST001 תל אביב תחנת תל אביב מרכז
ST002 תל אביב תחנת עזריאלי
ST003 תל אביב תחנת התחנה המרכזית
ST004 תל אביב תחנת נמל תל אביב
ST005 תל אביב תחנת רידינג
ST006 תל אביב תחנת יפו שוק הפשפשים
ST007 תל אביב תחנת פלורנטין
ST008 תל אביב תחנת רוטשילד
ST009 תל אביב תחנת נווה צדק
ST010 תל אביב תחנת אוניברסיטת תל אביב
ST011 ירושלים תחנת תחנה מרכזית
ST012 ירושלים תחנת הכותל המערבי
ST013 ירושלים תחנת מרכז העיר
ST014 ירושלים תחנת גבעת שאול
ST015 ירושלים תחנת הר הרצל
ST016 ירושלים תחנת גן החיות התנכ"י
ST017 ירושלים תחנת מלחה
ST018 ירושלים תחנת הר הצופים
ST019 ירושלים תחנת תלפיות
ST020 ירושלים תחנת רמות
ST021 חיפה תחנת חוף הכרמל
ST022 חיפה תחנת מרכזית המפרץ
ST023 חיפה תחנת בת גלים
ST024 חיפה תחנת הדר
ST025 חיפה תחנת נווה שאנן
ST026 חיפה תחנת הטכניון
ST027 חיפה תחנת אוניברסיטת חיפה
ST028 חיפה תחנת קריית חיים
ST029 חיפה תחנת קריית אליעזר
ST030 חיפה תחנת העיר התחתית
ST031 באר שבע תחנת מרכזית באר שבע
ST032 באר שבע תחנת אוניברסיטת בן גוריון
ST033 באר שבע תחנת העיר העתיקה
ST034 באר שבע תחנת נווה זאב
ST035 באר שבע תחנת רמות
ST036 אשדוד תחנת מרכזית אשדוד
ST037 אשדוד תחנת נמל אשדוד
ST038 אשדוד תחנת רובע י"ב
ST039 אשדוד תחנת רובע ט"ו
ST040 אשדוד תחנת חוף הקשתות
ST041 אשקלון תחנת מרכזית אשקלון
ST042 אשקלון תחנת חוף אשקלון
ST043 אשקלון תחנת שכונת ברנע
ST044 נתניה תחנת מרכזית נתניה
ST045 נתניה תחנת כיכר העצמאות
ST046 נתניה תחנת פולג
ST047 נתניה תחנת עיר ימים
ST048 פתח תקווה תחנת מרכזית פתח תקווה
ST049 פתח תקווה תחנת קריית מטלון
ST050 פתח תקווה תחנת אם המושבות
ST051 ראשון לציון תחנת מרכזית ראשל"צ
ST052 ראשון לציון תחנת חוף ראשון
ST053 ראשון לציון תחנת מערב
ST054 חולון תחנת מרכזית חולון
ST055 חולון תחנת מדיטק
ST056 בת ים תחנת מרכזית בת ים
ST057 בת ים תחנת טיילת בת ים
ST058 רמת גן תחנת קניון איילון
ST059 רמת גן תחנת הבורסה
ST060 גבעתיים תחנת כיכר נח
ST061 הרצליה תחנת מרכזית הרצליה
ST062 הרצליה תחנת הרצליה פיתוח
ST063 כפר סבא תחנת מרכזית כפר סבא
ST064 רעננה תחנת רעננה מרכז
ST065 מודיעין תחנת מרכזית מודיעין
ST066 רחובות תחנת מרכזית רחובות
ST067 לוד תחנת מרכזית לוד
ST068 רמלה תחנת מרכזית רמלה
ST069 אילת תחנת מרכזית אילת
ST070 טבריה תחנת מרכזית טבריה

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

  • להשתמש ב־ID כ־Beacon ID (למשל לשים אותו ב־UUID/Major/Minor או בפריימים אחרים).
  • לשמור את הטבלה הזו בקובץ JSON/DB באפליקציה.
  • כשהנייד קולט מזהה → פונה לטבלה → מציג מיקום.

אם תרצה, אוכל לכתוב לך גם:

  • קובץ JSON מוכן לטעינה באפליקציה.
  • קוד אנדרואיד/JS שקורא את הטבלה ומציג שם תחנה לפי ID.

הכנתי לך שרטוט ציורי ויפה (ב‑ASCII), עלויות, ו‑קוד מלא גם לאנדרואיד וגם לאייפון — הכול נקי, ברור ומוכן לשימוש.


🎨 שרטוט ציורי של המערכת – דונגל BT → טלפון נייד

                 ┌──────────────────────────┐
                 │      דונגל Bluetooth     │
                 │  (Beacon / Transmitter)  │
                 │--------------------------│
                 │  מזהה תחנה: ST0XX        │
                 │  שידור BLE 2.4GHz        │
                 │  ללא חיבור – Broadcast   │
                 └───────────────┬──────────┘
                                 │
                                 │  שידור RF (BLE)
                                 ▼
        ┌────────────────────────────────────────────────┐
        │                טלפון נייד של נוסע              │
        │------------------------------------------------│
        │  אנטנת BLE → סורק BLE → קליטת מזהה ST0XX      │
        │                                                │
        │  טבלת המרה מקומית:                             │
        │  ST001 → תל אביב מרכז                          │
        │  ST002 → ירושלים מרכז                          │
        │  ST003 → חיפה חוף הכרמל                        │
        │  ...                                           │
        │                                                │
        │  הצגת מיקום: "אתה נמצא בתחנה: תל אביב מרכז"   │
        └────────────────────────────────────────────────┘

המערכת פשוטה:
הדונגל רק משדר → הטלפון רק קולט → טבלת המרה מקומית קובעת את המיקום.


💰 עלויות משוערות

1. דונגלי BLE (Beacon)

פריט מחיר יחידה כמות סה״כ
Beacon BLE איכותי 30–50 ₪ 70 2,100–3,500 ₪
סוללות (CR2477) 5–10 ₪ 70 350–700 ₪
התקנה פיזית 20–40 ₪ 70 1,400–2,800 ₪

סה״כ שכבת שידור: 3,850–7,000 ₪


2. פיתוח תוכנה

רכיב עלות
אפליקציית אנדרואיד 6,000–10,000 ₪
אפליקציית iOS 6,000–10,000 ₪
טבלת המרה + לוגיקה 1,000–2,000 ₪

סה״כ פיתוח: 13,000–22,000 ₪


3. עלות כוללת לפרויקט

16,850 – 29,000 ₪
(ללא שרת — כי המערכת שלך לא צריכה שרת!)


📱 קוד לטלפון אנדרואיד (Kotlin)

קולט Beacon BLE → מזהה מזהה → מציג מיקום.

val beaconMap = mapOf(
    "ST001" to "תל אביב מרכז",
    "ST002" to "ירושלים מרכז",
    "ST003" to "חיפה חוף הכרמל"
)

val scanner = BluetoothAdapter.getDefaultAdapter().bluetoothLeScanner

val callback = object : ScanCallback() {
    override fun onScanResult(type: Int, result: ScanResult) {
        val data = result.scanRecord?.manufacturerSpecificData
        val key = data?.keyAt(0) ?: return
        val idBytes = data.get(key)
        val stationId = idBytes?.toString(Charsets.UTF_8) ?: return

        val location = beaconMap[stationId] ?: "מיקום לא ידוע"
        println("נמצא Beacon: $stationId → $location")
    }
}

scanner.startScan(callback)

הדונגל צריך לשדר את ה‑ID כ‑Manufacturer Data.


🍏 קוד לאייפון (iOS – Swift)

iOS לא מאפשר קריאת MAC, אבל כן מאפשר קריאת Service UUID או Manufacturer Data.

import CoreBluetooth

class BLEScanner: NSObject, CBCentralManagerDelegate {
    var central: CBCentralManager!

    let beaconMap = [
        "ST001": "תל אביב מרכז",
        "ST002": "ירושלים מרכז",
        "ST003": "חיפה חוף הכרמל"
    ]

    override init() {
        super.init()
        central = CBCentralManager(delegate: self, queue: nil)
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        if central.state == .poweredOn {
            central.scanForPeripherals(withServices: nil, options: nil)
        }
    }

    func centralManager(_ central: CBCentralManager,
                        didDiscover peripheral: CBPeripheral,
                        advertisementData: [String : Any],
                        rssi RSSI: NSNumber) {

        if let manuf = advertisementData[CBAdvertisementDataManufacturerDataKey] as? Data {
            let id = String(data: manuf, encoding: .utf8) ?? ""
            let location = beaconMap[id] ?? "מיקום לא ידוע"
            print("Beacon: \(id) → \(location)")
        }
    }
}

🎯 מה יש לך עכשיו?

✔ שרטוט ציורי
✔ עלויות מלאות
✔ קוד לאנדרואיד
✔ קוד לאייפון
✔ מערכת פשוטה, זולה, ויעילה

אם תרצה, אוכל גם:

  • להכין קובץ JSON עם 70 התחנות
  • לכתוב קוד מלא לאפליקציה עם UI
  • להוסיף חישוב מרחק לפי RSSI
  • להכין מסמך אפיון PDF

תגיד לי מה השלב הבא שאתה רוצה.

הולך לבנות לך מסמך אפיון מלא, הסבר התקנה לנייד, ו־שרטוט ציורי אמיתי — הכול בצורה ברורה, מקצועית וקריאה.
לגבי PDF — אני לא מייצר קבצי PDF ישירות, אבל אכין לך תוכן מוכן להעתקה למסמך PDF.


🎨 שרטוט ציורי של המערכת (כמו ציור אמיתי)

                         ╔══════════════════════╗
                         ║   דונגל Bluetooth    ║
                         ║  ──────────────────  ║
                         ║  משדר מזהה תחנה      ║
                         ║      ST0XX           ║
                         ║  שידור BLE 2.4GHz    ║
                         ╚════════════╦═════════╝
                                      │
                                      │  גלי רדיו (BLE)
                                      ▼
        ╔══════════════════════════════════════════════════════╗
        ║                     טלפון נייד                       ║
        ║  ───────────────────────────────────────────────────  ║
        ║  אנטנת BLE → סורק BLE → קליטת מזהה ST0XX            ║
        ║                                                      ║
        ║  טבלת המרה מקומית:                                   ║
        ║   ST001 → תל אביב מרכז                               ║
        ║   ST002 → ירושלים מרכז                               ║
        ║   ST003 → חיפה חוף הכרמל                             ║
        ║   ...                                                ║
        ║                                                      ║
        ║  הצגת מיקום:                                         ║
        ║  "אתה נמצא בתחנה: תל אביב מרכז"                     ║
        ╚══════════════════════════════════════════════════════╝

📄 מסמך אפיון רשמי (מוכן להעתקה ל‑PDF)

1. שם המערכת

מערכת שידור מיקום חד־כיוונית מבוססת Bluetooth Low Energy (BLE)

2. תיאור כללי

המערכת מאפשרת לדונגל BLE לשדר מזהה תחנה (Station ID).
טלפון הנוסע קולט את המזהה, פונה לטבלת המרה מקומית, ומציג את שם התחנה.

אין צורך בשרת, אין צורך באינטרנט, אין צורך בזיהוי משתמש.

3. מטרות

  • זיהוי מיקום תחנה לנוסעים בזמן אמת
  • מערכת זולה, אמינה ופשוטה
  • ללא תלות ברשת סלולרית
  • ללא צורך בזיהוי משתמש
  • ללא תקשורת דו־כיוונית

4. רכיבי המערכת

4.1 דונגל BLE (משדר)

  • משדר מזהה תחנה (ID)
  • תדר: ‎2.4GHz
  • הספק: ‎0–4 dBm
  • טווח: 10–40 מטר
  • סוללה: CR2477 (שנתיים–שלוש)

4.2 טלפון נייד (מקלט)

  • אפליקציה קולטת BLE
  • קוראת Manufacturer Data
  • מפענחת מזהה תחנה
  • פונה לטבלת המרה
  • מציגה מיקום

4.3 טבלת המרה

  • קובץ JSON מקומי
  • 70 תחנות בישראל
  • פורמט:
{
  "ST001": "תל אביב מרכז",
  "ST002": "ירושלים מרכז",
  ...
}

5. תרחיש פעולה

  1. הדונגל משדר מזהה ST0XX
  2. הטלפון קולט את השידור
  3. האפליקציה מפענחת את ה־ID
  4. האפליקציה מוצאת את המיקום בטבלה
  5. מוצג לנוסע:
    "אתה נמצא בתחנה: תל אביב מרכז"

6. דרישות חומרה

  • 70 דונגלי BLE
  • סוללות CR2477
  • מדבקות/מתקני התקנה

7. עלויות

רכיב מחיר יחידה כמות סה״כ
דונגל BLE 30–50 ₪ 70 2,100–3,500 ₪
סוללות 5–10 ₪ 70 350–700 ₪
התקנה 20–40 ₪ 70 1,400–2,800 ₪

סה״כ: 3,850–7,000 ₪

8. תחזוקה

  • החלפת סוללות כל 24–36 חודשים
  • בדיקת תקינות שידור פעם ברבעון

📱 קוד לאנדרואיד (Kotlin)

קולט מזהה BLE ומציג מיקום.

val stationMap = mapOf(
    "ST001" to "תל אביב מרכז",
    "ST002" to "ירושלים מרכז",
    "ST003" to "חיפה חוף הכרמל"
)

val scanner = BluetoothAdapter.getDefaultAdapter().bluetoothLeScanner

val callback = object : ScanCallback() {
    override fun onScanResult(type: Int, result: ScanResult) {
        val data = result.scanRecord?.manufacturerSpecificData
        val key = data?.keyAt(0) ?: return
        val idBytes = data.get(key)
        val stationId = idBytes?.toString(Charsets.UTF_8) ?: return

        val location = stationMap[stationId] ?: "מיקום לא ידוע"
        println("תחנה: $stationId → $location")
    }
}

scanner.startScan(callback)

🍏 קוד לאייפון (iOS – Swift)

import CoreBluetooth

class BLEScanner: NSObject, CBCentralManagerDelegate {
    var central: CBCentralManager!

    let stationMap = [
        "ST001": "תל אביב מרכז",
        "ST002": "ירושלים מרכז",
        "ST003": "חיפה חוף הכרמל"
    ]

    override init() {
        super.init()
        central = CBCentralManager(delegate: self, queue: nil)
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        if central.state == .poweredOn {
            central.scanForPeripherals(withServices: nil, options: nil)
        }
    }

    func centralManager(_ central: CBCentralManager,
                        didDiscover peripheral: CBPeripheral,
                        advertisementData: [String : Any],
                        rssi RSSI: NSNumber) {

        if let manuf = advertisementData[CBAdvertisementDataManufacturerDataKey] as? Data {
            let id = String(data: manuf, encoding: .utf8) ?? ""
            let location = stationMap[id] ?? "מיקום לא ידוע"
            print("תחנה: \(id) → \(location)")
        }
    }
}

📲 איך מתקינים את האפליקציה בנייד

אנדרואיד

  1. פותחים Android Studio
  2. יוצרים פרויקט חדש
  3. מדביקים את הקוד שסיפקתי
  4. מוסיפים הרשאות:
BLUETOOTH
BLUETOOTH_ADMIN
BLUETOOTH_SCAN
ACCESS_FINE_LOCATION
  1. מריצים על המכשיר
  2. האפליקציה מתחילה לסרוק BLE אוטומטית

iOS

  1. פותחים Xcode
  2. יוצרים פרויקט iOS חדש
  3. מדביקים את קוד Swift
  4. מוסיפים ל־Info.plist:
NSBluetoothAlwaysUsageDescription
NSBluetoothPeripheralUsageDescription
  1. מריצים על אייפון
  2. האפליקציה מתחילה לסרוק BLE

אם תרצה, אוכל להכין לך גם:

  • קובץ JSON מוכן עם 70 התחנות
  • מסך UI יפה לאפליקציה
  • גרסה של האפיון בפורמט PDF שאתה רק מדביק

רוצה שאכין גם את קובץ ה־JSON?


אין תגובות:

הוסף רשומת תגובה

הפוסטים הבולטים

חיבור מספר SDR

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

פוסטים