Telegram Web Link
سوال: ما دوتا ماژول ESP32 داریم و میخواهیم هردو را به اینترنت متصل کنیم. ولی ماژول دوم از مودم دارای اینترنت خیلی دور است و نمی تواند به آن متصل شود ولی به ماژول اول نزدیک است و میتواند به ماژول اول متصل شود.
آیا ما میتوانیم اینترنت را از طریق ماژول اول به ماژول دوم منتقل کنیم؟
جواب: بله
سوال با چه روشی؟ دوستان عزیز لطفا در این چالش شرکت کنید.
ممنون
@ArduinoFarsi_cc
آردوینو فارسی
سوال: ما دوتا ماژول ESP32 داریم و میخواهیم هردو را به اینترنت متصل کنیم. ولی ماژول دوم از مودم دارای اینترنت خیلی دور است و نمی تواند به آن متصل شود ولی به ماژول اول نزدیک است و میتواند به ماژول اول متصل شود. آیا ما میتوانیم اینترنت را از طریق ماژول اول به…
خب بریم سراغ پاسخ اصلی
برای این منظور ما چند تا روش داریم که فعلا یکی از روش ها را بررسی میکنیم.

برنامه ماژول اول:
const char* ssid = "نام مودم خارجی";
const char* password = "رمز عبور";

void setup() {
Serial.begin(115200);

WiFi.softAP(ssid, password);

IPAddress IP = WiFi.softAPIP();

Serial.print("آدرس IP Access Point: ");
Serial.println(IP);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("در حال اتصال به شبکه...");
}

Serial.println("اتصال برقرار شد");
Serial.print("آدرس IP: ");
Serial.println(WiFi.localIP());
}

void loop() {
// انجام وظایف دیگر در صورت نیاز
}

در این برنامه مودم داخلی را با اسم و رمز مودم خارجی استارت می کنیم. سپس ماژول اول را به مودم خارجی متصل میکنیم. به این صورت مودم داخلی ماژول اول، یک اشاره گر به مودم خارجی می شود. و ماژول دوم با متصل شدن به مودم داخلی ماژول اول، میتواند از اینترنت استفاده کند.
برنامه ماژول دوم:
#include <WiFi.h>

const char* ssid = "نام مودم خارجی";
const char* password = "رمز عبور";

void setup() {
Serial.begin(115200);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("در حال اتصال به شبکه...");
}

Serial.println("اتصال برقرار شد");
Serial.print("آدرس IP: ");
Serial.println(WiFi.localIP());
}

void loop() {
// انجام وظایف دیگر در صورت نیاز
}

در این برنامه ما با وارد کردن اسم و رمز مودم خارجی به مودم داخلی ماژول اول متصل می شویم ولی چون مودم داخلی ماژول اول به عنوان اشاره گری به مودم خارجی هست، ماژول دوم هم به اینترنت وصل می شود.
در نتیجه ماژول اول به عنوان ریپیتر عمل کرده و اینترنت را به ماژول دوم که به مودم ما دسترسی نداشت، منتقل می کند.
در ضمن ما میتوانیم برنامه ماژول اول را که بعنوان ریپیتر عمل میکند، روی چند تا ماژول دیگر نیز آپلود کنیم و چند تا ریپیتر داشته باشیم. و لازم به ذکر است که همه ماژول ها همزمان میتوانند هم ریپیتر باشند و هم کارهای کنترلی دیگری را نیز انجام دهند.


WiFi Repeater#

@ArduinoFarsi_cc
Audio
ما یک مدار با ESP32 ساخته ایم. و بعضی وقتها خودمان آن را ریست میکنیم. بعضی وقتها هم در اثر قطع و وصل برق شهر ریست می شود.
حالا میخواهیم زمان دقیق ریست شدن ماژول در حافظه ESP32 ذخیره شود. تا در گزارش گیری استفاده کنیم.

سوال: آیا امکان پذیر هست؟
جواب: بله
سوال با چه روشی؟

دوستان عزیز لطفا در این چالش شرکت کنید.
ممنون
@ArduinoFarsi_cc
سوال: آیا استفاده از کلید BOOT و کلید RESET ماژول ESP32 برای فرمان دادن به مدار برای انجام یک کار خاص، امکان پذیر هست؟

جواب: بله کلید BOOT به GPIO 0 این ماژول متصل هست و مقاومت PULL_UP خارجی هم دارد. فقط در هنگام ریست شدن نباید در حالت فشرده باشد وگرنه ماژول به حالت پروگرام شدن می رود.


سوال حالا با چه روشی می توانیم از کلید RESET برای کنترل مدار استفاده کنیم؟

دوستان عزیز لطفا در این چالش شرکت کنید.
ممنون
@ArduinoFarsi_cc
میخواهیم با 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
Programming for ESP32 ( PDFDrive ).pdf
14.2 MB
# فراگیری :ESP32
نسخه سال 2018

#LEARN ESP32

زبان : انگلیسی
فرمت :pdf
تعداد صفحات: 1063

دوستان عزیز
برای دانلود کتابهای تخصصی بیشتر در این زمینه میتوانید به آدرس کانال تلگرامی زیر مراجعه نمایید: 👇👇👇👇
@reference_books_1
آردوینو فارسی
Programming for ESP32 ( PDFDrive ).pdf
دوستان عزیز اگر شما هم کتاب های خوبی در زمینه الکترونیک دارید به آی دی زیر ارسال کنید تا در کانال قرار گیرد و یک کتابخانه جامع و کامل داشته باشیم:

@paya_controll
روشی خلاقانه برای کنترل سرعت موتور 😅
Media is too big
VIEW IN TELEGRAM
#آموزش سرچ در اینرنت با استفاده از هوش مصنوعی
#GPT4
www.perplexity.ai
@ArduinoFarsi_cc
Media is too big
VIEW IN TELEGRAM
#آموزش کنترل فاز برق AC با آردوینو
#کنترل توان مصرفی دستگاه های AC
#کنترل Power Rate موتورها
#کنترل میزان دمای هیتر
#برسنهام
#AC_PWM
#EMI
#triac
#Bresenham
#Motor

کاری از: رضا اژدرکش

حمایت مالی از آموزش های کانال آردوینو فارسی:
https://zarinp.al/arduinofarsi
@ArduinoFarsi_cc
BresenhamTriacDriver.zip
3.6 KB
#کتابخانه مربوط به آموزش بالا 👆
2025/07/03 08:47:47
Back to Top
HTML Embed Code: