فهرست مطالب:
- مرحله 1: Blinkty Pi
- مرحله 2: صحبت کردن با کد
- مرحله 3: مرکز اطلاع رسانی
- مرحله 4: گزینه های صوتی
- مرحله 5: اتصالات یکپارچهسازی با سیستمعامل
- مرحله 6: کار موردی
- مرحله 7: رادیو تایمز
تصویری: Pi Zero Talking Radio: 7 Step (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این یک رادیو رومیزی DeWald در اواخر دهه 1940 است که با استفاده از Raspberry Pi Zero ، Blinkt جان تازه ای بخشیدم! نوار LED و یک جفت بلندگوی کامپیوتر. با استفاده از موتور تبدیل به گفتار Pyvona (TTS) و یکپارچه سازی IF This Then That (IFTTT) اعلان های طیف وسیعی از خدمات متصل به اینترنت را می خواند. چراغ های LED به طرز شگفت انگیزی روشن هستند و بسته به کلمات کلیدی موجود در متن اعلان ها ، به عنوان مثال "youtube" = قرمز ، صفحه رادیو را با رنگ متفاوتی روشن می کند.
من این رادیوی کوچک شیرین را در تابستان با قیمت 3 پوند در صندوق عقب ماشین خریدم - اندازه فشرده و طراحی کلاسیک آن بلافاصله من را مجذوب خود کرد و توانستم پتانسیل آن را از طریق نمای بیرونی نور خورشید و ترک های زیاد مشاهده کنم! من مدتی است می خواهم "چیزی مناسب برای اتاق نشیمن" ایجاد کنم و این نقطه شروع ایده آل بود. من قبلاً در پروژه Rabbit Pi اعلان های متن به گفتار را آزمایش کرده ام و امیدوارم بر اساس آنچه آموخته ام چیزی بسازم که روزانه فقط "کار می کند".
در صورتی که نمیتوانید ویدیوی جاسازی شده را مشاهده کنید در آدرس زیر است:
مرحله 1: Blinkty Pi
من اخیراً اولین Pi Zeros خود را برداشتم و فوراً از اندازه کوچک آنها شگفت زده شدم! پس از لحیم کاری در سربرگ GPIO و اتصال آداپتورها ، اولین مورد آماده کار بود. در ابتدا من قصد داشتم یک Rabbit Pi بهبود یافته تهیه کنم اما پس از مدتی این کار بیشتر شبیه به کار بود تا سرگرم کننده ، بنابراین آن را کنار گذاشتم - هرچند نه قبل از شروع آزمایش با PHAT یونیکورن ، ماتریس 4x8 LED های قابل برنامه ریزی ، که یک توده مطلق بود. از سرگرمی! تنها نکته منفی این بود که استفاده از pHAT تنظیم صدا را پیچیده کرد ، و من می خواستم پروژه بعدی خود را بسیار ساده نگه دارم.
همه چیز در کمبریج تمشک جم در ماه سپتامبر وقتی Blinkt را دیدم سر جایش قرار گرفت! در غرفه Pimoroni فروخته می شود - درست مانند PHAT یونیکورن ، اما با یک ردیف 8 LED ، اندازه کاملاً مناسب برای قرار گرفتن در سربرگ GPIO یک صفر pi. این برنامه دارای تعداد زیادی مستندات و مثال است و در مدت زمان کوتاهی اجرا و اجرا شد - اکنون زمان آن رسیده است که بقیه کد را با هم ترکیب کنید.
مرحله 2: صحبت کردن با کد
من با یک کپی از کد اصلی Rabbit Pi شروع کردم ، زیرا قبلاً اعتبارنامه نوشتار به گفتار Ivona من در آن ذخیره شده بود. قبل از استفاده از سرویس ، باید یک حساب توسعه دهنده Ivona ایجاد کنید ، اما همانطور که قبلاً مستند کرده ام ، این روند ساده است.
گام بعدی نصب Pyvona بود ، پوشش Python برای ادغام با سرویس Ivona TTS ، که آسان تر از این نبود (pip install pyvona).
با انجام این کار ، من اصلاح کد Rabbit Pi را شروع کردم ، اشاره هایی به کنترل موتور و گرفتن عکس های سلفی داشتم تا تنها بخش هایی از اعلانات خطوط موضوع Gmail را بخوانم. پیشرفت حیاتی با این کد افزودن یک سری از دستورات IF برای جستجوی کلمات کلیدی خاص در پیامها بود ، به طوری که Blinkt! بسته به پیام رنگهای متفاوتی می درخشد
این کار مدتی طول کشید زیرا من هنوز پای خود را با پایتون پیدا می کنم ، اما کلمات کلیدی خود را مشخص کرده ام ("ابری" ، "غروب خورشید" ، "دوش" ، "فیس بوک" ، "توییتر" ، "یوتیوب" و "آفتابی") من توانستم Blinkt را کنترل کنم! بسته به متن خوانده شده رنگ
کد ساده ای که من استفاده کردم در GitHub است ، اگرچه قبلاً کلمات کلیدی و رنگهای بیشتری را اضافه کرده ام! من آن را در خارج از کیس با استفاده از بلندگوی باتری آزمایش کردم - در مورد تنظیمات صوتی بعداً بیشتر. آخرین مرحله تنظیم اسکریپت پایتون ، radiot.py ، برای راه اندازی هنگام راه اندازی بود.
مرحله 3: مرکز اطلاع رسانی
اکنون که Pi به طور قابل اعتماد پیام ها را می خواند و رنگ های متفاوتی می درخشد ، من نیاز به تنظیم اعلان ها داشتم تا به صورت خود به خود وارد شوند - به یاد دارم در یک کارتون قدیمی تام و جری رادیو گاهی اوقات به صدا در می آمد (خاطرات جری (1949) - همان دوره رادیو!) و این همان اثری بود که من دنبالش بودم ، این بود که گوشه ای می نشست و زیبا به نظر می رسید ، گاهی اوقات روشن می شد و اعلان هایی را می خواند که در غیر اینصورت تلفن خود را بر نمی داشتم.
ابتدا یک حساب Gmail جداگانه برای دریافت ایمیل های اعلان راه اندازی کردم - این بدان معناست که من با اعلان های ایمیل جدید بمباران نخواهم شد یا صندوق ورودی موجود خود را با صدها پیام خودکار ایجاد نمی کنم.
سپس برای تنظیم اتوماسیون به IFTTT (IF This Then That) مراجعه کردم. با استفاده از IFTTT می توانید به راحتی چندین "کانال" را به حساب خود متصل کرده و آنها را با استفاده از "دستور العمل ها" در تعامل با یکدیگر تنظیم کنید ، در این حالت چندین رسانه اجتماعی و اقدامات واقعی را به جریان ایمیل ها تبدیل می کند. من قسمت "سپس آن" دستور العمل ها را سفارشی کردم تا همه آنها به حساب Gmail ای که برای اعلان ها ایجاد کرده بودم ایمیل ارسال کنند و از بخش "مواد تشکیل دهنده" برای اطمینان از اینکه اطلاعات کلیدی در موضوع ایمیل قرار می گیرد استفاده کردم. ، قسمتی که خوانده می شود. در حال حاضر دستور العمل های IFTTT زیر را تنظیم کرده ام ، اما این دستورها همیشه اضافه می شوند!
- هر روز ساعت 9 شب هوای فردا را از طریق ایمیل ارسال کنید
- هر روز در غروب تاریخ و زمان را از طریق ایمیل ارسال کنید
- اگر در عکس فیس بوک برچسب خورده ام ، یک ایمیل بفرستید
- اگر تلفن من وصل شده است/باتری را جدا کنید درصد باتری را از طریق ایمیل ارسال کنید
- اگر وارد منطقه جغرافیایی شوم ، ایمیلی ارسال کنید "MisterM در محل کار رسیده است!"
- اگر ویدئوی YouTube را بارگذاری کنم ، یک ایمیل ارسال کنید
- اگر شخص خاصی توییت می کند ، آن را از طریق ایمیل ارسال کنید
- اگر یک رویداد تقویم گوگل شروع به ارسال آن از طریق ایمیل کرد
- اگر آب و هوا در حال تغییر به باران است ، یک ایمیل ارسال کنید ("مراقب باشید ، باران شروع می شود!"
- اگر سوکت هوشمند روشن یا خاموش است یک ایمیل ارسال کنید
- در صورت دریافت پیامک جدید ، آن را از طریق ایمیل ارسال کنید
- اگر باتری تلفن به زیر 15 درصد برسد یک ایمیل ارسال کنید ("تلفن خود را شارژ کن احمق")
- اگر دنبال کننده جدیدی در توییتر داشته باشم یا نامه ای ارسال کنم
این ترکیبی عالی از رویدادهای روزانه قابل پیش بینی و اطلاعیه های غیرمنتظره است - مورد علاقه من اعلان غروب است ، در این زمان از سال جالب است که ببینم چگونه زمان آن روزانه تغییر می کند. اعلان های توییتر سرگرم کننده ترین هستند ، در حال حاضر توییت های جدیدی از "Beef & Dairy Network" ، "Very British Problems" ، "My Sweary Cat" و "Henry Thoreau" خوانده می شود (هر چند برخی از آنها در برنامه IFTTT در شرکت مودب). توانایی خواندن حساب های خاص توییتر آن را واقعا انعطاف پذیر می کند ، و می توان آنها را از طریق IFTTT سفارشی کرد نه اینکه هر بار Pi را دوباره برنامه ریزی کرد.
مرحله 4: گزینه های صوتی
بعد من نیاز به مرتب کردن صدا ، با دو چالش! ابتدا چگونه صدا را از Pi خارج کنیم. بر خلاف خواهر بزرگتر خود ، Pi Zero خروجی صدا 3.5 میلی متری ندارد ، بنابراین من نیاز به استفاده از یک نوع آداپتور داشتم. در ابتدا فکر می کردم از کانکتور HDMI به VGA + Audio استفاده کنم ، اما این بیش از حد به نظر می رسید (و برای پروژه دیگری به آن نیاز داشتم!) ، بنابراین از یک آداپتور صوتی USB ارزان استفاده کردم. راه اندازی این دستگاه بسیار آسان بود ، فقط یک مورد برای تنظیم کارت صدا USB به عنوان دستگاه پیش فرض ALSA در Pi. این بدان معناست که من باید یک هاب USB برای قرار دادن آداپتور وای فای در آن قرار دهم ، اما من موفق شدم یک دستگاه قدیمی را که در اطرافش قرار داشت برچیده و دوباره استفاده کنم.
در مرحله دوم ، من باید یک آمپلی فایر/بلندگو را انتخاب کنم که صدایی با کیفیت خوب ارائه دهد و به طور مداوم روشن شود. من قبلاً از بلندگوهای مجهز به باتری استفاده کرده ام ، اما نیاز به شارژ معمولی برای استفاده "همیشه روشن" مناسب نخواهد بود ، همچنین اغلب آنها صدای خش خش قابل توجهی در پس زمینه دارند. من قبلاً اسکله های قدیمی آی پاد را همخوار کرده ام ، اما این ویژگی ها دارای ویژگی های "صرفه جویی در قدرت" بودند و پس از چند دقیقه سکوت خاموش شدند.
در پایان با چیز جدیدی همراه شدم ، یک جفت بلندگوی رایانه ای با قیمت مناسب 6.99 پوند. من انتظار زیادی نداشتم اما کیفیت صدا کاملاً خوب بود ، بدون هیچ صدای خش خش یا مهلت زمانی. امتیاز اضافی بلندگوهای رایانه شخصی این بود که شامل یک کلید روشن/خاموش و شماره گیری صدا بود ، که امیدوارم بتواند به کنترل های اصلی رادیو متصل شود. همه چیز روی نیمکت کار می کرد ، بنابراین اکنون وقت آن رسیده است که آن را در کیس جا دهید!
مرحله 5: اتصالات یکپارچهسازی با سیستمعامل
وقتی برای اولین بار رادیو را به خانه آوردم مدارهای اصلی را که به معنای واقعی کلمه نان تست بود حذف کردم. من تحت تأثیر ساختار اولیه قرار گرفتم ، بدیهی است که به آسانی برچیده شده و ثابت می شود ، زیرا پس از بازکردن چند پیچ ، کل مجموعه روی یک شاسی کشیده شد. من تصمیم گرفتم از همین رویکرد استفاده کنم و اجزای جدید را روی پایه ای قرار دهم که بعداً می تواند به داخل قاب بچرخد و مانند نسخه اصلی محکم شود.
من با یک قفسه چوبی نازک از یک قفسه DVD قدیمی شروع کردم ، آن را به اندازه برش دادم و سوراخ هایی برای پیچ و مهره های موردی ایجاد کردم. بعد بلندگوها را برچیدم ، بدنه پلاستیکی را با اره برقی و ابزار گردان برش دادم. بلندگوهای باریک اکنون با پایه 90 درجه ساخته شده از مکنو روی پایه چوبی ثابت شده اند. مدار تقویت کننده بعدی بود - متأسفانه به دلیل محدودیت فضا ، این دستگاه باید وارونه نصب شود و حدود یک اینچ بالاتر از پایه قرار گیرد. من مجبور شدم نوعی ستون را برای پشتیبانی و ایمن سازی تخته ایجاد کنم ، اما با نحوه انجام این کار به طور دقیق گیر کردم. راه حل ایده آل درست زیر بینی من بود - یک مداد رنگی! من قسمت های مداد را به اندازه برش دادم ، سپس آنها را در سوراخ هایی که در پایه ایجاد شده اند نصب کردم. بهترین کار در مورد استفاده از یک مداد رنگی این است که "سرب" در مرکز را می توان به راحتی حفر کرد و یک سوراخ مناسب برای پیچ های مدار ایجاد کرد.
من از ترکیبی از قطعات مکنو و لگو برای ساخت یک براکت برای حمایت از خود Pi استفاده کردم و سیم های سرگردان را با بندهای کابل مرتب کردم. کلیدهای تنظیم صدا و روشن/خاموش روی برد بلندگو نسبت به سوراخ های قاب رادیو (شما نمی توانید همه چیز را داشته باشید) از هم فاصله بیشتری داشتند ، بنابراین آنها را با استفاده از بخش هایی از یک چوب بالن پلاستیکی توخالی گسترش دادم.
مرحله 6: کار موردی
همانطور که قبلاً اشاره کردم ، مورد رادیو در وضعیت وحشتناکی قرار داشت ، بنابراین من بدترین حفره ها و ترک ها را با استفاده از پلی فایلا وصله کردم و آن را در همه جا سنباده زدم. تصمیم گرفتم با رنگ کرم خوب برای رنگ بچسبم تا با رنگ قهوه ای صفحه تنظیم هماهنگ شود. این رنگ ادعا می شد که "آغازگر و رنگ در یک" است ، اما من ابتدا چند لایه آغازگر به آن دادم تا در طرف امن باشد. دستگیره ها کمی تمیز می شوند (60+ سال چربی!) اما خوب بیرون می آیند - من فقط دکمه تنظیم کننده اصلی کرم را با پیچ و مهره روی صفحه خود محکم کردم ، زیرا به هیچ یک از اجزا متصل نبود.
بعد از اینکه رنگ سفت شد ، وقت آن رسیده بود که همه چیز را با هم ترکیب کنم - به طور معمول بخشی از پروژه که صبر من را بیشتر آزمایش می کند! این بار این کار بسیار روان انجام شد ، زیرا تمام ساخت و سازهای دشوار قبلاً روی پایه انجام شده بود ، تنها کاری که باید انجام می دادم این بود که مجموعه را به داخل قاب بکشید ، با پیچ و مهره ها محکم کرده و دستگیره ها را بچسبانید.
پشت جلوی رادیو گم شده بود ، بنابراین من یک قاب جدید از یک قاب عکس قدیمی تهیه کردم و آن را با همان رنگ کرم رنگ آمیزی کردم.
مرحله 7: رادیو تایمز
ساخت این پروژه واقعاً سرگرم کننده بود ، خوب بود که همه چیز را نسبتاً ساده نگه داشت و تا آنجا که ممکن بود بر تمرکز آن تمرکز کرد. بعضی اوقات وسوسه می شدم برای ادغام Alexa میکروفون اضافه کنم ، و حتی به طور جدی به ساختن یک Chromecast Audio (برای پادکست های جدید مورد علاقه خود به سبک رادیوی قدیمی) فکر می کردم ، اما خوشحالم که آن را ساده و ساده نگه داشتم. من از نتیجه هیجان زده هستم.
در حال حاضر بر روی یک بلندگو در گوشه اتاق نشیمن نصب شده است ، روشن می شود و گهگاه همانطور که امیدوار بودم صحبت می کند. تنها نکته منفی این است که صفحه شفاف کرم و قهوه ای نشان دادن طیف رنگی درخشان Blinkt را دشوار می کند! برای اعلان های غروب آفتاب (نارنجی) و پیام های متنی (بنفش) کاملاً واضح است ، اما آب و هوا کمی شبیه است - من فکر می کنم فقط باید کد های رنگی RGB مختلف را آزمایش کنم!
اگر از این پروژه خوشتان می آید و می خواهید بیشتر ببینید ، می توانید از وب سایت من برای به روزرسانی پروژه در حال پیشرفت در bit.ly/OldTechNewSpec دیدن کنید ، در توییترOldTechNewSpec بپیوندید یا در کانال رو به رشد YouTube در bit.ly/oldtechtube مشترک شوید - بده برخی از فناوری های قدیمی شما یک مشخصات جدید!
جایزه دوم در مسابقه سازندگان اینترنت اشیا
توصیه شده:
آگاه باشید از ATLAS - STAR WARS - Death Star II: 7 Step (همراه با تصاویر)
از ATLAS آگاه باشید - STAR WARS - Death Star II: Build from Bandai Death Star II مدل پلاستیکی. ویژگی های اصلی عبارتند از: ستاره مرگ
"High-Fivey" Cardboard Micro: bit Robot: 18 Step (همراه با تصاویر)
"High-Fivey" Cardboard Micro: bit Robot: در خانه گیر کرده اید اما هنوز به پنج نفر نیاز دارید؟ ما یک ربات کوچک دوستانه با مقوا و میکرو ساخته ایم: بیت به همراه تخته مدار Crazy Circuits و تنها چیزی که او از شما می خواهد یک پنج نفره بالا است تا عشق او را به شما زنده نگه دارد. اگر دوست دارید
کنسول بازی دستی DIY Raspberry Pi Zero: 6 Step (همراه با تصاویر)
کنسول بازی دستی DIY Raspberry Pi Zero: در این پروژه به شما نشان خواهم داد که چگونه از Raspberry Pi Zero ، باتری های NiMH ، مدار محافظ بیش از حد تخلیه خانگی ، LCD عقب و آمپلی فایر برای ایجاد یک کنسول بازی دستی که می تواند استفاده کند استفاده کردم. بازی های یکپارچهسازی با سیستمعامل بیایید شروع کنیم
باربارا: دوربین هوش مصنوعی Talking: 4 مرحله (همراه با تصاویر)
باربارا: دوربین هوش مصنوعی Talking: هوش مصنوعی آخرین کلمه کلیدی است ، این پروژه تقریباً بی فایده است. پس از یافتن یک API منظم که تصاویر و دوربین قدیمی را ضبط می کند ، اهداف تعیین می شوند: دوربینی که آنچه را که می بیند ثبت کند
Talking Baymax Display for a مطب متخصص اطفال: 10 مرحله (همراه با تصاویر)
صحبت کردن در مورد Baymax برای مطب متخصص اطفال: "سلام. من بایکس هستم ، همراه شخصی شما در مراقبت های بهداشتی. " در مطب اطفال محلی من ، آنها استراتژی جالبی را اتخاذ کرده اند تا محیط پزشکی را برای کودکان استرس زا و سرگرم کننده تر کنند. آنها الکترونیکی را پر کرده اند