Skip to content

An intelligent robot to find whoever broke the Jenkins build and a sensor streaming platform

Notifications You must be signed in to change notification settings

Shumakriss/build_butler-2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Butler 2.0

Version 2.0 of the Build Butler is coming and it's going to be way more flexible. In version 2.0, I aim to simplify BB agents by allowing them to simply publish to Kafka. From there, we can build a master app (or apps) to let us access raw or processed data however we like. This will also pave the way to better integration with tools like SparkStreaming and other ML-related tools for even more advanced IoT-like processing.

Setup

  1. To get started, we use a basic, single-node Kafka setup using the Quickstart
  • Or use docker, but first export KAFKA_HOST=$(echo $DOCKER_HOST | sed 's/.////g' | sed 's/:.//g')
  1. Since our consumers/producers are all on different hosts and we want a convenient way to access the broker, we override the listeners and advertised.listeners properties in config/server.properties (an example is checked into the repo).
  2. Also, a Dockerized Jenkins is used to kick off the search
  3. Lastly, spin up the various Python processes. You will need either laptop or RPI producers for both video and audio. You will need all of the files ending in "-processor.py" and any consumers you wish for debugging.

Build Butler in Action

Nothing like that just woke up look!

  • Getting the video stream

  • Detect faces

  • Format faces for recognition

  • Put a name to the face

  • Get text from audio

Project Direction

  • More infrastructure-as-code with Docker Compose
    • Dockerize Zookeeper, Kafka, and Jenkins
    • Dockerize processor agents, backends, and clients
  • Use Streams API for:
    • Merging images into single dashboard stream
    • Determining when all the search criteria are met (face, verbal acknowledgment, etc.)
    • Pathfinding algorithms that require several data streams
  • Introduce more hardware
    • iRobot Create
    • Parrot AR Drone
    • Additional RPi sensors (IR, SONAR, Altimeter, GPS, Accelerometer)
    • Seeking recommendations for R2D2, BB-8, and Robot B-9 M-3 platforms as well!
  • Make better use of data
    • Allow alert notifications from anomaly detection
    • Use NiFi to pump data to Hadoop, Spark, etc.
    • Send data to cloud for better GPU compute
    • Build better models using the data and SOTA methods

About

An intelligent robot to find whoever broke the Jenkins build and a sensor streaming platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages