فهرست مطالب:

ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی: 7 مرحله (همراه با تصاویر)
ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی: 7 مرحله (همراه با تصاویر)

تصویری: ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی: 7 مرحله (همراه با تصاویر)

تصویری: ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی: 7 مرحله (همراه با تصاویر)
تصویری: PutaK - Wow (ft. Poori) [Official Music Video] (Directed by @AkioXo) 2024, نوامبر
Anonim
ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی
ساختن دستگاههای Homie برای IoT یا اتوماسیون خانگی

این دستورالعمل بخشی از سری DIY Automation Home است ، مقاله اصلی "برنامه ریزی سیستم اتوماسیون DIY خانگی" را بررسی کنید. اگر هنوز نمی دانید Homie چیست ، نگاهی به homie-esp8266 + homie از ماروین راجر بیندازید.

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

اگر قطعات را ندارید ، مراقب دستورالعمل آموزشی آینده من "Sourcing Electronic Parts from Asia" باشید.

اجازه دهید چند کلمه پر سر و صدا اضافه کنم: IoT ، ESP8266 ، Homie ، DHT22 ، DS18B20 ، اتوماسیون خانه.

موضوع باید کاملاً واضح باشد:-)

همچنین ، این دستورالعمل اکنون از صفحه شخصی من نیز موجود است:

مرحله 1: شروع به کار

شروع شدن
شروع شدن
شروع شدن
شروع شدن

کنوانسیون ها

این دستورالعمل از کلونهای D1 Mini استفاده می کند. اینها کنترل کننده های سازگار با آردوینو با WiFi با استفاده از تراشه ESP8266 هستند. آنها در فاکتور بسیار کوچک (34*25 میلی متر) حمل می شوند و ارزان قیمت هستند (3-4 دلار پوند برای کلون ها).

من هر ساخت را با استفاده از D1 Mini ، تخته نان و برخی حسگرها نشان می دهم. من یک Bill Of Materials (BOM) برای هر کدام در نظر می گیرم اما از موارد واضح مانند سیم های جامپر و تخته نان (کوچک یا کامل) صرف نظر می کنم. من روی "قسمت های فعال" تمرکز می کنم.

برای سیم/کابل در نمودارها (کتابخانه Fritzing + AdaFruitFritzing) ، از موارد زیر استفاده کردم:

  • قرمز/نارنجی برای قدرت ، معمولاً 3.3 ولت. گاهی اوقات 5 ولت می شود ، مراقب باشید.
  • سیاه برای زمین
  • زرد برای سیگنال های داده دیجیتال: بیت ها در حال حرکت هستند و می توانند به وسیله تراشه ها همانطور که هست خوانده شوند.
  • آبی/بنفش برای سیگنالهای داده آنالوگ: در اینجا بیتی وجود ندارد ، فقط ولتاژ معمولی است که باید اندازه گیری و محاسبه شود تا درک شود چه اتفاقی در حال رخ دادن است.

Homie for ESP8266 دوازده نمونه ارسال می کند ، جایی که من شروع به ساخت این دستورالعمل کردم.

تخته نان

D1 کاملاً دوست داشتنی است ، اما فقط یک ردیف پین را بالا و پایین ذخیره می کند. در هر مثال D1 در سمت راست و اجزای آن در سمت چپ وجود دارد. از ریل برق بالا و پایین برای انتقال جریان 3.3 ولت یا 5 ولت استفاده می شود.

توجه داشته باشید

نمونه های Homie به عنوان طرح های ".ino" برای Arduino IDE ساخته شده اند. کد من با این حال به عنوان ".ccp" برای PlatformIO ساخته شده است.

این تفاوت بسیار کمی ایجاد می کند زیرا طرح ها به قدری ساده هستند که می توان هر وسیله دلخواه خود را کپی/جایگذاری کرد.

مرحله 2: دما و رطوبت: DHT22 / DHT11

