فهرست مطالب:

پریز برق دارای اینترنت: 13 مرحله
پریز برق دارای اینترنت: 13 مرحله

تصویری: پریز برق دارای اینترنت: 13 مرحله

تصویری: پریز برق دارای اینترنت: 13 مرحله
تصویری: آموزش هوشمند سازی13، اینترنت اشیاء ، خانه هوشمند ، BMS , Smart Home برادلینک , BroadLink 2024, جولای
Anonim
Image
Image
وسایل مورد نیاز
وسایل مورد نیاز

پروژه سرور وب PowerHub و دستورالعمل های راه اندازی خروجی فعال شده در اینترنت

مرکز اصلی پایداری داده ها برای روشنایی اینترنت و خروجی در خانه شما!

مرحله 1: دستورالعمل های نصب و راه اندازی خروجی وب سایت PowerHub و دستورالعمل های نصب اینترنت

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

هارد دیسک RaspberriPi/نصب نرم افزار مورد نیاز (با استفاده از لینوکس اوبونتو) بارگیری "RASPBIAN JESSIE LITE"

هارد دیسک جدید خود را برای DashboardPI ایجاد کنید

microSD را از طریق آداپتور USB به رایانه خود وارد کرده و با استفاده از دستور dd تصویر دیسک را ایجاد کنید

کارت microSD خود را از طریق دستور df -h تعیین کنید ، آن را جدا کرده و با دستور copy dd تصویر دیسک را ایجاد کنید

$ df -h/dev/sdb1 7.4G 32K 7.4G 1٪/رسانه/XXX/1234-5678

$ umount /dev /sdb1

احتیاط: مطمئن شوید که دستور کاملاً دقیق است ، با این دستور می توانید به دیسک های دیگر آسیب برسانید

if = مکان فایل تصویری RASPBIAN JESSIE LITE از = موقعیت کارت microSD شما

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (توجه داشته باشید: در این مورد ، این/dev/sdb است ،/dev/sdb1 یک پارتیشن کارخانه موجود در microSD)

راه اندازی RaspberriPi خود

کارت microSD جدید خود را به رزبریپی وارد کرده و با مانیتور متصل به پورت HDMI آن را روشن کنید

وارد شدن

کاربر: پی پاس: تمشک

رمز عبور حساب خود را برای امنیت تغییر دهید

sudo passwd pi

مرحله 2: فعال کردن گزینه های پیشرفته RaspberriPi

sudo raspi-config

انتخاب کنید: 1 گسترش فایل سیستم

9 گزینه پیشرفته

نام میزبان A2 آن را به "WIFI-OUTLET" تغییر دهید

A4 SSH سرور SSH را فعال کنید

A7 I2C رابط i2c را فعال کنید

صفحه کلید انگلیسی/ایالات متحده را فعال کنید

sudo nano/etc/default/keyboard

خط زیر را تغییر دهید: XKBLAYOUT = "ما"

راه اندازی مجدد PI برای تغییرات طرح بندی صفحه کلید / تغییر اندازه سیستم فایل برای اعمال

$ sudo shutdown -r در حال حاضر

اتصال خودکار به WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

خطوط زیر را اضافه کنید تا رزبریپی شما به صورت خودکار به وای فای خانگی شما متصل شود (اگر شبکه بی سیم شما به عنوان مثال "linksys" نامگذاری شده است ، در مثال زیر)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} راه اندازی مجدد PI برای اتصال به شبکه WiFi

$ sudo shutdown -r در حال حاضر

اکنون که PI شما سرانجام در شبکه محلی قرار دارد ، می توانید از راه دور از طریق SSH به آن وارد شوید. اما ابتدا باید آدرس IP موجود را دریافت کنید.

$ ifconfig در خروجی دستور زیر برای آدرس IP PI خود "inet addr: 192.168. XXX. XXX" را جستجو کنید.

به دستگاه دیگری بروید و از طریق ssh به raspberrypi خود وارد شوید

