آردوینو اینترنت اشیا IOT برد Nodemcu خانه هوشمند

ارسال دما به ربات پیام رسان بله از چندین سنسور DS18B20 با برد ESP32

نوشته شده توسط آرش کدخدایی

با سنسور دمای ds18b20 آشنایی دارید، پیش از این روش ارتباط آردوینو با پیام رسان بله را آموزش دادیم. اکنون توسط برد ESP32 که دارای بلوتوث و وای فای داخلی است. میخواهیم اطلاعات چندین سنسور DS18B20 را دریافت کرده و روی ربات بله ارسال کنیم. لازم به ذکر است که تمامی سنسورهای دما را به یک پایه از برد متصل می‌کنیم. به عبارتی این خاصیت سنسور دما DS18B20 میباشد که توسط یک پایه از میکرو، امکان ارسال چندین اطلاعات را دارد. در این آموزش روش کدنویسی برای ارسال این اطلاعات به پیام رسان بله را بررسی می‌کنیم. در ادامه آموزش دریافت دما از چندین سنسور ds18b20 و ارسال به بات بله با ESP32 با دیجی اسپارک، مرجع تخصصی آردوینو به زبان فارسی همراه باشید.

 


برد ESP32 و ربات بله


زمانی که برد ESP8266 معرفی شد، سرعت رشد محبوبیت آن در انواع پروژه‌ها باعث بروز تحول عظیمی در عرصه IoT شد. امکان افزودن درگاه Wifi با قیمتی اندک به کلیه پروژه‌ها فراهم شد. اندکی بعد Espressif یک نسخه بهتر از میکروکنترلر قبلی را با نام ESP32 معرفی کرد. این مدل نه تنها قابلیت پشتیبانی از WiFi را داشت بلکه از BLE داخلی نیز پشتیبانی میکرد. برد ESP32 تقریبا برای هر پروژه اینترنت اشیا مناسب است.

مشخصات تراشه ESP-WROOM-32

  • Xtensa® Dual-Core 32-bit LX6
  • Upto 240MHz Clock Freq.
  • SRAM داخلی ۵۲۰kB
  • فلش خارجی ۴ مگابایتی
  • گیرنده Wi-Fi 802.11b / g / n
  • بلوتوث ۴٫۲ / BLE

از آنجا که محدوده ولتاژ عملیاتی ESP32 از ۲٫۲V تا ۳٫۶V است، این برد دارای یک تنظیم کننده ولتاژ LDO است تا ولتاژ را در ۳٫۳ ولت ثابت نگه دارد و بطور کلی فقط پین خروجی ۳٫۳ ولت در بورد تعبیه شده است. آموزش افزودن esp32 به آردوینو در آموزش راه اندازی برد اینترنت اشیاء NodeMCU تراشه ESP32 در آردوینو توضیح داده شده است. همچنین برای آشنایی با بله و ساخت بات در آن به آموزش ارتباط با بات بله مراجعه کنید. درباره سنسور دمای ds18b20 نیز آموزش های مختلفی در دیجی اسپارک منتشر شده است.

 


آماده سازی ESP32


پایه‌های برد ESP32 کاملا مشخص می‌باشد. همانطور که پیشتر اشاره شد، کلیه سنسورهای دما DS18B20 را با یک پایه از این برد راه اندازی میکنیم. در این پروژه قصد داریم از طریق ربات پیام رسان بله دستوری برای esp32 ارسال کنیم و در پاسخ دمای دو عدد سنسور دمای DS18B20 را دریافت کنیم. مدار را به این صورت میبندیم:

همان طور که میبینید هر دو سنسور به پین شماره ۱۵ از برد ESP32 ما متصل هستند. دقت داشته باشید که حتما باید مقاومت ۴٫۷ کیلو اهمی از تغذیه به پایه دیتا متصل باشد. پس از اطمینان از نصب بودن برد esp32 در آردوینو و انتخاب آن از منوی boards میتوانیم برنامه نویسی را شروع کنیم. همچنین از نصب بودن کتابخانه های BaleMessengerBot، OneWire و DallasTemperature نیز اطمینان حاصل پیدا کنید. از طریق Library Manager این کتابخانه ها را نصب کنید.

 


کد آردوینو ربات بله


حتما دقت داشته باشید در هنگام آپلود برنامه باید دکمه BOOT روی ESP32 را فشار دهید تا اجازه آپلود داده شود. در کد زیر SSID، PASSWORD وای فای و TOKEN بات خود را وارد کنید سپس برنامه را آپلود کنید. چنانچه روش دریافت این موارد را نمیدانید به آموزش اتصال برد آردوینو با ربات پیام رسان بله Bale App مراجعه کنید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

حال با ارسال کلمه دما به بات بله دمای سنسور ها را دریافت کنید.

