فهرست مطالب:
- مرحله 1: راهنمای نصب
- مرحله 2: ویترین کنترل
- مرحله 3: لیست قطعات/نرم افزارهای مورد استفاده در پروژه
- مرحله 4: لیست I/0
- مرحله 5: نمودار سیم کشی
- مرحله 6: کد آردوینو
- مرحله 7: Raspberry Pi 3 B+
- مرحله 8: پایتون
- مرحله 9: MySQL
- مرحله 10: Node-Red
تصویری: گلخانه UCL - IIOT: 11 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
این پروژه توسعه پروژه قبلی ما با گلخانه است (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
در این پروژه ما یک پایگاه داده اضافه کردیم ، که در آن تمام داده های خود را وارد می کنیم و سپس آن را با node-red تجسم می کنیم تا نمای کلی تری داشته باشیم.
محتوایی که ما در پایگاه داده خود وارد می کنیم رطوبت ، دما و رطوبت خاک است که در نمودارهای مختلف نشان داده شده است.
علاوه بر dataloggin ، ما همچنین قادر به کنترل نمایه فعال در گلخانه و کنترل آن از راه دور هستیم.
سپس ما همچنین می توانیم پمپ و فن را به صورت دستی کنترل کنیم.
مرحله 1: راهنمای نصب
اولین قدم نصب همه اجزای مختلف است.
در داخل براکت ها () ، ما محل اتصال قطعه را ذکر کرده ایم. به عنوان مثال ، آردوینو از طریق کابل USB به رزبری پای متصل می شود.
سخت افزار مورد استفاده:
- آردوینو (تمشک پای)
- رزبری پای 3 B+
- رطوبت سنج خاک (آردوینو)
- سنسور DHT11 (آردوینو)
- پمپ آب شناور HG-320 (رله)
- رله 5 ولت (آردوینو)
- فن کامپیوتر (رله)
- منبع تغذیه 230 ولت (پمپ)
نرم افزار مورد استفاده:
- Raspbian (سیستم عامل رزبری پای)
- آردوینو IDE
- پایتون (Raspberry Pi)- PySerial- MySQLclient
- Node-Red (Raspberry Pi)- Pythonshell- Summariser- MySQL- داشبورد
- سرور MySQL (freemysqlhosting.net)
ابتدا باید اجزای سخت افزاری را متصل کنید ، بنابراین برای ساخت گلخانه این راهنما را دنبال کنید: راهنمای نصب.
سپس باید Raspbian OS را بر روی Raspberry Pi خود نصب کنید. پس از آن شما باید پایتون را نصب کرده و سپس کتابخانه های پایتون را نصب کنید.
گام بعدی این است که Node-Red را روی Raspberry Pi نصب کنید ، و سپس به مدیر پالت بروید و ماژول هایی را که قبلاً گفته شد نصب کنید.
سپس به این سایت MySQL Server رایگان بروید و یک سرور MySQL رایگان ایجاد کنید.
هنگامی که همه اینها انجام شد ، شما آماده انتقال اسکریپت پایتون به رزبری پای خود هستید ، اسکریپت Node-Red را وارد کرده و کد Arduino را بارگذاری کنید.
مرحله 2: ویترین کنترل
مرحله 3: لیست قطعات/نرم افزارهای مورد استفاده در پروژه
ما از فناوری زیر برای ساخت گلخانه استفاده کرده ایم
- آردوینو
- تمشک پای
- گره قرمز
- پایتون
- PHPMyAdmin
مرحله 4: لیست I/0
مرحله 5: نمودار سیم کشی
مرحله 6: کد آردوینو
کد آردوینو با چاپ داده ها ، اندازه گیری شده توسط سنسورها ، به اتصال سریال و در آنجا توسط Raspberry Pi خوانده شده و به پایگاه داده منتقل می شود.
آردوینو همچنین دارای چند ورودی دیجیتالی متصل به رزبری پای است که آردوینو آنها را می خواند و اگر یکی از این سه مورد HIGH شود مشخصات به دلیل دستور IF تغییر می کند.
همچنین ما کد را ارتقا داده ایم تا از Millis به جای تاخیر استفاده کنیم که باعث می شود باسن ها و بقیه کد به جای فاصله زمانی با تاخیر قدیمی به طور مداوم خوانده شوند.
مرحله 7: Raspberry Pi 3 B+
ما از Raspberry Pi 3 B+ برای اتصال Arduino به اینترنت و پایگاه داده MySQL استفاده کردیم. این امر به ما این امکان را داد که داده های حسگرهای خود را ذخیره کرده و یک رابط بصری برای کاربر نهایی ایجاد کنیم. برای رابط کاربری ما از Node-Red با پالت Dashboard استفاده کردیم.
اما قبل از اینکه بتوانیم داده های حسگر خود را در Node-Red نشان دهیم ، به راهی نیاز داشتیم که داده ها را در پایگاه داده MySQL بارگذاری کنیم و برای این کار یک اسکریپت پایتون تهیه کردیم که روی رزبری پای ما اجرا می شد.
مرحله 8: پایتون
اسکریپت پایتون برای دریافت داده ها از ارتباطات سریال از آردوینو استفاده می شود. سپس اسکریپت داده ها را به پایگاه داده MySQL ارسال می کند.
ما از دو کتابخانه pyserial و mysqlclient استفاده کردیم.
بنابراین اولین قدم این است که این دو کتابخانه را بارگیری کنید:
- PySerial
- MySQLclient
PySerial برای جمع آوری داده ها از Arduino از طریق ارتباط سریال استفاده می شود.
دستگاه = '/dev/ttyUSB0'
arduino = سریال. سریال (دستگاه ، 9600)
خط اول برای تعریف پورت COM ما استفاده می شود. در Raspberry Pi عبارت /dev /ttyUSB0 است که برای آردوینو استفاده می کنیم. خط دوم برای باز کردن پورت سریال به آردوینو است. ما فقط تعریف می کنیم که کدام پورت COM و با چه سرعتی اتصال در حال اجرا است.
بقیه کد در یک حلقه while اجرا می شود.
در مرحله بعد از چندین بلوک Try and Except استفاده می کنیم. ابتدا کد سعی می کند داخل بلوک Try اجرا شود ، در صورت عدم موفقیت ، بلاک Except را اجرا می کند. اما اگر بلوک Try خوب اجرا شود ، جز بلوک را اجرا نمی کند ، فقط بقیه کد را اجرا می کند.
بنابراین در بلوک های Try ما کدی داریم که سریال ارتباطی را خوانده و سپس به پایگاه داده MySQL ارسال می کند.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
بنابراین کد بالا برای خواندن خطوط در سریال ارتباطی است. شماره در انتهای کد مشخص کننده خطی است که در سریال خوانده شده است. بنابراین این خطوط در متغیرهای مختلف طبقه بندی می شوند.
هنگامی که داده ها از Arduino دریافت می شود ، ما از ماژول mysqlclient برای ارسال داده به سرور MySQL خود استفاده می کنیم.
db = _mysql.connect (host = "sql7.freemysqlhosting.net" ، کاربر = "sql7256552" ، passwd = "3ebtbP8FQ2" ، db = "sql7256552")
این خط برای اتصال به پایگاه داده MySQL است. این سرور ، نام کاربری ، رمز عبور و پایگاه داده ای که باید در داخل سرور متصل شود را مشخص می کند. در اینجا شما باید اتصال به MySQL DB خود را مشخص کنید.
db.query ("INSERTINTO` TempHumid` (`temp` ،` humid`، `hygro`) VALUES (٪ s،٪ s،٪ s)"٪ (temp، humid، hygro))
بنابراین در اینجا ما اتصال DB خود را گرفته و یک پرس و جو SQL ایجاد می کنیم. پرس و جو می گوید که مقادیر باید در جدول "TempHumid" و سپس در ستون "temp" ، "humid" و "hygro" درج شود. قسمت آخر "(٪ s،٪ s،٪ s)" قالب بندی رشته است و برای دادن فرمت قابل خواندن به پایگاه داده استفاده می شود.
و همه این اقدامات در یک حلقه while قرار می گیرند ، به طوری که ما همچنان داده ها را به سرور MySQL ارسال می کنیم.
اگر می خواهید تمام کد را ببینید ، اسکریپت پایتون (TempHumid.py) را بارگیری کنید.
مرحله 9: MySQL
برای سرور MySQL ، ما از یک سرویس رایگان در www.freemysqlhosting.net استفاده کردیم. ما می توانیم سرور را در Raspberry Pi به صورت محلی ایجاد کنیم ، اما با سرویس رایگان آن را به طور کامل به ابر/اینترنت متصل کردیم.
برای دسترسی به MySQL خود ، باید به phpmyadmin.co بروید و با اعتبار از حساب freemysqlhosting خود وارد شوید.
هنگامی که داخل هستید ، باید جدولی به نام "TempHumid" ایجاد کنید ، در داخل این جدول باید 4 ستون به نام "ID" ، "temp" ، "humid" و "hygro" ایجاد کنید. در ستون اول (ID) باید کادر A_I (افزایش خودکار) را علامت بزنید. این به این دلیل است که ستون ID به هر مجموعه داده یک شناسه می دهد. همه ستونهای زیر باید به عنوان INT (عدد صحیح) تنظیم شوند و مقدار استاندارد را بر روی NULL تنظیم کنند.
مرحله 10: Node-Red
در پروژه ما از Node-Red برای ایجاد یک رابط گرافیکی استفاده کردیم. Node-Red روی Raspberry Pi اجرا می شود و داده ها را از پایگاه داده MySQL ما جمع آوری می کند و این داده ها را با اندازه گیری های شکل دونات و نمودارهای گرافیکی نشان می دهد ، به طوری که کاربر نهایی می تواند بر داده ها نظارت کند. نکته هوشمند در مورد Node-Red این است که روی هر دستگاه قابل مشاهده است ، به این معنی که اندازه سایت برای دستگاه خاصی که در حال مشاهده محتوا است تغییر می کند.
برای نصب برنامه نویسی قرمز ما ، به مرحله 1 نگاه کنید و سندی را با نام "Node-Red.docx" بارگیری کنید. سپس متن را از طریق عملکرد وارد کردن در گوشه سمت راست بالا در Node-Red کپی و جایگذاری کنید.
پس از آن تنظیمات DB را برای MySQL DB خود تغییر دهید.
توصیه شده:
گلخانه داخلی اتوماتیک بر اساس Ikea Socker: 5 مرحله
گلخانه اتوماتیک داخلی بر اساس Ikea Socker: سلام ، این اولین آموزش من است. من با این اجتماع چیزهای زیادی آموختم و فکر می کنم زمان بازگشت ایده های فروتنانه من فرا رسیده است. متأسفم که زبان انگلیسی من ضعیف است ، اما من هر کاری که بتوانم انجام خواهم داد. ایده این بود که یک گلخانه رومیزی بسازم که به من اجازه می دهد دانه ها را پرورش دهم و
اتوماسیون گلخانه با LoRa! (قسمت 2) -- پنجره باز موتور: 6 مرحله (همراه با تصاویر)
اتوماسیون گلخانه با LoRa! (قسمت 2) || پنجره باز موتور: در این پروژه به شما نشان خواهم داد که چگونه یک پنجره بازکن موتوری برای گلخانه خود ایجاد کرده ام. این بدان معناست که من به شما نشان می دهم از چه موتوری استفاده کردم ، چگونه سیستم مکانیکی واقعی را طراحی کردم ، چگونه موتور را حرکت می دهم و در نهایت نحوه استفاده از Arduino LoRa
گلخانه فوق العاده با آبیاری خودکار ، اتصال به اینترنت و موارد دیگر: 7 مرحله (همراه با تصاویر)
گلخانه فوق العاده با آبیاری خودکار ، اتصال به اینترنت و موارد دیگر: به این دستورالعمل خوش آمدید. در آغاز ماه مارس ، من در یک مغازه باغ بودم و چند گلخانه دیدم. و از آنجا که مدتها بود می خواستم پروژه ای را با گیاهان و لوازم الکترونیکی بسازم ، جلو رفتم و یکی را خریدم: https://www.instagram.com/p
MAG (گلخانه اتوماتیک مینیاتوری): 9 مرحله
MAG (گلخانه اتوماتیک مینیاتوری): مادرم بیشتر اوقات بسیار شلوغ است. بنابراین می خواستم با اتوماسیون گلخانه هایش به او کمک کنم. به این ترتیب او می تواند کمی در وقت خود صرفه جویی کند زیرا نیازی به آبیاری گیاهان نخواهد داشت. من می توانم این کار را با MAG (باغ اتوماتیک مینیاتوری) انجام دهم. همانطور که در
اتوماسیون گلخانه با LoRa! (قسمت 1) -- سنسورها (دما ، رطوبت ، رطوبت خاک): 5 مرحله
اتوماسیون گلخانه با LoRa! (قسمت 1) || سنسورها (دما ، رطوبت ، رطوبت خاک): در این پروژه به شما نشان خواهم داد که چگونه یک گلخانه را خودکار کردم. این بدان معناست که من به شما نشان خواهم داد که چگونه گلخانه را ساخته ام و چگونه قطعات الکترونیکی قدرت و اتوماسیون را متصل کرده ام. همچنین نحوه برنامه نویسی برد Arduino که از L