Có bao nhiêu thiết bị Bluetooth hoạt động đáng tin cậy tôi có thể phát hiện trong một không gian?


9

Tôi đang thiết kế một điểm thu hút chi phí thấp và hy vọng sử dụng nhận dạng thiết bị Bluetooth để phát hiện gần - tức là khách A trong phạm vi vị trí tĩnh X. Mỗi khách sẽ được cung cấp một thiết bị di động tùy chỉnh (dựa trên iPod hoặc Android).

Giới hạn trên thực tế của "mật độ" thiết bị Bluetooth trước khi liệt kê tất cả các thiết bị lân cận trở nên không đáng tin cậy là gì? Chẳng hạn, có 25 thiết bị hoạt động trong vùng lân cận của PC hỗ trợ Bluetooth cố định quá nhiều ở một nơi để phát hiện đáng tin cậy và toàn bộ (tất cả các thiết bị)? Đây có phải là quá nhiều tắc nghẽn?

(Để rõ ràng: Tôi không cần thiết lập kết nối. Tôi chỉ cần phát hiện một cách đáng tin cậy sự hiện diện hoặc vắng mặt của thiết bị theo tên.)


Bạn đã tìm thấy một số cho câu hỏi của bạn?
Ramis

Câu trả lời:


9

Tôi không thể thấy rằng Thông số kỹ thuật Bluetooth đưa ra bất kỳ tham chiếu nào đến giới hạn của các thiết bị trong cùng khu vực. Điều này rất khó xác định trên thực tế vì nó không chỉ liên quan đến các thiết bị Bluetooth mà còn cả WiFi.

Bài viết này xem xét cách tăng số lượng thiết bị, tăng thời gian khám phá thiết bị: http://www.shiratori.riec.tohoku.ac.jp/~deba/PAPER/Journal/WINET-onlineFinal.pdf

Cũng xem xét những điều sau đây:

Các thiết bị Bluetooth hoạt động với băng tần 2,4 GHz, cùng tần số không được cấp phép được sử dụng bởi nhiều thiết bị không dây khác. Nếu nhiều thiết bị trong cùng một khu vực đều sử dụng cùng một dải băng thông, điều đó có thể dẫn đến các sự cố mạng chung, do các tín hiệu va chạm và thông tin phải được gửi lại. Tín hiệu Bluetooth được thiết kế để thay đổi tần số của nó nhiều lần trong một giây để giảm nhiễu này, nhưng nếu đủ thiết bị đang cố sử dụng cùng một dải băng thông nhỏ, thì không thể tránh khỏi nhiễu. Bluetooth 3.0, được sử dụng trong các thiết bị được tạo vào năm 2010, sử dụng phổ tần 6-9 GHz, do đó, nó sẽ có ít vấn đề nhiễu hơn. Các thiết bị Bluetooth 3.0 cũng có khả năng truyền ở tốc độ 2,4 GHz để giao tiếp với các công nghệ Bluetooth trước đó. Bluetooth 3.0, chạy ở tốc độ 2,4 GHz,

Để tóm tắt: Bạn cần xem xét cẩn thận sự can thiệp có thể có một hạn chế về thời gian mà bạn sẽ có. Tôi nghi ngờ rằng 25 thiết bị có thể được thực hiện. Nhưng để chắc chắn bạn sẽ cần phải thực tế kiểm tra điều này


5

Không có giới hạn trên lý thuyết về số lượng thiết bị có thể được phát hiện, nó tỷ lệ thuận với thời gian khám phá. Tăng lượng thời gian dành cho khám phá sẽ tăng cơ hội phát hiện tất cả các thiết bị trong phạm vi.

Về cơ bản khám phá được thực hiện bằng cách quét thiết bị quét trên một trong 32 tần số và thiết bị quảng cáo gửi đèn hiệu trên tất cả 32 tần số. Các thiết bị quảng cáo tiếp tục lặp lại trình tự này và thiết bị quét, sau khi nhận được đèn hiệu, sẽ phản hồi và tắt ngẫu nhiên trong một thời gian và bám vào tần số mới và lặp lại quy trình tương tự. Vì vậy, ngay cả khi có nhiều thiết bị quét ở một tần số nhất định, lần đầu tiên các phản hồi của chúng sẽ va chạm, nhưng sau khi tắt, chúng ngẫu nhiên kết thúc ở các tần số khác nhau và tăng cơ hội phản hồi không va chạm lại.

Trong trường hợp sử dụng của bạn, 25 thiết bị hoạt động hoàn toàn không phải là vấn đề, tôi đã làm việc với các thiết bị và môi trường nơi có 50-100 thiết bị và khám phá 10-15 giây có thể dễ dàng tìm thấy hầu hết các thiết bị. Hi vọng điêu nay co ich.


1

Gần đây tôi đã nghiên cứu cùng một câu hỏi - Phát hiện của tôi là những hạn chế là do IC hoặc Phần mềm.

Chip tốt nhất để sử dụng là dựa trên TI và trên phần mềm trên chip.

Android / Apple / Windows có giới hạn riêng trong kernel - vì vậy sử dụng phần mềm, bất kỳ phần mềm nào để liệt kê BT sẽ bị giới hạn bởi BT-Stack / Kernel. Việc sử dụng SoC không có giới hạn vì Stack của IC rất đơn giản.

Sử dụng một cách tùy chỉnh để dẫn thông tin đến chương trình của bạn.

Vào ngày tôi quyết định không sử dụng BT vì nó đau hoàn toàn ở mông.

Trừ khi đó là tiêu chuẩn V4 mới xử lý quảng cáo theo cách mới tốt hơn.

Tôi cũng cần phải có BT không giới hạn trong một căn phòng .. quyết định tự tạo PCB và máy thu của riêng tôi - tại sao? bởi vì nó dễ dàng hơn và rẻ hơn có tin hay không.

Quay lại câu hỏi của bạn.

(Sử dụng một cái gì đó như WP7 / iPhone3,4 / Android)

BTv2.1 BT3

Đáng tin cậy không quá 10 nói chung. Hầu hết tôi đã thấy xử lý 32.

BT4

Sách trắng ghi 128 .. Chỉ Apple 4S hỗ trợ Phiên bản này nên tôi chưa thử nghiệm.


0

Một thiết bị Bluetooth có thể kết nối khoảng 7 thiết bị cùng một lúc. Đây là dung lượng tối đa của nó.
Nhưng nó có thể thay đổi theo cấu hình thiết bị.
Câu hỏi Câu
hỏi 1
kiểm tra xem liên kết trên đây có thể hữu ích cho bạn không


3
Câu hỏi không phải là có bao nhiêu thiết bị có thể kết nối, mà là về bao nhiêu có thể được phát hiện. Không có cặp đôi sẽ được thực hiện.
Kortuk

0

Tôi không nghĩ rằng có một giới hạn. Cách tôi đã thực hiện phát hiện thiết bị gần đó là sử dụng thư viện InTheHand.Net ( http://32feet.codeplex.com/ ), chạy khám phá cho tất cả các thiết bị gần đó theo định kỳ và sau đó kết nối với từng thiết bị để đảm bảo nó vẫn khả dụng. Không kết nối tôi nhận ra không có gì đảm bảo bạn sẽ biết chính xác khi nào một thiết bị đến hoặc rời đi.

Một ví dụ dưới đây:

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;

    }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.