ইনফ্রারেডের মাধ্যমে আমার এসি নিয়ন্ত্রণ করতে রাস্পবেরি পাই ব্যবহার করা


19

আমি যখন কোথাও থেকে বাসায় ফিরে আসছি, আমি অ্যাপার্টমেন্টে পৌঁছানোর কয়েক মিনিটের আগে আমার এসি স্যুইচ করতে সক্ষম হতে চাই, সম্ভবত আমার ফোনটি আমার ডেস্কে আমার রাস্পবেরি পাইয়ের সাথে সংযোগ করার জন্য যা হবে, মোড়, এসি নিয়ন্ত্রণ করুন। এসি একটি ইনফ্রারেড রিমোট কন্ট্রোল ব্যবহার করে নিয়ন্ত্রণযোগ্য। আমি রাস্পবেরি পাইটি প্রয়োজনীয় সংকেত নির্গত করতে চাই।

প্রয়োজনীয় সংকেত প্রেরণের জন্য রাস্পবেরি পাই এর জন্য আমার কী কিনতে হবে? এছাড়াও, আমার এমন কিছু প্রয়োজন হবে যা আমাকে মূল রিমোট কন্ট্রোল দ্বারা প্রেরিত সিগন্যালের নমুনা দেওয়ার অনুমতি দেবে, তাই আমি রাস্পবেরি পাই বলতে পারি কোনটি সিগন্যাল প্রেরণ করবে। আমি কেমন করে ঐটি করি?

দয়া করে মনে রাখবেন যে একমাত্র প্রোগ্রামিং ভাষাটি আমি কীভাবে ব্যবহার করতে জানি তা হ'ল পাইথন। যদি কোনও কিছুর জন্য সি বা অন্য কোনও প্রোগ্রামিংয়ের প্রয়োজন হয় তবে এটি আমার পক্ষে ভাল সমাধান নয়।

উত্তর:


12

উপরে উল্লিখিত হিসাবে, এলআইআরসি হ'ল আপনার রাস্পবেরিপি আইআর সিগন্যাল প্রেরণ এবং গ্রহণ করার জন্য একটি দুর্দান্ত সফ্টওয়্যার প্যাকেজ। ডিসেম্বর ২০১২ পর্যন্ত সর্বশেষতম রাস্প্বিয়ান ওএসে এখন আর0 এন এর এলআইআরসি ড্রাইভার অন্তর্ভুক্ত রয়েছে।

আপনার রাস্পবেরিপিতে (হার্ডওয়্যার আপ থেকে) এলআরসিসি ইনস্টল এবং কনফিগার করার জন্য আমি একটি গাইড লিখেছিলাম কারণ আমাকে নিজেই এই একই সমস্যাটি সমাধান করতে হয়েছিল। একবার আপনি এলআইআরসি ইনস্টল হয়ে গেলে এবং রাস্পবেরিপিতে কাজ করার পরে আপনি পাইথন / রুবি / আপনার পছন্দের ভাষা থেকে আইআর কমান্ড প্রেরণ এবং গ্রহণ করতে এর কিছু অন্তর্ভুক্ত অ্যাপ্লিকেশন ব্যবহার করতে পারেন।

http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/


2
আজ আমি রাস্পবেরি আইআর ট্রান্সসিভার তৈরির জন্য স্কিম্যাটিক (এবং আমি যে অংশগুলি কিনেছি) বর্ণনা করে একটি নতুন ব্লগ পোস্ট লিখেছিলাম। alexba.in/blog/2013/03/09/raspberrypi-ir-schematic-for-lirc
অ্যালেক্স বেইন

5

এমন কেউ আছেন যা ইতিমধ্যে রাস্পবেরি পাইয়ের জন্য একটি এলআইআরসি কার্নেল ড্রাইভার লিখেছেন, এটি এখানে পাওয়া যাবে: এলআইআরসি রাস্পবেরি পাই ড্রাইভার । এছাড়াও প্রয়োজনীয় হার্ডওয়্যার এবং সংযোগের স্কিম্যাটিক্স এই পৃষ্ঠায় পাওয়া যাবে।

আমি নিজেই এলআইআরসি নিয়ে পরীক্ষা নিরীক্ষা করি নি, তবে এমন অনেক অ্যাপ্লিকেশন রয়েছে যা এলআইআরসি ব্যবহার করে, আমি অনুমান করি যে তারা এখন রাস্পবেরি পাইতে কাজ করে।

আপনি যদি প্রয়োজন / প্রয়োজন চান তবে আমি এই বিষয়টিকে আরও গভীরভাবে ডুবতে পারি এবং কিছু অতিরিক্ত তথ্য নিয়ে আসতে পারি।

পাইথন অংশের জন্য, এলআইআরসি'র সাথে ইন্টারঅ্যাক্ট করার জন্য একটি পাইথন মডিউল রয়েছে, যাকে পাইলিরিক বলা হয় এবং পাইলার্ক 2 নামে একটি নতুন রক্ষণাবেক্ষণ সংস্করণ রয়েছে


উত্তরের জন্য ধন্যবাদ, তবে সেই পৃষ্ঠাটি আমাকে "কর্নেলটি পুনরায় কম্পাইল করুন" এ হারিয়ে ফেলেছে :) আরও কি প্লাগ-এন-প্লে এমন কিছু নেই?
রাম রাছুম

