چند سالی بود که پروژه اتوماسیون خانگی خودم را شروع کردم. این کار با ساخت یک فرستنده 433 مگاهرتز با سرور کنترل شده با آردوینو شروع شد تا تعداد زیادی از سوئیچ های راه دور مبتنی بر PT2262 را تغییر دهد. بعداً یک گیرنده مبتنی بر آردوینو برای ایستگاه هواشناسی خود اضافه کردم، کنتاکت کنترل شارژر EV خود را وصل کردم و غیره. همه چیز بیشتر و بیشتر در هم تنیده شد (و پیچیده تر!). بنابراین، چند ماه پیش تصمیم گرفتم همه چیز را بر اساس MQTT برای پیامرسانی، Node-RED برای اتوماسیون (هر دو روی یک Raspberry Pi B+ اجرا میشوند) و MariaDb برای لاگ (قابل اجرا در Synology NAS) استاندارد کنم. بعداً کارگزار MQTT (Mosquitto) و Node-RED را نیز به NAS منتقل کردم.
![](https://duino4projects.com/wp-content/uploads/2022/07/MQTT-and-Wifi-Powered-Mailbox-Flag.jpg)
این دستورالعمل یک پروژه سرگرمکننده احمقانه را توصیف میکند که صندوق پستی من در خیابان را در این زیرساخت خانه متصل میکند. ایده این است که اگر کسی صندوق پستی نصب شده در حصار را در حدود 10 متری درب ورودی باز کند، به تلفن من و احتمالاً دستگاههای دیگر به من سیگنال میدهد.
مرحله 1: طرح کلی، پیش نیازها و قطعات
طرح کلی
در سطح بالا، صندوق پستی باید پس از باز شدن، یک پیام MQTT منحصر به فرد را برای کارگزار ارسال کند تا مشترکین آن موضوع مطلع شوند. Node-RED نیز مشترک می شود و مقداری اتوماسیون را انجام می دهد، در این مورد یک ایمیل و/یا یک پیام فشار به تلفن من ارسال می کند.
صندوق پستی باید با باتری کار کند و حداقل یک سال کار کند، و این کار باید با استفاده از شبکه WiFi من انجام شود. از آنجایی که بیدار کردن یک میکروکنترلر و اتصال به شبکه WiFi ممکن است چندین ثانیه طول بکشد، من نتوانستم از سوئیچ فعال سازی برای قطع برق استفاده کنم. درعوض، باید به پردازنده اجازه داده شود تا پس از بسته شدن درب صندوق پست، کار خود را به پایان برساند.
پیش نیازها
من فرض میکنم مهارتهای لحیم کاری کمی دارید، کمی با Arduino IDE کار کردهاید، و بردهای ESP8266 را با استفاده از Boards Manager نصب کردهاید. همچنین برای برنامه ریزی میکروکنترلر باید یک آداپتور سریال USB 3.3 ولت داشته باشید.
من همچنین فرض میکنم که شما یک کارگزار MQTT و یک سرور Node-RED در حال اجرا دارید. اگر نه، دستورالعملهای زیادی در اینترنت وجود دارد، اما توصیه میکنم اگر میخواهید این اسکریپت را روی هر پی یا اوبونتو اجرا کنید، یا از تصویر آندریاس اسپیس برای Pi Zero استفاده کنید، مسیر تنبل را انتخاب کنید و از اسکریپت نصب عالی پیتر اسکارگیل استفاده کنید. W (پیوندها در توضیحات آن ویدیو)، که چند ساعت از تماشای اسکریپت های نصب در حال اجرا صرفه جویی می کند. از طرف دیگر، میتوانید فریمافزار را مجبور کنید مستقیماً یک ایمیل ارسال کند، اما با انجام این کار، انعطافپذیری زیادی را از دست خواهید داد.
قطعات
- 1 بسته باتری 3 جعبه AA
- 2 عدد باتری قلمی
- 1 ماژول ESP8266. برای این پروژه از ESP-01 استفاده کردم
- 1 میکرو سوئیچ
- 1 مقاومت 47K
- 1 مقاومت 4M7
- 1 خازن 2.2uF
- 1 لوله پلاستیکی نازک من از خودکار استفاده کردم
- 1 چوب کبریت بلند و ضخیم یا آبنبات چوبی. باید به راحتی در لوله پلاستیکی جا شود و حرکت کند
مرحله 2: سخت افزار: جعبه، سوئیچ و سیم کشی
![](https://duino4projects.com/wp-content/uploads/2022/07/the-Box-Switch-and-Wiring.jpg)
من با یک جعبه باتری قدیمی از یک دکوراسیون کریسمس منسوخ شروع کردم. برای سه باتری سایز AA طراحی شده است. از آنجایی که ESP8266 به خوبی با ولتاژ 3 ولت کار می کند، می توانم از دو باتری استفاده کنم و از موقعیت سوم برای میکروکنترلر استفاده کنم. توجه داشته باشید که چگونه جعبه دارای یک محفظه کوچک اضافی بود که می توانم از آن برای سوئیچ فعال سازی استفاده کنم. من از یک نوع بسیار رایج سوئیچ که در تصاویر نشان داده شده است استفاده کردم، اما فنری که آن را در حالت روشن یا خاموش میبندد، حذف کردم. دو سیم نازک را به کنتاکت های NC لحیم کردم و با یک قطره ریز چسب فوق العاده در جعبه چسباندم.
سپس، سوراخی را در پوشش بالایی که با یک لوله پلاستیکی گرفته شده از یک قلم توپ مطابقت دارد، ایجاد کردم. سوراخ دقیقاً با سوئیچ ردیف می شود و یک پیستون ساخته شده از چوب کبریت ضخیم را هدایت می کند.
در نهایت دو سیم دیگر را به کنتاکت های باتری لحیم کردم و هر چهار سیم را به محل باتری سوم که قرار بود میکروکنترلر قرار بگیرد هدایت کردم.
مرحله 3: سخت افزار: ESP-01
![](https://duino4projects.com/wp-content/uploads/2022/07/the-ESP-01.jpg)
با توجه به نیاز WiFi، کل پروژه ESP8266 را فریاد میزند. این کنترلکننده وایفای کوچک به عنوان ماژولی که با قیمت کمتر از 2.50 یورو خریداری میشود و یک پشته کامل WiFi و TCP/IP را با بیش از ظرفیت کافی برای اجرای برنامههای خود ادغام میکند، به ابزار مورد علاقه جامعه سرهمآوری تبدیل شده است. Arduino IDE (یا Atom با پلاگین PlatformIO) به طور کامل از ESP8266 پشتیبانی می کند.