BLE در STM32WB: راهاندازی CubeMX، ساخت Service و Low Power
راهاندازی BLE در STM32WB55: معماری دوهستهای، نسخهٔ Wireless Stack، CubeMX، سرویس GATT و Low Power؛ با تفکیک STM32WB0 تکهستهای.
فهرست مطالب

در STM32WB55 و مدلهای دوهستهای مرتبط، اجرای برنامه و بخش بیسیم میان هسته کاربردی و هسته شبکه تقسیم میشود؛ STM32WB0 تکهستهای است و این توصیف شامل آن نیست. این معماری زمانبندی رادیو را از برنامه اصلی جدا میکند، اما نسخه Wireless Stack، FUS و پکیج Cube باید سازگار باشند.
معماری STM32WB
برنامه کاربر معمولاً روی Cortex-M4 اجرا میشود و هسته شبکه وظایف رادیویی را انجام میدهد. ارتباط بین دو بخش از سازوکارهای بینپردازندهای عبور میکند. بنابراین خرابی Stack یا ناسازگاری Firmware میتواند حتی با کد کاربردی سالم مانع Advertising شود.
پیکربندی CubeMX
برد و پکیج Firmware درست را انتخاب کنید، BLE و سرویسهای موردنیاز را فعال کنید، Clock و RF را طبق برد مرجع تنظیم کنید و کد تولیدشده را در ناحیههای USER CODE توسعه دهید. فایل Release Notes پکیج را برای نسخه Stack و محدودیتها بخوانید.
Service و Notify
در ابزار پیکربندی، UUID، اندازه Value، Property و Permission را تعریف کنید. هنگام تغییر سنسور، Value را در Attribute Database بهروزرسانی و در صورت فعالبودن Notification آن را ارسال کنید. رخداد Write از کلاینت را اعتبارسنجی کنید و طول ورودی را هرگز فرض نگیرید.
مدیریت اتصال و Low Power
رخدادهای اتصال، قطع و Pairing را به State Machine برنامه تبدیل کنید. پیش از ورود به Stop Mode مطمئن شوید Scheduler و Stack بیسیم اجازه خواب میدهند. مصرف را روی برد نهایی اندازه بگیرید، چون LED دیباگ و Debugger میتوانند نتیجه را تغییر دهند.
پروژه شروع STM32WB
یک Service محیطی با Characteristic دما بسازید. تایمر برنامه هر ثانیه سنسور را میخواند و فقط در صورت تغییر بیش از 0.1 درجه Value را بهروزرسانی میکند. پس از اطمینان از Notify، Tick و Log اضافی را کم و مصرف Stop Mode را اندازه بگیرید.
دامنه این مسیر: STM32WB دوهستهای را با WB0 یکی نگیرید
توضیح هسته کاربردی Cortex-M4، هسته شبکه و FUS در این مقاله برای خانواده دوهستهای متداول مانند STM32WB55 است. STM32WB0 مسیر متفاوتی با هسته Cortex-M0+ دارد؛ مراحل FUS و فایلهای Wireless Stack برد WB55 را نباید برای آن کپی کرد.
برای WB55، از یک نمونه رسمی همان برد در STM32CubeWB شروع کنید. نام برد، نسخه پکیج CubeWB، نسخه FUS و نام دقیق تصویر بیسیم نصبشده را کنار build ثبت کنید. آدرس نصب و مراحل بهروزرسانی Stack را از Release Notes همان نسخه بخوانید؛ این متن آدرس حافظه عمومی برای همه مدلها تعیین نمیکند.
اگر Advertising دیده نمیشود، ابتدا نمونه بدون تغییر سازنده را بررسی کنید؛ سپس تغذیه و کلاک، سازگاری تصویر CPU2 و رخدادهای اولیه را جدا کنید. پایینبودن مصرف نیز باید با قطع Debugger و با درنظرگرفتن مصرف برد توسعه اندازهگیری شود.
پرسش و پاسخ مقاله
سوال فنی خود را مطرح کنید
پرسشها و پاسخها پس از بررسی مدیر منتشر میشوند. نویسنده، پیشنویس در انتظار بررسی را میبیند.
هنوز پرسش تاییدشدهای برای این مقاله ثبت نشده است.