อุปกรณ์บลูทู ธ ที่ใช้งานอยู่เท่าไหร่ที่ฉันสามารถตรวจพบได้อย่างน่าเชื่อถือในที่เดียว?


9

ฉันวิศวกรรมดึงดูดราคาต่ำและหวังว่าจะใช้การระบุอุปกรณ์บลูทู ธ สำหรับการตรวจจับระยะใกล้ - นั่นคือแขก A อยู่ในช่วงของตำแหน่งคงที่ X แขกแต่ละคนจะได้รับอุปกรณ์มือถือที่ปรับแต่งเอง

ขอบเขตบนที่เหมือนจริงของอุปกรณ์บลูทู ธ คือ "ความหนาแน่น" ก่อนที่การแจงนับของอุปกรณ์ใกล้เคียงทั้งหมดจะไม่น่าเชื่อถือ? ตัวอย่างเช่นมี 25 อุปกรณ์ที่ใช้งานอยู่ในบริเวณใกล้เคียงกับพีซีที่เปิดใช้งานบลูทู ธ อยู่กับที่มากเกินไปในที่เดียวที่จะตรวจจับได้อย่างน่าเชื่อถือและทั้งหมด (อุปกรณ์ทั้งหมด)? ความแออัดมากเกินไปหรือไม่

(เพื่อความชัดเจน: ฉันไม่จำเป็นต้องสร้างการเชื่อมต่อฉันต้องตรวจสอบว่ามีหรือไม่มีอุปกรณ์ตามชื่อ) อย่างน่าเชื่อถือ


คุณพบหมายเลขสำหรับคำถามของคุณหรือไม่
Ramis

คำตอบ:


9

ฉันไม่เห็นว่าข้อกำหนดคุณสมบัติของบลูทู ธ นั้นอ้างอิงถึงข้อ จำกัด ของอุปกรณ์ในพื้นที่เดียวกัน นี่เป็นเรื่องยากมากที่จะระบุว่าเป็นเรื่องจริงเพราะเกี่ยวข้องกับอุปกรณ์บลูทู ธ เท่านั้น แต่ยังมี WiFi ด้วย

บทความนี้จะดูว่าการเพิ่มขึ้นของจำนวนอุปกรณ์เพิ่มเวลาที่ใช้ในการค้นหาอุปกรณ์: http://www.shiratori.riec.tohoku.ac.jp/~deba/PAPER/Journal/WINET-onlineFinal.pdf

พิจารณาสิ่งต่อไปนี้ด้วย:

อุปกรณ์ Bluetooth ทำงานร่วมกับคลื่นวิทยุ 2.4 GHz ซึ่งเป็นความถี่ที่ไม่มีใบอนุญาตเดียวกันกับที่ใช้โดยอุปกรณ์ไร้สายอื่น ๆ หากอุปกรณ์จำนวนมากในพื้นที่เดียวกันทั้งหมดใช้แบนด์วิดท์ที่ยืดยาวเท่ากันมันอาจนำไปสู่ปัญหาเครือข่ายโดยรวมได้เนื่องจากสัญญาณเกิดการชนและข้อมูลจะต้องถูกส่งใหม่ สัญญาณบลูทู ธ ได้รับการออกแบบมาเพื่อเปลี่ยนความถี่ของมันหลายครั้งต่อวินาทีเพื่อลดการรบกวนนี้ แต่ถ้าอุปกรณ์มากพอที่จะพยายามใช้แบนด์วิดท์เล็ก ๆ แบบเดียวกันการรบกวนก็หลีกเลี่ยงไม่ได้ Bluetooth 3.0 ที่ใช้ในอุปกรณ์ที่สร้างขึ้นในปี 2010 ใช้คลื่นความถี่ 6-9 GHz ดังนั้นมันจะมีปัญหาการรบกวนน้อยลง อุปกรณ์ Bluetooth 3.0 ยังสามารถส่งสัญญาณได้ที่ 2.4 GHz เพื่อสื่อสารกับเทคโนโลยี Bluetooth รุ่นก่อนหน้า บลูทู ธ 3.0 ทำงานที่ 2.4 GHz

ในการสรุป: คุณต้องพิจารณาอย่างรอบคอบถึงข้อ จำกัด ด้านเวลาที่คุณมี ฉันสงสัยว่าสามารถทำได้ 25 อุปกรณ์ แต่เพื่อให้แน่ใจว่าคุณจะต้องทดสอบสิ่งนี้


5

ไม่มีขอบเขตทางทฤษฎีเกี่ยวกับจำนวนอุปกรณ์ที่สามารถค้นพบมันเป็นสัดส่วนโดยตรงกับเวลาของการค้นพบ การเพิ่มจำนวนเวลาที่ใช้ในการค้นหาจะเพิ่มโอกาสในการตรวจจับอุปกรณ์ทั้งหมดภายในระยะ

การค้นพบโดยทั่วไปจะดำเนินการโดยการสแกนอุปกรณ์สแกนที่หนึ่งใน 32 ความถี่และอุปกรณ์โฆษณาที่ส่งสัญญาณในทุก 32 ความถี่ อุปกรณ์โฆษณายังคงทำซ้ำลำดับนี้และอุปกรณ์สแกนเมื่อได้รับสัญญาณจะทำการตอบสนองและสุ่มกลับออกมาเป็นระยะเวลาหนึ่งและกลับไปหาความถี่ใหม่และทำซ้ำกระบวนการเดียวกัน ดังนั้นแม้ว่าจะมีอุปกรณ์หลายเครื่องสแกนที่ความถี่ที่แน่นอน แต่การตอบกลับครั้งแรกของพวกเขาจะชนกัน แต่หลังจากกลับมาพวกเขาก็จะสุ่มเลือกความถี่ที่แตกต่างกันและเพิ่มโอกาสในการตอบกลับที่ไม่ชนกันอีก

