जहाँ तक मुझे पता है, आपके प्रश्न में जुड़ा 1-तार पुस्तकालय केवल एक स्वामी के रूप में कार्य करने की अनुमति देता है, दास नहीं।
मैंने अभी-अभी एक Arduino बोर्ड को 1-वायर स्लेव में बदलने के लिए एक लाइब्रेरी जारी की है, यहाँ: https://github.com/neuoy/OneWireArduinoSlave (संपादित करें: यहाँ स्थानांतरित किया गया https://gitea.youb.fr/yen/OneWireArduinoSlave )। मैं इसे अपने कस्टम होम ऑटोमेशन सिस्टम में उपयोग करता हूं, और यह मेरे सेटअप (1-वायर मास्टर, एक DS9490R, USB के माध्यम से एक लैपटॉप से जुड़ा है, और अरडिनो, जो एक Arduino Uno है) को भी शक्ति प्रदान करता है। लाइब्रेरी निम्न स्तर के विवरणों को संभालती है: मेल खाती है, बाइट भेजती है और प्राप्त करती है (जो वास्तव में सही पाने के लिए काफी कठिन है, ज्यादातर तर्क विश्लेषण के बिना असंभव है)। बाकी आप पर निर्भर करता है।
यह पूरी तरह से व्यवधानों के साथ लागू किया जाता है, सभी संचार पृष्ठभूमि में किए जाते हैं, आप अन्य कोड को सामान्य रूप से, समानांतर में निष्पादित कर सकते हैं, और कॉलबैक द्वारा अधिसूचित किए जाते हैं जब बाइट प्राप्त होते हैं आदि। मास्टर को बाइट भेजना भी अतुल्यकालिक है।
मुझे यह भी पता है कि कम से कम एक अन्य पुस्तकालय मौजूद है, https://github.com/MarkusLange/OneWireSlave , जैसा कि ऊपर Ryu_hayabusa द्वारा टिप्पणी की गई है। यह मेरे लिए काम नहीं करता था (यदि यह मेरे हार्डवेयर सेटअप के कारण या किसी अन्य कारण से नहीं पता है), लेकिन यह निश्चित रूप से दूसरों के लिए काम करता है, इसलिए एक कोशिश के लायक भी है। ऐसा लगता है कि यह पुस्तकालय व्यवधान के साथ लागू नहीं किया गया है, इसलिए मास्टर गतिविधि की प्रतीक्षा करते समय आपका कार्यक्रम अवरुद्ध है (जो कि बहुत सारे परिदृश्यों में पूरी तरह से स्वीकार्य है)।