2012-07-03 18 views
7

मैं एंड्रॉइड के लिए एक बीएलई ब्लूटूथ (स्मार्ट) एप्लिकेशन विकसित करने की कोशिश कर रहा हूं।एंड्रॉइड में ब्रॉडकॉम बीएलई एसडीके (स्मार्ट 4.0) का उपयोग कैसे करें 4.X

मैं Broadcom BLE SDK डाउनलोड करने में कामयाब रहा, वेब साइट पर समझाए गए एंड्रॉइड एसडीके प्रबंधक के माध्यम से स्थापित करें और projects examples डाउनलोड करें।

जब मैं अपने परीक्षण फोन (HTC One S, HTC एक ब्लूटूथ BLE सुविधा के साथ दोनों एक्स), मैं निम्न समस्या का सामना करना पड़ रहा में उदाहरणों में से एक धक्का करने की कोशिश की:

INSTALL_FAILED_MISSING_SHARED_LIBRARY 

वहाँ किसी भी संभावना है AndroidManifest.xml फ़ाइल में वर्णित ब्रॉडकॉम लाइब्रेरी को शामिल करने के लिए? <uses-library android:name="com.broadcom.bt.le" android:required="true"/>

क्या कोई ब्रॉडकॉम परियोजनाओं के उदाहरणों का परीक्षण करने में कामयाब रहा है? और किस फोन पर?

इस post के अनुसार, सैमसंग गैलेक्सी एस 3 पर एक बग की खोज की गई है, लेकिन मुझे एचटीसी उत्पादों के बारे में कोई जानकारी नहीं मिली।


अद्यतन: क्या एक अच्छी खबर !!!

अंतिम एंड्रॉइड संस्करण 4.3 (जेली बीन) अब कम ऊर्जा वाले ब्लूटूथ स्मार्ट एक्सेसरीज़ का समर्थन करता है।

http://www.android.com/about/jelly-bean/

https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx

सुनिश्चित नहीं है कि हर फोन के लिए एक अद्यतन (उदाहरण के लिए भी पिछले HTC One M7) होगा लेकिन अगले फोन निश्चित रूप से इस प्रमुख रिलीज एम्बेड कर देंगे।

+0

बस सुझाव के रूप में, मैंने इस एपीआई का उपयोग किया और मेरे लिए अच्छा काम किया http://developer.motorola.com/docstools/library/bluetooth-low-energy-api/ –

+0

आपकी सलाह के लिए धन्यवाद, किस प्रकार की विकास किट क्या आप _ का उपयोग करते हैं? मैं इसका उपयोग कर रहा हूं: http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF8001। मोटोरला लाइब्रेरी के साथ एक नॉर्डिक बीएलई चिप ड्राइव करने का कोई मौका? – sdespont

+0

मैंने अपने मोटोरोला RAZR Droid पर एक एंड्रॉइड एप्लिकेशन विकसित किया है जिसे ब्लूटूथ LE का उपयोग करके स्मार्टकार्ड के साथ संवाद करना चाहिए। मुझे नहीं पता कि मोटोरोला का एपीआई आपके किट के साथ काम करता है या नहीं। क्षमा करें अगर मैं इस लाइन में आपको बहुत मदद नहीं कर सकता। –

उत्तर

11

समस्या यह है कि यदि आपके फोन में .so फ़ाइल स्थापित नहीं है, तो यह मदद नहीं करेगा।

और ब्रॉडकॉम ने डिवाइस को आशीर्वाद दिया है तो आपका डिवाइस केवल (इस लेखन के रूप में) .so फ़ाइल होगा।

उदाहरण के लिए, नवीनतम सैमसंग गैलेक्सी नेक्सस के लिए नवीनतम आधिकारिक बिल्ड (4.0.4) नहीं है।

