Skip to content

frozenminds/robomonit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboMonit

Let robots monitor your apps and files.

What's that?!?

Pipe your data into RoboMonit and let it control your hardware when defined patterns match.

RoboMonit is powered by GoBot, so you'll have support for a lot of platforms like Raspberry Pi, Arduino, Beaglebone, Edison and why not drones. Blink LED's, move your Sphero or sound an alarm.

Demos

youtube

asciicast

Requirements

Install

go install github.com/frozenminds/robomonit

Configure

Create a new YAML configuration file named robomonit.yaml and place it under $HOME or /etc.

Sample configuration to match HTTP request methods (GET or HEAD, POST, PATCH or PUT, DELETE) and light up an LED:

platforms:
  raspi:
    direct-pin:
      green: "15"
      yellow: "16"
      blue: "17"
      red: "18"
patterns:
  raspi.direct-pin.green: (GET|HEAD)
  raspi.direct-pin.yellow: POST
  raspi.direct-pin.blue: (PATCH|PUT)
  raspi.direct-pin.red: DELETE

Then pipe the logs into RoboMonit:

ssh domain.com tail -f /var/log/nginx/access.log | robomonit monitor

There's convenience machine MachineFactory built in that configurable via the configuration file. It supports Arduino, Beaglebone, C.H.I.P, Edison and Raspberry Pi with direct PIN and LED drivers.

For more control, safety, drivers and so on, create your own struct. The sole purpose of MachineFactory is to easily configure and use RobotMonit.

Special Thanks

  • Golang - The Go Programming Language
  • Viper - Go configuration with fangs!
  • Cobra - A Commander for modern Go CLI interactions
  • Gobot - Golang Powered Robotics
  • RaspberryPi - Credit card-sized single-board computers

About

Let robots monitor your apps and files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages