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.
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
- Interesting IoT: Manage and monitor IoT devices, including tasks like managing configurations, updating firmware, and collecting and analyzing data.
- 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.
- 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.
- Wacky Wildcards
App Link
Screenshots
Used Github Desktop to add existing local repository.
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
Step 2: Click to launch a Codespace
Step 3: Wait
Step 4: Awesome!
Github Actions Test
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:
- 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.
- 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.
- 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.
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
After
Arduino Uno
DFRobot I/O Expansion Shield
DS18B20 Temperature Sensor (Waterproof)
Arduino IDE
JohnyFive
MongoDB database
Webix Javascript UI Library
Additional Resources/Info
This content originally appeared on DEV Community and was authored by Kai Chew
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/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.