برنامه نویسی

MooptOS: پلتفرم IoT باز برای کشاورزی غیرمتمرکز شهری

چیزی که من ساختم

یک پلتفرم باز اینترنت اشیا (IoT)، متشکل از نرم‌افزار و سخت‌افزار مدولار، برای کشاورزی غیرمتمرکز شهری.

MooptOS

https://www.youtube.com/watch?v=QrxWeFzS-4o

ارسال دسته:

ما در حال ارسال برای “اینترنت اشیا جالب‘، که می توانیم به مدیریت و نظارت بر دستگاه های اینترنت اشیا، از جمله کارهایی مانند مدیریت پیکربندی ها، به روز رسانی سیستم عامل، و جمع آوری و تجزیه و تحلیل داده ها کمک کنیم.

و همچنین در حال ارسال برای “استقرار DIYبه عنوان مثال ما از Github Codespaces برای یک گردش کار اتوماسیون در استقرار برنامه استفاده می کنیم، یعنی محیط راه اندازی، آزمایش و اجرا در localhost (nodejs، meteorjs، blazejs، johnnyfivejs، webixjs، PWA آماده، و غیره). در همان زمان، ما از Github Actions برای آزمایش استقرار استفاده می کنیم.

آخرین اما نه کم‌اهمیت، موارد ارسالی ما نیز به دسته «دوستانه با تلفن» مرتبط است، زیرا استقرار ذکر شده در بالا به‌طور خودکار و بلافاصله برای برنامه وب پیشرو (PWA) آماده است، که به‌عنوان برنامه‌های تلفن همراه که هم در دستگاه‌های iOS و هم Android کار می‌کنند در دسترس هستند. . شاید “Wacky Wildcards” هم 😛

  1. اینترنت اشیا جالب: دستگاه های IoT را مدیریت و نظارت کنید، از جمله وظایفی مانند مدیریت پیکربندی ها، به روز رسانی سیستم عامل، و جمع آوری و تجزیه و تحلیل داده ها.
  2. استقرار DIY: یک گردش کار اتوماسیون برای استقرار برنامه، به عنوان مثال محیط راه اندازی، آزمایش و اجرا در http://localhost:3000 (nodejs، meteorjs، blazejs، PWA آماده، و غیره)، با استفاده از Github Codespaces.
  3. Phone Friendly: استقرار به طور خودکار و بلافاصله برای برنامه وب پیشرو (PWA) آماده است، که به عنوان برنامه های تلفن همراه که در هر دو دستگاه iOS و Android کار می کنند نیز در دسترس هستند.
  4. عجایب حواس پرت

لینک برنامه

https://os.moopt.com

اسکرین شات ها

از Github Desktop برای افزودن مخزن محلی موجود استفاده کرد.

دسکتاپ Github

گام به گام برای کلیک کردن و راه اندازی یک سیستم پایش دمای آب در زمان واقعی بر اساس Arduino و MeteorJS در Github Codespaces

https://www.youtube.com/watch?v=A1On7u3h9VI

مرحله 1: به moopt-codespace-action repo بروید

به moopt-codespace-action repo بروید

مرحله 2: برای راه اندازی یک Codespace کلیک کنید

برای راه اندازی یک Codespace کلیک کنید

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

راه اندازی Codespace 1

راه اندازی Codespace 2

تنظیم خودکار محیط Meteorjs 1

تنظیم خودکار محیط Meteorjs 1

مرحله 4: عالی!

برنامه Meteorjs Example Hello

وضعیت Github Codespace

تست اقدامات Github

تست Github Actions در حال اجرا است

شرح

Github Actions ترکیبی از وظایف فردی است، برای تعریف گردش‌های کاری سفارشی که کل چرخه توسعه را از تغییرات کد، آزمایش‌ها تا استقرار خودکار می‌کند.

GitHub Codespace ها محیط های توسعه ای هستند که در فضای ابری میزبانی می شوند. ما می‌توانیم پروژه خود را برای GitHub Codespaces با پیکربندی فایل‌های محفظه توسعه‌دهنده در مخزن شما (که اغلب به عنوان Configuration-as-Code شناخته می‌شود) سفارشی کنیم، که یک پیکربندی فضای کد قابل تکرار برای همه کاربران پروژه ما ایجاد می‌کند.

GitHub Codespaces بر روی انواع گزینه های محاسباتی مبتنی بر VM اجرا می شود که توسط GitHub میزبانی می شوند، که می توانید آنها را از 2 ماشین هسته تا 32 ماشین هسته پیکربندی کنید. GitHub Codespaces مشابه IDE محلی ما است، بنابراین ما واقعاً نمی توانیم یک برنامه را با آن میزبانی کنیم.

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

پیوند به کد منبع

در اینجا می‌توانید به مخزن moopt-codespace-action دسترسی داشته باشید، که با یک کلیک برای راه‌اندازی یک Codespace، و همچنین اسکریپت Actions برای آزمایش استقرار محیطی است.

برنامه Meteor blaze (PWA آماده) برای استفاده از دسکتاپ، فضاهای کد و اقدامات github

چیزی که من ساختم

یک پلت فرم باز (نرم افزار و سخت افزار) برای کشاورزی غیرمتمرکز شهری.

ارسال دسته:

  1. استقرار DIY: یک گردش کار اتوماسیون برای استقرار برنامه، به عنوان مثال محیط راه اندازی، آزمایش و اجرا در http://localhost:3000 (nodejs، meteorjs، blazejs، PWA آماده، و غیره)، با استفاده از Github Codespaces.
  2. Phone Friendly: استقرار به طور خودکار و بلافاصله برای برنامه وب پیشرو (PWA) آماده است، که به عنوان برنامه های تلفن همراه که در هر دو دستگاه iOS و Android کار می کنند نیز در دسترس هستند.
  3. اینترنت اشیا جالب: دستگاه های اینترنت اشیا را مدیریت و نظارت کنید، از جمله وظایفی مانند مدیریت پیکربندی ها، به روز رسانی سیستم عامل و جمع آوری و تجزیه و تحلیل داده ها.

لینک برنامه

اسکرین شات ها

شرح

پیوند به کد منبع

مجوز مجاز

پس زمینه (چه چیزی باعث شد تصمیم به ساخت این برنامه خاص بگیرید؟ چه چیزی الهام بخش شما شد؟)

چگونه آن را ساختم (شما چگونه از GitHub Actions یا GitHub Codespaces استفاده کردید؟ آیا در طول راه چیز جدیدی یاد گرفتید؟ یک مورد جدید انتخاب کنید

مجوز مجاز

MooptOS تحت مجوز MIT توزیع شده است – می توانید مجوز را در اینجا پیدا کنید.

پس زمینه (چه چیزی باعث شد تصمیم به ساخت این برنامه خاص بگیرید؟ چه چیزی الهام بخش شما شد؟)

کار دستی و نظارت بر کیفیت محیط بر مرگ و میر گیاهان و ماهی ها در یک مزرعه شهری تأثیر گذاشت.

https://www.youtube.com/watch?v=CRBuHXQu_ec

سنسورهای مکان ثابت در چندین مزرعه شهری برای نظارت بر کیفیت محیط و برنامه‌ریزی نگهداری پیش‌بینی بهینه نصب می‌شوند.

نتایج بالقوه: یک پلتفرم باز هوشمند IoT (هم نرم افزار و هم سخت افزار) برای کشاورزی غیرمتمرکز شهری، به عنوان یک سیستم نظارتی برای تولید ماهی و گیاهان با کیفیت خوب.

از آنجایی که در مدت زمان بسیار کوتاهی از ابتدا ساخته شده است، PoC ما صرفاً بر اساس سنسور دما ساخته شده است. نمونه اولیه ما در حال حاضر می تواند به کاربران کمک کند تا یک سیستم نظارت بر دمای آب در زمان واقعی مبتنی بر سخت افزار باز مانند آردوینو با حسگر DS18B20 و همچنین نرم افزارهای باز مانند MeteorJS و JohnnyFiveJS را به کار گیرند.

دما یک پارامتر مهم کیفیت آب است. این می تواند متابولیسم ماهی و میگو، نرخ تغذیه و میزان سمیت آمونیاک را تحت تاثیر قرار دهد. دما همچنین تأثیر مستقیمی بر میزان تنفس موجودات زنده (مصرف O2) دارد و بر حلالیت O2 تأثیر می گذارد (آب گرمتر O2 کمتری نسبت به آب خنک نگه می دارد).

بعداً می‌توانیم سنسورهای ردیابی محیطی بیشتری مانند هدایت الکتریکی (EC)، اکسیژن محلول (DO)، pH، شوری، دی‌اکسید کربن (CO2)، آمونیاک (NH4)، نیتریت (NH2)، سختی، کدورت و اکسیژن مورد نیاز بیوشیمیایی اضافه کنیم. BOD) آب.

