2012-09-01 39 views
5

मैं एक Android एप्लिकेशन है एक कार के OBD द्वितीय पोर्ट से जुड़े किसी ब्लूटूथ डिवाइस से ब्लूटूथ के माध्यम से मूल्य पढ़ता है क्या करना है से जुड़े उपकरण करने के लिए कई कनेक्शन है करने के लिए।कैसे एक भी OBD2 ब्लूटूथ कार

मैं UUID एसपीपी UUID 00001101-0000-1000-8000-00805F9B34FB का उपयोग करें।

यदि मैं ओबीडी-द्वितीय डिवाइस से कनेक्ट करना चाहता हूं, तो 4 थ्रेड बनाते हैं, 3 connect() एस विफल हो जाते हैं और केवल एक थ्रेड डिवाइस से कनेक्ट करने में सक्षम होता है।

वहाँ Bluetooth के माध्यम से OBD द्वितीय डिवाइस के लिए अधिक धागा कनेक्ट करने के लिए कोई तरीका है?

मैं अगर elm-237 डिवाइस अधिक धागे के साथ संवाद करने में सक्षम है पता नहीं है।

+0

@ एलिस, कृपया 'यादृच्छिक' कोड 'स्वरूपण' जोड़ने से बचें, इससे पठनीयता कम हो जाती है। – Charles

उत्तर

7

मैं OBD/OBD द्वितीय पर एक विशेषज्ञ नहीं हूँ, लेकिन मैं सीरियल पोर्ट पर एक छोटे से पता है।

असल में, जो आप देखते हैं वह मुझे आश्चर्य नहीं करता है। सीरियल-पोर्ट डिवाइसेस आमतौर पर विशेष मोड में काम करना चाहिए, इसलिए केवल एक अभिनेता एक ही समय में उनसे बात कर सकता है। इसके लिए कई धागे बनाने में पूरी तरह से कोई बात नहीं है - इससे आपका सीरियल पोर्ट "तेज़ी से बात नहीं करेगा", न ही यह बाहरी डिवाइस (ओबीडी चिप) को तेजी से प्रतिक्रिया देगा! यह एक नेटवर्क नहीं है! समानांतर में कई उपकरणों से बात करने के लिए, आपको वास्तविक कई केबलों की आवश्यकता होगी - और शायद कई चिप्स भी।

ELM327 अपने OBD-2 केबल में डिवाइस है। यह कार और आपके यूएसबी पोर्ट में चिप्स के बीच संचार में मध्यस्थता करता है और यूएसबी बस पर वर्चुअल सीरियल पोर्ट का खुलासा करता है। मैंने कभी भी किसी भी सस्ते ब्लूटूथ-सक्षम ईएलएम 327 क्लोन के बारे में नहीं सुना है, लेकिन मुझे पता है कि ओबीडी-द्वितीय ब्लूटूथ एडेप्टर हैं - आखिरी बार मैंने देखा है कि $ 2000 की लागत है क्योंकि यह एक बड़े डायग्नोस्टिक सॉफ़्टवेयर और कार पार्ट्स के डेटाबेस के साथ आ रहा था (हड़ताल: टिप्पणियां देखें) और निश्चित रूप से किसी भी केबल के बिना काम किया। लेकिन मुझे लगता है कि अभी भी यह 1 डिवाइस के साथ बात करने के लिए केवल 1 वर्चुअल सीरियल पोर्ट प्रदान करेगा।

+0

तो एकमात्र तरीका एक थ्रेड और समय के लिए एकल अनुरोध/प्रतिक्रिया है? – esoni

+0

हाँ, मुझे लगता है कि यह एकमात्र तरीका है। Http://en.wikipedia.org/wiki/On-board_diagnostics पर कनेक्शन को मल्टीप्लेक्स करने का कोई उल्लेख नहीं है, केवल मल्टी-मास्टर टकराव रिज़ॉल्यूशन का उल्लेख है, जो कि बहुत अलग बात है। इसके अलावा, मुझे अभी भी एक विशेषज्ञ सॉफ्टवेयर सूट के बिना एक ईएलएम 327 + ब्लूटूथ मिला है, और यह सस्ता है: http://www.amazon.com/Soliport-Bluetooth-OBDII-Diagnostic-Scanner/dp/B004KL0I9I लेकिन यह हमेशा की तरह होगा पूरे ओबीडी पोर्ट को लें और 1 सीरियल का पर्दाफाश करें .. बस कोई केबल नहीं। – quetzalcoatl