उन लोगों के लिए जो कम नहीं जानते हैं, लो-एनर्जी ब्लूटूथ (बीटीएलई, जिसे अब स्पष्ट रूप से बीटी स्मार्ट कहा जाता है) के लिए दो अलग-अलग (असंगत) एपीआई हैं। एक ब्रॉडकॉम से है, और दूसरा मोटोरोला से है। अनजाने में, प्रत्येक केवल एक फोन पर काम करता है जिसमें उस विक्रेता के चिप्स हैं।

यह एक भयानक, भयानक स्थिति है, और Google को वास्तव में समाधान पर जाने की आवश्यकता है या एंड्रॉइड एक छोटे से उद्योग में पूरी तरह से अप्रासंगिक हो जाएगा जिसे हेल्थकेयर कहा जाता है !!!!!

+0

अच्छा जवाब, धन्यवाद। क्या आपने आईओएस के साथ बीएलई ऐप विकसित करने की कोशिश की? मैंने नेट पर पढ़ा कि ऐप्पल ने बीएलई का समर्थन करने वाले अपने "कोरब्लूटूथ फ्रेमवर्क" का एक नया संस्करण जारी किया है। एक हार्टमोनिटर एप्लिकेशन (एएनटी) स्रोत कोड के साथ मौजूद है, लेकिन मुझे कोई भी मेरे जैसे विकास किट चलाने में सक्षम नहीं मिला: nordicsemi।कॉम/एनजी/उत्पाद/ब्लूटूथ-आर-लो-एनर्जी/एनआरएफ 8001 – sdespont

+1

साल के अंत में, अभी भी Google से कोई समाधान नहीं है। तो, मैंने विषय बंद करने का फैसला किया। आपके उत्तर के लिए धन्यवाद और वेब में पाए गए किसी भी अपडेट के संपर्क में रहें! – sdespont

+1

तो क्या आपको इसे काम करने के लिए कुछ मिला है। मुझे यह लाइब्रेरी स्रोत कोड मिला है और ब्रॉडकॉम स्टैक – AAnkit

1

ऐसा लगता है कि एचटीसी फोन पर कुछ भी गायब हो सकता है। इस त्रुटि का अर्थ है कि बीएलई हार्डवेयर और एपीआई के बीच शायद सॉफ़्टवेयर की एक परत गायब हो रही है (या खराब हो रही है)। आज के लिए मैंने केवल मोटोरोला रेजर पर बीएलई प्रकार का काम देखा है, लेकिन यह हृदय गति प्रोफ़ाइल तक सीमित है (और यह ब्रॉडकॉम एपीआई का उपयोग नहीं करता है)।

+0

वास्तव में, आपको लगता है कि इस समय ब्लूटूथ बीएलई के साथ एंड्रॉइड एप्लिकेशन विकसित करने का कोई तरीका नहीं है? – sdespont

+0

मुझे अन्यथा बताया जाना पसंद है लेकिन इस बिंदु पर यह तैयार नहीं लगता है। हमने मोटोरोला रेजर और गैलेक्सी एस 3 का परीक्षण किया है और हमारे एंड्रॉइड ऐप्स के विकास को जारी रखने से पहले अगले अपडेट की प्रतीक्षा करने का फैसला किया है। उम्मीद है कि यह बहुत जल्द आ जाएगा! – Franck

+0

कोई भी यहां मेरे अच्छे प्रश्न के साथ मेरे प्रश्न पर उत्तर देता है: http://code.google.com/p/broadcom-ble/issues/detail?id=1 मेरे पास आजकल मेरे परीक्षण फ़ोन नहीं हैं, इसलिए मैं कल सुबह परीक्षण और मेरी प्रतिक्रिया पोस्ट करें! एक अच्छा दिन है – sdespont

2

किसी को समाधान here मिला।

तीन करने के लिए कदम हैं:

  1. मैनिफ़ेस्ट फ़ाइल में शामिल न करें।

  2. परियोजना गुणजावा बिल्ड पथपुस्तकालय में, बाहरी जार जोड़े ब्रॉडकॉम ble जार जोड़ें।

  3. परियोजना में गुणजावा पथ बिल्डआदेश और निर्यात, शामिल जार चरण में 2.

अंत में जाँच, ब्रॉडकॉम नमूने परियोजनाओं चलाते हैं, लेकिन कुछ ही सेकंड बाद दुर्घटना एक अज्ञात आभासी विधि के कारण एचटीसी (.getDeviceType(), ...) पर लागू नहीं किया गया है!

+0

.getDeviceType pb को बाईपास करने के लिए कोई प्रगति? ... मैं एक ही काम करने की कोशिश करता हूं लेकिन मुझे एक ही मुद्दे पर अवरुद्ध कर दिया गया है ... क्या एसडीके का कोई और हालिया संस्करण उपलब्ध है? – fvisticot

+0

@sdespont: क्षमा करें अगर मैं इस तरह की पुरानी पोस्ट पर टिप्पणी करता हूं, लेकिन बीएलई और एंड्रॉइड 4.2 के अनुसार जानकारी खोजने में बहुत मुश्किल है। क्या आप जानते हैं, जहां मैं ब्रॉडकॉम ब्ली जार डाउनलोड कर सकता हूं (शायद कुछ नमूना कोड के साथ)? कुछ जानकारी के साथ Google को इंगित करने वाले कई लिंक त्रुटि 403 के साथ समाप्त हो रहे हैं। आपके ज्ञान को साझा करने के लिए बहुत बहुत धन्यवाद –

+0

@fvisticot हाय, एंड्रॉइड 4.2 बीएलई लागू नहीं करता है। आपको एंड्रॉइड 4.3 और अगले संस्करणों का उपयोग करने की आवश्यकता है। दूसरे शब्दों में, आप उन उपकरणों के साथ बीएलई का उपयोग नहीं कर सकते हैं जो 4.3 संस्करण का समर्थन नहीं करते हैं। – sdespont

6

एचटीसी वन एक्स और वन एस ब्रॉडकॉम नहीं, एक क्वालकॉम ब्लूटूथ चिप का उपयोग करें। इसलिए ब्रॉडकॉम एसडीके से काम करने की उम्मीद नहीं की जाएगी।
http://www.htcdev.com/devcenter/opensense-sdk/partner-apis/bluetooth-low-energy/

+0

आपकी टिप्पणी के लिए धन्यवाद – sdespont

+1

एचटीसी वन एक्स का अंतर्राष्ट्रीय (यूरोपीय) संस्करण टीआई विलिंक चिप का उपयोग करता है। –

+0

साल के अंत में, अभी भी Google से कोई समाधान नहीं है। तो, मैंने विषय बंद करने का फैसला किया। आपके उत्तर के लिए धन्यवाद और वेब में पाए गए किसी भी अपडेट के संपर्क में रहें! – sdespont

0

बस स्पष्ट करने के लिए, केवल इन वर्तमान में उपलब्ध एचटीसी के साथ शुरू: एक एचटीसी BLE एसडीके कि एचटीसी के साथ काम करता एक एक्स +, Droid डीएनए, और HTC एक है कि आप यहाँ एचटीसी BLE एसडीके के लिए साइन अप कर सकते हैं डिवाइस आपको बीएलई समर्थन मिलेगा: एचटीसी वन एक्स +, एचटीसी Droid डीएनए, और निश्चित रूप से एचटीसी वन और आने वाले फ्लैगशिप डिवाइस। ध्यान दें कि 4.3 के रूप में, आपको मानक आधिकारिक एंड्रॉइड बीएलई एपीआई का उपयोग करने के लिए माइग्रेट करना चाहिए, डिवाइस प्री-4.3 का समर्थन करने के लिए आप एचटीसी बीएलई एपीआई का उपयोग कर सकते हैं। अधिक जानकारी और नमूना कोड दोनों एपीआई का समर्थन करने के लिए https://www.htcdev.com/devcenter/opensense-sdk/bluetooth-smart देखें।

1