$ ssh [email protected]. XXX. XXX

مرحله 3: شروع به نصب بسته های مورد نیاز کنید

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python- درخواست python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

تنظیمات منطقه زمانی محلی را به روز کنید

$ sudo dpkg-پیکربندی مجدد tzdata

منطقه زمانی خود را با استفاده از رابط انتخاب کنید

راه اندازی دایرکتوری ساده دستور l [اختیاری]

vi ~/.bashrc

خط زیر را اضافه کنید:

نام مستعار l = 'ls -lh'

منبع ~/.bashrc

رفع برجستگی نحوی پیش فرض VIM [اختیاری]

sudo vi/etc/vim/vimrc

خط زیر را کامنت نگذارید:

نحو روشن است

درایورهای i2c Python را نصب کنید

مرحله 4: BUILD THE WEB API

دستورالعمل های زیر به شما این امکان را می دهد تا هاب مرکزی را بسازید که در مورد انواع پریزهای فعال وای فای و سوئیچ های دیواری که ممکن است بسازید ، توضیح دهید که کدام دستگاه ها روشن و خاموش می شوند. این یک اسکریپت PHP کوچک است که می توانید آن را بر روی میزبان وب دلخواه خود قرار دهید. این API زیر را برای دریافت و تنظیم اطلاعات روی آن دارد. توجه: فراموش نکنید که فایل htaccess را وارد کنید تا مسیریابی مناسب URL انجام شود.

پوشه "index.php" ، "values/" و settings.php (با مقادیر دلخواه شما پیکربندی شده) را به وب سرور فعال PHP دلخواه خود نصب کنید. مقدار کلید مخفی در فایل "settings.php" باید با مقدار کلید مخفی که در فایل "settings.py" تعیین کرده اید مطابقت داشته باشد. این امر در سطح ابتدایی از تنظیم / نوشتن مقادیر دیگر ترافیک وب جلوگیری می کند و دستگاه های شما را روشن می کند ، اکنون برای انجام این کار به این کلید API در هدر درخواست HTTP نیاز دارید.

API از ویژگی های زیر پشتیبانی می کند ، برای این پروژه ما فقط از مقادیر "flag" استفاده می کنیم که مقادیر بولی هستند که به سوئیچ می گوید روشن و خاموش شود. شاید اگر می خواهید از مقادیر "خواندن" استفاده کنید ، می توانید آن را داشته باشید ، بنابراین اگر دمای اتاق با صرفه جویی در دمای آن بیش از حد گرم شود ، می تواند فن پنجره را روشن کند و غیره.

کد را دریافت کنید

برای دریافت کد اجرای وب سرور و خروجی RaspberryPI ، پروژه زیر را از GitHub کلون کنید.

github.com/khinds10/PowerHub

نقاط پایانی API هنگام اجرا بر روی وب سرور

myhost/message (مجموعه پیام فعلی را دریافت کنید)

myhost/message/set (HTTP POST یک مقدار رشته خام برای این URL برای تنظیم پیام جدید است)

myhost/flag/{id} (وضعیت بولی فعلی پرچم را با عدد صحیح دریافت کنید: {id})

myhost/flag/all (همه وضعیت بولی فعلی همه پرچم ها را به عنوان یک آرایه دریافت کنید)

myhost/flag/{id}/set (وضعیت فعلی بولی را برای پرچم با عدد صحیح روی "true" تنظیم کنید: {id})

myhost/flag/{id}/unset (وضعیت فعلی بولی را برای پرچم با عدد صحیح روی "false" تنظیم کنید: {id})

myhost/reading/{id} (مقدار میانگین فعلی برای خواندن را با عدد صحیح دریافت کنید: {id})

myhost/reading/all (مقدار میانگین فعلی را برای همه قرائتها به عنوان یک آرایه دریافت کنید)

