MooptOS: Open IoT Platform for Decentralized Urban Farming

What I built

An open Internet-of-Things (IoT) platform, consists of modular software and hardware, for decentralized urban farming.

Category Submission:

We’re submitting for the ‘Interesting IoT’ category, which we can help…


This content originally appeared on DEV Community and was authored by Kai Chew

What I built

An open Internet-of-Things (IoT) platform, consists of modular software and hardware, for decentralized urban farming.

MooptOS

Category Submission:

We're submitting for the 'Interesting IoT' category, which we can help to manage and monitor IoT devices, including tasks like managing configurations, updating firmware, and collecting and analyzing data.

And we're also submitting for the 'DIY Deployments' category as we leverage Github Codespaces for an automation workflows in application deployment, i.e. setup environment, testing and running at localhost (nodejs, meteorjs, blazejs, johnnyfivejs, webixjs, PWA ready, ... etc). At the same time, we're using Github Actions for deployment testing.

Last but not least, our submission is also loosely related to "Phone Friendly" category because the deployment mentioned above is automatically and immediatelly ready for Progressive Web App (PWA), that are also available as mobile applications that work on both iOS and Android devices. Maybe "Wacky Wildcards" too :-P

  1. Interesting IoT: Manage and monitor IoT devices, including tasks like managing configurations, updating firmware, and collecting and analyzing data.
  2. DIY Deployments: An automation workflows for application deployment, i.e. setup environment, testing and running at http://localhost:3000 (nodejs, meteorjs, blazejs, PWA ready, ... etc), using Github Codespaces.
  3. Phone Friendly: The deployment is automatically and immediatelly ready for Progressive Web App (PWA), that are also available as mobile applications that work on both iOS and Android devices.
  4. Wacky Wildcards

App Link

https://os.moopt.com

Screenshots

Used Github Desktop to add existing local repository.

Github Desktop

Step-by-step to Click & Launch a Real-time Water Temperature Monitoring system based on Arduino & MeteorJS at Github Codespaces

Step 1: Go to moopt-codespace-action repo

go to moopt-codespace-action repo

Step 2: Click to launch a Codespace

Click to launch a Codespace

Step 3: Wait

launching Codespace 1

launching Codespace 2

Meteorjs environment auto setup 1

Meteorjs environment auto setup 1

Step 4: Awesome!

Meteorjs Example Hello app

Github Codespace status

Github Actions Test

Github Actions test running

Description

Github Actions is a combination of individual tasks, to define custom workflows that automated the entire development lifecycle, from code changes, testings to deployments.

GitHub Codespaces are development environments hosted in the cloud. We can customize our project for GitHub Codespaces by configuring dev container files to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of our project.

GitHub Codespaces run on a variety of VM-based compute options hosted by GitHub, which you can configure from 2 core machines up to 32 core machines. GitHub Codespaces is similar to our local IDE, so we don't really able to host an application with it.

GitHub Codespaces allowed us to work on the project from any device, anywhere in the world, with a pre-configured development environment that included all the necessary tools and dependencies, enabling us to focus on coding without worrying about setting up our local environment.

Link to Source Code

You can access the moopt-codespace-action repo here, which is one-click to launch a Codespace, as well as the Actions script for environment deployement testing.

MooptOS

Meteor blaze app (PWA ready) to leverage github desktop, codespaces & actions

What I built

An open platform (software and hardware) for decentralized urban farming.

Category Submission:

  1. DIY Deployments: An automation workflows for application deployment, i.e. setup environment, testing and running at http://localhost:3000 (nodejs, meteorjs, blazejs, PWA ready, ... etc), using Github Codespaces.
  2. Phone Friendly: The deployment is automatically and immediatelly ready for Progressive Web App (PWA), that are also available as mobile applications that work on both iOS and Android devices.
  3. Interesting IoT: Manage and monitor IoT devices, including tasks like managing configurations, updating firmware, and collecting and analyzing data.

App Link

Screenshots

Description

Link to Source Code

Permissive License

Background (What made you decide to build this particular app? What inspired you?)

How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new

Permissive License

MooptOS is distributed under the MIT License — you can find the license here.

Background (What made you decide to build this particular app? What inspired you?)

Manual labor and monitoring on environment quality affected the mortality of the herbs and fishes in a urban farm.

Fixed location sensors are installed to multiple urban farm for environment quality monitoring and optimal predictive maintenance scheduling.

The potential outcomes: A smart IoT open platform (both software & hardware) for decentralized urban farming, as a monitoring system to produce good quality fish and herbs.

As it is built within a very short time period from scratch, our PoC was built purely based on temperature sensor only. Our prototype can currently helping the users to deploy a real-time Water Temperature monitoring system based on open hardware like Arduino with DS18B20 sensor, as well as open software like MeteorJS and JohnnyFiveJS.

Temperature is an important water quality parameter. It can affect fish and shrimp metabolism, feeding rates and the degree of ammonia toxicity. Temperature also has a direct impact on biota respiration (O2 consumption) rates and influences the solubility of O2 (warmer water holds less O2 than cooler water).

Later we can add more environment tracking sensors, like electrical conductivity (EC), dissolved oxygen (DO), pH, salinity, carbon dioxide (CO2), ammonia (NH4), nitrite (NH2), hardness, turbidity and biochemical oxygen demand (BOD) of water.

How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)

MeteorJS

MeteorJS is an open-source full-stack JavaScript platform that is useful for developing modern web and mobile applications. Meteor helps the developer to develop in one language. Meteor has several features that help for creating a responsive and reactive web or mobile application using JavaScript or different packages available in the framework.

What is Meteor & its Benefits

For starts working with any technology, first of all, we need to create a suitable environment. Meteor currently supports OS X, Windows, and Linux. Only 64-bit is supported. The main prerequisite is Node.js.

We will use BlazeJS, a powerful library for creating user interfaces by writing reactive HTML templates. Compared to using a combination of traditional templates and jQuery, Blaze eliminates the need for all the "update logic" in your app that listens for data changes and manipulates the DOM. Blaze is a Meteor-only package for now.

Instead of setting MeteorJS environment manually (especially as the application will be getting more complex from time to time), for example adding Progressive Web App (PWA), we leverage Meteor.js devcontainer by Meteor Engineer. Now, you can simply go to moopt-codespace-action repo and create a codespace based on this repo in seconds!

Progressive Web App (PWA)

Before

Before PWA

After

After PWA

Arduino Uno

DFRobot I/O Expansion Shield

Arduino with DFRobot IO Expansion Shield and Sensors

DS18B20 Temperature Sensor (Waterproof)

DS18B20 Temperature Sensor

Arduino IDE

Testing with Arduino IDE

JohnyFive

JohnyFive

MongoDB database

mongo method

Webix Javascript UI Library

Webix UI

Additional Resources/Info


This content originally appeared on DEV Community and was authored by Kai Chew


Print Share Comment Cite Upload Translate Updates
APA

Kai Chew | Sciencx (2023-05-22T13:47:08+00:00) MooptOS: Open IoT Platform for Decentralized Urban Farming. Retrieved from https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/

MLA
" » MooptOS: Open IoT Platform for Decentralized Urban Farming." Kai Chew | Sciencx - Monday May 22, 2023, https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/
HARVARD
Kai Chew | Sciencx Monday May 22, 2023 » MooptOS: Open IoT Platform for Decentralized Urban Farming., viewed ,<https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/>
VANCOUVER
Kai Chew | Sciencx - » MooptOS: Open IoT Platform for Decentralized Urban Farming. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/
CHICAGO
" » MooptOS: Open IoT Platform for Decentralized Urban Farming." Kai Chew | Sciencx - Accessed . https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/
IEEE
" » MooptOS: Open IoT Platform for Decentralized Urban Farming." Kai Chew | Sciencx [Online]. Available: https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/. [Accessed: ]
rf:citation
» MooptOS: Open IoT Platform for Decentralized Urban Farming | Kai Chew | Sciencx | https://www.scien.cx/2023/05/22/mooptos-open-iot-platform-for-decentralized-urban-farming/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.