لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش Node-RED: پروژههای اینترنت اشیاء با ESP32، MQTT و Docker
- آخرین آپدیت
دانلود Node-RED: IoT projects with ESP32, MQTT and Docker
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره شامل Coursera Coach است!
یک روش هوشمندانهتر برای یادگیری با گفتگوهای تعاملی و لحظهای که به شما کمک میکند تا دانش خود را آزمایش کنید، پیشفرضها را به چالش بکشید و با پیشروی در دوره، درک خود را عمیقتر کنید.
در این دوره عملی، به دنیای توسعه IoT با Node-RED، ESP32، MQTT و Docker شیرجه بزنید. شما با نصب ابزارهای ضروری مانند Docker و Portainer شروع کرده و سپس محیط توسعه IoT خود را راهاندازی میکنید. در هر بخش، پروژههای واقعی مانند ایستگاه هواشناسی کوچک، دوربین نظارتی، سیستم آبیاری هوشمند گیاهان و موارد دیگر را خواهید ساخت. شما یاد میگیرید چگونه از MQTT برای ارتباطات امن استفاده کنید، دستگاههای خود را با Node-RED پیکربندی کنید و دادهها را در InfluxDB و Grafana ذخیره و بصریسازی نمایید. این دوره همچنین بهترین روشهای کار با کانتینرهای Docker و مدیریت امن سرویسها را پوشش میدهد. در پایان، دانش لازم برای طراحی و اجرای پروژههای IoT خود را با بهرهگیری از MQTT، Docker و جریانهای قدرتمند Node-RED برای دستگاههای متصل و هوشمند به دست خواهید آورد.
این دوره برای توسعهدهندگان و مهندسان مشتاق IoT که میخواهند ابزارها، فناوریها و تکنیکهای لازم برای پیادهسازی آسان و کارآمد پروژههای اینترنت اشیاء را درک کنند، ایدهآل است.
هیچ تجربه قبلی در زمینه IoT یا Node-RED مورد نیاز نیست، اگرچه دانش پایه در برنامهنویسی و مفاهیم سختافزاری مفید خواهد بود.
سرفصل ها و درس ها
مقدمه
Introduction
معرفاتی
Promo
درباره من
About me
پیشنیازها
Prerequisites
اسکچ، نمونه کدها و جریانها
Sketch, Code examples and flows
کد پایه: شروع هر پروژه
The basic sketch - start of every project
ساختن به جای سخنرانی
Making instead of lecturing
سلب مسئولیت
Disclaimer
نصب تمام برنامهها به صورت کانتینر
Install all programs as containers
مقدمه
Intro
چرا داکر (Docker)؟
Why Docker?
تهیه یک سرور مجازی (vServer)
Get a vServer
نصب داکر
Docker Installation
استفاده از Docker CLI با مثال Focalboard
Docker CLI using the example of Focalboard
پورتینر (Portainer)
Portainer
بروکِر Mosquitto
Mosquitto Broker
اجرای Mosquitto در کانتینر
Run Mosquitto in the Container
استفاده از ohmyz برای مدیریت راحتتر ترمینال
ohmyz for more convenient terminal handling
بروکِر Mosquitto با احراز هویت رمز عبور
Mosquitto Broker with PW authentication
نصب Node-RED
Node-RED
Node-RED با احراز هویت
Node-RED with authentication
نصب InfluxDB
InfluxDB
نصب Grafana
Grafana
نصب MariaDB و ایجاد دیتابیس از طریق CLI
MariaDB and create a DB via CLI
نصب Adminer
Adminer
آپدیت کانتینر داکر
Update Docker Container
استفاده از Traefik به عنوان Reverse Proxy برای دسترسی SSL
Traefik as reverse proxy for SSL access
فعالسازی SSL برای Node-RED با لیبلهای Traefik
SSL for Node-RED with Traefik Labels
استفاده از Cronjobs برای روتینهای بکآپ
Cronjobs for backup routines
بکآپ جریانهای Node-RED از طریق Cronjob
Backup of Node-RED Flows via Cronjob
اولین نگاه کلی به Node-RED
First overview of Node-RED
مقدمه
Intro
تفکیک وظایف نرمافزاری و سختافزاری
Separation of tasks of software and hardware
اولین نگاه کلی به جریانها و نودها
First overview of flow and nodes
بازنویسی Payload با نود Function
Overwrite Payload with Function Node
پردازش JSON
Process JSON
متغیرهای Context، flow و global
Context, flow and global variables
بررسی نودهای متنوع
So many nodes
مبانی MQTT
MQTT Basics
مقدمه
Intro
اصطلاحات MQTT
MQTT terminology
شبکه MQTT با مثال Subscriber و Publisher
MQTT network using the example of Subscriber and Publisher
سطوح Topic و Wildcard در MQTT با مثالهای CLI
MQTT Topic Levels and Wildcard with CLI examples
کیفیت سرویس (QoS)
Quality of Service QoS
پیامهای Retained
Retained Messages
مفاهیم Birth, Death و Last Will
Birth Death und Last Will
بهترین روشهای استفاده از MQTT
MQTT Best Practices
معرفی MQTT Explorer
MQTT Explorer
راهاندازی Node-RED
Setup Node-RED
مقدمه
Intro
تنظیمات بروکر و نودهای MQTT in و MQTT out
Broker settings and MQTT in & MQTT out
ذخیره دادههای Node-RED در InfluxDB
Save data from Node-RED in InfluxDB
اولین بصریسازی دادههای InfluxDB در Grafana
First visualization of InfluxDB data in Grafana
استفاده از INSERT و SELECT در MariaDB
INSERT and SELECT with MariaDB
کد پایه با ESP32 برای WiFi و MQTT
Basic sketch with ESP32 for WIFI and MQTT
مقدمه
Intro
پیشنهاد استفاده از VS Code با PlatformIO
Recommendation VS Code with PlatformIO
چشمکزن LED بدون استفاده از delay
LED Blink without delay
اتصال به WiFi و MQTT
WiFi and MQTT Connection
کنترل LED با MQTT
Switch LED with MQTT
ارسال و دریافت JSON
Send and receive JSON
انتقال کد منبع از VS Code به Arduino IDE
Transfer source code from VS Code for Arduino IDE
ایستگاه هواشناسی کوچک
Mini weather station
مقدمه
Intro
سیمکشی
Wiring
اسکچ پایه
Basic Sketch
سنسور دما و فشار BMP180
BMP180 Temperature and barometric pressure
سنسور نور BH1750
BH1750 Light sensor
ارسال دادههای سنسور به Node-RED
Transmit sensor data to Node-RED
ذخیره دادهها در InfluxDB
Save data in InfluxDB
بصریسازی دادهها در Grafana
Visualize data in Grafana
کنترل فن با MQTT
Controlling a fan with MQTT
کنترل فن با هیسترزیس
Control fan with hysteresis
مقادیر دما و تحلیل هیسترزیس
Temperature values and hysteresis
بصریسازی دادههای هواشناسی روی نمایشگر e-ink
Visualize weather data on the e-ink display
مقدمه
Intro
سیمکشی
Wiring
کار با PlatformIO و XIAO ESP32
PlatformIO and XIAO ESP32
نمایش Hello World روی E Ink
E-Ink Hello World
تراز کردن متن و تنظیم فونت
Align text and adjust font
تبدیل و جاسازی گرافیکها
Convert and embed graphics
نمایش همزمان متن و گرافیک
Display text and graphic together
استفاده از REST API دادههای هواشناسی
Weather data REST API
استفاده از REST APIها در Node-RED
Use REST APIs in Node-RED
ویرایش JSON
JSON editing
فرمتبندی تاریخ و سایر متغیرها
Formatting date and other variables
درخواست دادههای جدید توسط ESP32
ESP32 requests new data
حالت خواب عمیق (DeepSleep)
Deepsleep
محاسبه مصرف انرژی
Calculate power consumption
طراحی بدنه با پرینتر سه بعدی
3D printed housing
دوربین نظارتی با ESP32 Cam شامل نود یادگیری ماشین
Surveillance camera with ESP32-Cam incl. Machine-Learning Node
مقدمه
Intro
سیمکشی
Wiring
مثال CameraWebServer
CameraWebServer Example
ارسال تصویر از طریق MQTT
Send Picture via MQTT
نمایش عکسها در Node-RED
Display photos in Node-RED
استفاده از DeepSleep و سنسور حرکتی برای دوربین نظارتی
Deepsleep and motion sensor as surveillance camera
توکن تلگرام و پیادهسازی در Node-RED
Telegram Token and Node-RED implementation
ذخیره عکس روی سرور
Save photo on server
ارسال عکس از طریق تلگرام هنگام فعال شدن سنسور حرکتی
Send photo via Telegram when motion detector is triggered
ثبت زمان با RFID و TimeTagger
Time recording with RFID and TimeTagger
مقدمه
Intro
سیمکشی
Wiring
خواندن ID از RFID
Read RFID ID
اتصال به Node-RED
Connection to Node-RED
تایید ورود و خروج با LED
LED checkin checkout
راهاندازی TimeTagger به عنوان کانتینر با docker compose
TimeTagger as Container with docker-compose
استفاده از Web API در TimeTagger با درخواستهای HTTP
TimeTagger Web API with HTTP Requests
ثبت رکورد از طریق WEB API
PUT Record via WEB API
استفاده از Flatfile برای ذخیره ورودها روی سرور
Using a Flatfile for saving checkin on server
ارسال رکورد به WEB API
Send Record to WEB API
آبیاری گیاهان با کنترل زمانی و نظارت بر سطح آب
Time-controlled plant watering with water level monitoring
مقدمه
Intro
سیمکشی
Wiring
نمودار جریان (Flow Chart)
Flow Chart
ساختار پایه با استفاده از enums
Basic structure with enums
ارتباط MQTT بین Node-RED و ESP32
MQTT communication with Node-RED and ESP32
استفاده از Globals.h برای متغیرهای سراسری
Globals.h for global variables
فعال کردن رله از طریق MQTT به مدت ۳ ثانیه
Switch on relay via MQTT for 3 seconds
ارزیابی و ارسال سطح پرشدگی با سنسور التراسونیک
Evaluate and transmit fill level with ultrasound
ایجاد جدول MariaDB و استفاده از نود دیتابیس
Create MariaDB table and use database node
ذخیره اطلاعات سطح آب در MariaDB
Store water level information in MariaDB
تنظیم بازه زمانی برای آبیاری
Time interval for watering
نظارت بر سطح مخزن آب
Monitor water tank level
استفاده از DeepSleep برای کاهش مصرف برق
DeepSleep to save power
بصریسازی دادهها روی داشبورد
Visualization of data on Dashboard
پریزهای هوشمند و رلهها
Smart plugs and relays
مقدمه
Intro
فلش کردن Tasmota
Flashing Tasmota
پیکربندی Tasmota
Configure Tasmota
کنترل پریزهای Tasmota با Node-RED
Switching Tasmota sockets with Node-Red
خواندن دادههای سنسور از پریز هوشمند
Read sensor data from Smart Plug
ذخیره دادههای انرژی در InfluxDB و بصریسازی در Grafana
Save energy data in InfluxDB and visualize in Grafana
راهاندازی Shelly 1PM
Shelly 1PM Setup
اتصال Shelly و Node-RED از طریق RPC
Shelly and Node-RED via RPC
تغییر وضعیت Shelly با Node-RED
Toggle Shelly with Node-RED
نظارت بر دمای رله با اعلان تلگرام
Relay temperature monitoring with telegram notification
دکمه IoT کوچک با عمر باتری ۱۰۰ روزه
Mini IoT Button with 100 days battery life
مقدمه
Intro
مقایسه ESP8266 در مقابل ESP32 XIAO
ESP8266 vs ESP32 XIAO
اسکچ IoTButton و نود Toggle
IoTButton Sketch and Toggle Node
پرینت سه بعدی و محاسبه مصرف باتری
3D print and Calculation Battery Consumption
رادیو اینترنتی
Internet Radio
مقدمه
Intro
سیمکشی
Wiring
افزودن کتابخانهها
Include Libraries
ایستگاههای رادیویی اینترنتی
Internet radio stations
کنترل رادیو از طریق MQTT
Control Radio via MQTT
تنظیم زمان هشدار و داشبورد
Setting the alarm time and Dashboard
استفاده از MQTT با TLS
MQTT with TLS
مقدمه
Intro
استفاده از DynDNS و Certbot
DynDNS and Certbot
مونت کردن فایلهای گواهینامه (Cert) در داکر
Mount Cert files in Docker
تنظیمات mosquitto.conf و بروکر Node-RED
mosquitto.conf and NodeRED Broker Settings
اتصال ESP32 و MQTT با TLS
ESP32 and MQTT with TLS
تحلیل ترافیک MQTT با Wireshark
Analyze MQTT Traffic with Wireshark
نمایش نظرات