همچنین شما میتوانید از سنسور های بیشتری استفاده کنید و به همین طریق در مدار قرار دهید و تعداد سنسور ها را در متغیر deviceCount تعریف کنید. برای تغییر کلمه دریافتی از بات بله میتوانید شرط (text == “دما”) را تغییر دهید.


وسایل مورد نیاز


 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

آرش کدخدایی

یک تازه کار علاقه مند به تکنولوژی :)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۹ دیدگاه

  • با سلام
    چقدر کار کردن با ربات بله جالبه ولی در تصویر سنسور شما ساده است و در تصویر دوم کابل داره تفاوتی داره؟

    • سلام
      کار کردن با تکنولوژی بطور کلی ساده است فقط باید علاقه مند بود
      دو سنسور یکی هستند و فقط تفاوتشان در این است که یکی کابل و روکش دارد و دیگری ندارد

      • سلام روز بخیر
        میشه کنار موقعیت یاب سنسور سنجش دما و ارسال انلاین قرار بگیر و اگر میشه بفرمایید چه نوع سنسوری باسد استفاده کنم.
        ممنون

  • سلام من توی خط ۶۴ مشکل بر خوردم وقتی میزنم آپلود شه قرمز میشه مشکل ااز کجاست

  • سلام من توی خط ۶۴ مشکل برخوردم وقتی میزنم آپلوذد شه قرمز میشه مشکل از کجاست

  • با سلام من یک برد آردوینو دارم که چند سنسور مختلف بهش وصله و الان می خواهم دیتا رو از آردوینو به esp8266 بدم و از طرق برد esp به پیام رسان بله بفرستم حالا دوتا سوال دارم اولی اینه که میشه این کارو کرد یعنی ارتباط سریال بین espو arduino راه اندازی کنم؟
    سوال دومم اینه که دستور خواندن رو چه جوری بنویسم که اطلاعات از طرف برد esp ذخیره بشه و بتونم اون رو بفرستم به پیام رسان بله؟

  • چرا وقتی داره پرگرام میشه این خطارو میده
    error compiling for bord Generic esp8266 module
    میده؟
    متن کامل خطا
    exit status 1
    Error compiling for board Generic ESP8266 Module.

      • از این (WiFi.mode(WIFI_STAخطا ارور میگیره ولی با اضافه کردن کتاب خانه esp8266wifi رو اضافه میکنم دیگه ارور نمیگیره از خط ذکر شده و این خطا رو میده ultiple libraries were found for “WiFi.h”
        Used: C:\Program
        Multiple libraries were found for “BaleMessengerBot.h”
        Used: C:\Users\ASUS\Documents\Arduino\libraries\BaleMessengerBot_Arduino-master
        Multiple libraries were found for “OneWire.h”
        Used: C:\Users\ASUS\Documents\Arduino\libraries\OneWire
        Not used: C:\Users\ASUS\Documents\Arduino\libraries\MAX31850_OneWire
        Multiple libraries were found for “DallasTemperature.h”
        Used: C:\Users\ASUS\Documents\Arduino\libraries\DallasTemperature
        Not used: C:\Users\ASUS\Documents\Arduino\libraries\MAX31850_DallasTemp
        Multiple libraries were found for “SPI.h”
        Used: C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.1.0\libraries\SPI
        Multiple libraries were found for “ESP8266WiFi.h”
        Used: C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.1.0\libraries\ESP8266WiFi
        exit status 1
        Error compiling for board NodeMCU 0.9 (ESP-12 Module).

        • سلام
          متاسفانهدر برنامه مربوط به nodemcu و کنترل ال ای دی ها برنامه بعد از چند روز کار کردن مجددا پیامهای قبلی رو خود بخود اجرا و شروع به پاسخ دادن میکنه و پشت سر هم پیام تغسیر حالت ال ای دی میاد در حدی که به بیش از ۲۰۰ پیام میرسه آیا این مورد اصلاح شده؟؟؟

  • سلام
    وقت بخیر
    من میخوام این پروژه رو با Node Mcu Esp8266 انجام بدم، چه تغییراتی لازمه انجام بدم تو برنامه نویسی؟
    ممنونم

  • سلام
    بنده اشتراک سه ماهه خریدم اما الان که می خواهم به کد ها دسترسی کنم می گه که پیام تایید به ایمیل شما ارسال شد ولی تا به حال هیچ ایمیلی ارسال نشده لطف کنید بررسی کنید مشکل از کجا یا چطوری میشه دوباره اون ایمیل رو ارسال کرد

  • سلام خسته نباشید
    عذر میخوام میخواستم بدونم میشه با پیام رسان بله برنامه ای نوشت که به صورت خودکار هشدار صادر کنه بدون اینکه بش دستور بدیم؟