1
আপাতত, এই চালকটি কোনও ডিস্ট্রোতে যাওয়ার পথ না পাওয়া পর্যন্ত আমি আশঙ্কা করছি যে এটি এলআইআরসি-র কাজ করার একমাত্র বিকল্প is পাইথন প্রোগ্রামার হওয়ায় পাইথনের জন্য একটি জিপিআইও মডিউল রয়েছে, যা সংযুক্ত পৃষ্ঠায় প্রদর্শিত হার্ডওয়্যারটি ব্যবহার করে আপনি যা চান ঠিক তা করতে আপনার নিজের পাইথন কোড তৈরি করতে পারেন। আপনাকে এসি রিমোট কী আইআর সিকোয়েন্স পাঠায় তা পড়তে হবে এবং এটি পুনরায় খেলুন। পাইথন জিপিআইও মডিউলটি ব্যবহার করে এটি সম্ভব হওয়া উচিত।
ইক্কু

1
আমার মন্তব্য '... আমি ভয় করি এলআইআরসি কাজ করার একমাত্র বিকল্প ...' এটি জিপিআইও প্রসঙ্গে কেবল বৈধ। সিরিয়াল / ইউএসবি ইত্যাদি ডিভাইসগুলির কোনও সমস্যা ছাড়াই কাজ করা উচিত।
ইক্কু

3

আমি আইআরসি বার্তা প্রেরণের তুলনামূলকভাবে সহজ উপায় হিসাবে এলআইআরসি পেয়েছি, তবে সত্যিই জাভা থেকে এলআইআরসি নিয়ন্ত্রণ করতে সক্ষম হতে চেয়েছি। আমি জাভাতে প্রোগ্রামিং পছন্দ করি এবং জাথার পরিবর্তে এটিকে নিয়ে কাজ করার জন্য রাগ করার জন্য পাইথনের জন্য কোনও সহজ টিউটোরিয়াল পাইনি। জাভা ব্যবহার করে পাই থেকে আইআর কোডগুলি প্রেরণ করার কয়েক ঘন্টা চেষ্টা করার পরে আমি পরবর্তী সমাধানটি তুলনামূলকভাবে সহজ বলে খুঁজে পেলাম: বার্স স্ক্রিপ্ট তৈরি করুন যাতে irsendবার্তা রয়েছে এবং জাভাটিকে এটি চালানোর জন্য বলুন।

উদাহরণ:

toggleLight.sh

#!/bin/bash
irsend SEND_ONCE HyundaiFan lightOnOff

RunBash.java

public class RunBash {
    public static final void main (String args[]) {
        String cmd = "../toggleLight.sh";
        try {
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec(new String[] {"/bin/bash", "-c", cmd});
            int exitValue = process.waitFor();
            System.out.println("exit value: " + exitValue);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

আপনি ধরুন exit value: 0। যদি আপনার প্রস্থান মূল্য 127 হয় তবে এর অর্থ হ'ল বাশ স্ক্রিপ্টটি জাভা দ্বারা পাওয়া যায় নি।

আরও কিছু নোট:

  • আমি এলআইআরসি-র জন্য জ্লিরিক এবং লিরক্জে - জাভা র‍্যাপার চেষ্টা করেছি তবে সেগুলি যথাযথভাবে কনফিগার করতে সক্ষম হইনি -> কাজ করছে না।
  • এই সমাধানের একমাত্র ক্ষতিটি হ'ল আপনি আইআর বার্তা শুনতে পারবেন না। আইআর বার্তাগুলি শোনার জন্য কারও কাছে একই ধরণের পদ্ধতি ব্যবহারের বিষয়ে ধারণা থাকলে আমি জানতে চাই।

দরকারী সংস্থানসমূহ:

  • পাইয়ের জন্য এলআইআরসি স্থাপনের জন্য অ্যালেক্স বাইন নির্দেশাবলী অনুসরণ করুন। তারা সত্যিই ভাল! একটি irsend এখানে সম্পর্কিত আরও তথ্য পেতে পারেন । এটি আপনার দূরবর্তীগুলির তালিকা আরও পরিষ্কার করে তোলে।
  • এখানে আপনি জাভা থেকে বাশ স্ক্রিপ্ট চালানোর জন্য আরও তথ্যের সন্ধান করতে পারেন।

আশা করি এটি সাহায্য করবে, টম


2

আমি এলআরসি-কে সবসময় খুঁজে পেয়েছি যত বেশি প্রয়োজন এলএম-সেন্সরের মতো, তার চেয়ে বেশি অপ্রীতিকর প্রকল্পের সাথে মোকাবিলা করতে।

সুতরাং আমি এটি আরও কিছুটা চারিদিকের দিকে লক্ষ্য করব: আপনি যদি একটি মাইক্রোকন্ট্রোলার (বা এমনকি কোনও বাস্তব দূরবর্তী) ট্রিগার হওয়ার সাথে সাথে সঠিক ডাল ট্রেনটি প্রেরণ করতে পারতেন তবে আপনি একটি জিপিও পিন (বা uart বার্তা) ব্যবহার করতে পারতেন কমবেশি "বোতামটি চাপুন", এবং প্রেরণাকে ট্রিগার করার জন্য আরপিআই।

আপনি যদি সঠিক ট্রান্সমিটার সমাধানটি খুঁজে পান তবে এটি তুলনামূলকভাবে প্লাগ এবং প্লে।

আরপিআইকে সার্ভার এবং একটি হার্ডওয়্যার (ফার্মওয়্যার) মডিউল আইআর ক্রিয়া সম্পর্কে উদ্বিগ্ন হওয়া উচিত। প্রক্রিয়া স্থিতিও তদারকি করতে আপনি অনুরূপ কৌশল ব্যবহার করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.