امبدد گیک|Embedded Geek
915 subscribers
466 photos
259 videos
539 files
430 links
Download Telegram
اگر به توسعه یک سیستم عامل امبدد علاقه دارید این ریپو میاد یک سیستم عامل به نام monolithic رو به زبان rust توی ۲۰ مرحله با سورس کد روی رزبری پای توسعه میده.از محتوایی که داره توسعه کرنل سیستم عامل ،ایجاد تسک،ستاپ virtual memory و هندل کردن HW exception هستش.سورس هر مرحله یک باینری غیروابسته بوتیبل هستش و هرمرحله کد مرحله قبلی رو کامل میکنه.این کد ها میشه روی رزبری ۳ و ۴ میتونه اجرا بشه.میتونید هم کدای ۱ تا ۵ اش رو روی Qemu شبیه سازی کنید.

@Embedded_geek
یه پروژه استک usb‌ هست به نام Tinyusb که رایگان و اوپن سورس هستش و توسط Adafruit توسعه داده شده طبق شکل که میبنید بین لایه سخت افزاری و لایه اپلیکیشن قرار داره و دارای ویژگی های memory dafety ,thread safe هست و میتونه با بیش از ۵۰ خانواده میکرو ها استفاده بشه.تمام بافرهاش استاتیک هستند و از CDC, HID, MSC, Audio, and Host پیشتیانی میکنه و همچنین rtos friendly هستش و میتونه با rtos های FreeRTOS, RT-Thread و حتی برمتال استفاده بشه.

@Embedded_geek
خیلی دوست داشتم یه اکتنشنی برای vscode باشه که توسعه HDL رو کنار ISE suit انجام بده.این برنامه با ویندوز ۱۱ سازگار نیستش و هنگ میکنه بعضی وقتا و کلا قابلیتای جدید مثل اتو کامپلیت و فرمت کد رو ندیدم داشته باشه.اومدم از یک اکتنشنی به نام V4P - VHDL for Professionals اون فرمت کد و اتو کامپلیت رو داره ولی خوب شما دیگه شبیه سازی و سنتر نمیتونید انجام بدید یه اکتنشنی هم هست به نام Digital IDE که هم وریلاگ و هم vhdl ساپورت میکنه و شماتیک و شبیه سازی رو هم نمایش میده ولی خوب نیاز به vivado داره.

@Embedded_geek
تگزاس اینسترومنت یه نرم افزار شبیه سازی مدار الکتریکی مبتنی بر spice داره به نام TINA-TI که میتونید تحلیل های DC,Transient,Frequecny domain روی مداری که میکشید انجام بدید.شما همین الان مثلا برید روی صفحه محصولات ti مثل رگولاتوراش مثلا مدل TPS61088 توی بخش Design tool and simulation مدل اسپایسش رو داده که بتونید شبیه سازیش کنید.

@Embedded_geek
مجموعه درایور های LCD برای میکروی STM32 که از st7735, st7783, ili9325, ili9328, ili9341, ili9486, ili9488, hx8347g پشتیبانی میکنه.ارتباطش میتونه هم spi سخت افزاری باشه و هم نرم افزاری و از dma هم پشتیبانی میکنه.از ارتباط موازی ۸ بیت و ۱۶ بیت هم پشتیبانی میکنه.توی بعضی درایوراش تاچ مقاومتی هم داره و fsmc یا fsmc +dma رو هم داره.همراه خودش هم مثال و ویدیو یوتیوب و مراحل راه اندازی داره.

@Embedded_geek
یه پروژه باحالی هست به نام Magsproof که درواقع میاد یه جورایی کارت خوان هارو دور میزنه و عملکرد کارت های مغناطیسی رو تقلید میکنه یعنی در واقع اون سیگنال الکترومغناظیسی رو شبیه سازی میکنه تا یکسری اطلاعات به اون دستگاه کارتخوان بده.طرز کارش هم به این صورت هست که یه کویل داره و با استفاده از یک h-bridge یه میدان متغییر مغناطیسی ایجاد میکنه.این دقیقا شبیه این هست که ما نوار ثابت مغناطیسی یه کارت بانکی رو رد میکنیم با این تفاوت که لازم نیست دیگه کویل رو حرکت بدیم.
یه ویدیوی یوتیوبم داره که طرز عملکردش رو میگه.