دما و رطوبت: DHT22 / DHT11
دما و رطوبت: DHT22 / DHT11
دما و رطوبت: DHT22 / DHT11
دما و رطوبت: DHT22 / DHT11
دما و رطوبت: DHT22 / DHT11
دما و رطوبت: DHT22 / DHT11

ساختن دستگاه

DHT22 از موارد زیر استفاده می کند:

  • یک پین دیجیتالی برای ارتباط با کنترلر ، آن را به D3 وصل کنید
  • دو سیم برای تغذیه (3.3V یا 5V + GND)
  • پین دیجیتال باید بالا نگه داشته شود (به برق متصل است) ، برای این کار ما از مقاومت بین ریل قدرت و پین داده استفاده می کنیم

کد

پروژه PlatformIO را می توانید از آدرس زیر بارگیری کنید:

مثال اصلی Homie در اینجا است (اما از سنسور استفاده نمی کند):

برای DHT22 ، از کتابخانه حسگر DHT استفاده کنید (ID = 19)

BOM

  • کنترل کننده: Wemos D1 Mini
  • مقاومت: 10KΩ
  • سنسور: (یکی از این موارد)

    • DHT22: من از 4 نوع پین استفاده کردم که به مقاومت بیشتری نیاز دارد. 3 پین ماژول به عنوان SMD ارسال می شود که شامل مقاومت است.
    • DHT11: این ارزان تر است اما دقت کمتری دارد ، الزامات خود را بررسی کنید

مرحله 3: درجه حرارت ضد آب: DS18B20

درجه حرارت ضد آب: DS18B20
درجه حرارت ضد آب: DS18B20
درجه حرارت ضد آب: DS18B20
درجه حرارت ضد آب: DS18B20
درجه حرارت ضد آب: DS18B20
درجه حرارت ضد آب: DS18B20

DS18B20 از موارد زیر استفاده می کند:

  • یک پین دیجیتالی برای ارتباط با کنترلر ، آن را به D3 وصل کنید
  • دو سیم برای تغذیه (3.3V یا 5V + GND)
  • پین دیجیتال باید بالا نگه داشته شود (به برق متصل است) ، برای این کار ما از مقاومت بین ریل قدرت و پین داده استفاده می کنیم

DS18B20 یک سنسور 1 سیم است. از یک گذرگاه استفاده می کند و به این ترتیب چندین سنسور می توانند از یک پین داده واحد استفاده کنند.

همچنین ممکن است از 3.3 ولت/5 ولت برای تغذیه سنسور استفاده نکنید ، این حالت حالت پارازیتی نامیده می شود. برای جزئیات به برگه اطلاعات مراجعه کنید.

کد

پروژه PlatformIO را می توانید از آدرس زیر بارگیری کنید:

مانند DHT22 ، مثال اصلی Homie در اینجا است (اما از سنسور استفاده نمی کند):

برای گذرگاه 1-Wire ، از بسته OneWire (ID = 1) استفاده کنید

برای DS18B20 ، از DallasTemperature (ID = 54) استفاده کنید

BOM

  • کنترل کننده: Wemos D1 Mini
  • مقاومت: 4.7KΩ
  • سنسور: DS18B20 ، تصویر ضد آب است
  • ترمینال پیچ 3 پین برای سهولت اتصال کابل به تخته نان

مرحله 4: نور: مقاومت در برابر نور / سلول سلول (دیجیتال: روشن / خاموش)

نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)
نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)
نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)
نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)
نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)
نور: Photoresistor / Photocell (دیجیتال: روشن / خاموش)

ساختن دستگاه

(با عرض پوزش ، یک جزء Fritzing برای فتوسل دیجیتال ندارید)

ماژول دیجیتال فوتوسل از موارد زیر استفاده می کند:

  • یک پین دیجیتالی برای ارتباط با کنترلر ، آن را به D3 وصل کنید
  • دو سیم برای تغذیه (3.3V + GND)

امکان استفاده از فتوسل آنالوگ وجود دارد اما این مورد در اینجا مستند نشده است ، مقاله عالی Adafruit "استفاده از فتوسل" را ببینید.

توجه: در این مثال یک پتانسیومتر روی برد سنسور وجود دارد. برای تعیین محدوده بین نور "روشن" و "تاریک" محیط استفاده می شود. هنگامی که خواندن 1 چراغ خاموش است ، بنابراین خواندن 0 به معنی نور در صورت روشن بودن است.

کد

پروژه PlatformIO را می توانید از آدرس زیر بارگیری کنید:

BOM

کنترل کننده: Wemos D1 Mini

سنسور: ماژول حساس به نور / تشخیص نور

مرحله 5: نور: مقاومت در برابر نور / سلول سلول (آنالوگ)

نور: Photoresistor / Photocell (آنالوگ)
نور: Photoresistor / Photocell (آنالوگ)
نور: Photoresistor / Photocell (آنالوگ)
نور: Photoresistor / Photocell (آنالوگ)
نور: Photoresistor / Photocell (آنالوگ)
نور: Photoresistor / Photocell (آنالوگ)

ساختن دستگاه

سنسور آنالوگ فتوسل به عنوان یک مقاومت عمل می کند. بین ورودی آنالوگ و 3.3 ولت متصل می شود.

یک مقاومت بین GND و پین داده قرار داده می شود تا تقسیم ولتاژ ایجاد شود. هدف ایجاد طیف وسیعی از مقادیر است:

  • اگر نوری وجود نداشته باشد ، فوتوسل اساساً VCC را مسدود می کند ، بنابراین GND را به پین داده شما متصل می کند: پین تقریباً 0 را می خواند.
  • نور زیاد زیادی وجود دارد ، سلول فتوسل به VCC اجازه می دهد تا به پین داده ها جریان یابد: پین تقریباً ولتاژ کامل را می خواند و به همین ترتیب نزدیک به حداکثر (1023).

توجه: مقادیر پین های آنالوگ در محدوده 0-1023 با استفاده از analogRead خوانده می شوند. برای مقابله با مقادیر 1 بایت عملی نیست ، زیرا تابع نقشه آردوینو از 0-1023 به (به عنوان مثال) 0-255 کاهش می یابد.

برای کالیبراسیون مقادیر حداقل/حداکثر سنسور خود ، از طرح مشابهی مانند آردوینو استفاده کنید.

کد

پروژه PlatformIO را می توانید از آدرس زیر بارگیری کنید:

BOM

  • کنترل کننده: Wemos D1 Mini
  • سنسور: مقاومت وابسته به نور (LDR) / مقاومت در برابر نور
  • مقاومت: 1K یا 10K ، باید بر اساس سلول خود کالیبره کنید

منابع

  • کد منبع سرور PiDome برای وضعیت روشنایی یک مکان
  • "استفاده از فتوسل" آدافروت
  • "Photoresistors" در اینجا در دستورالعمل ها
  • اگر کمی ریاضی و نمودار می خواهید ، "آموزش فوتوسل" دیوانه کننده

مرحله 6: آشکارساز نوری: QRD1114

ساختن دستگاه

کد

BOM

منابع

  • محاسبه فیزیکی: QRD1114 شامل کد نمونه برای خواندن سنسور و استفاده از وقفه برای رمزگذار دوار + طراحی دقیق PCB است
  • راهنمای اتصال آشکارساز نوری QRD1114 در Sparkfun

مرحله 7: کلمات پایانی

کلمات پایانی
کلمات پایانی

این دستورالعمل برای توضیح نظارت اولیه بسیار کوتاه است.

برای پیشرفت بیشتر ما باید رله ها ، IR emitter را متصل کنیم … امیدوارم بعداً به عنوان زمان آزاد به من این امکان را بدهد. تفاوت اصلی این است که ما فقط "نمی خوانیم" (آیا نور وجود دارد؟) بلکه "می نویسیم" (چراغ را روشن کنید!).

توصیه شده: