برنامه نویسی

13 یو “برنامه نویسی Vibe” در Raspberry Pi و Arduino

والنتین ، پسرم ، به همه فن آوری بسیار علاقه مند است. او دوست دارد ساخت و با فناوری بازی کند. او حتی پادکست را راه اندازی کرده است ، زیرا نتوانست یکی از نوجوانان علاقمند به فناوری را پیدا کند.
هفته گذشته ، او از مدرسه بسیار هیجان زده شد. او یک کلاس فناوری داشت که در آنجا با Arduino در Tinkercad آزمایش کردند. او با آن سرگرم کننده بود ، اگرچه آنها در حال سیم کشی دستگاه های مجازی در کلاس بودند. بنابراین ایده او این بود که ما در آخر هفته به عنوان یک فعالیت پدر و پسر در کنار هم جمع می شویم. من هرگز از Arduino استفاده نکرده بودم ، و به نظر می رسید یک ایده عالی برای یادگیری چند چیز با هم است.

شروع کار: لیست خرید ما

ما برای خرید چند مورد به آمازون رفتیم:

و روز بعد ، ما آماده شروع به ساخت و ساز بودیم. در ضمن ، من یاد گرفتم که شما Arduino را در C ++ کد می کنید. من مدتی این کار را نکردم ، ما به کمک نیاز داریم.

والنتین برای مدتی از Chatgpt ، Claude Anthropic و حتی LeChat میسترال استفاده کرده است. هوش مصنوعی بخشی از جعبه ابزار اوست و او مشتاق یادگیری ابزار جدید است. به طور تصادفی ، AWS در همان هفته توسعه دهنده Amazon Q CLI را منتشر کرد. استفاده از آن رایگان است و قابلیت های عامل را ارائه می دهد که برای تست والنتین جالب است. در واقع ، به جای کپی/چسباندن کد بین ابزار AI و ویرایشگر کد ، Q در CLI می تواند پرونده ها را مستقیماً اصلاح کند و اقدامات بیشتری را برای حل مشکلات انجام دهد. علاوه بر این ، من می خواستم والنتین برخی از اصول اولیه دستورات لینوکس را بیاموزد ، بنابراین حضور در ترمینال یک فرصت خوب خواهد بود.

تنظیم محیط توسعه ما

بنیاد تمشک پی

من طرفدار Raspberry Pi هستم و یک زن و شوهر از آنها را دارم. این یک دستگاه ارزان قیمت است و دارای یک “Tinker Vibe” خوب است که به آن وصل شده است. Imager Raspberry Pi باعث می شود که صحنه و پیکربندی بسیار آسان شود. ما با آن رفتیم و آخرین نسخه Raspberry OS 64 بیت را بر روی دستگاه 4B که قبلاً داشتم نصب کردیم.

اجرای دستورات لینوکس در ترمینال

نصب آمازون Q در CLI

پس از آماده شدن ، ما سعی کردیم Q CLI را به دنبال مستندات رسمی نصب کنیم. ما نتوانستیم آن را با بایگانی زیپ و نه بسته .deb کار کنیم (به نظر می رسد در زمان نوشتن فقط در معماری های AMD64 پشتیبانی می شود). ما با .Appimage موفق نبودیم. با کمی پایین تر حرکت ، بخش “جایگزین لینوکس” را پیدا کردیم ، بایگانی ARM64 را بارگیری کردیم و آن را از بین بردیم.

wget https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-aarch64-linux-musl.zip
unzip q-aarch64-linux-musl.zip
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این پوشه ای به نام “Q” ایجاد کرد. نصب و پیکربندی را شروع کردیم. شما دو گزینه برای ورود به سیستم Amazon Q: یک حساب رایگان با AWS BuilderID یا اشتراک پرداخت شده (برای اطلاعات بیشتر ، صفحه قیمت گذاری را بررسی کنید). ما با ردیف رایگان رفتیم. این صفحه در مرورگر باز شد و ما برای ایجاد یک حساب سازنده رایگان ، روند کار را دنبال می کنیم.

نصب Q در CLI

q اکنون با تایپ Q در CLI کار می کرد. در واقع ، q chat عامل را شروع می کند.

شروع q

