پروژههای متوسط BLE: تنظیم Wi-Fi، ارتباط دو ESP32 و اپ موبایل
با BLE اطلاعات Wi-Fi را تنظیم کنید، دو ESP32 را متصل کنید، اپ اندروید بسازید، تنظیمات را ذخیره و قطع و وصل را مدیریت کنید.
انتشار: 1405/04/20 - 11:19 | بازدید: 5
در سطح متوسط، مشکل اصلی دیگر ارسال یک عدد نیست؛ باید وضعیت، خطا، ذخیرهسازی و تجربه کاربر را مدیریت کنید. دستگاه ممکن است وسط تنظیم Wi-Fi خاموش شود، موبایل مجوز اسکن ندهد یا اتصال در نیمه کار قطع شود.
تنظیم Wi-Fi از طریق BLE
دستگاه در حالت Setup یک Service امن ارائه میدهد. موبایل SSID و Credential را در قطعههای کنترلشده میفرستد، دستگاه قالب را اعتبارسنجی و در حافظه امن ذخیره میکند و نتیجه اتصال را Notify میکند. داده حساس را در Advertising یا Log چاپ نکنید.
ارتباط دو ESP32
یک برد Peripheral سنسور و برد دیگر Central یا Gateway باشد. Central با UUID فیلتر کند، Discover انجام دهد و پس از قطع با Backoff دوباره تلاش کند. State Machine را از Task سنسور جدا کنید تا ناپایداری لینک کل برنامه را متوقف نکند.
اپلیکیشن موبایل
اپ باید مجوزهای نسخه سیستمعامل، Scan timeout، فیلتر دستگاه، نمایش وضعیت اتصال و Unsubscribe را مدیریت کند. عملیات GATT را صفبندی کنید؛ اجرای همزمان چند Read و Write در بسیاری از APIهای موبایل نتیجه قابل اعتماد ندارد.
ذخیره تنظیمات و Reconnect
تنظیمات را با Version و CRC ذخیره کنید و مقدار نامعتبر را به پیشفرض برگردانید. Reconnect بینهایت و سریع باتری را خالی میکند. Backoff، سقف تلاش و گزینه ورود دوباره به Setup Mode تعریف کنید.
پروتکل ساده Provisioning
چهار Characteristic برای Command، SSID، Credential و Status در نظر بگیرید. موبایل ابتدا Session امن میسازد، فیلدها را مینویسد و فرمان Connect میدهد. دستگاه وضعیتهای validating، connecting، success یا error-code را Notify میکند. بعد از موفقیت سرویس Setup را محدود کنید.
چکلیست یادگیری
- مفهوم را با زبان خودتان توضیح دهید.
- مثال مقاله را روی کاغذ یا برد واقعی تکرار کنید.
- نتیجه، خطا و سؤال خود را یادداشت کنید.
- پس از اطمینان، به مرحله بعد بروید.