This device service has not been released in EdgeX since 1.3.x "Hanoi". Although the codebase has been updated for EdgeX v2, it is not supported by EdgeX Foundry and as such this repository is archived.
The EdgeX Device Grove Service is developed to control/communicate Grove sensors connected on Grove PI in an EdgeX deployment
Raspberry PI 3, 4 - ARM64 bit
The Device Grove service based on device-c-sdk is developed using libmraa - a low level library that communicates with the Raspberry PI board. The repository can be found on git at libmraa.
-
Check out device-grove-c available at device-grove-c
-
Build a docker image by using the following command
sh> cd device-grove-c
sh> make docker
This command shall build the dependencies - libmraa and device-c-sdk library and create the release version of the docker image by the name 'device-grove-c'. By default, the configuration and profile file used by the service are available in 'res' folder.
- Port number specified in the configuration.toml
- --device=/dev/ < i2c-device > to map host device to the container. For Raspberry PI, it is i2c-1.
Note: On Raspberry PI, make sure that i2c_arm=on is set. This enables i2c-1 device, required for communication between Grove PI & Raspberry PI boards.
Before building natively the dependencies for the C SDK need to be installed: these are listed at https://github.com/edgexfoundry/device-sdk-c
The build_deps.sh
script downloads and builds the required libmraa and the EdgeX device SDK. The build.sh
script is then used to build the device service.
sh> cd device-grove-c
sh> ./scripts/build_deps.sh
sh> ./scripts/build.sh