مقدمه
بسیار پیش آمده که در اتاق خود نشستهاید و قصد دارید تجهیزات برقی منزل مانند لامپ ها، فن و …. را روشن و خاموش و یا کنترل کنید اما حوصله این کار را ندارید و یا اینکه میخواهید قبل از رسیدن به منزل کولر اتاق خود را روشن کنید تا در زمان رسیدن شما به منزل هوای اتاق مطبوع باشد.
با توجه به توضیحات بالا اگر میخواهید وسایل برقی منزل و اتاق خود را از طریق تلفن همراه و با صحبت کردن با آن کنترل کنید، مطالعه این آموزش میتواند برایتان مفید باشد.
برنامهای به نام Google-Assistant در تلفن های همراه وجود دارد که شما از طریق آن میتوانید با گوشی خود صحبت کرده و فرامین صوتی مدنظر خود را به آن ارسال کنید. حال فرض کنید گوشی شما از طریق فضای اینترنت به یک میکروکنترلر مثل ESP و یا Arduino متصل شود، در این صورت شما قادر خواهید بود با میکروکنترلر خود صحبت کرده و فرامین صوتی خود را جهت کنترل تجهیزات مختلف به آن ارسال کنید. میکروکنترلر را نیز میتوانید از طریق رله به تجهیزات مدنظر مانند لامپها، فن، کولر و …. متصل کنید تا بتوانید از طریق تلفن همراه خود همهی تجهیزات منزل خود را از راه دور کنترل کنید.
آنچه در این آموزش یاد میگیرید
همانطور که بیان شد، هدف از این آموزش این است که شما بتوانید از راه دور و با فرامین صوتی تجهیزات خود را کنترل کنید. اما برای ایجاد این ارتباط نمیتوانید Google-Assistant را مستقیم به میکروکنترلر خود ارتباط دهید. ما در این آموزش از ESP32 به عنوان میکروکنترلر استفاده میکنیم. یکی از مزیتهای مهم آن دارا بودن wifi میباشد.
برای ایجاد ارتباط بین Google-Assistant و ESP32 بایستی از دو واسط استفاده کنیم. یک واسط برای ارتباط با Google-Assistant و دیگری برای ESP32 به کار برده میشود. از بستر IFTTT برای ارتباط با Google-Assistant استفاده میکنیم. IFTTT هم نمیتوان به صورت مسقیم به ESP32 متصل کرد. به همین دلیل رابط دیگری به نام Adafruit-IO برای ایجاد ارتباط بین IFTTT و ESP32 استفاده میشود.
در این آموزش ابتدا در سایت Adafruit-IO ثبت نام کرده و یک بلوک جهت کنترل یک عدد LED میسازیم. سپس از طریق نرمافزار Arduino IDE، برنامه ای جهت ارتباط با Adafruit-IO بر روی ESP32 آپلود میکنیم. سپس ESP32 را از طریق یک رله به LED متصل میکنیم و قصدمان این است که روشن و خاموش شدن LED را از راه دور و از طریق فرامین صوتی کنترل کنیم.
در ادامه نیز یک اکانت در سایت IFTTT میسازیم و ارتباط آن را با Google Assistant و از طرف دیگر با Adafruit-IO تنظیم میکنیم.
در آخر هم با فرامین صوتی که خودمان تنظیم کردیم، LED را روشن و خاموش میکنیم. این آموزش را میتوان برای میکروکنترلرهای دیگر و با تجهیزات دیگری مثل فن، لامپ و …. تکرار کرد.
Adafruit-IO چیست؟
Adafruit-IO یک فضای ابری است که شما میتوانید از طریق اینترنت به آن متصل شوید. میتوانید از طریق آن به میکروکنترلری مانند ESP32 متصل شوید و پایه های میکروکنترلر را توسط آن کنترل کنید و با میکروکنترلر در یک فضای ابری اینترنتی تبادل اطلاعات داشته باشید.
با Adafruit-IO چه کارهایی میتوان انجام داد؟
- نمایش آنلاین اطلاعات
- ایجاد پروژه هایی که نیاز به اتصال به اینترنت دارید
- اتصال پروژهتان به دیگر تجهیزات متصل به اینترنت
- اتصال پروژه ها به سرویسهای وب
Google-Assistant چیست؟
Google Assistant یک دستیار هوش مصنوعی توسعه یافته توسط گوگل است که عمدتا در دستگاه های سیار و هوشمند در دسترس می باشد. برخلاف ورژن قبلی، Google Assistant فعلی می تواند در مکالمات دو طرفه شرکت کند. این ابزار بهتر از هر ابزار دیگری کلمات شما را شناسایی می کند و به سرعت به فرمان های شما پاسخ می دهد.
کاربران به صورت صدای طبیعی با Google Assistant ارتباط برقرار می کنند، هرچند که این ابزار صفحه کلید را نیز پشتیبانی می کند. مانند همان ماهیت Google Now، ابزار Assistant می تواند در اینترنت جستجو کند، رویدادها را زمانبندی کند، تنظیمات سخت افزاری دستگاه کاربر را تغییر دهد و اطلاعاتی را از اکانت گوگل کاربر به وی نمایش دهد. همچنین گوگل اعلام کرده است که Assistant توانایی تشخیص اجسام از طریق دوربین و جمعآوری اطلاعات راجع به آنها را نیز دارد، همچنین از خرید و ارسال پول و شناسایی آهنگ ها نیز پشتیبانی می کند.
IFTTT چیست؟
نام IFTTT خلاصه عبارت “if this, then that.” میباشد. IFTTT یک پلتفرم نرمافزاری است که در آن اپلیکیشنها، تجهیزات و سرویسهای مختلف برای ایجاد یک یا چند اتوماسیون با هم مرتبط میشوند. در واقع میتوان گفت که IFTTT مانند یک واسط ارتباطی بین آنها عمل میکند.
این اتوماسیون از طریق Applet ها انجام میشود. به صورتی که چندین برنامه جهت اجرای کارهای خودکار به هم متصل میگردند. شما از طریق سایت IFTTT.com میتوانید این Applet ها را فعال و یا غیر فعال سازید. در ضمن میتوانید Applet های خودتان را بسازید و از Applet های متنوع موجود در سایت بهره ببرید.
در ادامه آموزش نحوه کار با سایت IFTTT و ایجاد یک Applet جدید را فرا میگیرید.
لوازمی که به آن احتیاج دارید
جهت ادامه آموزش به قطعات و لوازم زیر نیاز دارید:
سخت افزار های موردنیاز
نرمافزارهای موردنیاز
گام اول: ایجاد ارتباط بین ESP32 و Adafruit
همانطور که گفته شد برای ارتباط ESP32 با IFTTT بایستی از بستری مانند Adufruit IO استفاده شود. در این مرحله ESP32 را به Adafruit IO متصل کرده تا مقدمه ارتباط ESP32 با فضای اینترنت برقرار شود.
کد برنامه برای اتصال ESP به Adafruit IO
قبل از هرکاری بایستی برنامه موردنظر را نوشته و سپس تعدادی از متغیرهای مربوط را در گامهای بعدی تنظیم کنیم.
از بخش Sketch گزینه Include Library را انتخاب کرده و سپس برای نصب کتابخانه مدنظر، بر روی Manage Libraries کلیلک کنید. در ادامه با سرچ کتابخانه Adafruit MQTT ، آن را مانند تصویر زیر نصب کنید.
در ادامه برنامه زیر از سایت Github پیوست شده است. آن را کپی کرده در نرمافزار Arduino IDE خود Paste کنید:
/*
Made on 6 July 2021
By Amirmohammad Shojaei
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=769qBd4mBs" data-secret="769qBd4mBs" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
based on “ajaynikam2410” Example
*/
//for esp32 use <wifi.h>, for esp8266 use <esp8266wifi.h>
// this code is for esp32 for using esp8266 you just need to change <wifi.h> into <esp8266wifi.h> and also change the relay pin
#include <WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
/************************* Pin Definition *********************************/
//Relays for switching appliances
#define Relay1 12
#define Relay2 13
#define Relay3 14
#define Relay4 27
#define buzzer 26
//buzzer to know the status of MQTT connections and can be used for any other purpose according to your project need.
/************************* WiFi Access Point *********************************/
#define WLAN_SSID "wLAN_SSID"
#define WLAN_PASS "wLAN_PASS"
/************************* Adafruit.io Setup *********************************/
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // use 8883 for SSL
#define AIO_USERNAME "AIO_USERUSERNAME"
#define AIO_KEY "AIO_KEY"
/************ Global State (you don't need to change this!) ******************/
// Create an ESP8266 WiFiClient class to connect to the MQTT server.
WiFiClient client;
// or... use WiFiFlientSecure for SSL
//WiFiClientSecure client;
// Setup the MQTT client class by passing in the WiFi client and MQTT server and login details.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
/****************************** Feeds ***************************************/
// Notice MQTT paths for AIO follow the form: <username>/feeds/<feedname>
Adafruit_MQTT_Publish Light = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/light");
// Setup a feed called 'onoff' for subscribing to changes.
Adafruit_MQTT_Subscribe Light1 = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/led");
Adafruit_MQTT_Subscribe Fan1 = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/relay2");
Adafruit_MQTT_Subscribe Light2 = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/relay3");
Adafruit_MQTT_Subscribe Fan2 = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/relay4");
/*************************** Sketch Code ************************************/
// Bug workaround for Arduino 1.6.6, it seems to need a function declaration
// for some reason (only affects ESP8266, likely an arduino-builder bug).
void MQTT_connect();
void setup() {
Serial.begin(115200);
delay(10);
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(Relay3, OUTPUT);
pinMode(Relay4, OUTPUT);
Serial.println(F("Adafruit MQTT demo"));
// Connect to WiFi access point.
Serial.println(); Serial.println();
Serial.print("Connecting to ");
Serial.println(WLAN_SSID);
WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// Setup MQTT subscription for onoff feed.
mqtt.subscribe(&Light1);
mqtt.subscribe(&Fan1);
mqtt.subscribe(&Light2);
mqtt.subscribe(&Fan2);
}
void loop() {
// Ensure the connection to the MQTT server is alive (this will make the first
// connection and automatically reconnect when disconnected). See the MQTT_connect
// function definition further below.
MQTT_connect();
// this is our 'wait for incoming subscription packets' busy subloop
// try to spend your time here
Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(20000))) {
if (subscription == &Light1) {
Serial.print(F("Got: "));
Serial.println((char *)Light1.lastread);
int Light1_State = atoi((char *)Light1.lastread);
digitalWrite(Relay1, Light1_State);
}
if (subscription == &Light2) {
Serial.print(F("Got: "));
Serial.println((char *)Light2.lastread);
int Light2_State = atoi((char *)Light2.lastread);
digitalWrite(Relay2, Light2_State);
}
if (subscription == &Fan1) {
Serial.print(F("Got: "));
Serial.println((char *)Fan1.lastread);
int Fan1_State = atoi((char *)Fan1.lastread);
digitalWrite(Relay3, Fan1_State);
}
if (subscription == &Fan2) {
Serial.print(F("Got: "));
Serial.println((char *)Fan2.lastread);
int Fan2_State = atoi((char *)Fan2.lastread);
digitalWrite(Relay4, Fan2_State);
}
}
// ping the server to keep the mqtt connection alive
// NOT required if you are publishing once every KEEPALIVE seconds
/*
if(! mqtt.ping()) {
mqtt.disconnect();
}
*/
}
// Function to connect and reconnect as necessary to the MQTT server.
// Should be called in the loop function and it will take care if connecting.
void MQTT_connect() {
int8_t ret;
// Stop if already connected.
if (mqtt.connected()) {
return;
}
Serial.print("Connecting to MQTT... ");
uint8_t retries = 3;
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection in 5 seconds...");
mqtt.disconnect();
delay(5000); // wait 5 seconds
retries--;
if (retries == 0) {
// basically die and wait for WDT to reset me
while (1);
}
}
Serial.println("MQTT Connected!");
digitalWrite(buzzer, HIGH);
delay(2000);
digitalWrite(buzzer, LOW);
}
در اصل برنامه بالا برای کنترل 4 تجهیز مختلف توسط رله نوشته شده است. اما ما در این آموزش تنها برای کنترل یک تجهیز (روشن و خاموش کردن یک عدد LED) از آن استفاده میکنیم.
نکته
4 قسمت برنامه بایستی توسط خودتان تکمیل شود. این موارد برای هر کاربر مقادیر متفاوتی میباشد. برای تکمیل کردن آن ها بایستی ابتدا عبارات درون “X” را پاک کرده و مقادیر مدنظر خودتان را جایگزین آن نمائید.
این 4 مورد به شرح زیر میباشند:
- WLAN_SSID: نام اینترنت Wifi هست که قصد دارید ESP32 به آن متصل گردد.
- WLAN_PASS: رمز Wifi است که ESP32 به آن وصل میشود.
- AIO_USERNAME: این کد از طریق Adafruit IO قابل دسترسی است.
- AIO_KEY: این کد نیز از طریق Adafruit IO امکان دسترسی دارد.
ثبت نام و ایجاد پروژه در Adafruit IO
مرحله نخست
ابتدا وارد سایت io.adafruit.com شده و در سایت ثبت نام کرده و یک اکانت برای خود بسازید.
مرحله دوم
سپس وارد اکانت خود شده و برای ایجاد پروژه جدید بر روی + New Dashboard کلیک کرده و سپس با انتخاب عنوان، پروژه جدید خود را ایجاد کنید.
مرحله سوم
حال از طریق منوی سمت راست و بخش Create New Block میتوانید یک بلوک جدید اضافه کنید. در این قسمت بلوک Toggle را انتخاب کرده و سپس نام آن را انتخاب یک نام برای آن تعیین کرده و دکمه Create را بزنید. ما اسم آن را LED میگذاریم.
با انجام این کار، روی آیکون مربوطه کلیک کرده و بلوک آن را ایجاد کنید.
مرحله چهارم
حال میتوانید از قسمت My Key مقدار Username را کپی کرده و به جای “AIO_USERNAME” قرار دهید. همین کار را برای Active Key کرده و مقدار آن را به جای “AIO_KEY” کپی کنید.
مرحله پنجم
بر روی Edit Layout کیک کرده و از قسمت تنظیمات بلوک Block Info را بزنید. بایستی قسمت آخر API URL یعنی /feeds/led در قسمتی از کد برنامه عینا کپی شود.
فیلم انجام مراحل در سایت Adafruit IO
نحوه انجام مراحل بالا را میتوانید از طریق فیلم زیر به صورت خلاصه و دقیق مشاهده کنید:
آپلود کد بر روی ESP32
دو پارامتر “AIO_USERNAME” و “AIO_KEY” را در قسمت قبل به دست آوردیم. پارامتر “WLAN_SSID” و “WLAN_PASS” هم که نام و رمز wifi میباشند و آنها را جایگذاری میکنیم.
بعد از اینکه چهار پارامتر مدنظر را تغییر دادیم، میتوانیم برنامه را بر روی ESP آپلود کنیم.
نکته
هنگام آپلود دکمه بوت را نگه دارید تا برنامه به درستی بر روی ESP32 آپلود شود.
دقت داشته باشید که مانند عکس زیر ESP32 را به عنوان برد قرار دهید و در ادامه نیز پورت مخصوص آن را انتخاب کنید.
پس از اینکه برنامه به صورت کامل Upload شد، سریال مانیتور نرمافزار را باز کرده و baudrate آن را بر روی 115200 قرار دهید. اگر برنامه به درستی انجام شود، شما بایستی در خروجی پیغام “MQTT Connected!” را مشاهده کنید. این بدین معناست که ارتباط بین ESP32 و Adafruit IO به درستی برقرار شده است.
گام دوم: سیمبندی
پس از آپلود برنامه، ESP32 را به رله و LED متصل کرده و سیمبندی مدار را به صورت زیر تکمیل میکنیم:
گام سوم: برقراری ارتباط IFTTT با Google Assistant و Adafruit IO
ابتدا وارد سایت ifttt.com شوید و ثبت نام کنید و یک اکانت برای خود بسازید.
سپس بر روی کلمه Create کلیک کنید. در این بخش با دو گزینه This و That روبهرو میشوید. This به معنای ارتباط با ورودی است و That نیز ifttt را به خروجی متصل میکند. در این آموزش Google Assistant به عنوان ورودی و Adafruit IO به عنوان خروجی با Ifttt در ارتباط هستند.
به زبان سادهتر بستر ifttt میان Google Assistant و Adafruit IO ارتباط برقرار کرده و مانند یک رابط بین آن دو عمل میکند.
برقراری ارتباط با Google Assistant
جهت برقراری ارتباط با Google Assistant مراحل زیر را طی کنید:
گام اول
پس از انتخاب گزینه This، عبارت Google Assistant را سرچ کرده و آن را باز کنید.
گام دوم
در ادامه عبارت Say a simple phrase را برگزینید.
گام سوم
سپس عبارتی که میخواهید به صورت صوت بیان کنید را به سه شکل مختلف بنویسد. همچنین جوابی که میخواهید در ازای آن از Googla Assistant بشنوید را وارد کنید. در آخر نیز زبان مورد نظرتان را انتخاب کرده و Create trigger را بزنید.
برای مثال برای روشن کردن LED عبارت های زیر را وارد میکنیم:
نکته
گاهی اوقات بایستی برای ادامه کار ایمیل خود را تایید کنید.
البته سعی کنید همهی اکانت های خود را با یک ایمیل بسازید تا مشکلی در مسیر راهاندازی به وجود نیاید.
برقراری ارتباط با Adafruit IO
برای ایجاد این ارتباط مراحل زیر را طی کنید:
گام اول
بر روی That بزنید و در ادامه با سرچ کلمه Adafruit آن را انتخاب کنید.
گام دوم
عبارت Send data to Adafruit IO را برگزینید و سپس نام بلوک ساخته شده را انتخاب کرده و مقداری که میخواهید زمان روشن شدن بر روی آن ذخیره شود را وارد کنید:
نکته
دقت کنید که اگر ماژول رله شما Active Low باشد، برای روشن شدن باید مقدار 0 بر روی پایه ذخیره شود.
اگر هم رله Active High باشد، برای روشن شدن باید مقدار 1 بر روی پایه ذخیره شود.
در این آموزش از رله Active Low استفاده شده، بنابراین در زمان روشن شدن بایستی مقدار 0 بر روی ماژول ذخیره شود.
در آخر نیز Continue را زده و با فشردن Finish مراحل را به اتمام برسانید.
همین مراحل بالا را برای خاموش شدن LED نیز تکرار کنید. با این تفاوت که در بخش اول به جای عبارت on از کلمه Off استفاده کنید و در بخش دوم هم به جای مقدار 0 مقدار 1 را قرار دهید.
دو بلوک جدید ساخته شده در قسمت My Applets قابل مشاهده میباشند.
نکته
در استفاده free از سایت ifttt شما قادر به ساخت تنها سه عدد Applet جدید هستید.
فیلم انجام مراحل در سایت IFTTT
نحوه انجام مراحل بالا را میتوانید از طریق فیلم زیر به صورت خلاصه و دقیق مشاهده کنید:
گام آخر: ارسال پیام صوتی توسط Google Assistant
در این مرحله اینترنت گوشی خود را روشن نموده و Google Assistant را باز کنید. پیام هایی که در سایت ifttt وارد کرده اید را بیان کنید تا تغییرات وضعیت LED را مشاهده کنید. فیلم زیر نشان دهنده روشن و خاموش شدن LED توسط فرامین صوتی میباشد:
یک گام جلوتر
پس از انجام کامل این آموزش، موضوعات و طرح های زیر را میتوانید به عنوان گام بعدی انجام دهید:
- استفاده از بردهای دیگر مانند Node-MCU ESP8266
- کنترل آنالوگ میزان نور LED توسط Google-Assistant
- کنترل همزمان 4 تجهیز مختلف توسط Google-assistant
- ارائه راهکاری جدید برای ارتباط Google Assistant با میکروکنترلر
- جایگزین کردن برنامه Blynk با Adafruit-IO
Comments (34)
سلام من متوجه نشدم چطوری الان به گوگل دستوری که میخوام اجرا کنه رو تعریف کنم
سلام
به طور خلاصه، کد مربوط به esp برای دریافت اطلاعات از google assistant و ارسال برای Arduino بوده و کد بعدی مربوط به Arduino برای دریافت اطلاعات و فرمان از google assistant از طریق esp است. در این مرحله Arduino فرمان از google assistant را دریافت کرده و با توجه به کدی که خود شما برای آن نوشته اید، بررسی می نماید که این فرمان به چه معناست. در واقع باید تعریف دستور و رمزگذاری توسط خودتان انجام شود. مثلا کاراکتر A را به عنوان دستوری برای روشن کردن یک led توسط Arduino در نظر می گیرید. در ادامه با فرستاده شدن یک پیام از طریق google assistant، برد Arduino با دریافت و بررسی اینکه پیام دریافت شده کاراکتر A هست یا خیر، تصمیم به روشن کردن یا نکردن led می گیرد.
سلام
در مورد سرور و اون فایلی که که گذاشتین توضیح میدید
باید به چه سروری وصل شد و قسمت url چی باید وارد کنیم
باید سرور بسازیم برای این کار لطفن توضیح بدید در جهل و نادانی رهایی یابیم
ممنون
سلام.
مقاله نوشته شده دارای ایراداتی بود که اکنون اصلاح شده. میتونید از آموزش جدید استفاده کنید.
ممنون بابت آموزش. ولی میشد از nodemcu استفاده کرد و بجای دوتا کد، یه کد واسش نوشت که مستقیم دستور رو بگیره و اجرا کنه.این وسط دیگه نیاز به برد آردوینو نبود.
سلام
بله میشد این کار رو هم کرد، اما هدف در این آموزش به طور کلی این بوده که پایههای برد آردوینو از طریق گرفتن فرمان از google assistant کنترل بشن و برای این منظور از یک ماژول esp8266 استفاده شده.
سلام می شود این کار را با برد بلوتوث هم کرد ؟
سلام. بله به راحتی میشه این کار رو انجام داد. میتونید از آموزش زیر برای استفاده از ماژولهای بلوتوث و برنامهنویسی برای اونها کمک بگیرید:
“https://thecaferobot.com/learn/tutorial-getting-started-with-hc05-bluetooth-module-arduino/”
میشه لطفا اموزشش رو با rainmaker بزارید اموزش فارسی نیست و اینکه نسازی به سایت واسط نیست اپ اندروید داره من با چنتا اموزش انگلیسی رفتم همه چی اوکی هست فقط تو خروجی سریال اون qrcode نشون نمیده
سلام و عرض ادب، من دقیقا همین آموزش رو اجرا کردم ولی متاسفانه Connecting to MQTT… Connection failed
رو میده. بنظرتون ایراد از کجاست
سلام.
مطمئن شید که اطلاعات مربوط به MQTT در خط 49 به درستی وارد کردید. امکانش هست که مشکل از اون قسمت باشه.
سلام و عرض خسته نباشید
مگر در این پروژه از برد آردوینو هم استفاده شده؟
و اینکه اگه esp32 را به وای فای منزل متصل کنم میتونم از راه دور با وصل کردن نت موبایل رله هارو کنترل کنم آیا؟
سلام.
خیر از برد آردوینو استفاده نشده. از برد ESP32 استفاده شده و برای برنامهنویسی اون از نرمافزار Arduino IDE استفاده شده.
و اینکه بله. میتونید از راه دور رلههارو کنترل کنید.
سلام وقت بخیر ببخشید در مرحله ifttt بنده سرچ میکنم و Google assistant v2 میاد میزنم روش و گزینه ای به نام Say a simple phrase وجود ندارد فقط دو تا گزینه داره یکیش مرحله داره که اتصال نرم افزار Google home
به ifttt هست
لطفاً راهنمایی کنید تا پروژه رو درست کنم
سلام وقت بخیر
در لینک زیر مراحل کامل ساخت یک دستور یا شرط درIFTTT توضیح داده شده لطفا مطالعه کنید
https://randomnerdtutorials.com/esp32-door-status-monitor-email/
سلام برای خاموش و روشن کردن چند تا وسیله باید کجا ها کد رو عوض کنیم و توی اون سایت ها باید چه کار هایی انجام بشه اگر بتونید راهنماییم کنید ممنونتون میشم.اگر هم سورس کد آماده این کار رو برای فروش دارید معرفی کنید ممنونتون میشم.?
با سلام
تمامی مراحل به صورت کامل در آموزش ذکر شده است
سلام این خطا رو برای من میزنه چه کار کنم؟؟
Compilation error: WiFi.h: No such file or directory
با سلام
لایبراری esp را بر روی نرم افزار آردوینو نصب کرده اید؟؟
از این آموزش میتوانید اقدام به نصب کنید.
آموزش نصب برد ESP32 به روی Arduino IDE (ویندوز، لینوکس، مک OS)
سلام من درایورش رو نصب کردم ولی همچنان اون خطا هستش
حتا برنامه آردوینو به آخرین نسخه هم بروز هستش
سلام من درایورش رو نصب کردم ولی همچنان اون خطا هستش
سلام ببخشید توان ورودی و خروجی مدار چقدر هستش مثلا میتونم برای خاموش و روشن کردن مایکروفر ازش استفاده کنم
با سلام
این ماژول از خود توانی برای تامین برق ندارد.
بسته به رله و قطعاتی که برای کنترل کردن سایر وسایل استفاده میکنید می توانید توان کنترل دستگاه را زیاد کنید.
حال اینکه به چه صورت میخواهید به ماکروفر وصل کنید بسته شرایط شما امکان دارد نیازی به توان نداشته باشید یا نیاز باشد از رله یا ترانزیستور های توان بالا استفاده کنید.
سلام
من این پروژه رو انجام دادم اما یه مشکلی دارم، توی ifttt جدیداً فقط میشه دوتا applet ساخت که خب یکی برای خاموش کردن و یکی برای روشن کردن چراغ استفاده میشه و فقط یک پین رو میتونم کنترل کنم. نرمافزاری مشابه ifttt نداریم که بشه بیشتر از دو دستور نوشت؟؟ توی اینترنت زیاد گشتم نرمافزار هایی مثل zapier هستن ولی متاسفانه اکثراً به Google assistant وصل نمیشن ، شما پیشنهادی دارید؟
با سلام
یک نسخه نیز adafruit ساخته است و مثل انیکه هنوز فیلتر نشده است
لینک io adafruit
با سلام.
متاسفانه هر کاری میکنم به مودم متصل نمیشم
اسم مودم و رمز زو هم به درستی وارد کردم
برای من سایت ifttt.com فیلتره یعنی اگه بدون فیلتر شکن وارد بشم میگه ip شما در بلاک لیست قرار گرفته
سلام و عرض ادب
آیا برد دیگه ای هست که بتونه رمز و یوزر وای فای رو جداگونه و بدون برنامه نویسی وارد کرد؟ چون اینجوری باشه اگه بخوایم رمز رو عوض کنیم یا اسم رو عوض کنیم هر دفه باید برنامه نویسی بشه
با سلام
این مورد به برنامه نویسی شما بر میگردد.
شما می توانید user و pass را بر روی eeprom یا sdcard ریخته و در زمان اجرا از آنجا مقدار را بخواند و به wifi مورد نظر وصل بشود. برای سری ESP32 پیشنهاد میکنم از کتابخانه SPIFFS استفاده کنید که از حافظه داخلی میکرو استفاده میکند و بسیار ساده می باشد.
برای تغییر این مقدار نیز می توانید از پنل web یا کد های دستور توی سریال مانیتور که خودتان ایجاد میکنید استفاده کنید یا به صورت مستقیم از طریق سیستم فایل های مورد نظر را آپلود کنید
سلام و عرض ادب
تشکر بابت سایت خوبتون
یه سوال داشتم آیا بجای گوگل میشه از سیری استفاده کرد؟
و یه سوال دیگه بجای ماژول رله چهار خروجی میشه از این ماژول های تک رله ساده استفاده کرد؟
با سلام
در مورد نوع رله ، بله می توانید از هر مدلی که دوست دارید استفاده کنید.
در مورد استفاده از سیری باید بررسی کنید که سیری نیز API مربوط به ارتباط با ESP را دارد یا خیر.
به عنوان مثال این کتابخانه نوشته است siri را ساپورت میکند، باید بررسی کنید
سلام لطفا یک اموزش درباره متصل کردن ESP32 WEOOM 32-D به NRF24L01+PA+LNA این دو را بزارد خیلی ممنون
با سلام دوست عزیز
این آموزش داخل سایت وجود دارد مطالعه بنمایید