A nervo system for raspberry pies that makes working with multiple microcontrollers less of a pain
Go version >= 1.12
Uses go modules -> Should be cloned outside the $GOPATH
or explicitly set the env var GO111MODULE=on
- Run the server on a raspberry pi
- Build the server with
make build-for-pi
- Put the server binary on the pi
- Run the binary!
- Build the server with
- Build the command line binary with
go build -o nervo-cli cli/main.go
- Put the cli binary somewhere inside your
$PATH
- Run
nervo-cli <host/ip of your pi >:4000 [path to a local directory where you have .hex files that you want to flash to the microcontrollers]
cli
hosts the command line codeserver
hosts the entrypoint for the serverproto
holds the.proto
files and generated code forgrpc
communication between the server and the clicontroller.go
is an abstraction for all interactions with the microcontrollersmanager.go
makes sure only one goroutine can access controllers at a timeexplorer.go
notifies the manager about the current microcontrollersgrpc_server.go
defines the grpc-endpoints that are translated into func calls on the manager