/ / USB / SerialPort / etc के माध्यम से PC से कनेक्ट होने वाले LED लाइट को नियंत्रित करने के लिए JAVA का उपयोग कैसे करें मुझे किस डिवाइस का उपयोग करना चाहिए? - जावा, डिवाइस, माइक्रोकंट्रोलर, सीरियल-कम्युनिकेशन, एलईडी

USB / SerialPort / etc के द्वारा PC से कनेक्ट होने वाले LED लाइट को नियंत्रित करने के लिए JAVA का उपयोग कैसे करें? मुझे किस डिवाइस का उपयोग करना चाहिए? - जावा, डिवाइस, माइक्रोकंट्रोलर, सीरियल-कम्युनिकेशन, एलईडी

मैं जेएवीए में एक कार्यक्रम लिखना चाहता हूं जो कि "कुछ" से कनेक्ट होने वाली एलईडी रोशनी को नियंत्रित कर सकता है जो कंप्यूटर से जुड़ा है।

जावा कार्यक्रम में 8 टॉगल बटन शामिल होंगेJFrame। बटन 1 से 8 तक गिने जाते हैं, और जब नंबर X वाला बटन दबाया जाता है, तो नंबर X वाला एलईडी चालू हो जाएगा; जब उस बटन को फिर से क्लिक किया जाता है, तो उस एलईडी को बंद कर दिया जाएगा।

माइक्रोकंट्रोलर के विपरीत जिसे हमें कोड लोड करना होगाउनमें, "कुछ" I "का उल्लेख किया गया है, बस रोशनी को नियंत्रित करने के लिए JAVA (शायद USB / SerialPort / ... के माध्यम से) संकेत प्राप्त करता है। उदाहरण के लिए, JAVA 0000_0101 (LED no.1 और 3 को चालू करता है) को SerialPort के माध्यम से "कुछ" पर भेजता है और फिर एक नया संकेत भेजे जाने तक उस मूल्य को "कुछ" रखेगा। मूल्य का प्रत्येक अंक "कुछ" पर एक पिन के उच्च / कम का प्रतिनिधित्व करता है जिसे मैं पिन को एलईडी से कनेक्ट करूंगा।

"कुछ" एक उपकरण की तरह कुछ हो सकता है जो "सीरियल पोर्ट सिग्नल" को "बाइनरी" में बदल सकता है और उस "बाइनरी" को एक रजिस्टर में रख सकता है जिसमें आउटपुट पिन होता है जिसे मैं उन्हें एलईडी से कनेक्ट कर सकता हूं।

क्या यह संभव है? क्या कोई डिवाइस है जैसे "कुछ"? यह क्या है? क्या किसी के पास कोई सुझाव है? या पीसी से रोशनी को नियंत्रित करने के कुछ बेहतर तरीके?

उत्तर:

उत्तर № 1 के लिए 4

मैंने बीगलबोन का उपयोग करके कुछ ऐसा ही किया हैब्लैक एक Android पोर्ट चला रहा है। मैंने एक एंड्रॉइड एप्लिकेशन डिज़ाइन किया है जो एक कस्टम ब्लूटूथ लो एनर्जी एपीआई का उपयोग करता है जिसे मैंने BLE स्टैक चलाने वाले TI CC2541 के साथ संवाद करने के लिए बनाया था।

आपको "क्या करना होगा" में फ़ंक्शन लिखना हैI / O को टॉगल करने के लिए आवश्यक प्लेटफॉर्म हार्डवेयर कॉल करने के लिए C / C ++। ToggleLed (नेतृत्व) की तरह कुछ पर्याप्त होगा। तब आप जावा का उपयोग करके देशी कॉल को हुक करते हैं जावा मूल इंटरफ़ेस (जेएनआई)। जेएनआई एक पुस्तकालय बनाता है जिसे आप सांख्यिकीय रूप से लोड कर सकते हैं।

एक बार जब आप पुस्तकालय बना लेते हैं, तो आप इसे जावा में कॉल कर सकते हैं।

उदाहरण के लिए, मेरी स्थिति में, मैंने एक BLE बनायाएपीआई कि मूल C ++ से बात की जो विभिन्न राज्यों में इसे कमांड करने के लिए मेरे एम्बेडेड CC2541 BLE चिप को सीरियल रीड / राइट करेगी। ये कमांड कनेक्ट / डिस्कनेक्ट थे, डेटा लिखते हैं, और डेटा पढ़ते हैं। BLE API को जावा में लिखा गया था और जेएनआई और ड्राइवर कॉल के माध्यम से हार्डवेयर के साथ हस्तक्षेप किया गया था। मैंने तब BLE API का उपयोग करने वाले एप्लिकेशन लिखे।


जवाब के लिए 4 № 2

आप रास्पबेरी पाई पर GPIO पिन को नियंत्रित कर सकते हैं File संचालन। उदाहरण के लिए इसे देखें: https://blogs.oracle.com/hinkmond/entry/rpi_and_java_embedded_gpio3 जहां एक पिन के आउटपुट को वैकल्पिक रूप से एलईडी ब्लिंकिंग किया जाता है। तो "कुछ" पाई है, जिसे आप कई अलग-अलग वितरकों से बहुत कम पैसे में प्राप्त कर सकते हैं।

आमतौर पर, हालांकि, जावा निम्न स्तर बिट नियंत्रण के लिए पसंद की भाषा नहीं है। विशेष रूप से रास्पबेरी पाई के बजाय, पायथन का उपयोग करें।


उत्तर № 3 के लिए 1

Arduino एक आसान और किफायती विकल्प होगा। जो एक बड़े सामुदायिक समर्थन के साथ आता है।


जवाब के लिए 0 № 4

मैंने कुछ ऐसा ही किया है जब PRINTERकंप्यूटर में DB25 समानांतर पोर्ट उपलब्ध है। हालाँकि समानांतर पोर्ट अब पीसी, लैपटॉप के साथ नहीं आता है, आप विकल्प के रूप में U "SB से PRINTER DB25 25-पिन समानांतर पोर्ट केबल एडाप्टर" का उपयोग कर सकते हैं।

इस समानांतर बंदरगाह में 8 आउटपुट लाइनें हैं जो बाइनरी में 0 से 255 मानों का प्रतिनिधित्व कर सकती हैं।

  1. एक c ++ लाइब्रेरी लिखें जो समानांतर पोर्ट आउटपुट को बाइट मान देगी। क्योंकि जावा सीधे आपके हार्डवेयर तक नहीं पहुंच सकता है।

  2. JNI का उपयोग करके आप उस लाइब्रेरी को java code से एक्सेस कर सकते हैं

  3. अब 8 एल ई डी को समानांतर पोर्ट आउटपुट पिंस से कनेक्ट करें।

नोट: 1 और 2 चरण आपके लिए पहले ही हो चुके हैं। निम्नलिखित पुस्तकालय द्वारा। http://web.archive.org/web/20080523134328/http://www.geocities.com/Juanga69/parport/

केवल 1 एलईडी का प्रकाश करने के लिए, 00000001b => 1 दशमलव सेट करें

केवल दूसरे एलईडी का नेतृत्व करने के लिए 00000010b => 2 दशमलव

4 वां और 8 वां नेतृत्व करने के लिए => 10001000b => 136 दशमलव