به دلایلی ، نصب به درستی انجام نشده است ، q doctor برخی از خطاها را نشان می دهد. اما چت کار کرد ، و ما می توانستیم روی پروژه خود کار کنیم.

اولین تلاش با آردوینو IDE

جلوتر رفتیم و Arduino IDE را نصب کردیم. متأسفانه ، فقط نسخه 1.x در دستگاه های بازو مانند PI موجود است. ما آن را امتحان کردیم و اولین پروژه را شروع کردیم. ما صفحه را در قسمت های لمسی تقسیم کردیم: یکی برای IDE و دیگری برای Q CLI. والنتین به لطف یاور کوچک خود به سرعت توانست کد هایی را برای نوشتن نامه با استفاده از کد مورس با دکمه ها تولید کند.

با این حال ، این تجربه عالی نبود. Arduino v1.8.19 کند ، کمی ناپایدار بود و کتابخانه های مرور فقط یک کابوس بود. تغییرات ایجاد شده توسط Q در IDE نشان نمی دهد ، بنابراین والنتین مجبور است پرونده را در IDE بارگیری کند. ما سعی کردیم “استفاده از ویرایشگر خارجی” را در تنظیمات Arduino IDE انتخاب کنیم ، هنوز هم عالی نیست.

از ویرایشگر خارجی استفاده کنید

تراز کردن: VS Code و PlatformIO

ما در جستجوی IDE های دیگری که استفاده از آنها ساده است ، اجازه واردات آسان کتابخانه های Arduino را می دهد و کد را در صفحه بارگذاری می کنیم. من چیزی از ویرایشگر اتم را می خواستم ، اما در Raspberry Pi (و اکنون کاهش یافته است) پشتیبانی نمی شود. ما دریافتیم که PlatformiO می تواند گزینه ای باشد. این افزونه در VScode است که می تواند بسیاری از تخته ها را مدیریت کند. ما جلوتر رفتیم ، VScode را نصب کردیم ، سپس پسوند PlatformiO. ما یک ترمینال را در VScode با Q Chat و Voila باز کردیم! والنتین سرانجام می تواند با یک راه حل با ثبات تر به بازی خود ادامه دهد. او یک روش ساده برای کدگذاری ، کامپایل و فشار کد روی Arduino داشت.

تنظیم VSCode

در حقیقت ، یک تغییر کوچک وجود داشت که به عنوان PlatformiO کد را متفاوت سازماندهی کرد و Q برای کمک به این وضعیت به نجات رسید.

مشکل تدوین کد ثابت شده توسط q

مقدار “برنامه نویسی Tinker”

به والنتین اجازه دادم آزمایش خود را ادامه دهد و یک ساعت بعد برگشت. او افتخار می کرد که به من نشان داد که چه چیزی به دست آمده است.
برخی ممکن است تعجب کنند که آیا این یک چیز خوب است که یک کودک را با عنوان “برنامه نویسی” با هوش مصنوعی ترک کنید. همانطور که مشاهده کردم ولنتاین با استفاده از Q در CLI ، احساس اطمینان می کنم که این یک فرصت واقعی برای یادگیری او و غلبه بر برخی از ناامیدی ها است. در حقیقت ، 30 سال پیش با من فرق نمی کند ، کپی کردن صفحات طولانی کد از کتاب ها و مجلات. در آن زمان ، من واقعاً کد یا آنچه را که انجام می دادم درک نکردم. هنگامی که کار می کرد ، من کد را اصلاح می کردم ، چند مورد را در اینجا و آنجا تغییر می دادم. اینگونه است که اصول اولیه را یاد گرفتم. والنتین دقیقاً همین کار را کرد. او فقط به ابزار AI اعتماد نکرد تا وسایل را برای او کدگذاری کند ، او بازی کرد. او کد را اصلاح کرد ، چند خطا دریافت کرد ، به جستجوی پاسخ پرداخت. از طریق این تجربه ، او چند دستور لینوکس و برخی C ++ را آموخت. مهمتر از همه ، او سرگرم کننده بود ، فوق العاده متمرکز بود و یک پروژه کاری دریافت کرد. این همان چیزی است که من آن را “برنامه نویسی Tinker” می نامم.

https://www.youtube.com/watch؟v=8yrwz6z5xsi

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا