مانیتور صنعتی - Raspberry Pi Monitor (سیاه) نزدیک از یک تخته مدار

نمونه های اولیه HMI

سریع و ارزان

توسعه نرم افزار تعبیه‌شده

راهکارهای حرفه‌ای

نرم‌افزار تعبیه‌شده، نرم‌افزاری رایانه‌ای است که برای کنترل ماشین‌ها یا دستگاه‌هایی نوشته می‌شود که معمولاً به عنوان رایانه در نظر گرفته نمی‌شوند و اغلب به عنوان سیستم‌های تعبیه‌شده شناخته می‌شوند.
ابن نرم‌افزار معمولاً مختص سخت افزار خاصی که روی آن اجرا می‌شود و دارای محدودیت‌های زمان و حافظه است، در نظر گرفته شده است.

نرم افزار جاسازی شده Raspberry Pi - Yocto ساخت Raspberry Pi 4 در یک محیط داکر یک تصویر از یک کامپیوتر

این پروژه مجموعه‌ای انعطاف‌پذیر از ابزارها و فضایی را فراهم می‌کند که در آن توسعه‌دهندگان تعبیه شده در سراسر جهان می‌توانند فناوری‌ها، پشته‌های نرم‌افزاری، پیکربندی‌ها و بهترین روش‌ها را به اشتراک بگذارند، این موارد می‌تواند برای ایجاد تصاویر لینوکس مناسب برای دستگاه‌های تعبیه‌شده و IOT یا هر جایی که به یک سیستم‌عامل لینوکس سفارشی‌شده نیاز است، استفاده شود.

نرم افزار جاسازی شده Raspberry Pi - Yocto Raspberry صفحه نمایش چلپ چلوپ سفارشی با نوار پیشرفت نوار بارگیری سفید با متن سیاه و سفید

به طور معمول، اگر ایمیج لینوکس سفارشی خود را با Yocto برای Raspberry Pi ایجاد کنید، می خواهید یک صفحه اسپلش سفارشی دارای نوار پیشرفت نیز نمایش دهید.

نرم افزار جاسازی شده - Yocto بوت تمشک به برنامه Qt یک تصویر از یک کامپیوتر

در این راهنما اطلاعاتی در مورد نحوه راه اندازی یک پروژه Yocto برای نصب Qt و یک برنامه آزمایشی Qt برای Raspberry Pi 4 و سپس راه اندازی خودکار این برنامه آزمایشی Qt در اختیار شما قرار می دهیم.

نرم افزار جاسازی شده Raspberry Pi - Yocto - Raspberry - PIGPIO - Qt تصویری از یک برنامه کامپیوتری
شامل کتابخانه PIGPIO و زنجیره ابزار Qt

Yocto را برای ایجاد یک لینوکس سفارشی برای رزبری پای 4 با ادغام کتابخانه pigpio، Qt و یک زنجیره ابزار برای کامپایل متقابل پیکربندی کنید.

نرم افزار جاسازی شده - VisionFive - Mender - Yocto یک تصویر از یک کامپیوتر
بخش 1 - راه‌اندازی اولیه محیط Yocto

بخش 1 از مجموعه مقالات، نحوه راه‌اندازی یک محیط Yocto برای ایجاد یک Yocto Linux با ادغام یک کلاینت Mender.

اخیرا مجبور شدم یک برنامه کاربردی (سیستم کیوسک) را برای / در Raspberry Pi 4 توسعه دهم. نکته خاص در مورد ان این بود که 2 مانیتور لمسی باید از طریق HDMI متصل شوند که باید 90 درجه به سمت راست چرخانده شود. بنابراین فرمت های پرتره، 2 مانیتور در بالای یکدیگر.
چرخش صفحه نمایش و تنظیم ان در بالای یکدیگر هیچ مشکلی ایجاد نکرد، زیرا این به راحتی از طریق رابط کاربری امکان پذیر است - "Raspbian Buster با دسکتاپ و نرم افزار توصیه شده" نصب شد.

با توجه به نوشتن مکرر یا بازنویسی داده ها، طول عمر کارت SD تحت تاثیر قرار می گیرد.

به عنوان مثال، توصیه می شود داده های موقت (به عنوان مثال مقادیر سنسور برای محاسبات مقایسه ای) را به یک دیسک RAM برای برنامه هایی که اغلب حاوی داده های موقت (به عنوان مثال مقادیر سنسور برای محاسبات مقایسه ای) هستند که پس از راه اندازی مجدد دیگر مورد نیاز نیست.

شما همچنین می توانید از رابط USB-C Raspberry Pi 4، که معمولا برای تامین برق استفاده می شود، به عنوان یک رابط USB معمولی استفاده کنید.
با این حال، در این مورد، تمشک باید قدرت را از طریق پین های GPIO تامین کند.

نرم افزار جاسازی شده Raspberry Pi - Qt بر روی Raspberry Pi 4 - یک صفحه نمایش کامپیوتر از یک صفحه ابی

Qt اغلب برای توسعه رابط های گرافیکی استفاده می شود. Qt شامل کتابخانه های C ++ برای ایجاد رابط های گرافیکی است که می تواند در سیستم عامل های مختلف کامپایل شود. از آنجایی که این کامپایل به قدرت محاسباتی زیادی نیاز دارد، برای پردازنده‌های دارای قدرت نسبتاً کم توصیه می‌شود که توسعه و کامپایل را روی یک کامپیوتر میزبان انجام دهند و پس از آن برنامه نهایی را روی رایانه مورد نظر بارگذاری کنند. دستورالعمل های آنلاین زیادی برای توسعه یک برنامه Qt برای مدل های Raspberry Pi 3 و Pi 4 وجود دارد.

این یک راهنمای نصب Raspberry Pi OS Lite در Compute Module 4 است. به عنوان یک کامپیوتر کار، من از اوبونتو 20 استفاده می کنم که در یک ماشین مجازی نصب شده است.

این یک راهنمای برای کامپایل متقابل Qt 5.15.2 برای Raspberry Pi 4 و نصب ان در Compute Module 4 است. این به روز رسانی به وبلاگ من Qt در Raspberry Pi 4 است، با این تفاوت که این بار من از Raspberry Pi OS Lite استفاده می کنم.

این یک راهنمای برای پیکربندی Qt-Creator برای استفاده از کتابخانه های Qt کامپایل شده برای Raspberry Pi 4 و ایجاد برنامه های کاربردی برای Raspberry است.

نرم افزار جاسازی شده - Qt Cross Compile اسکریپت های راه اندازی Raspberry Pi 4 - تصویری از یک برنامه کامپیوتری

در این صفحه لینک های دانلود اسکریپت ها برای راه اندازی خودکار کامپایل متقابل در هاست لینوکس و Raspberry Pi 4 و توضیحاتی در مورد نحوه استفاده از آنها ارائه داده‌ایم.

در این وبلاگ، من می خواهم یک برنامه کوچک Qt Quick (qml) را به عنوان نمونه ای از اتصال Modbus از روی TCP / IP ارائه دهم.
در نمونه های Qt، من فقط نمونه های QWidget را برای اتصالات Modbus پیدا کرده ام و پس از ایجاد یک برنامه Qt Quick برای این، می خواهم یک نسخه باریک از ان را به عنوان مثال ارائه دهم.

اگر شما یک برنامه Qt یا هر برنامه دیگری برای Raspberry Pi 4 ایجاد کرده اید، اغلب می خواهید برنامه بلافاصله پس از راه اندازی مجدد Raspberry پس از اتمام برنامه فراخوانی شود.
این اغلب با اسکریپت های شروع می شود که می تواند در مکان های مختلف وارد شود.
با این حال، منطقی تر است که این کار را از طریق systemd انجام دهید .

وظیفه نوشتن یک برنامه Qt Quick (GUI) برای اپلود سیستم عامل جدید به یک کنترل کننده لمسی بود.
نرم افزار اپلود توسط سازنده در یک برنامه .exe ارائه شده است که یک فایل .bin را بر روی کنترلر لمسی بارگذاری می کند.
من می خواستم از کلاس های Qt "QProcess" استفاده کنم که می تواند برای تماس و کنترل برنامه های پوسته استفاده شود. در سمت لینوکس، من قبلا چندین بار با موفقیت از این استفاده کرده بودم - اما در ویندوز در ابتدا کار نمی کرد.

نرم افزار جاسازی شده - تنظیمات مانیتور HDMI تصویری از یک برنامه کامپیوتری
کنترل تنظیمات مانیتور HDMI با ddcutil

دستورالعمل Yocto برای نصب ddcutil و کنترل تنظیمات مانیتور HDMI از طریق I2C.

نرم افزار جاسازی شده - libgpiod یک صفحه زرد با متن سیاه و سفید
گنجاندن libgpiod در Yocto

کتابخانه libgpiod را در Yocto بگنجانید و از آن در سیستم تعبیه‌شده خود استفاده کنید.