कम ऊर्जा ब्लूटूथ स्पेक इस बारे में ज्यादा नहीं कहता है कि परिधीय एक समय में एक से अधिक केंद्रीय से कनेक्ट हो सकते हैं, लेकिन मेरा अनुभव परीक्षण मुझे बताता है कि वे नहीं कर सकते हैं।आईओएस कोरब्लूटूथ सेंट्रल मैनेजर के लिए लगातार स्कैनिंग?
क्योंकि मेरे आवेदन के लिए परिधीय (यानी कोई कनेक्शन नहीं है, जो दूसरों को अवरुद्ध करेगा) के साथ एक गैर-स्वामित्व वाले संबंध की आवश्यकता है, और अपने आरएसएसआई मूल्यों को लगातार अद्यतन करने की आवश्यकता है, मैं परिधीय के लिए लगातार स्कैन करने और अपने आरएसएसआई मूल्यों को पकड़ने का एक तरीका तलाश रहा हूं ।
स्कैनफोरपीरफेरल्सविथ सर्विसेज विधि एक निश्चित अंतराल के लिए स्कैन करने के लिए प्रतीत होता है और फिर बंद हो जाता है। मेरा मानना है कि मेरी सबसे अच्छी शर्त एक समय में 3 सेकंड स्कैन करना है, रोकें, प्रतीक्षा करें (कई सेकंड) और फिर स्कैन को फिर से शुरू करें। दोहराएँ।
क्या कोई इसे करने का बेहतर तरीका बता सकता है? उदाहरण के लिए, एक से अधिक केंद्रीय से कनेक्ट करने के लिए परिधीय विन्यास?
हाँ, पर मैं लगातार एक अद्यतन RSSI प्राप्त करने की आवश्यकता। मेरे निष्कर्ष यह हैं कि एक बार सेंट्रल मैनेजर ने एक बार परिधीय खोज की है और फिर से खोज की है, तो यह स्कैन जारी होने पर भी इसे खोजना बंद कर देता है (लगभग 3 सेकंड लगता है)। जो मुझे छोड़ा गया है उसे अद्यतन आरएसएसआई मान प्राप्त करने के लिए बार-बार स्कैन को दोबारा शुरू करने की आवश्यकता है। – Jonathan
हाँ, आप didDiscoverPeripheral फ़ंक्शन के अंदर स्कैन को फिर से शुरू कर सकते हैं, और इसके द्वारा आप आरएसएसआई को हमेशा के लिए जल्दी से प्राप्त करेंगे। – Aboelseoud
धन्यवाद। यह काम करता है। शक्ति को बचाने के लिए मैं वास्तव में 100ms के बाद स्कैन रोकता हूं और फिर हर सेकेंड या तो 100ms विस्फोट करता हूं। बहुत अच्छा काम करता है। – Jonathan