2010-06-04 20 views
7

मैं एक एम्बेडेड वेबसर्वर के साथ एक नियंत्रण डिवाइस विकसित कर रहा हूं। वेबसर्वर किसी भी वेब ब्राउज़र पर एक नियंत्रण इंटरफ़ेस प्रदान करता है जो अनुरोध करता है (विंडोज ब्राउज़र, मैक ब्राउज़र, आईफोन एंड्रॉइड आदि से)।ज़ीरोकॉन्फ़ नाम संकल्प

मेरे पास जो समस्या है, वह सामान्य रूप से डिवाइस को एक्सेस करने के तरीके के बारे में जानने के सामान्य तरीके से है। यानी वेब ब्राउजर में किस पते का टाइप करना है।

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

मेरा वर्तमान कार्यान्वयन netbios प्रोटोकॉल का उपयोग करता है। तो एक विंडोज ब्राउज़र से मैं // नियंत्रक टाइप कर सकता हूं/और यह काम करता है लेकिन यह मैक या स्मार्टफोन के साथ काम नहीं करता है। मैं इसके अलावा एप्पल mDnsresponder को लागू करने का प्रयास कर सकता हूं जो मैक और आईफ़ोन को खुश कराना चाहिए (हालांकि मुझे लगता है कि मैं //controller.local/ तक सीमित हूं)। शायद एंड्रॉइड, सिम्बियन इत्यादि के लिए भी इसी तरह की चीजें मौजूद हैं, लेकिन क्या एक नेटवर्क नाम बनाने के लिए एक और सार्वभौमिक समाधान नहीं है जिसे मैं कोशिश कर सकता हूं?

मंच वर्तमान में टीआई कॉर्टेक्स एम 3 प्रोसेसर और एलडब्ल्यूआईपी पर आधारित है।

समाधान खोजने के लिए कोई मदद या सुझाव बहुत सराहना की जाती है।

सधन्यवाद,

बॉब

+1

संबंधित प्रश्न: http://stackoverflow.com/questions/2375681 –

उत्तर

1

मुझे लगता है कि आप DynDns (www.dyndns.org) का उपयोग कर सकते हैं, यह आप क्या करने की कोशिश कर रहे हैं के लिए नि: शुल्क है। यदि आप निश्चित आईपी-एड्रेस प्राप्त करने की कोई संभावना नहीं रखते हैं तो भी आप इसका उपयोग कर सकते हैं। उस स्थिति में आप dyndns updater उपयोगिता का उपयोग करेंगे। आप उदा। ourCompanyName.dyndns.org पंजीकृत करें और यह हमेशा आपके स्थानीय कंप्यूटर पर रूट हो जाएगा।

1

विंडोज उपयोगकर्ताओं 'स्वतः' Zeroconf उपयोग करके अपने डिवाइस को खोजने के लिए सक्षम होने के लिए के लिए, वे की आवश्यकता होगी करने के लिए:

  1. (एक mDNS डेमॉन से इंस्टॉल किया तरह mDNSResponder आप का उल्लेख किया है, जो एप्पल से मुक्त करने के लिए उपलब्ध है)
  2. स्थापित सॉफ्टवेयर का एक दूसरा टुकड़ा जानता है कि कैसे mDNS डेमॉन को क्वेरी भेज और स्थानीय नेटवर्क पर उपलब्ध सेवाओं को प्रदर्शित करने (यानी, अपने डिवाइस के एम्बेडेड वेब सर्वर)
है

विंडोज के लिए बोनजोर इंटरनेट एक्सप्लोरर प्लगइन के साथ बंडल किया गया है जो आइटम # 2 के लिए पर्याप्त है, और हो सकता है कि आपके उपयोगकर्ताओं के लिए 'बहुत तकनीकी' न हो। (उन्हें केवल विंडोज़ के लिए बोनजोर डाउनलोड और इंस्टॉल करने की आवश्यकता होगी और इंटरनेट एक्सप्लोरर प्लगइन स्थापित करने के लिए बॉक्स पर टिकटें।) मैक उपयोगकर्ता सिर्फ सफारी ब्राउज़र का उपयोग कर सकते हैं, जो पहले से ही ज़ीरोकॉन्फ-जागरूक है।

पहेली का अंतिम भाग --- और सबसे कठिन हिस्सा --- यह है कि आपको अपने स्थानीय नियंत्रक को "स्थानीय एमडीएनएस डिमन" के साथ पंजीकृत करने के लिए अपने सॉफ्टवेयर को संशोधित करना होगा। हालांकि, ऐसी कोई बात नहीं है, संभवतः, क्योंकि आपका 'कंट्रोल डिवाइस' एक एम्बेडेड सिस्टम है। तो आपको अपनी खुद की नंगे हड्डियों एमडीएनएस डिमन लिखना होगा। यह नहीं है करना मुश्किल है, और आप ऐप्पल के mDNSPosix कोड को प्रारंभिक बिंदु के रूप में उपयोग कर सकते हैं। लेकिन, आपके हार्डवेयर बाधाओं के आधार पर, यह संभव नहीं हो सकता है।

सब कुछ, ज़ीरोकॉन्फ़ प्रोटोकॉल के साथ काम करने के लिए एक मुश्किल ढेर हो सकता है। 'शून्य कॉन्फ़िगरेशन' पहलू केवल उपयोगकर्ता के अनुभव पर लागू होता है।डेवलपर पर, यह काफी हद तक सीखने की वक्र प्रस्तुत करता है। यदि आपके उपयोगकर्ताओं के पास आमतौर पर एकल आपके डिवाइस के चलने का उदाहरण है, तो यह अधिक हो सकता है।