myhost/reading/{id}/set (HTTP POST یک مقدار عددی خام به این نشانی اینترنتی برای افزودن مقدار جدید به میانگین محاسبه شده فعلی است) - در زیر تعداد کل مقادیر جمع شده به مقدار متوسط را در زیر ببینید. پیکربندی مقادیر "خواندن" به عنوان میانگین تعداد معینی از مقادیر عددی خوانده شده اخیر محاسبه می شود. ثابت زیر را بر روی چند مورد از جدیدترین قرائت ها برای تولید میانگین تنظیم کنید.

$ readingsAverageLimit = 5؛

سرور Datastore مقادیر فایلهای ساده ای را که با نامگذاری قراردادهای زیر قرار دارند حفظ می کند. توجه: {id} با عدد صحیح واقعی ارائه شده توسط URL درخواست ورودی جایگزین می شود.

$ valueFileFolder = 'values' (نام پوشه حاوی فایلهای اندازه گیری) $ messageFileName = 'message.msg' (نام فایل متنی پیام) $ readingsFilesNames = 'خواندن {id}.avg' (نام CSV به طور متوسط فایل خواندن) $ flagFilesNames = 'flag {id}.flg' (نام فایل پرچم ارزش پرچم بولی)

اطمینان حاصل کنید که همه فایلهای مقدار توسط مقادیر systemchmod 777 قابل نوشتن باشند/*

مرحله 5: وسایل مورد نیاز

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

اره سوراخ 1 اینچ (برای مته)

ماژول رله 5V 2 کاناله

صفحه دیواری پذیرایی دوبلکس

پذیرای دوبلکس

Pi Zero W

Surface Mount Backbox Dang Gang

دکمه های فشرده سفید روشن

مرحله 6: ساخت Outlet

ساخت Outlet
ساخت Outlet

Break Outlet Tabs

زبانه کنار پریز را بشکنید تا هر سوکت به طور مستقل روشن/خاموش شود

مرحله 7: دکمه ها را نصب کنید

دکمه ها را نصب کنید
دکمه ها را نصب کنید
دکمه ها را نصب کنید
دکمه ها را نصب کنید

در صفحه نمای Outlet با استفاده از اره سوراخ 1 اینچی 2 سوراخ برای دکمه هایی که در کنار خروجی ها قرار می گیرند برش دهید

اندازه گیری قطعات تست

اطمینان حاصل کنید که همه اجزا در جعبه نصب سطح خروجی قرار می گیرند

مرحله 8: رله سیم

رله سیم
رله سیم
رله سیم
رله سیم

رله را به پریز وصل کنید ، از سیم کشی که به دیوار می رود ، زمین (سبز) و خنثی (سفید) را مستقیماً به پریز وصل کنید. برای داغ (سیاه) آنها را به رله و سپس از رله به هر کانکتور داغ خروجی وصل کنید به طور جداگانه

مرحله 9: سیم کشی و تصاویر مونتاژ اضافی

سیم کشی و تصاویر مونتاژ اضافی
سیم کشی و تصاویر مونتاژ اضافی

مرحله 10: نمودار سیم کشی

نمودار سیم کشی
نمودار سیم کشی

از نمودار برای سیم کشی صحیح اجزا برای کار با کد RaspberryPI Python استفاده کنید.

مرحله 11: تست خشک اجرا

تست خشک اجرا
تست خشک اجرا
تست خشک اجرا
تست خشک اجرا
تست خشک اجرا
تست خشک اجرا

پس از مونتاژ نهایی قبل از پیچاندن واحد سوراخ ، دستگاه را خشک کنید تا مطمئن شوید هیچ شورت و سیم کشی بدی وجود ندارد.

مرحله 12: اسکریپت های راه اندازی را تنظیم کنید

crontab -e

خطوط زیر را اضافه کنید

reboot python /home/pi/PowerHub/device/outlet/buttons.pyreboot python /home/pi/PowerHub/device/outlet/relay.py

توصیه شده: