में जावा इंटरफ़ेस को कार्यान्वित करना मैं एक MATLAB GUI लिखने की कोशिश कर रहा हूं जो XBee-API इंटरफ़ेस का उपयोग करता है ताकि एक Arduino बोर्ड पर XBee वायरलेस रेडियो से बात की जा सके। जीयूआई ज्यादातर डेटा संग्रह करता है और आने वाले पैकेट का विश्लेषण करता है।MATLAB
मैं addPacketListener
को the Developer's Guide (see section "Receiving Packets") में परिभाषित करने के लिए पैकेट की प्रक्रिया के लिए प्रतीक्षा करना चाहता हूं। जावा में, यह यह कैसे किया जा होता है:
xbee.addPacketListener(new PacketListener() {
public void processResponse(XBeeResponse response) {
// handle the response
}
});
MATLAB में, मैं एक addlistener()
करते हैं और मेरी प्रसंस्करण करने के लिए अपने कॉलबैक स्थापित करेगा।
मैं बहुत बिल्कुल जावा के बारे में पता नहीं है, इसलिए यदि यह एक ला MATLAB processResponse
कोड स्थापित करने के लिए संभव है मैं सोच रहा था:
function processResponse
#% do response here
end
>> xbee.addPacketListener(@processResponse)
मैं: मैं इस प्रकार की तरह कुछ कर सकते हैं यकीन नहीं है कि यह पूरी तरह से समझ में आया है; मूल रूप से जो मैं पूरा करने की कोशिश कर रहा हूं वह है कि मेरे एक्सबीआई के लिए नए पैकेट उपलब्ध होने के बाद कॉलबैक निष्पादित करना है (जिसे जावा में addPacketListener
द्वारा प्रबंधित किया जाता है)।
मैं जो भी पूछ रहा हूं उसे पूरी तरह से समझ नहीं रहा हूं। जब आप ऊपर दिखाए गए ऐडपैकेट लिस्टनर विधि को कॉल करते हैं, तो आप एक नई ऑब्जेक्ट (एक अनाम आंतरिक कक्षा) में गुजरते हैं, जिनकी प्रक्रिया पैकेट आने पर रीस्पॉन्स विधि को बुलाया जाएगा। यह कॉलबैक है - बस स्वयं को "प्रतिक्रिया को संभालें" भाग भरें। – cutchin
@ कच्छिन तो मैं एक अलग MATLAB क्लास लिख सकता हूं जो एक विधि 'प्रक्रिया रिस्पॉन्स' निर्यात करता है और उस वर्ग का एक उदाहरण 'addPacketListener' पर पास करता है? मैंने एक विधि 'प्रक्रिया रिस्पॉन्स' के साथ MATLAB ऑब्जेक्ट में गुजरने का प्रयास किया और निम्न त्रुटि प्राप्त की: 'XB.addPacketListener (testclass) कक्षा 'com.rapplogic.xbee.api.XBee''' के लिए मिलान किए गए हस्ताक्षर के साथ कोई विधि 'addPacketListener' नहीं है –
मैं MATLAB एकीकरण में एक विशेषज्ञ नहीं हूं, लेकिन मेरा मानना है कि आप इस पीछे के बारे में जा रहे हैं। एक्सबी इंटरफेस को फायर करने और पहले पैकेट प्राप्त करने के लिए अपना जावा कोड लिखें। सुनिश्चित करें कि यह कमांड लाइन से काम करता है और आप आने वाले पैकेट देख सकते हैं। वहां से, एक लाइब्रेरी (ए .jar फ़ाइल) लिखें जिसे आप मैटलिब में आयात करेंगे, और इसे वर्णित अनुसार अपनी कक्षा से डेटा पुनर्प्राप्त करें [http://www.mathworks.com/help/techdoc/matlab_external/f6671 .html)। – cutchin