پروژههای پیشرفته BLE: OTA، Mesh، Long Range و پروتکل اختصاصی
DFU و OTA امن، BLE Mesh، Long Range، Streaming، پروتکل اختصاصی روی GATT و چند اتصال را با نگاه معماری بررسی کنید.
فهرست مطالب

در پروژه پیشرفته، هر قابلیت باید در برابر قطع برق، افت لینک، نسخه قدیمی، حمله و کمبود حافظه مقاوم باشد. نمونه آزمایشگاهی موفق هنوز محصول قابل انتشار نیست؛ مسیر Recovery و مشاهدهپذیری بخشی از طراحی است.
DFU و OTA
Firmware باید امضا و نسخه آن بررسی شود. داده در قطعهها منتقل، صحت هر بخش کنترل و تصویر در پارتیشن غیرفعال نوشته میشود. Bootloader فقط تصویر معتبر را فعال کند و در شکست راه بازگشت داشته باشد. قطع ارتباط در 90 درصد نباید دستگاه را بلااستفاده کند.
Mesh و Long Range
BLE Mesh روی Advertising و مدل Publish/Subscribe شبکه چندگرهی میسازد و با اتصال عادی GATT یکی نیست. LE Coded PHY برد لینک نقطهبهنقطه را در شرایط مناسب افزایش میدهد. Mesh، Relay و برد زیاد هزینه زمان روی هوا و انرژی دارند و باید با توپولوژی واقعی تست شوند.
Streaming و پروتکل اختصاصی
برای جریان داده، Header شامل Version، Type، Sequence، Length و Checksum تعریف کنید. Flow Control و اندازه صف را مشخص کنید و Receiver اجازه توقف یا کاهش نرخ داشته باشد. فقط به Write Without Response متکی نباشید؛ بافر کنترلر نامحدود نیست.
چند Central و Peripheral
هر اتصال Context، بافر، CCCD و پارامتر مستقل دارد. Scheduler رادیو باید Eventهای همه لینکها را جا دهد. با افزایش اتصال، Interval، Throughput و مصرف تغییر میکند. سقف عملی را با بار واقعی پیدا کنید، نه فقط عدد Datasheet.
طرح فریم داده اختصاصی
بایت اول Version، بایت دوم Message Type، دو بایت Sequence، دو بایت Length، سپس Payload و CRC قرار دهید. گیرنده ابتدا Length را با MTU و بافر مقایسه کند، Sequence تکراری را رد کند و برای فرمان مهم ACK کاربردی بفرستد.
فریم منطقی، قطعه انتقال و اصالت Firmware را جدا کنید
یک پیام منطقی ممکن است از ظرفیت یک Write یا Notify بزرگتر باشد. در این حالت باید شناسه پیام، موقعیت قطعه، طول نهایی و سقف بافر را تعریف کنید. مقایسه طول کل پیام با MTU و ردکردن همه پیامهای بزرگ، جای پروتکل قطعهبندی را نمیگیرد.
پیش از تخصیص حافظه، طول اعلامشده را با سقف طراحی کنترل کنید؛ قطعه تکراری، گمشده و خارج از ترتیب را مدیریت کنید و نتیجه نهایی را با شماره پیام برگردانید. ACK کاربردی صرفاً دریافت یا اجرای تعریفشده در قرارداد را اعلام میکند.
CRC و Hash بدون کلید بهتنهایی اصالت Firmware را اثبات نمیکنند. OTA امن به امضای معتبر، کنترل نسخه، راهاندازی قابلبازگشت و سیاست حفاظت کلید نیاز دارد. قطع در ۱۰، ۵۰ یا ۹۰ درصد را بهعنوان برنامه آزمون تعریف کنید، نه نتیجه آزمونی که انجام نشده است.
Bluetooth Mesh نیز «همان GATT با چند اتصال» نیست. ویژگیهایی مانند Relay، Proxy و روشهای حمل را با مشخصات Mesh و قابلیت پشته انتخابشده تطبیق دهید.
پرسش و پاسخ مقاله
سوال فنی خود را مطرح کنید
پرسشها و پاسخها پس از بررسی مدیر منتشر میشوند. نویسنده، پیشنویس در انتظار بررسی را میبیند.
هنوز پرسش تاییدشدهای برای این مقاله ثبت نشده است.