मेरे पास रास्पबेरी पाई 3 बी+ पर चलने वाला एक नोड.जेएस सर्वर है। (मैं नोड का उपयोग कर रहा हूं क्योंकि मुझे ब्लूटूथ लाइब्रेरी की क्षमताओं की आवश्यकता है जो अच्छी तरह से काम करती है)।

एक बार जब नोड सर्वर ब्लूटूथ डिवाइस से एक संदेश उठाता है, तो मैं चाहता हूं कि यह एक ही डिवाइस पर चल रहे एक अलग पायथन स्क्रिप्ट पर किसी ईवेंट/कमांड/कॉल को बंद कर दे।

इसे करने का बेहतरीन तरीका क्या है? मैंने बाल प्रक्रियाओं को विकसित करने और उनमें स्क्रिप्ट चलाने पर ध्यान दिया है, लेकिन यह गन्दा लगता है ... इसके अतिरिक्त, क्या मुझे उनके बीच एक सॉकेट स्थापित करना चाहिए और इसके माध्यम से डेटा स्ट्रीम करना चाहिए? मुझे लगता है कि यह अक्सर किया जाता है, आम सहमति समाधान क्या है?

0
Tevon Strand-Brown 17 मई 2019, 03:38

1 उत्तर

सबसे बढ़िया उत्तर

एक बाल प्रक्रिया चलाना है कि आप एक पायथन लिपि कैसे चलाएंगे। इस तरह आप इसे नोडज या किसी अन्य प्रोग्राम (पायथन प्रोग्राम के अलावा) से करते हैं।

पायथन लिपि और नोडज प्रोग्राम के बीच संचार के लिए दर्जनों विकल्प हैं। सबसे सरल होगा stdin/stdout जो आपके लिए स्वचालित रूप से सेट हो जाता है जब आप बच्चे की प्रक्रिया बनाते हैं, लेकिन आप नोडज ऐप को एक स्थानीय http सर्वर भी दे सकते हैं जो कि पायथन स्क्रिप्ट के साथ या इसके विपरीत संचार कर सकता है।

या, दोनों के बीच एक नियमित सॉकेट स्थापित करें।

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

यदि आप अच्छी द्विदिश क्षमताएं चाहते हैं, तो आप दोनों के बीच एक सॉकेट.आईओ कनेक्शन भी स्थापित कर सकते हैं और फिर आप किसी भी समय आसानी से संदेश भेज सकते हैं।

1
jfriend00 17 मई 2019, 19:50