সুচিপত্র:
- ধাপ 1: একটি ভাল আইপিটিভি তালিকা পান
- ধাপ 2: প্রাথমিক কোড পরীক্ষা
- ধাপ 3: GPIO যোগ করুন
- ধাপ 4: তীক্ষ্ণ দেখতে হার্ডওয়্যার সংহত করুন
- ধাপ 5: পাই পাওয়ার
- ধাপ 6: শক্তি সংহত করা
- ধাপ 7: দীর্ঘমেয়াদী বোতাম সমাধান
- ধাপ 8: চূড়ান্ত ফিট চেক
- ধাপ 9: চূড়ান্ত ইন্টিগ্রেশন
- ধাপ 10: আপনার ভিনটেজ আইপিটিভি উপভোগ করুন
ভিডিও: রেট্রো ইডিয়ট বক্স: 10 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
আমি 1984 সালের একটি পুরানো ম্যাগনভক্স পোর্টেবল টেলিভিশন পেয়েছি যা আমার স্থানীয় থ্রিফ্ট স্টোরের শেলফে বসে আছে। আমি মনে মনে ভাবলাম, "আরে না!" আরও পরিদর্শনের পরে আমি এটিতে 15 ডলারের মূল্য ট্যাগ লক্ষ্য করেছি, তাই আমি এটি বাড়িতে নিয়ে যাওয়ার এবং এটি থেকে কিছু ঝকঝকে করার সিদ্ধান্ত নিয়েছি। আমি মনে করি গৌরবময় কালো এবং সাদা সব মহান ক্লাসিকের একটি শিশু হিসাবে reruns দেখেছি, এবং এটি আবার একটি বাস্তবতা করতে চেয়েছিলেন।
সমস্যাটি হ'ল সেখানে আর কোনও এনালগ স্টেশন নেই এবং এটি কোনও এটিএসসি ডিকোডিং বা কোনও ডিজিটাল ডিকোডিং করতে সম্পূর্ণ অক্ষম। আমি পাশে একটি AV সংযোগের উপস্থিতি লক্ষ্য করেছি, এবং কয়েকটি রাস্পবেরি পাই এর চারপাশে বিছানো ছিল, তাই আমি কীভাবে এটিতে চ্যানেলগুলি স্ট্রিম করতে পারি তা বের করার জন্য আমি একটি দু: সাহসিক কাজ শুরু করার সিদ্ধান্ত নিয়েছি। আমি এটাকেও তীক্ষ্ণ দেখাতে চাই। আমি এটি 9 ডি-সেল ব্যাটারিতে চালাবো না, তাই আমি ব্যাটারির কম্পার্টমেন্টে rpi লুকিয়ে রাখতে পারি অন্যান্য গুডিসের সাথে।
ধাপ 1: একটি ভাল আইপিটিভি তালিকা পান
দৈনিক আইপিটিভি তালিকা দেশ দ্বারা সংগঠিত বিনামূল্যে আইপিটিভি স্টেশনগুলির একটি চমত্কার নির্বাচন রয়েছে। পছন্দের দেশ নির্বাচন করুন এবং m3u ফাইলটি ডাউনলোড করুন।
এই সফটওয়্যারের জন্য, m3u একটি প্রয়োজনীয় ফরম্যাট। আপনি এখানে বিন্যাসের সুনির্দিষ্ট সম্পর্কে আরও পড়তে পারেন।
ধাপ 2: প্রাথমিক কোড পরীক্ষা
আমরা যে পাইথন কোডটি লিখতে যাচ্ছি তা m3u ফাইলটিকে স্টেশনের তালিকায় পার্স করে।
#!/usr/bin/python3
sys import argv ক্লাস স্টেশন থেকে subprocess আমদানি করুন: def _init _ (self): self.channel = 0 self.name = "self.address =" channel_list = open ('./ us-m3uplaylist-2020-08- 17-1.m3u ',' r ') m3u হিসাবে: i = 0 m3u- এ লাইন: যদি line.startswith ('#EXTINF '): this = station () this.name = line.split (', ') [1] লাইন = পরবর্তী (m3u) this.address = line.strip () this.channel = i channel_list.append (this) i = i + 1 process = subprocess।, '--intf', 'ডামি', '--ফুলস্ক্রিন', চ্যানেল_লিস্ট [int (argv [1])] ঠিকানা ঠিকানা])
আসুন এটি ভেঙে ফেলি।
#!/usr/bin/python3
এটি ব্যাশকে বলে যে আমরা এই ফাইলটি ব্যাখ্যা করার জন্য পাইথন 3 ব্যবহার করব।
sys আমদানি argv থেকে subprocess আমদানি করুন
আমাদের ভিএলসি ইন্সট্যান্স চালু করার জন্য আমাদের সাবপ্রসেস মডিউলের প্রয়োজন হবে, এবং আমরা কোন চ্যানেলে ভিএলসি চালু করব তা চয়ন করার জন্য আমাদের আর্গভি প্রয়োজন হবে।
ক্লাস স্টেশন: def _init _ (self): self.channel = 0 self.name = "self.address ="
এটি স্টেশন নামক একটি শ্রেণিকে সংজ্ঞায়িত করে। প্রতিটি চ্যানেলের একটি চ্যানেল নম্বর থাকবে, m3u ফাইল থেকে নেওয়া চ্যানেলের নাম এবং সেই চ্যানেলটি কোথা থেকে স্ট্রিম হচ্ছে তার একটি ঠিকানা থাকবে।
channel_list =
এটি একটি তালিকা যা m3u ফাইল থেকে বিশ্লেষণ করা সমস্ত চ্যানেল সংরক্ষণ করবে।
m3u হিসাবে খোলা ('./ us-m3uplaylist-2020-08-17-1.m3u', 'r') সহ m3u: i = 0 m3u এ লাইনের জন্য: যদি line.startswith ('#EXTINF'): এই = স্টেশন)
এই লুপটি m3u প্লেলিস্ট খোলে, এবং ডেটা গ্রাস করে। m3u ফাইল লাইন যা আমরা আগ্রহী তা #EXTINF দিয়ে শুরু হয়, এটি প্লেলিস্ট ফাইলে একটি নতুন এন্ট্রি নির্দেশ করে। আগ্রহের পরবর্তী মূল্য হল নাম, যা #EXTINF এর একই লাইনে আছে, কিন্তু তাদের মধ্যে একটি কমা সহ। এই বিশেষ m3u এর নিচের লাইনটি হল স্রোতের ঠিকানা। কোন চ্যানেল কোনটি গণনা করার জন্য একটি পুনরাবৃত্তকারী "i" ব্যবহার করা হয়। এই লুপটি সম্পূর্ণ m3u ফাইলের মাধ্যমে পুনরাবৃত্তি করে এবং চ্যানেল_লিস্টকে স্টেশন দিয়ে পূরণ করে।
প্রসেস = সাবপ্রসেস।
সাবপ্রসেস লাইব্রেরি পাইথনকে প্রসেস (প্রোগ্রাম) কল করার অনুমতি দেয় এবং একটি পিআইডি (প্রসেস আইডি) ফেরত দেয়। এটি পাইথনকে ইতিহাস ফাইলটি পূরণ না করে "সঠিকভাবে" প্রোগ্রামগুলি চালু করা এবং বন্ধ করার ব্যবস্থা করতে সক্ষম করে, অথবা জেনেরিক "সিস্টেম" কলগুলির সাথে আরো নির্বিচারে কোড চালানোর অনুমতি দেয়। পপেনের যুক্তি হিসাবে ব্যবহৃত অ্যারের প্রতিটি উপাদান কমান্ড লাইনে টাইপ করা হয়।
vlc --loop --intf dummy --fullscreen address
উপরের কমান্ডটি যা চালানোর জন্য পছন্দ করা হয়, --loop বিকল্পটি স্ট্রিম পজিংয়ের সাথে কিছু সমস্যা সমাধান করে যখন পরবর্তী অংশ লোড হয় (অদ্ভুত m3u8 সমস্যা), --intf ডামি ইন্টারফেস ছাড়াই ভিএলসি শুরু করে, শুধু একটি স্ক্রীন, -ফুলস্ক্রিন ভিডিওটি ফুলস্ক্রিন মোডে চালু করে (কোন উপায় নেই!), এবং ঠিকানাটি প্রবাহের ঠিকানা। আপনি কোডে দেখতে পাচ্ছেন, আমরা তালিকার চ্যানেল নম্বর থেকে ঠিকানা প্রদান করছি, যা argv স্টেটমেন্টের মাধ্যমে রানটাইম সময়ে প্রদান করা হয়। এই ফাইলটি tv_channels.py হিসাবে সংরক্ষণ করুন, আপনার প্লেলিস্টের দিকে নির্দেশ করার জন্য পাইথন ফাইলে প্লেলিস্টের অবস্থান পরিবর্তন করুন এবং আপনি নিম্নরূপ কোডটি চালাতে পারেন:
পাইথন tv_channels.py
ধাপ 3: GPIO যোগ করুন
স্কিম্যাটিক দুটি জিপিআইও পিন বোতামগুলির জন্য ব্যবহার করে দেখায়, এবং প্রত্যেকেরই একটি টান আপ প্রতিরোধক রয়েছে যাতে জিপিআইও পিনটি বোতাম চাপার পরে উঁচু করা যায়। পূর্বে সংজ্ঞায়িত কোডটি জিপিআইও ক্ষমতা যোগ করে অপারেশনটিকে আরও কিছুটা নির্বিঘ্ন করতে পরিমার্জিত করা যেতে পারে। এটি আমাদের কীবোর্ড এবং argv স্টেটমেন্টের পরিবর্তে বাটন দিয়ে চ্যানেল পরিবর্তন করতে দেয়, ঠিক যেমন রিয়েলসি টিভির জন্য।
নোটের প্রথম জিনিস হল যে আমি টেলিভিশনকে একটি শ্রেণী হিসাবে সংজ্ঞায়িত করেছি। একটি টেলিভিশন হতে, আমাদের একটি বর্তমান চ্যানেলে থাকতে হবে, সম্ভাব্য চ্যানেলের একটি তালিকা থাকতে হবে এবং চ্যানেলগুলি পরিবর্তন করার ক্ষমতা থাকতে হবে। এই উদাহরণে, চ্যানেলগুলি পরিবর্তনের একমাত্র পদ্ধতি হবে চ্যানেল তালিকা সরানো, এবং চ্যানেল তালিকা নিচে সরানো। একবার চ্যানেলটি ঠিক হয়ে গেলে, আমরা যে চ্যানেলটি দেখতে চাই তাতে আমাদের ভিএলসি শুরু করতে হবে।
#!/usr/bin/python3
সময় থেকে আমদানি করুন ঘুম আমদানি সাবপ্রসেস থেকে sys আমদানি argv থেকে gpiozero আমদানি বাটন ক্লাস স্টেশন: def _init _ (self): self.channel = 0 self.name = "self.address =" self.process = "class টেলিভিশন: def _init _ (self, filename): self.current_channel = 0 self.channel_list = self.build_channel_list (ফাইলের নাম) self.start_channel () def build_channel_list (self, filename): open (filename, 'r') as m3u: i = M3u এর লাইনের জন্য: যদি line.startswith ('#EXTINF'): this = Station () this.name = line.split (',') [1] line = next (m3u) this.address = line। strip () this.channel = i self.channel_list.append (this) i = i + 1 def channel_up (self): self.current_channel = self.current_channel + 1 যদি self.current_channel> len (self.channel_list): self। current_channel = len (self.channel_list) self.start_channel () def channel_down (self): self.current_channel = self.current_channel - 1 যদি self.current_channel <0: self.current_channel = 0 self.start_channel () def start_channel (self): চেষ্টা করুন: self.process। হত্যা () ছাড়া: পাস প্রিন্ট ('স্টার্টিং চ্যানেল % d' % self.current_channel) self.process = subprocess. Popen (['vlc', '-q', '--loop', '--intf', ' ডামি ',' --ফুলস্ক্রিন ', self.channel_list [self.current_channel].address]) এটি = টেলিভিশন ('./ us-m3uplaylist-2020-08-17-1.m3u ') channel_UP = Button (18) channel_DN = বোতাম (23) যখন সত্য: channel_UP.when_pressed = this.channel_up channel_DN.when_pressed = this.channel_down
কোডের এই পুনরাবৃত্তির বেশ কয়েকটি উন্নতি রয়েছে। এটি এখন জিপিওজিরো নামে একটি মডিউল ব্যবহার করেছে যা রাস্পবেরি পাই দ্বারা জিপিআইও পিনের কার্যকারিতা সহজে অ্যাক্সেস করার জন্য প্রয়োজনীয়।
sudo apt-get python3-gpiozero ইনস্টল করুন
অথবা
sudo pip gpiozero ইনস্টল করুন
আমার কোডে যেমন দেখা গেছে, আমি চ্যানেল ইউপি এবং চ্যানেল ডাউনের জন্য যথাক্রমে জিপিআইও 18 এবং জিপিআইও 23 বেছে নিয়েছি। জিপিওজিরো লাইব্রেরিতে যখন বোতাম ফাংশনগুলির জন্য চমৎকার ক্লাস আছে, তখন_প্রেসড, ইস_প্রেসড, যখন_হেল্ড, ইত্যাদি এটি বেশ সহজ করে তোলে। আমি when_pressed বেছে নিয়েছি, যা এই সংকেত সনাক্ত হলে চালানোর জন্য একটি কলব্যাক ফাংশন বোঝায়।
সর্বশেষ বড় পরিবর্তন হল ভিএলসি সাবপ্রসেস কলের মধ্যে '-q' বিকল্প অন্তর্ভুক্ত করা। এটি কেবলমাত্র সমস্ত আউটপুট ছাড়াই টার্মিনালে ভিএলসি চালায় যাতে এটি বিশৃঙ্খলা মুক্ত থাকে যাতে আমরা কোডে তথ্যমূলক মুদ্রণ বিবৃতি দেখতে পারি।
ধাপ 4: তীক্ষ্ণ দেখতে হার্ডওয়্যার সংহত করুন
আমি কিভাবে এটি সম্পন্ন করতে চাই তা আমি বুঝতে পারিনি, এবং এটি ব্যবহার করা প্রতিটি মডেল টিভির জন্য একটি অনন্য সমাধান হবে। আমি এই বিষয়ে কঠোরভাবে চিন্তা করতে চাই এবং টেলিভিশনের চারপাশে অনুসন্ধান করতে হবে যখন আমি বিশাল ব্যাটারির কম্পার্টমেন্টের ভিতরে কম্পিউটারটি ক্রাম করি। আমি চ্যানেল নির্বাচনের জন্য ঘড়ির বোতামগুলি ব্যবহার করার কথাও ভেবেছি, কারণ সেগুলি ইতিমধ্যেই টেলিভিশনে সুন্দরভাবে স্থাপন করা হয়েছে, এবং ঘড়িটি যাইহোক কাজ করে না। আমি একটি ভাল সমাধান খুঁজে পেতে যখন আমি আরো পোস্ট করব, কিন্তু এই যেখানে আমার প্রকল্প ব্যাপকভাবে অন্যদের থেকে বিচ্ছিন্ন হবে। বাস্তব-টিভির মতো আইপিটিভি ইন্টিগ্রেশন উপভোগ করুন!
ধাপ 5: পাই পাওয়ার
আমি যে মডেল টিভি পেয়েছি তার জন্য 12V পাওয়ার সাপ্লাই প্রয়োজন। আমি বোর্ডের চারপাশে অনুসন্ধান করেছি, কিন্তু 5V এর জন্য কোন সুস্পষ্ট পাওয়ার রেগুলেটর দেখতে পাইনি, তাই স্থির বিদ্যুৎ সরবরাহের সবচেয়ে সুস্পষ্ট জায়গা হল সার্কিট বোর্ড যেখানে 12V এর জন্য ব্যারেল সংযোগকারী আসে। এর সাথে একটি সুস্পষ্ট সমস্যা আছে । আমরা পাই ভাজতে চাই না, তাই আমাদের পাওয়ার রেগুলেটর লাগবে। আমি MP2315 স্টেপ-ডাউন পাওয়ার কনভার্টার বেছে নিয়েছি। এটি ময়লা সস্তা, এবং ব্যবহার করা সহজ। আমরা PCB- এর ব্যারেল সংযোগকারী থেকে কনভার্টারের IN+ এবং GND পিনগুলিতে 12VDC ইনপুট, এবং রাস্পবেরি পাইতে VO+ 2 পিন করার পাশাপাশি GND- কেও বিক্রি করব।
এটি সম্পন্ন হওয়ার আগে, কনভার্টারকে পাওয়ার আপ করতে ভুলবেন না এবং নিশ্চিত করুন যে সঠিক 5V আউটপুট থেকে বেরিয়ে আসছে। আমি হার্ডওয়ার্ড অ্যাডজাস্টেবল ভোল্টেজের সাথে সহজ বিকল্পটি বেছে নিয়েছি। ট্রিমার ভোল্টেজ সামঞ্জস্য করবে, তাই আমি স্ক্রু ড্রাইভার দিয়ে ট্রিমার অ্যাডজাস্ট করার সময় মাল্টিমিটারের সাথে ভোল্টেজ আউটপুট দেখেছি।
ধাপ 6: শক্তি সংহত করা
টেলিভিশনের চারপাশে খনন করার পরে, সিদ্ধান্ত নেওয়া হয়েছিল যে বিদ্যুৎ গ্রহণ করার সর্বোত্তম জায়গাটি ছিল ব্যারেল সংযোগকারী এবং টেলিভিশন অন/অফ সুইচ থেকে নেতিবাচক, যার মানে হল যে আমরা টেলিভিশনের সাথে স্ট্রিমগুলি চালু এবং বন্ধ করতে পারি, বরং ব্যারেল সংযোগকারী থেকে সরাসরি টেনে পাইকে ক্রমাগত শক্তিশালী করা।
পিসিবি'র পাশের পাশে তারগুলি সোল্ডার করা এবং খাওয়ানো হয়েছিল যতক্ষণ না তারা ইউনিটের পিছনে পৌঁছায়, যেখানে তারা ব্যাটারি কম্পার্টমেন্টের পিছনে থাকা একটি গর্তের মাধ্যমে খাওয়ানো হয়েছিল। একবার তাদের খাওয়ানো হয়ে গেলে, আমরা ক্যাবলিংয়ের প্রান্তগুলি প্রস্তুত করতে পারি এবং সেগুলি পাওয়ার রেগুলেটরের কাছে বিক্রি করতে পারি। আমি এটিকে 5V এর জন্য টিউন করেছিলাম যাতে পাই এবং সোল্ডার হেডার পিনগুলিকে পাওয়ার করা যায় যাতে আমরা পাওয়ার রেগুলেটর থেকে সরাসরি পিআই এর জিপিআইও হেডার সেটে মহিলা থেকে মহিলা জাম্পার চালাতে পারি। এটি সাধারণত পরামর্শ দেওয়া হয় না, কারণ পাই সাধারণত ইউবিএসের মাধ্যমে শক্তি পায়, যার একটি নিয়ন্ত্রক ইনলাইন রয়েছে যা 5V কন্ডিশন করে, কিন্তু যেহেতু শক্তিটি ইতিমধ্যেই নিয়ন্ত্রিত হচ্ছে তাই এটি ঠিক হওয়া উচিত।
এটি করা থেকে অডিও লাইনে কিছু গোলমাল আছে, কারণ সিস্টেমে গ্রাউন্ড লুপ রয়েছে। আমি একটি সহজ উত্তরের আশায় সমস্ত বোর্ডে অনেক পাওয়ার এবং গ্রাউন্ড পয়েন্ট চেষ্টা করেছি, কিন্তু কোন খুঁজে পাইনি। আমি সুইচড মোড রেগুলেটরের কাছে একটি মাইক্রো ইউএসবি ক্যাবলও বিক্রি করেছিলাম যাতে দেখা যায় যে পাই এর অভ্যন্তরীণ নিয়ন্ত্রকদের মাধ্যমে শক্তি প্রয়োগ করা সমস্যাটি সমাধান করবে কিনা। তা হয়নি। সমাধানটি কিছু অডিও গ্রাউন্ড আইসোলেশন ট্রান্সফরমারে হতে চলেছে। এগুলি নির্মাণের পরিবর্তে অর্ডার করা হয়েছিল, কারণ এগুলি সস্তা এবং সুন্দরভাবে প্যাকেজ করা হয়েছে। আপনি এগুলি বেশিরভাগ অটো অডিও স্টোর বা বিভাগ থেকে নিতে পারেন। এটা আমি বেছে নিয়েছি।
ধাপ 7: দীর্ঘমেয়াদী বোতাম সমাধান
নিtসন্দেহে, বোতামগুলি রুটিবোর্ডে থাকবে না, তাই আরও স্থায়ী সমাধান হওয়া দরকার। আমি কিছু পুরোনো প্রোটোবোর্ড ধরলাম এবং কিছু হেডার পিনের সাথে সার্কিটটি ছুঁড়ে দিলাম যাতে সিগন্যালগুলি অ্যাক্সেস করা সহজ হয়। এখানেই বোতামগুলি সংযুক্ত বা মাউন্ট করার বিষয়ে প্রত্যেকের মতামতের পার্থক্য থাকবে। আমি তাদের প্রোটোবোর্ড করা বেছে নিচ্ছি এবং কেবল তাদের চেসিসের সাথে সংযুক্ত করি যাতে স্ক্রিনের উপর যে হ্যান্ডেলটি বহন করে তা হস্তক্ষেপ না করে। একটি 3 ডি প্রিন্টেড কেস যুক্ত করে ডিজাইনটি চার্চ করতে বিনা দ্বিধায় যা মাউন্টকে মসৃণ করে, বাদাম এবং বোল্ট ব্যবহার করে, অভিনব আঠালো, মূল বোতামগুলিকে সংহত করে, যাই হোক না কেন। যতক্ষণ এটি কাজ করে, কোন ভুল উত্তর নেই।
এগুলি কেসের বাইরের দিকে মাউন্ট করা হবে এবং রাস্পবেরি পাই খুব প্রশস্ত ব্যাটারি বগির ভিতরে টুকরো টুকরো করা হবে, তাই ব্যাটারির কম্পার্টমেন্ট থেকে বেরিয়ে যাওয়ার জন্য তারগুলিকে ছিদ্র করার জন্য একটি ছোট গর্ত করা দরকার।
ধাপ 8: চূড়ান্ত ফিট চেক
চেসিসে কোথায় সব ছিদ্র করা দরকার, এবং কোন আকারের ছিদ্র ইত্যাদি তৈরি করা দরকার তা দেখার জন্য সমস্ত সরঞ্জামগুলি শেষবার চেক করা দরকার। অতিরিক্তভাবে সংযোগ এবং অ্যাক্সেসের সর্বোত্তম সুবিধার জন্য উপাদানগুলি কোথায় রাখা উচিত তা বিবেচনা করা উচিত। দীর্ঘ কাহিনী সংক্ষিপ্ত, নিশ্চিত করুন যে সবকিছু ঠিক আছে যেখানে আপনি মনে করেন এটি আপনার অপূরণীয়ভাবে ক্ষতিগ্রস্ত করার আগে এবং স্প্যাকলটি বের করতে হবে।
ধাপ 9: চূড়ান্ত ইন্টিগ্রেশন
এখন সমস্ত হার্ডওয়্যার যেখানে এটি থাকা প্রয়োজন, এবং এটি সবই একটি রাগের মধ্যে একটি বাগের মতো স্ন্যাগের সাথে খাপ খায়। আসুন জিনিসগুলি কাটা যাক! আমি ব্যাটারি বগিতে একটি জায়গা চিহ্নিত করেছি যেখানে আমি প্লাস্টিকের একটি ছোট ইন্ডেন্টেশন ব্যবহার করে AV তারগুলি বের করতে পারি। আমি একটি বেঞ্চ পেষকদন্ত সঙ্গে এটি গ্রাউন্ড। এটি এর বেশ সংক্ষিপ্ত কাজ করেছে। আমি একটি ড্রেমেল ব্যবহার করে আরো প্লাস্টিকের পিষে তা কেবলের জন্য বেশ ভালো করে ফিট করেছিলাম।
শেষ উপাদান চ্যানেল নির্বাচক। আমি ব্যাটারির কম্পার্টমেন্টে একটি ছোট গর্ত ড্রিল করেছি এবং হেডার কেবলগুলি একে একে বের করে দিয়েছি। বোতামগুলি সংযুক্ত ছিল, এবং আমি প্রোটোবোর্ডকে প্লাস্টিকের চ্যাসির সাথে দুটি আধা-আঠালো ভেলক্রো দিয়ে সংযুক্ত করেছি। আমি বুঝতে পারি যে এটি করার জন্য প্রায় 1200 টি ভাল উপায় ছিল, কিন্তু এটি কাজ করেছে, এবং আমার হাতে যা কিছু ছিল তা ছিল।
ধাপ 10: আপনার ভিনটেজ আইপিটিভি উপভোগ করুন
এটা সমষ্টি সম্পর্কে। শো খুঁজুন এবং মজা করে দেখুন। যদিও খুব কাছে বসে থাকবেন না। আপনি আপনার মস্তিষ্ক পচে যাবে!
এই প্রকল্পের উন্নতি করার জন্য অনেক জায়গা আছে, তাই আপনি যে দিকটি চান তা নিয়ে যান, তবে এটি এতদূর পেয়ে মজাদার ছিল। আমার জন্য, আমি এটি রিবুট করার সময় একটি ক্রোনজব থেকে চালাই, তাই stdout পাইথন স্ক্রিপ্ট থেকে বার্তাগুলি ক্যাপচার করে না। আমি এটি ঠিক করতে চাই তাই আমি জানি আমি কোন চ্যানেলে আছি। আরেকটি ভাল সংযোজন হল পাই -তে একটি ওয়্যারলেস কীবোর্ড ডংগল। যদি আপনি টিভি দিয়ে আপনার ঘর থেকে বের হন তবে এটি আপনাকে ওয়াইফাই নেটওয়ার্ক পরিবর্তন করতে দেবে। নির্বিশেষে। এটি একটি মজাদার প্রকল্প ছিল এবং আমি পরেরটি শুরু করার জন্য অপেক্ষা করতে পারি না।
প্রস্তাবিত:
রেট্রো আর্কেড - (রাস্পবেরি পাই দ্বারা পূর্ণ আকার চালিত): 8 টি ধাপ
Retro Arcade - (Full size Powered by Raspberry Pi): প্রথমে আমি এই রেট্রো আর্কেড সিস্টেমের জন্য বিল্ড গাইড দেখার জন্য আপনাকে ধন্যবাদ জানাতে চেয়েছিলাম। আমি একটি পুরানো তোরণ বাক্স নিচ্ছি এবং এটি একটি 24 ইঞ্চি ওয়াইডস্ক্রিন মনিটর সহ একটি স্বতন্ত্র ক্যাবিনেটে রেখেছি। এই গাইডের পরিমাপগুলি আপনাকে দেওয়া কঠিন
খুব অল্পবয়সীদের জন্য একটি জুক বক্স ওরকা রাসপি-মিউজিক-বক্স: 5 টি ধাপ
খুব অল্পবয়সীদের জন্য একটি জুক বক্স … ওরকা রাস্পি-মিউজিক-বক্স: নির্দেশযোগ্য " রাস্পবেরি-পাই-ভিত্তিক-আরএফআইডি-মিউজিক-রোবট " দ্বারা অনুপ্রাণিত তার 3-বছর-বয়সী জন্য একটি সঙ্গীত প্লেয়ার ROALDH বিল্ড বর্ণনা করে, আমি আমার এমনকি ছোট বাচ্চাদের জন্য একটি জুক বক্স তৈরি করার সিদ্ধান্ত নিয়েছি। এটি মূলত 16 টি বোতাম এবং রাস্পি 2 i সহ একটি বাক্স
বার্বি বক্স: আপনার এমপি 3 প্লেয়ারের জন্য একটি ছদ্মবেশী কেস/ বুম বক্স: 4 টি ধাপ (ছবি সহ)
বার্বি বক্স: আপনার এমপি 3 প্লেয়ারের জন্য একটি ছদ্মবেশী কেস/ বুম বক্স: এটি আপনার এমপি 3 প্লেয়ারের জন্য একটি প্যাডেড সুরক্ষামূলক বহনকারী কেস যা হেডফোন জ্যাককে কোয়ার্টার ইঞ্চিতেও রূপান্তরিত করে, একটি সুইচের ফ্লিপে বুম বক্স হিসেবে কাজ করতে পারে, এবং আপনার এমপি 3 প্লেয়ারকে নব্বইয়ের দশকের শুরুর টেপ প্লেয়ার বা একই রকম কম চুরির ছদ্মবেশে আমি
টিউব রেডিওগুলির জন্য একটি সিগার বক্স ব্যাটারি বক্স তৈরি করুন: 4 টি ধাপ
টিউব রেডিওগুলির জন্য একটি সিগার বক্স ব্যাটারি বক্স তৈরি করুন: যদি আপনি আমার মতো টিউব রেডিওগুলি নিয়ে নির্মাণ করেন এবং খেলেন, তাহলে সম্ভবত আপনারও একই সমস্যা আছে যেমনটি আমি তাদের শক্তি দিয়ে করি। বেশিরভাগ পুরানো সার্কিটগুলি উচ্চ ভোল্টেজ বি ব্যাটারিতে চালানোর জন্য ডিজাইন করা হয়েছিল যা আর পাওয়া যায় না। তাই
সিডার (সিগার?) বক্স স্পিকার বক্স: 8 টি ধাপ (ছবি সহ)
সিডার (সিগার?) বক্স স্পিকার বক্স: মুন্নি স্পিকার দ্বারা অনুপ্রাণিত, কিন্তু 10 ডলারের বেশি খরচ করতে ইচ্ছুক নয়, এখানে পুরানো কম্পিউটার স্পিকার ব্যবহার করে আমার নির্দেশযোগ্য, সাশ্রয়ী দোকান থেকে একটি কাঠের বাক্স এবং প্রচুর গরম আঠা