Go here to check what's ongoing and try the latest features.
We build images suitable for Raspberry Pi 4 with the Seeed CAN-shield. Have a look here: https://www.beamylabs.com/releases/
Clone this repository and make sure you have docker
and docker-compose
installed, then run:
docker-compose up -d
This command only needs to be run once. It is persistent over system reboot -- the containers will be restarted after a reboot, over and over again.
Point your web browser at the machine running BeamyBroker, an address like
http://192.0.2.42:8080/
. If you are connected to a hosted WLAN Access Point
like beamylabs
, the address should be http://192.168.4.1:8080/
.
NOTE: if you change your interface settings you must restart by do doing STOP and the start it again like above.
If you want to run BeamyBroker in the special distributed mode, its node name needs to be set. Run it like this:
NODE_NAME=$(scripts/resolve-ip.sh eth0) docker-compose up -d
$(scripts/resolve-ip.sh eth0)
assumes that the interface for your main
ethernet connection is called eth0
. If that's not the case, you need to
change eth0
to the correct name. (Hint: you can can find your interface name
using ip addr
or ifconfig
).
Example configuration and detailed instructions can be found here.
docker-compose down
When you upgrade; remember to upgrade THIS repository as well git pull
,
as examples are continuously updated and improved. You will also find the
latest pre-generated grpc files in this repository.
git pull
./upgrade.sh
Alternatively, just pull the latest container images manually:
docker-compose pull
If you are running in distributed mode, the same required node name should be passed to the script, similar to when you first started the system:
NODE_NAME=$(scripts/resolve-ip.sh eth0) ./upgrade.sh
It is possible to trigger an upgrade through the BeamyBroker web interface. This require a service to be running. To install and start this service (only needed once):
sudo scripts/install-service.sh
To pull a specific version you can specify custom tag for BEAMYBROKER_TAG
or
BEAMYWEBCLIENT_TAG
, as in:
BEAMYBROKER_TAG=v0.0.7-4-g12 docker-compose up -d
The server is accessible using gRPC, which effectively means that you can access it with your language of choice. Stubs to access the server are generated by providing proto files which contains the API specification.
Pre generated files and samples are available for a selection of languages. If you need another language you can get inspiration by how it's done for python here.
BeamyBroker is configured using a interfaces.json
an example can be found here. All resources/files referenced needs to be provided to the server. There are several ways to configure BeamyBroker.
- Using web interface,
http://127.0.0.1:8080/#/configuration
- Using code as done here where a folder is uploaded using
upload_folder
with all relevant files followed by areload_configuration
. This is recommended since it allows all clients to be self sufficient, allowing simple code sharing.
an extensive reference can be found here
In order to understand usage of the product and it's environment it will try and
send system information based on your interfaces.json
and it's execution
environment on start. The data is obfuscated and it is not distributed to any
other party. Its sole purpose is the make the software better.
This is not mandatory and can be disabled, however to keep us motivated we would please urge you not to disable this feature.