saiyan86 / shifu

THE framework to make IoT developers happy again!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

中文 | English

Shifu

Build Status

Shifu is a Kubernetes native framework designed to abstract out the complexity of interacting with IoT devices. Shifu aims to achieve TRUE plug'n'play IoT device virtualization, management, control and automation.

Why use Shifu?

  • Shifu let you manage and control your IoT devices extremely easily. Whenever you connect your device, Shifu will recognize it and spawn an augmented digital twin called deviceShifu for it.
  • deviceShifu provides you with a high-level abstraction to interact with your device.
    • By implementing the interface of the deviceShifu, your IoT device can achieve everything its designed for, and much more! For example, your device's state can be rolled back with a single line of command. (If physically permitted, of course.)
    • Shifu is able to abstract deviceShifu horizontally (grouping, batch execute) and vertically (layers, allow high level command to be executed. e.g.: factory start).
  • A simulation feature which allows developer to simulate a scenario before actually running will be available later.

How to use Shifu?

Currently, Shifu runs on Kubernetes. We will provide more deployment methods including standalone deployment in the future.

Install Shifu on Kubernetes cluster


Guides:


Demo:

We prepared a demo for developers to intuitively show how Shifu is able to create and manage digital twins of any physical devices in real world.

Our Roadmap

Protocols

Supported

  • HTTP
  • Driver implementation w/ command line execution
  • ... More on the way

Features

Supported

  • Telemetry collection: shifu supports periodic collection of any telemetries from device. What telemetries to collect, how to collect, how frequent is the collection are all customizable in one single configuration file.
  • Integration with Kubernetes with CRD: shifu allows any types or forms of configurations for your devices.

Not yet supported


Milestone

By Protocol Features
Q4 2021 HTTP
Driver w/ command line
Telemetry
Command proxy
CRD integration
Basic Controller
Q1 2022 At least:
MQTT
Modbus
ONVIF
国标GB28181
USB
Declarative API
Advanced Controller
shifud
Q2 2022 At least:
OPC UA
Serial
Zigbee
LoRa
PROFINET
Abstraction
Q3 2022 TBD Security Features
Q3 2023 TBD Simulation

Shifu's vision

Make developers and operators happy again

Developers and operators should 100% focus on using their creativity to make huge impacts, not fixing infrastructures and re-inventing the wheels day in and day out. As a developer and an operator, Shifu knows your pain!!! Shifu wants to take out all the underlying mess, and make us developers and operators happy again!

Software Defined World (SDW)

If every IoT device has a Shifu with it, we can leverage software to manage our surroundings, and make the whole world software defined. In a SDW, everything is intelligent, and the world around you will automatically change itself to serve your needs. After all, all the technology we built are designed to serve human beings.

Community

Contact

Feel free to open a GitHub issue or contact us in the following ways:

About

THE framework to make IoT developers happy again!

License:Apache License 2.0


Languages

Language:Go 70.5%Language:Makefile 14.0%Language:Shell 11.7%Language:Dockerfile 3.9%