@Embedded_geek
اگر دوست دارید با rust برای stm32 کد بزنید این ریپو اومده یکسری کتابخونه HAL برای بعضی پریفرال ها مثل i2c,rcc,dma,spi,timer و.. رو به زبان rust پیاده سازی کرده و مثالای مختلفی رو براش گذاشته.البته این کدها برای میکروی stm32f1xx کار میکنند.

@Embedded_geek
یه کتابخونه ای هست به نام deepC که درواقع پیاده سازی یک کتابخونه دیپ لرنینگ برای بدون وابستگی به سخت افزار خاصی هستش و طبق ادعاش میتونه توی میکروکنترلرها،دستگاه های iot و ادج دیوایس های استفاده بشه.هدف این کتابخونه این هست که بتونه شبکه های عصبی یادگیری عمیق رو بشه توی فضای کم اجرا بشه وچندین مقاله به این کتابخونه citaion رد کردند.

@Embedded_geek
#پیام_ناشناس

سلام شبتون بخیر باشه.
ببخشید اگه امکانش هست چندین دوره در مورد طراحی برد های نظامی و صنعتی داخل کانال تون قرار بدین. سپاسگزارم
امبدد گیک|Embedded Geek
#پیام_ناشناس ‌ سلام شبتون بخیر باشه. ببخشید اگه امکانش هست چندین دوره در مورد طراحی برد های نظامی و صنعتی داخل کانال تون قرار بدین. سپاسگزارم
سلام برای برد های صنعتی همین آموزش های طراحی Pcb که تو کانال زیاد گذاشتم مشاهده کنید
هشتگ #pcb رو سرچ کنید و#EMI# EMC محتوا و دایکومنت زیاد هست
برای نظامی هم چیزی نیستش آمورشی براش باشه یا اگر هست پابلیک نیست
ولی برد های گرید نظامی هستند تو اینترنت
#پیام_ناشناس

سلام وقتتون بخیر باشه. بی زحمت اگه یک کتابخونه جامع و خوب برای نرم افزار آلتیوم دیزاینر‌ از داخل گیت هاب پیدا کردین داخل کانال تون قرار بدین. ممنونم
امبدد گیک|Embedded Geek
#پیام_ناشناس ‌ سلام وقتتون بخیر باشه. بی زحمت اگه یک کتابخونه جامع و خوب برای نرم افزار آلتیوم دیزاینر‌ از داخل گیت هاب پیدا کردین داخل کانال تون قرار بدین. ممنونم
سلام کتابخونه مهندس بورقانی و کتابخونه Celestial هستند که میگذارمشون.برای باقی قطعات که تو این کتابخونه های نیستند از Snapeda و UltraLibrarian میتونید دانلود کنید.اگر بازهم نبود طراحی فوتپرینت اونقدر سخت نیستش خود فوترپینت طبق استاندارد های معروف شبیه هم هستند و شما کافیه شماتیک و پین هاش رو طراحی کنید که کار سختی نیست در کل.
یه ریپویی شرکت ST داره به نام STM32 model zoo که در واقع اومده مجموعه مدل های ماشین لرنینگ رو جمع آوری کرده که بهینه شدند که روی میکرو های stm32 اجرا بشن.یه سری اسکریپپت نوشته شده که بتونید دوباره ترینشون کنید و بنچمارکشون رو ببنید.از هسته Cube.AI هم پشتیابی میکنه.اکثرا روی میکروی h7 و میکروپروسسر هاش و سری N شرکت ST اجرا میشن.تنها موردی که میشه با میکروی کم قدرت تر مثل f4 انجام داد Hand Posture Recognition هست .مواردی که میتونید به طور کلی باهاش پیاده کنید:
Image Classification
Object Detection
Pose Estimation
Semantic Segmentation
Instance Segmentation
Depth Estimation
Neural Style Transfer
و..
@Embedded_geek
یه نرم افزار یا فرمور کنترلر پروازی هست به نام EmuFlight که میتونید یک UAV مولتی روتور رو باهاش کنترل کنید که ویژگی های زیادی داره:
Per-Axis Lowpass filters
Feathered PIDs
Error-based Boosts for P, I, & D. (EmuBoost/DBoost)
i-Decay
Throttle Point Attenuation (TPA) for P, I, & D
Stick Point Attenuation (SPA)
Advanced Dynamic Gyro & D-Term Filters
Smith-Predictor on Gyro
Optional ABG Filters for Gyro and DTerm
PT(n) for LPF and RC-Smoothing
Rate-Dynamics (Stick-feel modifier)
Angle-mode 2.0
Dual Axis Steering
NFE racer mode
Fixed yaw PIDsum limit
LPF filter for voltage and current
Motor output limit
Motor output smoothing
Thrust linearization
Axis Lock


@Embedded_geek
بریم یکم درمورد هوش مصنوعی صحبت کنیم.یکی از مباحث مهم در استفاده از هوش مصنوعی دستور دادن یا prompting‌ هستش که میخوام مرتبط با امبدد دربارش صحبت کنم.به چند سوال اول پاسح بدیم:
پرامپتینگ چی هست؟
پرامپت دادن یک تمرین ایجاد دستورات واضح،مشخص برای راهنمایی هوش مصنوعی هست تا جواب های مفید،دقیق و مرتبط بده.
چرا پرامپت دادن توی امبدد سیستم اهمیت داره؟
مثلا شما یه پرامپت بدید که یه کد سی برای یه سنسور بنویس که خیلی مبهم هست و اصلا جواب خوبی نمیگیرید.
چگونه پرامپت درست بنویسیم؟
برای این کار شما باید با کلیت اون سخت افزار و نرم افزار آشنا باشید مثلا زبان،فریمورک مد نظر،ملاحظات زمانی ،rtos یا برمتال و...

بریم چند مثال از پرامپت درست نوشتن ببنیم:
یه مثال ساده از پرامپت.
Explain how I2C works in embedded systems and show a basic C function to read from an I2C temperature sensor on an STM32 using HAL.

توی این پرامپت مثلا میکرو ذکر شده،فریمورک و زبان ونوع دیتا ذکر شده.یعنی از سخت افزار تا نرم افزار ملاحظاتش ذکر شده.اما میتونست بهترم باشه.

بریم یه پرامپت پیچیده تر با ملاحظه rtos و دیباگ اون ببنیم:
"I’m using an ESP32 with FreeRTOS. I need a task that reads data from a BME280 sensor over I2C every 5 seconds and sends it via Wi-Fi to an MQTT broker. Use Arduino framework. Include error handling for I2C timeouts."


یه پرامپت پیشرفته تر شامل ذکر خطا ها و موارد زمانی و ابزار برنامه نویسی:
"My STM32F407 application uses FreeRTOS and must read 4 ADC channels at 1 kHz using DMA. The system occasionally crashes with a HardFault. Help me debug by analyzing possible stack overflow, DMA buffer overruns, or interrupt priority issues. Suggest how to use STM32CubeIDE debugger to isolate the fault."


@Embedded_geek
اگر پروژه iot دارید و مجبور هستید با کلاینت یه رینجی از دیتاهای متنوع رو جابه‌جا کنید بهتون CJSON رو پیشنهاد میده. در واقع این یک پارسر json بهینه شده برای زبان سی هستش که شما خیلی راحت می‌تونید با اون آبجکت ها و استراکچر خودتون رو به صورت Json آماده کنید و برای کلاینت خودتون بفرستید.البته راحل جایگزین دیگش این هست که خودتون بیاید یه سیستم فرمتینگ رشته با توابع سی پیاده سازی کنید اما این خودش همه چی رو یه جا داره اما یه چندتا عیب داره یکی اینکه اگر دیتای double میخواید توش ذخیره کنید پشتیبانی نمیکنه همچنین از '\0' یا نال هم پشتیبانی نمیکنه!!

@Embedded_geek