یکی از مهمترین موضوعاتی که در بحث سخت افزارهای مبتنی بر میکروکنترلر مطرح می باشد، موضوع به روز رسانی نرم افزار میکروکنترلر (Firmware) می باشد. در حالت عادی، اپراتور یا برنامه نویس می بایست با حضور در کنار دستگاه ها، اقدام به آپدیت آنها نماید. حال اگر تعداد تولید شده سخت افزار انبوه باشد و امکان دسترسی به سخت افزار از بُعد فاصله میسر نباشد! قابلیت به روز رسانی نرم افزار میکروکنترلر از راه دور، اهمیت پیدا خواهد کرد.
در این پروژه به بررسی این موضوع خواهیم پرداخت که چگونه می توان از راه دور (بدون در نظر گرفتن فاصله مکانی)، و با استفاده از ماژول های GPRS (که در این پروژه از SIM800C استفاده شده است)، برنامه میکروکنترلر را آپدیت نمود.
برنامه نویسی این پروژه و کتابخانه های آن به صورتی انجام شده است، که برنامه نویس می تواند با اندکی تغییر در آن، برنامه را متناسب با میکروکنترلر مد نظر خود تغییر دهد (تغییراتی مانند IAP میکرو، پیکربندی پایه های IO، SPI و...)
لازم به ذکر است که این پروژه بخشی از یک پروژه تجاری می باشد که توسط بهنام خطایی طراحی و برنامه نویسی شده است؛ و پیش از این به صورت تجاری به بهره برداری رسیده است.
پروژه پروگرام کردن میکروکنترلر از راه دور، برای اولین بار و توسط آکادمی الکترونیک میکرو ولت، در قالب یک پروژه عرضه شده است.
این محصول در قالب شماتیک مدار (به صورت فایل PDF)، برنامه سی شارپ سمت سرور (به صورت Web Application و در قالب یک Web Form)، برنامه دانلودر میکروکنترلر به زبان C و برنامه بوت لودر میکروکنترلر به زبان C در کامپایلر KEIL و همچنین همراه با 39 صفحه فایل راهنما به زبان فارسی که به توضیح برنامه و توابع آن پرداخته است عرضه می گردد.
همچنین در پکیج محصول یک کلیپ وجود دارد که نحوه کارکرد برنامه را نمایش می دهد.
- مباحث مربوط به رمزنگاری و رمزگشایی داده ها هنگام دانلود و دریافت نسخه جدید Firmware در این پروژه قید نشده است.
فایل های پروژه
1. فایل PDF شماتیک مدار پروژه
2. پروژه سمت سرور به زبان سی شارپ (Web Form)
3. برنامه بوت لودر میکروکنترلر به زبان C تحت KEIL
4. برنامه اصلی میکروکنترلر به زبان C تحت KEIL
مشخصات کلی سخت افزار (شماتیک و نرم افزار)
1. استفاده از میکروکنترلر LPC1768
2. راه اندازی RTOS
3. راه اندازی واحد RTC
4. برقراری ارتباط با ماژول SIM800C
5. منبع تعذیه LM2576-ADJ
6. استفاده از تسک ها و تایمر های سیستم عامل RTOS
7. برقراری ارتباط با حافظه فلش AT45DB161D
8. دارای بوت لودر جهت پروگرام نمودن میکروکنترلر
9. زبان برنامه نویسی C
10. استفاده از دستورات CMSIS
11. قابلیت دانلود Firmware دستگاه از طریق FTP وVerify نمودن آن.
12. قابلیت روشن نمون مجدد ماژول SIM800C.
13. راه اندازی مجدد GPRS در صورت بروز مشکل و یا قطع شدن آن.
شرح عملکرد
برنامه میکروکنترلر در بازه های زمانی 15 ثانیه یک بار، در بستر GPRS و از طریق ماژول SIM800C با سرور ارتباط برقرار نموده داده های مورد نظر خود را به سمت سرور ارسال می نماید. این داده ها متناسب با سخت افزار شما می تواند متغیر باشد. به عنوان مثال در یک پروژه اطلاعات چند سنسور خوانده شده و به سمت سرور ارسال خواهد شد.
میکروکنترلر پس از دریافت اطلاعات مربوط به نسخه جدید برنامه، با FTP ارتباط برقرار نموده و درخواست دانلود فایل Firmware را صادر و اقدام به دانلود آن می نماید. پس از دانلود نسخه جدید، میکرو یکبار برنامه دانلود شده را چک نموده و آن را با دانلود مجدد Verify می نماید تا از نظر سالم بودن داده های دانلود شده مطمئن شود. پس از دانلود و اطمینان از صحت داده های دریافت شده، میکروکنترلر با برنامه جدید شروع به کار خواهد کرد.
پس از سفارش محصول، لینک دانلود در پنل کاربری، قسمت جزئیات سفارش فعال خواهد شد.
تصویر حافظه استفاده شده در برنامه بوت لودر
برنامه اصلی (دانلودر) بخشی از پروژه اصلی شما می باشد و اندازه حافظه استفاده شده میکروکنترلر، وابسته به پروژه شما متغیر می باشد.
نسخه فعلی برنامه میکروکنترلر Firmware
برنامه در حال دانلود نسخه جدید Firmware از سرور
نسخه جدید برنامه میکروکنترلر Firmware