مدیریت network  و wifi provisioning در ESPIDF برای ESP32

نسخه 1.0

مقدمه

یکی از اهداف اینترنت اشیا یوکاسافت استفاده از قطعه esp32 برای مدیریت کلیدهای هوشمند در خانه هوشمند است. سیستم عامل موجود در ماژول ESP32 از خانواده FreeRTOS است که مدل چند وظیفه‌ای را حمایت می‌کند. در حال حاضر مدل زیر برای نسخه 1.0 در نظر گرفته شده است:



Task Network Manager یکی از task هایی است که برای اتصال esp32 به اینترنت اشیا یوکاسافت استفاده شده است. در این Task قطعه esp32 به network متصل میشود. این task شامل دو بخش زیر است :

  1. wifi manager
  2. wifi provisioning

wifi manager

این بخش مربوط به مدیریت wifi هایی است که قطعه esp32 به آن ها متصل شده است. این بخش توسط command های زیر مدیریت میشود.

connection add

nmcli connection add --name test_name --ssid test_ssid --pass test_pass

nmcli connection add -n test_name -s test_ssid -p test_pass

دستور بالا یک network را با اطلاعات test_name و test_ssid و test_pass به لیست network ها اضافه میکند

connection list


nmcli connection list

لیست  networkهای اضافه شده را نشان میدهد. میتوان از این لیست برای اتصال مجدد و اتوماتیک به network های در دسترس استفاده کرد.

connection remove

nmcli connection remove --name test_name 

nmcli connection remove -n test_name 

حذف اطلاعات یک network از لیست

connection up

nmcli connection up --name test_name 

nmcli connection up -n test_name 

برای اتصال به یک network مشخص با کمک نام ثبت شده در لیست

connection down

nmcli connection down --name test_name 

nmcli connection down -n test_name 

برای  لغو اتصال به یک network مشخص با کمک نام ثبت شده در لیست

wifi provisioning

به کمک این بخش به کاربر این امکان را میدهیم که اطلاعات network خود را وارد کند و قطعه esp32 به صورت اتوماتیک به network مشخص شده متصل شود.

در نسخه 1.0 ازبرنامه های زیر استفاده شده است. 

نسخه آندروید

نسخه ios

با نصب برنامه بر روی تلفن همراه خود میتوانید مشخص کنید که wifi قطعه esp32 به کدام یک از wifi ها متصل شود.

در نسخه 1.0 پس از نصب برنامه از بالا سمت راست سه نقطه را انتخاب کنید. گزینه settting را بزنید و گزینه Encrypted Communication را غیر فعال کنید. سپس گزینه Provision New Device را انتخاب کنید. سپس اسمی که با _PORV شروع شده را انتخاب کنید و رمز 123456789 را وارد کنید پس از connect شدن به عقب برگردین از بین لیست wifi های نمایش داده شده در اپ تلفن همراه، wifi موردنظر خود را انتخاب کنید و رمز wifi را وارد کنید. پس از آن به صورت اتوماتیک کلید هوشمند شما به wifi انتخاب شده متصل میشود.

*نکته : برای اجرای دستور provisioing باید در ترمینال دستور wifi provisioing چاپ شود


در حال تکمیل...




پروتکلMQTT در ESPIDF برای ESP32
نسخه 1.0