چگونه آن را ساختم (چگونه از GitHub Actions یا GitHub Codespaces استفاده کردید؟ آیا در طول مسیر چیز جدیدی یاد گرفتید؟ مهارت جدیدی را انتخاب کردید؟)

MeteorJS

MeteorJS یک پلتفرم جاوا اسکریپت فول پشته منبع باز است که برای توسعه برنامه های کاربردی وب و موبایل مدرن مفید است. Meteor به توسعه دهنده کمک می کند تا به یک زبان توسعه یابد. Meteor دارای چندین ویژگی است که به ایجاد یک وب یا برنامه تلفن همراه واکنش‌گرا و واکنش‌گرا با استفاده از جاوا اسکریپت یا بسته‌های مختلف موجود در چارچوب کمک می‌کند.

Meteor چیست و فواید آن

برای شروع کار با هر تکنولوژی، اول از همه باید یک محیط مناسب ایجاد کنیم. Meteor در حال حاضر از OS X، Windows و Linux پشتیبانی می کند. فقط 64 بیت پشتیبانی می شود. پیش نیاز اصلی Node.js است.

ما از BlazeJS، یک کتابخانه قدرتمند برای ایجاد رابط های کاربری با نوشتن قالب های واکنش پذیر HTML استفاده خواهیم کرد. در مقایسه با استفاده از ترکیبی از قالب‌های سنتی و jQuery، Blaze نیاز به تمام «منطق به‌روزرسانی» را در برنامه شما که به تغییرات داده‌ها گوش می‌دهد و DOM را دستکاری می‌کند، از بین می‌برد. Blaze در حال حاضر یک بسته فقط Meteor است.

به جای اینکه محیط MeteorJS را به صورت دستی تنظیم کنیم (مخصوصاً چون برنامه هر از چند گاهی پیچیده تر می شود)، به عنوان مثال افزودن برنامه پیشرو وب (PWA)، ما از Devcontainer Meteor.js توسط Meteor Engineer استفاده می کنیم. اکنون می توانید به سادگی به moopt-codespace-action repo بروید و در عرض چند ثانیه یک فضای کد بر اساس این مخزن ایجاد کنید!

برنامه وب پیشرو (PWA)

قبل از

قبل از PWA

بعد از

بعد از PWA

آردوینو اونو

DFRobot I/O Expansion Shield

آردوینو با DFRobot IO Expansion Shield و سنسورها

سنسور دما DS18B20 (ضد آب)

سنسور دما DS18B20

آردوینو IDE

تست با Arduino IDE

جانی فایو

https://www.youtube.com/watch?v=ExYDtk9MduU

جانی فایو

پایگاه داده MongoDB

روش مونگو

Webix Javascript UI Library

https://www.youtube.com/watch?v=QrxWeFzS-4o

رابط کاربری Webix

منابع/اطلاعات اضافی

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا