Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the open-horizon examples wiki.
This wiki is a central resource for getting started with IBM's edge solution. You'll find more information at the links below about Edge compute, registration on the Edge system, and custom service development.
Horizon is an autonomous (zero ops) peer-to-peer (coordinated) edge compute platform that enables delivery of software to the edge in a general purpose, open, secure, multi-workload, multi-tenant fashion.
- Edge Quick Start Guide - for new WIoTP/Horizon users that want to use existing edge services
- Edge Developer Quickstart Guide - for WIoTP/Horizon developers that want to create a new edge service and have it deployed by Horizon.
- Edge Development Concepts and Best Practices
- Edge Frequently Asked Questions
The above guides are based on this example code:
- Example CPU load percentage Microservice
- Example Workload to send CPU data to IBM Watson IoT Platform
Deep Learning and AI-related Resources
NVIDIA Jetson TX1/2
- cogwerx-jetson-tx2: open-horizon's Jetson TX2 github repository with code examples, Docker container builds for Yolo, Caffe, OpenCV, NVIDIA DIGITS, TensorRT
- face-classification-tx2: a Tensorflow / Keras based CNN model, from oarriaga's open source codebase, packaged in Docker for TX2
- self-jetsontx2: IBM Watson-Intu's open-source AI Middleware project, "Self". A Cognitive Middleware solution for tying together edge and cloud-based services. Read up on Intu and Embodiment here.
Microservices & Workloads by Architecture
Workloads typically process data and/or stream data to off-device endpoints such as IBM Watson IoT Platform.
Workloads leverage microservices at the edge, and are defined to run in Docker container groups.
Microservices provide access to hardware (cpu, network, camera, microphone) and raw data on the device.
Patterns define deployment of Workloads and Microservices for one or more architectures.
|Microservice Name||Workload Name||ARMHF (RPi2/3)||ARM64 / AARCH64 (TX2, C2)||AMD64 (x86_64)|
|GPS||GPS||X||X||X||Location (GPS device, IP-derived, or manual input), streamed to WIoTP via workload|
|CPU Percent||CPU2WIoTP||X||X||X||CPU Load Stats, streamed to WIoTP|
|Network||Netspeed2WIoTP||X||X||X||Network ping/speed test stats, to WIoTP|
|Weatherstation||PWS2WIoTP||X||X||Personal Weather Station data stream to Weather Underground and WIoTP|
|Pi3-Streamer||PI3Streamer2WIoTP||(Pi3 Only)||MJPG Pi3 Camera LAN stream|
IBM's edge solution was presented as part of NVIDIA's Developer webinar series, demonstrating how to develop and run Edge compute services, including Deep Learning workloads.