tg-me.com/ArduinoFarsi_cc/3110
Last Update:
میخواهیم با ESP32 یک دستگاه کنترلی بسازیم برای هوشمند سازی منازل.
برنامه کنترلی را نوشته ایم. حالا می خواهیم وقتی مشتری دستگاه را از ما خریداری میکند، بتواند SSID و Password مودم خودش را به سادگی روی آن ست کند. برای این کار از کتابخانه WiFiManager استفاده کرده ایم.
این کتابخانه مودم داخلی ESP32 را روشن میکند و ما میتوانیم با متصل شدن به آی پی مودم داخلی ESP32 یک پورتال در صفحه گوشی خود ملاحظه نماییم و بوسیله آن، SSID و Password مودم جدید را به دستگاه اعلام کنیم.
حالا چند تا مشکل جدید پیدا می شود.
1- کتابخانه WiFiManager پس از اتصال به مودم خارجی مودم داخلی را خاموش میکند. ولی ما میخواهیم مودم داخلی را هم داشته باشیم که برای دسترسی مستقیم به دستگاه و اعمال یک سری تنظیمات خاص از آن استفاده کنیم. و همچنین در صورت خاموش شدن مودم هم دستگاه ما کار کند.
حالا دو حالت پیش می آید:
الف- اگر مودم داخلی را قبل از WiFiManager روشن کنیم، WiFiManager آن را خاموش میکند.
ب- اگر مودم داخلی را بعد از WiFiManager روشن کنیم، کار نمیکند. چون مودم داخلی باید قبل از مودم خارجی روشن شود وگرنه آنتن به آن تخصیص داده نمی شود. و نمیتواند تبادل داده انجام دهد.
2- میخواهیم برای ESP32 یک آی پی استاتیک تعیین کنیم تا همیشه بوسیله آن آی پی با گوشی به مدار متصل شویم. و نمی خواهیم از کتابخانه DNS_Server استفاده کنیم. چون اولا حجم برنامه بالا میرود و دوما روی همه دستگاه ها جواب نمی دهد.
حالا مساله ای که پیش می آید این است که ما نمیتوانیم یک آی پی استاتیک با Gateway و Subnet Mask ثابت در برنامه تعریف کنیم. چون هر خانه یا شرکتی که این دستگاه در آنجا مستقر میگردد، ممکن است تنظیمات مودم مختلفی داشته باشد و Gateway و Subnet Mask آن متفاوت باشد.
دوستان لطفا در این چالش شرکت کنید.
این چالش ها گرچه ساده هستند، ولی میتوانند به عملکرد بهتر دستگاه های شما منجر شوند. و دستگاه های پیشرفته ای یسازید.
@ArduinoFarsi_cc
BY آردوینو فارسی
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/ArduinoFarsi_cc/3110