كيفية التواصل مع Arduino على الواجهة التسلسلية في C ++ على Linux؟
-
05-07-2019 - |
سؤال
لدي قارئ RFID متصل بلوحة Arduino. أرغب في الاتصال بها عبر الواجهة التسلسلية ، وكلما حذفت قارئ RFID إشارة (عندما يقرأ معرف (RF)) ، أود استرداده في برنامج C ++ الخاص بي.
لدي بالفعل رمز لطباعة RFID إلى المسلسل من Arduino.
ما لا أعرفه ، هو كيفية قراءتها من C ++ في لينكس؟
لقد نظرت إلى libserial, والتي تبدو واضحة. ومع ذلك ، كيف يمكنني اطلب من برنامج C ++ رد فعل على إشارة ثم اقرأ RFID, ، بدلا من الاستماع باستمرار؟ هل هذا ضروري؟
تحرير: في معظم الأمثلة التي قرأتها ، يرسل برنامج (C ++) الإدخال ، ويتلقى الإخراج. أريد فقط الاستماع واستلام الإخراج من Arduino.
المحلول 2
لقد وجدت مكتبة Boost :: Asio ، التي تقرأ من واجهات التسلسلية بشكل غير متزامن. Boost :: Asio Documentation
نصائح أخرى
في UNIX ، تستخدم استدعاء SELECT () لانتظار الإدخال. تعمل مكالمة SELECT () مثل النوم - باستخدام NO CPU حتى يتلقى kernel مقاطعة الجهاز وتؤدي إلى SELECT ().
ال مجال الاتصالات يحتوي جزء من قسم الواجهة في ملعب Arduino على العديد من الأمثلة على التواصل ، بما في ذلك واحد مع Arduino كما Linux Tty.
جرب ال بناء الجملة والبرامج المنتدى و تطوير البرمجيات منتدى على موقع أردوينو. كانت هناك مناقشات حول التواصل مع العديد من اللغات وأجهزة الكمبيوتر المختلفة في الماضي.
وأخيرا تحقق من يعالج و الأسلاك المواقع. تعتمد Arduino IDE على لغة المعالجة ، وبيئة الأسلاك ولوحة DEV مرتبطة بـ Arduino. يحتوي كلا الموقعين على المزيد من الأمثلة والروابط لمزيد من الموارد.
يحرر: لقد أدركت للتو أنني لم أجيب على سؤالك الفعلي. هذه كلها موارد اتصال عامة ، ولكن قد يكون لدى البعض تلميحات تجاه كيفية تنبيه الكمبيوتر لإدخال RFID جديد.
مرحبًا ، قمت بإنشاء مكتبة بسيطة لهذا: كاردوينو https://github.com/ranma1988/carduinoيمكن لـ C ++ العثور على منفذ Connect Arduino Connect Arduino ، قراءة ، الكتابة