Overview
uMEC (aka MicroMEC, or Micro-MEC) is a project under the Akraino Edge umbrella. SUSE joined in 2019 and together with partners we managed to create the 1st prototype infrastructure.
The concept has been successfully used on a few hackathons last year:
2020 Plans
A few weeks ago we sat down with Nokia and discussed how could we reshape the existing code and documentation. We agreed to relocate the code to github and properly document the architecture and the installation. This work will already highlight the architecture changes we are planning to accommodate different edge computing units (like Nvidia Jetson Nano) and more sensors in general. The uMEC APIs will also be redesigned and the results of the work will hopefully be presented on a couple of conferences and hackathons this year.
Hackweek Work
I would like to focus on the installation and architecture documentation. The setup we have been using throughout 2019 included quite a few pieces:
The prototype edge units were based on Raspberry Pi 3B+ and 4 computers. The RPis ran openSUSE TW (64 bit) and Raspbian.
The uMEC APIs were deployed in containers and orchestrated by k3s. Along the uMEC APIs we also had a hosted Tensorflow service where we deployed models for simple object detection.
On the "server side" we had k8s and OpenFaaS Cloud; OFC. With OFC we offered an easy to use development environment for quick prototyping using the uMEC APIs.
This year we will setup a proper CI / CD pipeline using github. The deployment will take place on hardware that is hosted at Metropolia University where the students are also working on uMEC use cases.
Our goal is to enable the setup and creation of uMEC environments by anybody. As the hardware and software is all available, we just need to document these properly. I hope that by the end of the hack week uMEC will be in a much better shape.
Please join, if you are interested in 5G Edge computing and would like to learn more about industrial use cases in the area.
Looking for hackers with the skills:
This project is part of:
Hack Week 19
Activity
Comments
Be the first to comment!
Similar Projects
SUSE Edge Image Builder MCP by eminguez
Description
Based on my other hackweek project, SUSE Edge Image Builder's Json Schema I would like to build also a MCP to be able to generate EIB config files the AI way.
Realistically I don't think I'll be able to have something consumable at the end of this hackweek but at least I would like to start exploring MCPs, the difference between an API and MCP, etc.
Goals
- Familiarize myself with MCPs
- Unrealistic: Have an MCP that can generate an EIB config file
Resources
SUSE Edge Image Builder json schema by eminguez
Description
Current SUSE Edge Image Builder tool doesn't provide a json schema (yes, I know EIB uses yaml but it seems JSON Schema can be used to validate YAML documents yay!) that defines the configuration file syntax, values, etc.
Having a json schema will make integrations straightforward, as once the json schema is in place, it can be used as the interface for other tools to consume and generate EIB definition files (like TUI wizards, web UIs, etc.)
I'll make use of AI tools for this so I'd learn more about vibe coding, agents, etc.
Goals
- Learn about json schemas
- Try to implement something that can take the EIB source code and output an initial json schema definition
- Create a PR for EIB to be adopted
- Learn more about AI tools and how those can help on similar projects.
Resources
- json-schema.org
- suse-edge/edge-image-builder
- Any AI tool that can help me!
Set Uyuni to manage edge clusters at scale by RDiasMateus
Description
Prepare a Poc on how to use MLM to manage edge clusters. Those cluster are normally equal across each location, and we have a large number of them.
The goal is to produce a set of sets/best practices/scripts to help users manage this kind of setup.
Goals
step 1: Manual set-up
Goal: Have a running application in k3s and be able to update it using System Update Controler (SUC)
- Deploy Micro 6.2 machine
Deploy k3s - single node
- https://docs.k3s.io/quick-start
Build/find a simple web application (static page)
- Build/find a helmchart to deploy the application
Deploy the application on the k3s cluster
Install App updates through helm update
Install OS updates using MLM
step 2: Multi-node cluster
Goal: Use SUC to update a multi-node cluster.
- Create a multi-node cluster
- Deploy application
- Install App updates through helm update
- Prepare a SUC for OS update (k3s also? How?)
- https://github.com/rancher/system-upgrade-controller
- https://documentation.suse.com/cloudnative/k3s/latest/en/upgrades/automated.html
step 3: Automate day 2
Goal: Trigger the application deployment and update from MLM
- Salt states For application (with static data)
- Deploy the application helmchart, if not present
- Update/deploy the SUC?
- Update/deploy the SUC CRD with the update procedure
- Salt states to deploy k3s cluster?
- Link it to GIT
- Define how to link the state to the machines (based in some pillar data? Using configuration channels by importing the state? Naming convention?)
- Use git update to trigger helmchart app update
- Update git SUC - CR and apply the state to trigger the update of the machine.
- Recurrent state applying configuration channel?
Smart lighting with Pico 2 by jmodak
Description
I am trying to create a smart-lighting project with a Raspberry Pi Pico that reacts to a movie's visuals and audio that involves combining two distinct functions: ambient screen lighting(visual response) and sound-reactive lighting(audio response)
Goals
- Visuals: Capturing the screen's colour requires an external device to analyse screen content and send colour data to the MCU via serial communication.
- Audio: A sound sensor module connected directly to the Pico that can detect sound volume.
- Pico 2W: The MCU receives data fro, both inputs and controls an LED strip.
Resources
- Raspberry Pi Pico 2 W
- RGB LED strip
- Sound detecting sensor
- Power supply
- breadboard and wires