حدود سالهای ۱۳۸۶ بود که دوستی از من درخواست مشاوره در زمینه هوشمند سازی نمود. ایدهای که در سر داشت از این قرار بود، که عبور و مرور آپارتمان مسکونی اش را بتواند از راه دور مدیریت کند. به عنوان مثال وقتی که در شهر محل سکونت حضور نداشته باشد و شخصی (تعمیر کار، نظافتکار و یا مهمان) بخواهد وارد منزل شود، او بتواند از راه دور این کار را انجام دهد. خب در آن سالها نمیتوانستیم به سادگی امروزه از اینترنت استفاده کنیم. از این اولین راه حل استفاده از سیستمهای مبتنی بر اس ام اس بود. در اینجا نمیخواهم راجع به اون ماجرا و چالشهای پیش رو صحبت کنم. ولی هر آنچه که بود، باید قدر امروز، بردهای امبدد و اینترنت را بدانیم. در ادامه این پروژه با ربات تلگرام و چند سخت افزار در حد ۳۰ هزار تومانی، شیوه مدیریت در منزل و یا هر در دیگری را آموزش خواهم داد. با مرجع تخصصی اینترنت اشیاء IOT به زبان فارسی، دیجی اسپارک همراه باشید.
مدیریت در ورودیبا ربات تلگرام آردوینو
برای هوشمند سازی در ورودی، کافیست کدهایی که من نوشته ام را روی یک برد آردوینو Arduino آپلود کنید. پس از انجام این آموزش میتوانید با ربات تلگرام حداقل یک در ورودی را کنترل کنید. به عنوان مثال صبح از منزل بیرون زدید و سر کار هستید، ساعت ۱۰ خدمتکار به منزل شما میرسد، به سادگی و بدون نگرانی از داخل محل کار، در منزل را باز کنید، تا شخص وارد شود. البته من از برد کنترل اینترنت اشیاء Wemos D1 Mini استفاده کردهام. برایساخت ربات تلگرام در این پست توضیحی نمیدهم. در دو پست قبلی آموزش ارتباط ربات تلگرام با بردهای آردوینو در پروژه IOT و ارتباط برد رزبری پای با ربات تلگرام توضیحات کامل برای ساخت ربات تلگرام را دادهام. پس کافیست توکن ربات تلگرام را در کدهایی که در این آموزش قرار دارد، قرار دهید. بعد از آپلود و برقراری اتصالات میتوانید با ربات چت کنید و در ورودی را باز کنید.
امینت در ارتباط با ربات تلگرام
یکی از روشهای ایجاد امنیت برای این پروژه استفاده از چت آی دی است. همانطور که در پستهای قبلی و درخواست کاربران، قول داده بودم که شیوه تعریف چت آیدی تلگرام را آموزش دهم. در این پست، قسمت ۳۴ تا ۳۸ در کدها، اسکریپت خصوصی سازی برنامه بر اساس چت آیدی تلگرام است. که من در این کدها برای دو چت آیدی متفاوت خصوصی سازی کردهام. به این روش، فقط در صورتی که از دو چت آیدی تعریف شده وارد ربات تلگرام شوند، امکان مدیریت سیستم وجود دارد.
لوازم مورد نیاز:
اتصالات مدار
همانطور که مشخص است، بنده در این آموزش از برد کنترل اینترنت اشیاء Wemos D1 mini استفاده میکنم. در پروژه در ورودی برقی، نیاز به قفل برقی داریم. از آنجایی که این نوع قفلها به جریان زیاد لحظهای نیاز دارند. نمیتوان با پایههای میکروکنترلر به آنها فرمان داد. پس انتخاب رله، بسیار اهمیت دارد. برای این موضوع جهت سهولت من از شیلد رله مخصوص برد Wemos D1 Mini استفاده کردهام. اتصال این دو برد تا این قسمت، نیاز به سیم کشی ندارند. سپس با استفاده از آداپتور ۱۲ ولت و رله، اتصالات به قفل برقی برقرار میکنیم. چنانچه تمایل دارید شیوه اتصالات خروجی رله را به صورت حرفهای بیاموزید، به آموزش استفاده از رله Relay در پروژه اینترنت اشیاء IOT مراجعه کنید. تا این لحظه اتصالات پیچیدهای نداشتیم. این موضوع را میتوانید در ویدیو مربوطه در انتهای پست به دقت بررسی کنید.
تغذیه مدار
در پروژههای اینترنت اشیاء IOT یکی از اصولیترین مسایل تغذیه بردها است. از اینرو تلاش من بر این است که از همان آداپتور ۱۲ ولت مورد استفاده برای قفل برقی Solenoid Lock برای تغذیه برد Wemos D1 Mini استفاده کنم. همانطور که میدانید، تغذیه این برد ۵ ولت DC است. بنابراین به یک مدار کاهنده ۵ ولت نیاز داریم. انتخاب من هم سایز کوچک و هم راندمان مناسب باید داشته باشد. از اینرو من ماژول کاهنده ۵ ولت ثابت را انتخاب میکنم.
تنظیمات ربات تلگرام در برد آردوینو
کدهای زیر برنامه ارتباط برای انواع برد آردوینو Arduino با ربات تلگرام میباشد. در این برنامه کامندهای ربات تلگرام و برد Wemos D1 Mini تعریف شدهاند. پس از شروع، برنامه DIGI به شما خوشآمد میگوید و با دستور hi_digi میتوانید آن را فعال کنید. پس از آن صفحه کلید روی ربات تلگرام نمایش داده خواهد شد. من در این کدها با شماره ۱ که در صفحه کلید قرار دارد، تعریف کردهام که رله ۴ ثانیه فعال شود. که زمان مناسب برای بازشدن در ورودی است. سپس اتوماتیک قطع شده و زبانه قفل در حالت طبیعی قرار میگیرد.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
پس از وارد کردن کدها و کامپایل روی آردوینو یوزنیم و پسورد وای فای + توکن ربات تلگرام را در کدها وارد کنید. سپس روی برد آپلود کنید. پس از آن همانند تصویر زیر وارد ربات تلگرام که ساختهاید بشوید و Start را بزنید. ربات یک متنی را بر میگرداند و سپس بر روی دستور /hi_digi کلیک کنید. سپس ۱ دستور که در کدهای بالا تعریف شده است به صورت صفحه کلید در ربات برای شما نمایش داده میشود. با لمس کردن این کلید، رله و در نهایت زبانه قفل در ۴ ثانیه باز میشود.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
با سلام خدمت جناب مهندس
آموزش فوق العاده کاربردیه،به شکلی که بنده تقریبا به اکثر مدلها از قفل های برقی دسترسی پیدا کردم.
سپاس مهندس
با سلام
ضمن تشکر از توجه شما، خواهش میکنم. امیدوارم مفید واقع شود. اون قسمت سطرهای ۳۴ تا ۳۸ که در متن هم به آن اشاره کردهام، مربوط به خصوصی سازی و ایجاد امنیت بر اساس چت آیدی تلگرام است. که طبق درخواست قبلی شما و دیگر کاربران در این پست قرار داده ام.
ضمن تشکر از توجه و زحمات بی دریغ شما،میخوام بدونم این پروژه رو روی قفل هایی که دارای زبانه هستند هم انجام شده یا خیر؟
با سلام و تشکر از توجه شما، این آموزش با قفل برقی Solenoid Lock اجرا شده است. که البته خروجی رله را به قفل ارتباط دادهام. شما میتوانید خروجی رله را به قفل برقی ۲۲۰ ولت متصل کنید.
سورسی راجع به اطلاعات فنی و مدلهای مختلف قفل های برقی موجود در بازار هست مهندس؟
سلام مجدد، بنده در این زمینه سورس خاصی را نمیشناسم، به طور معمول کلیه قفلهای برقی نیاز به یک جریان چند ثانیهای برای تحریک زبانه دارند. از اینرو با همان رله قابلیت مدیریت کردن را دارند. ولی دقت داشته باشید که در این آموزش، به علت اینکه قفل برقی از نوع ۱۲ ولت بود، بنده از منبع تغذیه ۱۲ ولت و ماژول کاهنده ۵ ولت استفاده کردهام. چنانچه شما از قفل برقی ۲۲۰ ولت استفاده میکنید، به این دو مدار نیازی ندارید و برای تغذیه برد کنترل اینترنت اشیا wemos d1 mini از منبع تغذیه ۵ ولتی مجزا استفاده کنید.
جناب مهندس طباطبایی
آموزشهایتان بسیار خوب است. سپاسگذارم و پیروز باشید
باسلام
از توجه و نظر شما سپاسگزارم. امید است که پاسخگوی نیازهای شما باشد و قدمی در راه آموزش جوانان برداشته باشیم.
سلام
با چه بردهایی از اردوینو میشه اینکارو کرد؟ من الان فقط uno دارم، با اون میشه؟
با سلام
ضمن تشکر از توجه شما، در این خصوص با اکثر بردهای آردوینو میتوانید انجام دهید. فقط باید به یک روشی برد را به اینترنت متصل کنید. مثلا میتوانید از ماژول وای فای به صورت مجزا استفاده کنید.
سلام استاد عزیز
برای من موقع آپلود این ارور رو می ده، میشه لطفا راهنمایی کنید.
Arduino: 1.8.1 (Windows 7), Board: “WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)”
C:\Users\moein\Desktop\_32131\_32131.ino:3:34: fatal error: UniversalTelegramBot.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board WeMos D1(Retired).
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
باسلام
ضمن تشکر از توجه شما، این ارور مربوط به کتابخانه است. لطفا از آموزش نصب کتابخانه در آردوینو Arduino IDE استفاده کنید.
سلام
ببخشید من چطور میتونم اون قسمت چت آیدی را روی پروژه های قبلی پیاده کنم؟
با سلام
همانطور که در متن توضیح دادهام، سطرهای ۳۴ تا ۳۸ در کدها مربوط به چت آیدی میباشد. این سطرها را کپی کنید و درقسمت مربوطه داخل کدهای دیگر قرار دهید.
جناب مهندس سلام
خیلی تشکر میکنم. اون چند خط کد چت آیدی همونی بود که در آموزش های قبلی خیلی بحثش بود؟
با سلام
ضمن تشکر از توجه شما، بله دقیقا همان کدها برای جداسازی بر اساس چت آیدی تلگرام میباشد. از این طریق میتوانید امنیت پروژه را تامین کنید.
سلام
آیا میتوان چند چت آیدى را با هم به صورت همزمان انتخاب کرد؟
با سلام
ضمن تشکر از توجه شما، بله همانطور که در کدها مشخص است بنده از دو چت آیدى منحصر به فرد استفاده کرده ام.
سلام
آیا میشه از رباتی که شما ساخته اید استفاده کنیم؟
با سلام
ضمن تشکر از توجه شما، بله میتوانید استفاده کنید، ولی مساله اینجاست که شما به توکن ربات بنده دسترسی ندارید. پس بهتر است ربات جدید بسازید و با استفاده از کدهای برنامه بر اساس چت آیدی دسترسی را محدود کنید.
با سلام مهندس من آموزشتون رو با برد مگا ۲۵۶۰ انجام دادم چون ماژول وای فای نداشتم با ماژول اترنت اینکار رو انجام دادم اما مشکلی که هست کار نمیکنه یعنی کلا جواب نمیده به پیام های ارسال شده کدهایی که ست کردم رو برد اینهاست:
#include
#include
#include
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don’t want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128); // numeric IP for Google (no DNS)
char server[] = “www.google.com”; // name address for Google (using DNS)
#define BOTtoken “21547XXXXXXXXXXXXXXXXXX-eEMpDev8B7pTZwTvk” // توکن ربات تلگرام
// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192,168,1,129);
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
UniversalTelegramBot bot(BOTtoken, client);
int Bot_mtbs = 1000;
long Bot_lasttime;
bool Start = false;
int D1=13;
const int relay1 = D1;
int relaystatus = 0;
void handleNewMessages(int numNewMessages) {
Serial.println(“handleNewMessages”);
Serial.println(String(numNewMessages));
for (int i=0; i Bot_lasttime + Bot_mtbs) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println(“got response”);
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
Bot_lasttime = millis();
}
}
ممنونم ازتون
با سلام
ضمن تشکر از توجه شما، در حقیقت با این روش لقمه را دور سر پیچاندهاید! با استفاده از وای فای عملکرد بهتری خواهید داشت. در درجه اول با نرمافزارهای اسکن شبکه، تست کنید که آیا شیلد اترنت در شبکه داخلی آی پی گرفته است یا خیر، سپس اعلام بفرمایید تا ببینم چه راه حلی برای این موضوع میتوانم پیدا کنم.
با سلام شرمنده من با این اررو مواجه می شوم چطور میشود برطرفش کنم ممنون
Build options changed, rebuilding all
C:\Users\acer-pc\Desktop\iot\iot.ino:131:34: fatal error: UniversalTelegramBot.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board WeMos D1 R2 & mini.
با سلام
ضمن تشکر از توجه شما، این ارور مربوط به کتابخانه UniversalTelegramBot.h میباشد. لطفا از منو مربوطه نسبت به نصب کتابخانه اقدام کنید.
سلام
یک سوال ساده اما مهم.
اگر کسی بخواهد که به جای استفاده از بردهای آموزشی خودش بردی رو طراحی کنه باید برای تامین کلاک میکروی ARM که مثلاً قرار هست با فرکانس ۱۰۰MHz یا بالاتر کار کنه باید از چه روشی استفاده کرد؟
خود میکرو اوسیلاتور داخلی داره تا جایی که من تو کاتالوگ ها خوندم نهایتاً تا ۲۵MHz رو ساپورت میکنه
آیا از کریستال استفاده می کنند؟
اصلاً کریستالی با این فرکانس پیدا میشه؟
با سلام
ضمن تشکر از توجه شما، در زمینه ساخت سخت افزار سالهاست که بنده کار نمیکنم. از اینرو نمیتوانم مشاوره دقیقی به شما ارایه دهم، از دیگر کاربران که تخصص کافی دارند تقاضا میکنم در این خصوص پاسخ دهند. نکته مهم دیگر اینکه دنیای امبدد سیستمها از چند لحاظ صرفه استفاده بیشتری دارند. از جمله صرفه اقتصادی، سادگی کار، سرعت عمل، بدون نیاز به عیب یابی و موارد دیگر از اینرو با وجود بردهای امبدد متنوع دیگر طراحی و ساخت یک برد از پایه کار معقولی نمیباشد. مگر برای علاقمندی باشد.
سلام چه جوری میشه برد wemos رو به اینترنت خارجی وصل کرد و بجای فرستادن درخواست با ایپی داخلی .
ولی با تلگرام ولی نباشه و فوروادکردن ای پی هم نباشه روشی هست؟؟
ممنون
با سلام
ضمن تشکر از توجه شما، در این مورد هنوز آموزشی منتشر نکردهایم ولی شما میتوانید با ست کردن DNS ویا آی پی استاتیک روی برد از طریق موبایل اپلیکیشن به صورت مستقیم به برد فرمان دهید.
بعضی از آموزشات خیلی گنده نه تصویر داره نه هیچی وبعضی ها درجه یکه
با سلام
ضمن تشکر از توجه شما، در این مورد میتوانید سوال بفرمایید، تا رفع ابهام صورت گیرد.
با درود و خسته نباشید.
شما چگونه روی بورد کنترل اشیا برنامه رو اپلود کردید؟
واقعا توش موندم.
با سلام
ضمن تشکر از توجه شما، لطفا آموزش نصب و راه اندازی برد کنترل IOT اینترنت اشیاء Wemos D1 Mini شیوه راه اندازی را مطالعه کنید و موارد سوالی را از طریق ثبت کامنت بررسی کنید.
و می شه بگید چگونه رله مخصوص برد کنترل اینترنت اشیا رو به اردوینو وصل کنیم؟
با سلام
منظورتان را متوجه نشدم، میخواهید شیلد رله را به این برد میخواهید نصب کنید؟ یا همین شیلد رله را به برد دیگری؟
اره به اردوینو می خوام وصل کنم.
سلام مجدد
برای این منظور باید پین GND و ۵v را به تغذیه آردوینو متصل کنید. سپس پایه D1 برای فرمان به رله است، آنرا به یکی از پایههای دیجیتال آردوینو متصل کنید.
سلام من این کتابخانه ESP8266WiFi.h رو از کجا گیر بیارم ؟؟ ار طریق خود آردوینو که سرچ میکنم IOttwet رو پیدا میکنه؟؟؟
با سلام
در فروشگاه به صفحه برد کنترلی اینترنت اشیاء IOT Wemos Mini D1 بر پایه ESP8266 با تراشه CH340G مراجعه کنید، قسمت دانلودها فایل مربوطه قرار دارد.
مرسی اون مشکل حل شد حالا این ارور رو دارم
exit status 1
Error compiling for board Arduino Nano.
روب آردینو های دیگ هم همین ارورو رو میده
سلام مجدد
اگر میخواهید برنامه را روی برد دیگری آپلود کنید، باید پینها را در برنامه تغییر دهید، این برنامه به صورت پیش فرض برای برد Wemos Mini D1 کارایی دارد.
کلا یک پین D2 استفاده شده که اونم تغییر دادم بازم همین خطارو میده
سلام مجدد
در حالت بعدی، تغییراتی کلی هم در کدها باید ایجاد کنید، چون در این برد تراشه وای فای، به عنوان تراشه اصلی است و شما در برد نانو اگر از ماژول وای فای استفاده میکنید، باید تغییراتی در آدرسدهی پینها ایجاد کنید. بنده با آردوینو نانو این مدار را نبستهام که بتوانم راهنمایی دقیق و کامل ارایه دهم. در این مورد از دیگر کاربران که تخصص کافی دارند، تقاضا دارم تا در این بحث شرکت کنند.
با سلام و ضمن تشکر از توجه و زحمات بی دریغ شما
با توجه به چت ایدی ایا میتوان کاری کرد که هر کس قادر به روشن و خاموش کردن لوازم باشد و در صورت خاموش و روشن کردن پیام ان علاوه بر ان شخص به خود من هم ارسال شود(با توجه به اینکه در برخی مکانها به علت وجود افراد زیاد تعریف کردن هر ایدی سخت میباشد میخواهم همه قادر به روشن خاموش کردن باشند ولی پیام ان به من هم ارسال شود)
باتشکر
با سلام و تشکر از توجه شما
در مورد چت آیدی فقط حسابهای کاربری که در برنامه تعریف شده باشند امکان فرمان دادن به برد را دارند. همچنین هر اکانت دیگری که به ربات پیام دهد، هیچ عملی انجام نمیشود و فقط برای افراد مجاز، چت آیدیشان ارسال میشود. در این خصوص که شما میفرمایید بنده تجربهای ندارم و از دیگر دوستان که در این زمینه تجربه دارند تقاضا دارم تا در این بحث شرکت کنند.
با عرض سلام و خسته نباشید. میخواستم بدونم از کدوم مدلهای برد آردوینو میشه استفاده کرد در این پروژه؟
با سلام
ضمن تشکر از توجه شما، در حقیقت با کلیه بردهای آردوینو امکان پیاده سازی وجود دارد. ولی نکته مهم این است که از یک روشی باید به شبکه متصل شود، در این آموزش از تراشه ESP8266 بخ صورت وای فای به شبکه اتصال صورت میگیرد. بنابراین شما میتوانید با ترکیب برد UNO و ماژول وای فای ESP8266 این کار را انجام دهید. به همین صورت با دیگربردهای آردوینو ولی خب تغییرات در کدها هم نیاز است.
سلام….وقت بخیر
برای کنترل رله ها از طریق سیم کارت و اس ام اس ارزانترین روش کدام است؟
با سلام
ضمن تشکر از توجه شما، برای این منظور بایستی از ماژول GSM استفاده کنید. که از حدود ۲۰ هزار تومان شروع میشوند.
با تشکر از مطالب بسیار مفید شما.
نحوه بدست آوردن چت آیدی رو میشه توضیح بدید؟
با سلام
ضمن تشکر از توجه شما، بلاخره یکی این سوال را مطرح کرد! برای این منظور چند ربات وجود دارد. بنده از ربات @ChatIDBot استفاده کردم.
تشکر بابت جوابتون. من ربات رو ستارت کردم ولی متاسفانه هیچ واکنشی نشون نداد!!
چطوری باید با این ربات کار کرد؟
با سلام
ضمن تشکر از توجه شما، هنگامی که برد به سیستم متصل است. از طریق سریال مانیتور نرم افزار آردوینو بررسی کنید که به وای فای متصل است یا خیر، سپس اطلاع دهید.
بله من متوجه منظور شما شدم. اساس کار این ربات به چه نحوی است؟
ممنون از پیگیریتون.
اصلا ما اگه کاری با اردینو و برد و اینها نداشته باشیم. من فقط میخام که چت ایدی رو بدست بیارم. با سایر مراحل مشکلی ندارم.
من یه جایی خوندم که فقط کافیه یه پیام به این ربات بفرستی. در جواب ربات ای دی من رو برمیگردونه.!! ای روش درست نیست ایا؟؟
سلام مجدد
اساس کار ربات مربوط به تلگرام میباشد و در اینجا نمیتوان توضیحات کاملی ارایه داد. پیشنهاد میشود در این خصوص جستجو کنید. در مورد چت آیدی چندین روش وجود دارد. یکی از سادهترین روشها را در پاسخ قبلی بنده برای شما ارسال کردم. روشی که پیام ارسال شود و ربات ارسال کند هم یکی از روشهاست ولی پیچیدهتر است.
تشکر بابت پاسختون.
مشکل من با خود ربات هست.
من فقط نحوه بدست اوردن چت ایدی رو میخام بفهمم.
در جایی نوشته بود همینکه یک پیام به این ربات بفرستی ربات چت ایدی رو برمیگردونه!!
این گفته درست نیست؟؟
لطفا فقط نحوه پیدا کردن چت ایدی رو بفرمایید.
با سلام
پاسخ شما در کامنت قبلی داده شده است. همچنین در اولین کامنت شما مربوط به تاریخ ۱۷ آبان ۹۶ توضیح دادم که با ربات @ChatIDBot میتوانید چت آیدی را بدست آورید.
با سلام خدمت شما
ببخشید در مورد امنیت در ارتباط با ربات تلگرام و خط های ۳۴ تا ۳۸ توی برنامه میشه توضیح بدید تشکر از شما.
با سلام
ضمن تشکر از توجه شما، در این چند خط تعریف میکنیم که فقط چت آیدی های تعریف شده اجازه ورود به سیستم را داشته باشند. مثلا شما ۳ چت آیدی را تعریف میکنید. در این صورت فقط همان ۳ حساب کاربری در تلگرام میتوانند به برد فرمان دهند.
سلام مجدد
ممنوم از توضیحات خوبتون ،ولی حالا برای بدست اوردن چت ای دی رباتی که در پرسش و پاسخ های قبل معرفی کردید چت ای دی رو برام ارسال نمیکنه لطف کنید راهنمایی بفرمایید.
خواهش میکنم، میتوانید از این ربات هم استفاده کنید. @ShowChatIdBot
تشکر بابت پاسختون.
من هم این ربات رو پیدا کردم که جواب میده
@get_id_bot
سلامت باشید.
متشکرم
با سلام
ممنون از راهنمایی تون این رباتی که گفتید جواب میده.
سلامت باشید.
درمورد کد نویسی رله دوم یا اضافه نمودن رله های بیشتر با یکسری تغییرات این کد بایستی به کدها اضافه بشه،درسته؟
if (text == “1”) {
digitalWrite(relay1, HIGH); // turn the Relay on (HIGH is the voltage level)
delay(4000);
digitalWrite(relay1, LOW); // initialize pin as off
relaystatus = 1;
bot.sendMessage(chat_id, “Door is going to be Open”, “”);
}
با سلام
ضمن تشکر از توجه و تحلیل شما، قبل از هرچیزی در ابتدای کدها
const int relay1 = D1;
باید همانند این خط، یک خط دیگر با نام رله دوم معرفی شود و به یکی از پایههای برد نسبت داده شود. به این صورت
const int relay2 = D2;
سپس در بخش loop و setup کدها هم باید تغییراتی اعمال شود.
سلام جناب اروند ماکه توی این برنامه برد اردینو استفاده نکردیم برنامه هارو کجا دقیقا اپلود می کنین؟؟
با سلام
ضمن تشکر از توجه شما، منظور سوالتان را متوجه نشدم، لطفا دقیقتر توضیح دهید. کدها توسط کامپایلر آردوینو روی برد مربوطه آپلود میشود.
ببینید مثال ما کد هارو توسط کابل روی اردینو می ریزیم برای این برد اینترنت اشیا جای و کابلی نداریم که بخوایم روش کد هارو بریزیم
سلام مجدد
چرا کابلی نداریم؟ این برد هم از طریق رابط USB به سیستم متصل میشود و کدها را روی آن آپلود میکنیم. جهت مفهوم شدن قضیه حتما پست آموزش نصب و راه اندازی برد کنترل IOT اینترنت اشیاء Wemos D1 Mini را به صورت کامل و دقیق مطالعه کنید. سپس هر سوالی داشتید مجددا مطرح کنید.
سلام و خسته نباشد در مورد این پروژه دو تا سوال داشتم اول اینکه می شه رباتی ساخت که حتی جواب دادن به درب بازکن را با تلگرام بتونه انجام بده و فرد پشت درب بتونه با فردی که با موبایل کنترل درب بازکن رو داره مکالمه کنند (از طریق ربات و پنل درب بازکن دم درب) ؟ دوم آیا می شه رباتی ساخت که ابتدا چت آیدی شخص را با فراخوانی ربات چت آیدی بدست بیاره و سپس این فرد که سر گروه تلقی می شه سایر اشخاص استفاده کننده رو به گروهی که از ربات استفاده می کنند add کنه ؟ متشکر
با سلام
ضمن تشکر از توجه شما، در خصوص سوال اول میتوانید در تنظیمات ساخت ربات اطلاعات تماس از جمله آی دی تلگرام شخص سازنده یا مثلا صاحب منزل را وارد کنید. سپس هر کسی که ربات را استرات میکند، به آی دی سازنده هم دسترسی خواهد داشت، از اینرو میتواند همزمان با وی هم چت کند. در خصوص سوال دوم هم قابل اجرا است ولی نیاز به نوشتن یک ربات پیچیده با کدنویسی تحصصیتر است.
سلام
بسیار ممنون از آموزش های خوبتان. میشه چند تا کیبورد اضافه کرد؟ مثلا وقتی گزینه لامپ رو در کیبورد انتخاب میکنیم بعدش گزینه ی روشن و خاموش در یک کیبورد دیگه نمایش داده بشه؟
چطوری میتونیم از زبان فارسی در گزینه ای کیبورد استفاده کنیم؟
با سلام
ضمن تشکر از توجه شما، بله امکان پذیر است. با کتابخانه ArduinoJson میتوانید این کار را انجام دهید. به عنوان مثال کد زیر برای تعریف اولین کیبورد است.
String keyboardJson = “[[\”کلید\”]]”;
برای تعریف کیبورد تو در تو باید از دستور زیر استفاده کنید.
if (text==”کلید”)
{
String keyboardJson = “[\”کلید خاموش\”]”
سلام . کتابخونه Arduino json رو پشتیبانی نمیکنه حتی من example های خودش رو هم خواستم امتحان کنم ارور میده
با سلام
ضمن تشکر از توجه شما، متوجه نشدم، دقیقا چه کارهایی انجام دادید که به این نتیجه رسیدید؟؟
فایل universal telegrom , arduino json رو هم از طریق خود نرم افزار و هم از فایل های موجود جایگزین کردم ولی بازم خطا تغییری نکرد
Build options changed, rebuilding all
libraries\arduino_597862\UniversalTelegramBot.cpp.o:(.text._ZN11ArduinoJson9JsonArray7invalidEv[_ZN11ArduinoJson9JsonArray7invalidEv]+0x8): undefined reference to `__cxa_guard_acquire’
libraries\arduino_597862\UniversalTelegramBot.cpp.o:(.text._ZN11ArduinoJson9JsonArray7invalidEv[_ZN11ArduinoJson9JsonArray7invalidEv]+0xc): undefined reference to `__cxa_guard_release’
libraries\arduino_597862\UniversalTelegramBot.cpp.o: In function `ArduinoJson::JsonArray::invalid()’:
C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_acquire’
C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_release’
libraries\arduino_597862\UniversalTelegramBot.cpp.o: In function `ArduinoJson::JsonObject::invalid()’:
C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_acquire’
C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_release’
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
با سلام
لطفا ارور دریافتی را فقط در یکی از پستها مطرح کنید. همانطور که در پست دیگر به شما گفتم، این ارور مربوط به عدم نصب کتابخانه نیست. ولی یک مشکلی هست که بنده هم تابحال با چنین مشکلی برخورد نکردهام. لطفا سورس کتابخانههای مربوط به این کدها را از مسیر C:\Users\Alireza.M\Documents\Arduino\libraries\ پاک کنید و مجددا نصب کنید. سپس موارد را اطلاع دهید.
سلام و سپاس
فقط یه سوال داشتم برای کنترل با ربات تو هر آموزشی باید به ربات شما متصل بشیم یا مستقل از ربات خودمونم میتونیم کار کنیم ؟
ممنون
با سلام
ضمن تشکر از توجه شما، خیر اصلا نیازی نیست به رباتی که توسط ما ساخته شده است، متصل شوید. اصلا جایی از پست هم اسم ربات را ننوشتهام. در این خصوص به پست ارتباط ربات تلگرام با بردهای آردوینو در پروژه IOT مراجعه کنید. در این پست کاملا شرح دادهام که چطور یک ربات جدید بسازیم و برای ارتباط با آردوینو آماده سازی کنیم.
سلام،خسته نباشید،میخواستم بدونم کسی که از صفر بخواهد شروع کنه باید چه اطلاعاتی رو کسب کنه؟با کلاس های برنامه نویسی هم میشه وارد این عرصه شد یا نه؟منمنون میشم راهنمایی کنید.
با سلام
ضمن تشکر از توجه شما، در این خصوص میتوانید از کلاسهای برنامه نویسی هم استفاده کنید. روش آموزش در دیجی اسپارک به صورت پروژه محور است. شما یک پروژه را انتخاب میکنید، طبق اصول آموزش داده شده موارد را پیش بروید سپس سوالاتتان را از همان طریق بپرسید.
باسلام
سوالی در مورد کیبورد شیشه ای که در ربات تلگرام درست کرده اید که با چه دستور ای این دکمه را در ربات ایجاد کردید و دیگر نیز اگر بخواهیم در پایتون نیز این امر را ایجاد کنیم به چه صورتی می شود
با سلام
ضمن تشکر از توجه شما، در این خصوص از کتابخانه keyboardJson استفاده شده است که با ربات تلگرام همخوانی لازم را دارد. برای پایتون منتظر باشید تا آموزش مربوطه راه اندازی شود.
سلام
ببخشید اقای اروند اگه بخواهیم کلا برای کنترل تشیا یه حالت set کردن زمان هم قرار مثلا سر فلان ساعت یک پین فعال یا غیر فعال شود برنامه به چه صورتی باید ارتقا یابد
Set کردن زمان و انتخاب کردن پین مورد نظرم از طریق تلگرام انجام شود
با سلام
ضمن تشکر از توجه شما، در این خصوص یه مقداری پیچیده میشود، باید از کتابخانههایی که ساعت دارند مانند TimeClient استفاده کنید. سپس انتخاب کنید که ساعت و تاریخ را از چه سروری دریافت کند. در چنین شرایطی کافیست که در کدهای آردوینو تعریف کنید، این قضیه ربطی به تلگرام ندارد، مگر اینکه شما در کدها جوری تعریف کنید که اگر فلان پیام از تلگرام دریافت شد، شروع به شمارش کند. برای افزودن ساعت به این برد میتوانید از آموزش ساخت ساعت عقربهای با حلقه LED NoePixel Ring و برد wemos D1 Mini استفاده کنید.
سلام و وقت بخیر خدمت استاد ارجمند
میخوام بدونم برای هر پروژه باید یک ربات مجزا نوشت؟و اگر خیر چطور باید شخصی سازی انجام داد که تخلخل ایجاد نشود؟
سوال بعدی اینکه آیا یک برد امبدد توکن دارد؟
با سلام
میتوانید با یک ربات همه بردهایی را که در اختیار دارید مدیریت کنید، ولی نه با این ربات و باید به صورت تخصصی برنامه نویسی شود. برخی از بردهای امبدد سرویس ابری منجصر به خودشان را ارایه میدهند. که این موضوع در حال پیشرفت است.
سلام این اررو میده
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
با سلام و تشکر از توجه شما
کاربر گرامی این کدهای برای برد UNO نمیباشند. لطفا بفرمایید با چه بردی کار میکنید تا راهنمایی کنم.
سلام خدمت شما و تشکر از سایت خوبتون
بنده این پروژه رو راه انداختم برد به وایفای وصل است توی ربات هم جواب میدهد و بازخود ها را اراعه میدهد ولی وقتی ۱ رو میفرستم وضعیت پین d1 هیچ تغییری نمیکند توی برنامه هم همون پین d1 تعریف شده .حتی بعد از ارسال ۱ بازخود در درحال باز شدنه هم میده ولی وضعیت پین d1 تغییری نمیکنه.
با سلام و تشکر از توجه شما
چطور متوجه میشوید که پین D1 تغییری نمیکند؟
با رله و led تست کردم هیچ تغییری نمیکنه فقط اول کار که تغذیه برد وصل میشه یه لحظه تغییر میکنه
سلام مجدد
بردتون چی هست؟
با سلام.
در این پروژه باید ماژول وای فای و تلگرام به یک مودم وصل باشن؟
باسلام
خیر، در این صورت که نمیشه در ورودی را کنترل کرد. در حقیقت برد کنترلر این آموزش از طریق وای فای و اینترنت به سرور تلگرام متصل میشود. حالا شما در هر نقطهای که اینترنت داشته باشد، میتوانید با این برد ارتباط برقرار کنید.
با سلام و سپاس از سایت خوبتان
اقای اروند در صورت امکان برنامه پروژه را به نحوه ی ارتقا داد که امنیت سیستم را بالا برد که در هنگام login یک شخص به سیستم از آن تقاضای رمز عبور و نام کاربری بخواهد که حالا به فرض اینکه یک نفر هم توانست ربات تلگرامی را پیدا کند نتواند به سیستم اصلی دسترسی پیدا کند
با سلام و تشکر از توجه شما
به نظر میرسد که شما این آموزش را کاملا درک نکردهاید. بنده چند مورد را مجددا به روشی دیگر بیان میکنم. چت آیدی در شبکه تلگرام یک عدد منحصر به فرد است. یعنی هر کاربری که دارای حساب کاربری در تلگرام است، یک چت آیدی مشخص هم دارد. در این آموزش دسترسی به ربات برای هر کاربری آزاد است ولی ربات فقط و فقط به کاربرانی پاسخ میدهد که چت آیدی آنها در سیستم تعریف شده باشد. حال با توجه به این توضیحات، شما امنیتی بالاتر از این نیاز دارید؟
سپاس گذارم اقای اروند بله برای این مشکل چت ایدی من یک مورد علاوه بر آن می خواستم که از اموزش های موجود در سایت خوبتان توانستم اضافه کنم
سلامت باشید. باعث خوشحالی بنده است.
با سلام جناب اقای اروند
این خطوط ۳۴ تا ۳۸ را چگونه می توانم در پایتون استفاده کنم برای رزبری پای
ممنون
با سلام و تشکر از شما
این کدها برای پایتون نمیباشند. در این خصوص هنوز آموزشی منتشر نشده است.
با سپاس یعنی امکانش هم نمی باشد
من منتظر ارائه اموزش های شما در حوزه اینترنت اشیا با رزبری پای هستم
باتشکر
سلام مجدد
تشکر از شما، در حال برنامه ریزی هستیم.
با عرض سلام و خسته نباشید وهمچنین تبریک سال نو
من همه مراحل و درست انجام دادم
ولی وقتی در ربات تلگرام ledon یا ledoff و sendمیکنم رله روشن نمیشه و در serial monitor این پیامو میده
⸮Connecting Wifi: CAR-974
……..
WiFi connected
IP address: 192.168.1.3
got response
handleNewMessages
۱
got response
handleNewMessages
۱
ممنون میشم اگه راهنمایی کنید
با سلام و تشکر از توجه شما
پیامهای دریافتی در سریال مانیتور نشانه اتصال به شبکه است. مشکل در جای دیگری است. اولا که دستورات به صورت /ledon تعریف شده است. این موضوع را بررسی کنید. نکته دیگر هم اتصالات روی برد میباشد. لطفا بررسی و موارد را از همین طریق اطلاع رسانی کنید.
سلام مجدد من به این ارور برخوردم :
Arduino: 1.8.5 (Windows 8.1), Board: “WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)”
D:\Arduino Projects\P1\Project_2\Project_2.ino: In function ‘void handleNewMessages(int)’:
Project_2:61: error: ‘text’ was not declared in this scope
if (text == “1” ) {
^
Project_2:62: error: ‘chat_id’ was not declared in this scope
bot.sendChatAction(chat_id, “typing”);
^
Project_2:66: error: ‘text’ was not declared in this scope
if (text == “3” ) {
^
Project_2:67: error: ‘chat_id’ was not declared in this scope
bot.sendChatAction(chat_id, “typing”);
^
Project_2:71: error: ‘text’ was not declared in this scope
if (text == “no”) {
^
Project_2:72: error: ‘chat_id’ was not declared in this scope
bot.sendChatAction(chat_id, “typing”);
^
Project_2:78: error: ‘text’ was not declared in this scope
if (text == “/start”) {
^
Project_2:79: error: ‘from_name’ was not declared in this scope
String welcome = “Welcom to Digispark onlie IOT Chat” + from_name + “.\n”;
^
Project_2:81: error: ‘chat_id’ was not declared in this scope
bot.sendMessage(chat_id, welcome);
^
D:\Arduino Projects\P1\Project_2\Project_2.ino: At global scope:
Project_2:84: error: expected declaration before ‘}’ token
}
^
exit status 1
‘text’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
میشه بگید مشکل از کجاست ؟
با سلام و تشکر ازشما
کدهایی که کپی کردهاید دارای مشکل هستند. لطفا کدها را دقیق کپی کرده و دقت داشته باشید که به هنگام انتقال به محیط برنامه نویسی آردوینو Arduino IDE داخل صفحه کدهای دیگری نباشند. سپس موارد را اطلاع رسانی کنید.
با سلام خدمت آقای طباطبایی
من میخوام به جای اینکه اطلاعات را به ربات بفرستم به یک سایت ارسال کنم. منظورم استفاده از پروتکل http و متد get یا post. لطفا راهنمایی بفرمایید.
با سلام و تشکر ازشما
در این خصوص هنوز آموزشهای مربوطه را منتشر نکردهایم. خیلی جزئی در خصوص HTTP آموزش سادهای داریم. ولی این موارد که میفرمایید نیاز به آموزش انحصاری دارند.
سلام آموزش جالبی بود
من اگر بخوام اینو بجای درب ورودی به دزدگیر خونه وصل کنم، که هروقت خواستم قطع و وصلش کنم چیکار باید بکنم؟
با سلام و تشکر از شما
کافیست خروجی رله را به بخش مربوطه متصل کنید. البته دقت کنید که این کار توسط یک شخص متخصص انجام شود.
سلام مهندس تو ستاره های سطر ۳۷ چی رو مینویسیم. و اینکه markdown چی هست نوشتین
با سلام و تشکر از شما
مقادیر XXXXXX مربوط به چت آیدی اول و مقادیر YYYYYYY مربوط به چت آیدی دوم میباشد. به گزینه Markdown فعلا کاری نداریم.
ضمنا حالا که تلگرام فیلتر شده ماژول میتونه از روبات تلگرام چیزی دریافت کنه؟
سلام مجدد
در حال حاضر طبیعاتا با توجه به اینکه نیاز به برقراری ارتباط برد با سرورهای تلگرام میباشد، این ارتباط امکان پذیر نخواهد بود. در حال بررسی راه حل برای این موارد IoT هستیم.
این اولین پروژه من بود . متاسفم بخاطر فیلتر تلگرام.
اگه راهی وجود داشته باشه ولی مجوز ندن تو سایت بذارین. میشه با ایمیل دریافت کنیم آموزشش روو
از این بابت متاسفم، در حال حاضر اقدام بخصوصی نمیتوانیم انجام بدهیم. ولی همانطور که اشاره شد، در حال بررسی راهکارهای این موضوع هستیم.
خسته نباشید فراوان به شما و تیمتون.
من در برنامه نویسی تقریبا تازه کار هستم ممنون میشم اگه ی توضیحی در مورد خط ۳۰ تا ۴۲ و خط ۱۰۴ بدید
ممنون میشم
با سلام و تشکر از توجه شما
اینکه تازه کار هستید، جای نگرانی ندارد. میتوانید با خیال آسوده از دیجی اسپارک کمک بگیرید. خط ۳۰ تا ۳۳ موارد برای ارسال پیام و ارتباط با ربات تلگرام میباشد. این موارد طبق قوانین تعریف شده در کتابخانه میباشند. خطوط ۳۵ تا ۳۹ هم تنظیمات مربوط به چت آیدی هستند. این قسمت برای افزایش ضریب امنیت سیستم به کار رفته است.خطوط ۱۰۴ تا ۱۰۷ مربوطه به نمایش در سریال مانیتور است. که به هنگام برقرار بودن اتصال در سریال مانیتور کاراکتر «.» را نمایش میدهد.
خسته نباشید خدمت جناب مهندس.
من در برنامه نویسی اماتور هستم و لطفا یه توضیحی در مورد خط ۳۰ تا ۴۲ و خط ۱۰۴ بدید.
ممنون میشم اگه جواب بدید.
سلام مجدد
کاربر گرامی موارد را در پاسخ قبلی برای شما نوشتهام، لطفا بررسی کنید و سوالاتتان را از همین طریق مطرح بفرمایید.
سلام ببخشید اون ربات تلگرامی رو که داخلش بودید رو باید از کجا گیربیاریم؟یا شایدم باید خودمون اونو بسازیم؟
سوال دوم اینکه پروژه شما چرااصلا به برد اردوینو وصل نبود؟
با سلام و تشکر از توجه شما
بایستی خودتان ربات تلگرام منحصر به حساب کاربریتان را بسازید. جهت اطلاع از شیوه ساخت ربات لطفا به آموزش ارتباط ربات تلگرام با بردهای آردوینو در پروژه IOT مراجعه کنید. سپس موارد را از همین طریق اطلاع رسانی بفرمایید. منظورتان از سوال دوم را متوجه نشدم، دقیقتر بیان بفرمایید.
با سلام، ضمن تشکر از سایت خوبتون و اطلاعات کاملی که دراختیار میذارین، یک سوالی داشتم ممنون میشم راهنمایی بفرمایید، این امکان وجود داره که ارتباط بین رله و برد اصلی بدون سیم برقرار بشه ، برای مثال این ارتباط از طریق وای فای انجام بشه.
با سلام
خیر، این برد دارای تراشه وای فای میباشد و عملا کاربردی که مد نظر شماست، منظقی نمیباشد.