2012-07-07 13 views
5

के साथ ब्लूटूथ संचार मैं पीसी (लिनक्स 32 बिट) और ब्लूटूथ के माध्यम से एक हार्डवेयर डिवाइस के बीच एक सीरियल कनेक्शन स्थापित करने की कोशिश कर रहा हूं।मोनो सी #

मैंने प्यारेकॉम का उपयोग कर सिस्टम का परीक्षण कर लिया है। यह काम करता हैं। Baud 115200, /dev/rfcomm0 आदि ...

अब मैं एक संचार प्रोटोकॉल को लागू करने में सक्षम होने के लिए मोनो के साथ एक क्लाइंट सॉफ्टवेयर बनाने की कोशिश कर रहा हूं। मैंने SerialPort ऑब्जेक्ट का परीक्षण किया है:

SerialPort mySerial; 
    mySerial = new SerialPort("/dev/rfcomm0", 115200); 
    mySerial.Open(); 
    mySerial.ReadTimeout = 1000; 

यह काम नहीं करता है। मैंने /dev/ttyACM0 पर वायर्ड सीरियल कनेक्शन के माध्यम से सिस्टम का परीक्षण किया है, और यह काम करता है। तो मुझे नहीं लगता कि यह वही तरीका है।

मैंने FileStream और StreamReader का उपयोग करने की कोशिश की है लेकिन Exception.IO: WIN32 IO returned 997 फेंकता है।

मोनो सी # के साथ ब्लूटूथ डिवाइस के साथ सीरियल कनेक्शन का उपयोग कैसे करें?

+0

मोनो का कौन सा संस्करण? – IanNorton

+0

यह कैसे काम नहीं करता है? क्या आपने मेरा सीरियल कहा है। पढ़ें(); क्या आपने mySerial.DataReceived + = new (etc) की कोशिश की है। – Neil

+0

अच्छे अभ्यास के मामले में सीरियल संचार के साथ काम करते समय कुछ स्थापित डिफ़ॉल्ट मानों के लिए स्टॉप-बिट और समानता मान सेट करना उचित है। और हमेशा कम बॉड रेट वैल्यू से शुरू करें, और जब आप सुनिश्चित हों कि सबकुछ काम कर रहा है तो गति तेज करें। यहां एक अच्छा प्रारंभिक बिंदु उदाहरण दें, http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx – Phill

उत्तर

0

से डेटा प्राप्त Bluez 5 के रूप में dbus is the preferred method करने के लिए। इस विषय पर here पर पोस्ट की एक श्रृंखला है, मूल रूप से इसमें डीबीस से जुड़ना और निम्नलिखित करना शामिल है।

  • एक युग्मित कर रहा है एजेंट
  • डिवाइस
  • एक धारावाहिक/RFCOMM प्रोफ़ाइल
  • पंजीयन डिवाइस को कनेक्ट करना चाहते सिग्नलिंग और अपने प्रोफ़ाइल वस्तु
  • पर कनेक्शन एक धारा खुलने का इंतजार कर रहे बाँधना का पंजीयन लौटा फाइल डिस्क्रिप्टर ऑब्जेक्ट से।

एक बार आपके पास स्ट्रीम हो जाने के बाद, आप स्ट्रीम पर सभी सामान्य पढ़ने/लिखने के संचालन कर सकते हैं जैसे कि आप इसे सीरियल पोर्ट के रूप में खोले थे।

+0

ब्लूज़ डीबीस कार्यान्वयन प्रॉक्सी के साथ काम करता है, जो ब्लूटूथ से संबंधित कुछ भी मूल सार तत्व बनाता है: परिधीय उपकरण, ब्लूटूथ नियंत्रक (एडाप्टर), जीएटीटी विशेषताओं यदि आप LE का उपयोग कर रहे हैं, और इसी तरह। डीबीस ऑब्जेक्ट्स एक इंटरफेस को विधियों और गुणों के साथ प्रकाशित करते हैं जिनका उपयोग किया जाना चाहिए। मुझे नहीं पता कि ओपी का इरादा सीरियल/आरएफकॉम प्रोफाइल के साथ क्या है, लेकिन लिखने को डीबीस का उपयोग करके एक अलग तरीके से प्रबंधित किया जा सकता है। – Zimano