शरीर के किसी भी इस एसडीके के आधार पर एक एप्लिकेशन लेखन, वहाँ एक पंक्ति मैं DeviceDiscovery में

बताने के लिए वे एक विधि getDeviceType जो पूरे एंड्रॉयड जेबी codebase में कहीं भी परिभाषित नहीं है फोन चाहते है इसलिए यह वहाँ केवल दुर्घटनाओं । इसलिए यदि दुर्घटना को हटाने के लिए कड़ी मेहनत कर रहे हैं, तो बस ध्यान रखें कि यदि आप डिवाइस डिस्कवरी ईवेंट में क्रैश हो रहे हैं तो आप इसे नहीं कर सकते हैं।

+0

फिर हम इसे कैसे काम कर सकते हैं? क्या इस मुद्दे को हल करने के कोई अन्य तरीके हैं? बीएलई-एंड्रॉइड कार्यान्वयन के लिए मैं कहां से कुछ स्टार्ट-अप दिशानिर्देश प्राप्त कर सकता हूं? अग्रिम में धन्यवाद। – Midhu

+1

मैं ऐसा करने के लिए सार्वजनिक एपीआईएस प्राप्त नहीं करता हूं, एंड्रॉइड अगली रिलीज के लिए प्रतीक्षा करें, Google/BRDCM इस पर काम कर रहा है। या यदि आप ओएस स्तर पर इसे कार्यान्वित करना चाहते हैं, तो आपको इसके लिए अपना खुद का गैट एपीआईएस लिखना होगा। – AAnkit

3

पुष्टि BroadCom BLE स्टैक पर एचटीसी 1X + काम करता है और मानक TI keyfob डेमो के साथ सहयोग।

ऐसा लगता है कि मैं एक गूंगा पोस्ट बना रहा हूं, लेकिन मैंने सोचा कि किसी को कम से कम एक छोटी सफलता के एक स्पष्ट बयान से आगे बढ़ने के लिए प्रोत्साहित किया जा सकता है।

BleFindMeClient वास्तव में TI CC2540-मिनी keyfob TI distro में उर्फ ​​KeyFobDemo साथ संयोजन के रूप में एचटीसी 1X + पर काम करता है।

मैंने कभी भी एंडोइड ऐप नहीं लिखा है, या टीआई कीफोब के लिए कोड लिखा है, इसलिए यह पता लगाने के लिए कि यह सभी उपकरण कैसे काम करता है और उन्हें कैसे कॉन्फ़िगर किया जाए, लेकिन यह कोई वास्तविक जादू नहीं था, लेकिन मुझे निराशाजनक रूप से लंबा लगा। मेरे लिए, कुछ अन्य एंड्रॉइड डेमो कुछ कोड tweaks के बिना गेट को संकलित नहीं करते हैं, लेकिन यह सिर्फ मेरी अनुभवहीनता हो सकती है।

http://youtu.be/cqWpjU7gJ2Q

अन्य getDeviceType (के बारे में इस मुद्दे पर), यहाँ एक कोड टुकड़ा है कि पूरी तरह से पर एचटीसी 1x + हर बार काम करता है। उम्मीद है कि यह भी मदद करता है।

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
if (BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE) { 
    ... 
} 
+0

इस जानकारी को साझा करने के लिए धन्यवाद। यदि आप कुछ और खोजते हैं तो संपर्क में रहें! – sdespont

0

क्या एक अच्छी खबर !!!

अंतिम एंड्रॉइड संस्करण 4.3 (जेली बीन) अब कम ऊर्जा वाले ब्लूटूथ स्मार्ट एक्सेसरीज़ का समर्थन करता है।

http://www.android.com/about/jelly-bean/

https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx

सुनिश्चित नहीं है कि हर फोन के लिए एक अद्यतन (उदाहरण के लिए भी पिछले HTC One M7) होगा लेकिन अगले फोन निश्चित रूप से इस प्रमुख रिलीज एम्बेड कर देंगे।