ในกรณีที่คุณใช้งานอุปกรณ์ที่ใช้งาน 25 ชิ้นไม่ได้เป็นปัญหาเลยฉันได้ทำงานกับอุปกรณ์และสภาพแวดล้อมที่มีอุปกรณ์ 50-100 เครื่องและการค้นพบ 10-15 วินาทีสามารถค้นหาอุปกรณ์ส่วนใหญ่ได้อย่างง่ายดาย หวังว่านี่จะช่วยได้


1

เมื่อเร็ว ๆ นี้ฉันได้ศึกษาคำถามเดียวกัน - สิ่งที่ฉันพบคือข้อ จำกัด นั้นเกิดจาก IC หรือซอฟต์แวร์

ชิปที่ดีที่สุดที่จะใช้คือ TI และตามซอฟต์แวร์บนชิป

Android / Apple / Windows มีข้อ จำกัด ในเคอร์เนลดังนั้นการใช้ซอฟต์แวร์ใด ๆ เพื่อระบุ BT จะถูก จำกัด โดย BT-Stack / Kernel การใช้ SoC นั้นไม่มีข้อ จำกัด เนื่องจาก Stack ของ IC นั้นง่าย

ใช้วิธีการที่กำหนดเองเพื่อไพพ์ข้อมูลไปยังโปรแกรมของคุณ

ณ วันที่ฉันตัดสินใจที่จะไม่ใช้ BT เพราะมันเจ็บปวดอย่างที่สุดในตูด

เว้นแต่จะเป็นมาตรฐาน V4 ใหม่ที่จัดการโฆษณาด้วยวิธีที่ดีกว่าใหม่

ฉันยังต้องมี BT ไม่ จำกัด ในห้อง .. ตัดสินใจสร้าง PCB และตัวรับของฉันเอง - ทำไม? เพราะมันง่ายกว่าและถูกกว่าเชื่อหรือไม่

กลับไปที่คำถามของคุณ

(ใช้บางอย่างเช่น WP7 / iPhone3,4 / Android)

BTv2.1 BT3

เชื่อถือได้ไม่เกิน 10 ทั่วไป สิ่งที่ฉันเห็นมากที่สุดคือ 32

BT4

เอกสารทางเทคนิคบอกว่า 128 .. เฉพาะ Apple 4S ที่รองรับเวอร์ชันนี้ดังนั้นฉันจึงยังไม่ได้ทดสอบ


0

อุปกรณ์บลูทู ธ สามารถเชื่อมต่อได้ครั้งละประมาณ 7 อุปกรณ์ซึ่งเป็นความจุสูงสุด
แต่มันอาจแตกต่างกันไปตามการกำหนดค่าอุปกรณ์
คำถาม
คำถามที่ 1
ตรวจสอบลิงค์ข้างต้นซึ่งอาจเป็นประโยชน์กับคุณ


3
คำถามไม่ได้เกี่ยวกับจำนวนอุปกรณ์ที่สามารถเชื่อมต่อได้ แต่เป็นเรื่องเกี่ยวกับจำนวนที่สามารถตรวจพบได้ จะไม่มีการจับคู่
Kortuk

0

ฉันไม่คิดว่าจะมีขีด จำกัด วิธีที่ฉันใช้การตรวจหาอุปกรณ์ใกล้เคียงคือการใช้ห้องสมุด InTheHand.Net ( http://32feet.codeplex.com/ ) ทำการค้นหาอุปกรณ์ที่อยู่ใกล้เคียงทั้งหมดเป็นระยะและเชื่อมต่อกับอุปกรณ์แต่ละเครื่องในไม่ช้า ฉันรู้ว่าไม่มีการรับประกันว่าคุณจะรู้ได้อย่างถูกต้องเมื่ออุปกรณ์หนึ่งมาถึงหรือออก

ตัวอย่างด้านล่าง:

public static List<Device> DiscoverDevices() {
        BluetoothClient bc = new BluetoothClient();
        m_btc = bc;
        List<Device> devices = new List<Device>();
        DateTime startDisc;
        Boolean canConnect;
        BluetoothDeviceInfo[] array = bc.DiscoverDevices(15, true, true, true); 
        int count = array.Length;
        startDisc = DateTime.Now;
        for (int i = 0; i < count; i++) {
            Device device = new Device(array[i]);
            if (MZPState.Instance == null) {
                MLog.Log(null, "BT discovery interrupted");
                return devices;
            }

            canConnect = CanConnect(device);
            if (canConnect) {
                //MLog.Log(null, "Active BT device detected " + device.ToString());
                devices.Add(device);
            }
            //MLog.Log(null, "Discovery result="+canConnect+" on " + device.DeviceName + " " + device.Address+ " took " 
            //  + Utilities.DurationAsTimeSpan(DateTime.Now.Subtract(startDisc)));
        }
        Performance.Create("Bluetooth local discovery", false, "",
            Performance.PerformanceFlags.Speed, DateTime.Now.Subtract(startDisc).TotalMilliseconds);
        return devices;
    }

public static Boolean CanConnect(Device device) {


        bool inRange;
        Guid fakeUuid = new Guid("{F13F471D-47CB-41d6-9609-BAD0690BF891}"); // A specially created value, so no matches.
        try {
            ServiceRecord[] records = device.DevInfo.GetServiceRecords(fakeUuid);
            //Debug.Assert(records.Length == 0, "Why are we getting any records?? len: " + records.Length);
            inRange = true;
        }
        catch (Exception) {
            inRange = false;
        }
        return inRange;

    }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.