2014-11-03 7 views
8

के माध्यम से ब्लूटूथ कम-ऊर्जा स्कैन करने के लिए कैसे करें मैं ब्लूज़ का उपयोग करके ब्लूटूथ कम ऊर्जा प्रोग्रामिंग में नया हूं।ब्लूज़ सी सी लाइब्रेरी

मैं इंटेल एडिसन पर ब्लूटूथ कम ऊर्जा के लिए ब्लूज़ एपीआई का उपयोग करके आस-पास के उपकरणों को स्कैन करने के लिए मूल कोड सी विकसित करना चाहता हूं। मैंने this question देखा है, लेकिन उत्तर वास्तव में मदद नहीं करता है। कोई सलाह?

उत्तर

7

गैलीलियो या एडिसन पर ब्लूज़ के साथ बीएलई प्रोग्रामिंग किसी अन्य x86 प्लेटफॉर्म के समान है।

एडिसन (और गैलीलियो) आमतौर पर ब्लूज़ पुस्तकालयों के साथ पहले से स्थापित होता है। आपको बस अपने सी कोड के साथ लिंक करना होगा, और अन्य x86 प्लेटफ़ॉर्म के समान प्रोग्राम।

एक पूर्ण C code example bluetooth scan with BlueZ, see this link के लिए।

Please see this example for BLE scan

और एचसीआई एपीआई here

+0

मैं इस कोड उदाहरण देखा है। यह काम करता है, लेकिन यह बीएलई उपकरणों को स्कैन नहीं करता है - केवल सामान्य। – Longes

+0

@ बीएलई के लिए लांग आपको 'hci_le_set_scan_parameter' सेट करने की आवश्यकता होगी, [कृपया बीएलई स्कैन के लिए यह उदाहरण देखें] (https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c) – ashoke

+0

परीक्षण के लिए, बीएलई उदाहरण ncurses पर निर्भर करता है, मैंने इसे शुद्ध कंसोल एप्लिकेशन के रूप में बदल दिया है। इसके अलावा, आपको इसे सूडो के साथ चलाने की ज़रूरत है। – prmottajr

8

अन्य जवाब मेरे लिए काम नहीं करता है पर उदाहरण के लिए, यह स्कैन में बंद हो जाता है ...

अगले लिंक सी भाषा के लिए काम करता है, लेकिन कोई त्रुटि है जब बाइट्स डी RSSI बारे में जानकारी है कि कास्टिंग संकेत। https://github.com/glock45/intel-edison-playground/blob/master/scan.c

इस लाइन 121:

printf("%s - RSSI %d\n", addr, (**char**)info->data[info->length]); 

होना चाहिए:

printf("%s - RSSI %d\n", addr, (**int8_t**)info->data[info->length]); 

मैं bluez-version/monitor/*.c, जहां btmon कार्यक्रम है अंदर देख कर इन पाया। आप डेटा प्रकार और structs देख सकते हैं, hcidump.c बहुत उपयोगी है और packets.c, और main.c भी, लेकिन एचसीआई सॉकेट

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। – Kmeixner

0

इंटेल-एडिसन scan.c कोड भी रास्पबेरी Pi पर काम करता है के बारे में जानने के लिए कई देखते हैं।

यह अरुफिनो यूनो से जुड़े एडफ्रूट बीएलई यूएआरटी मित्र मॉड्यूल के लिए स्कैन करने के लिए काम करता है।

पीआई पर, bluez-5.33.tar.gz, libncurses-dev और libbluetooth-dev डाउनलोड करने की आवश्यकता है।

scan.c संकलन करने के लिए, का उपयोग

जीसीसी scan.c -lbluetooth -ओ स्कैन

संबंधित मुद्दे