90 lines
4.5 KiB
Markdown
90 lines
4.5 KiB
Markdown
# flucky
|
|
|
|
[![Build Status](https://travis-ci.com/volker-raschek/flucky.svg?branch=master)](https://travis-ci.com/volker-raschek/flucky)
|
|
[![codecov](https://codecov.io/gh/volker-raschek/flucky/branch/master/graph/badge.svg)](https://codecov.io/gh/volker-raschek/flucky)
|
|
[![Go Report Card](https://goreportcard.com/badge/github.com/volker-raschek/flucky)](https://goreportcard.com/report/github.com/volker-raschek/flucky)
|
|
[![GoDoc Reference](https://godoc.org/github.com/volker-raschek/flucky?status.svg)](http://godoc.org/github.com/volker-raschek/flucky)
|
|
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/flucky)](https://hub.docker.com/r/volkerraschek/flucky)
|
|
|
|
Flucky is a lightweight program written in go for reading data from sensors, for
|
|
example with a banana or raspberry pi. In addition, flucky provides a REST-API
|
|
to receive from other flucky installations measured values. All received
|
|
measured values, no matter if they come directly from flucky or from a server
|
|
instance of flucky with the provided REST-API, can be stored into a database.
|
|
|
|
## Supported and planned sensors
|
|
|
|
| Name | Measured values | Supported |
|
|
| ------- | --------------------------------------- | --------- |
|
|
| BME280 | humidity, pressure, temperature | Yes |
|
|
| DHT11 | temperature | Yes |
|
|
| DHT22 | temperature | Yes |
|
|
| DS18B20 | temperature | Yes |
|
|
| SDS011 | fine dust | Planning |
|
|
|
|
## Supported and planned backends
|
|
|
|
| Backend | Supported |
|
|
| --------------- | --------------- |
|
|
| flucky | WIP |
|
|
| Logfile | CSV, JSON, XML |
|
|
| MySQL, MariaDB | Planning |
|
|
| PostgreSQL | Yes |
|
|
| SQLite | Planning |
|
|
|
|
## Installation
|
|
|
|
Flucky can be installed over multiple ways. For example over a specific linux
|
|
distributions package or as container. The following table lists all
|
|
repositories where flucky can be otained from, but flucky can already be
|
|
compiled from source code.
|
|
|
|
| Distribution | Repo's |
|
|
| --------------------------- | ------------------------------------------------------------------------------------------- |
|
|
| Arch Linux | [armv7](https://arch.cryptic.systems/armv7), [x86_64](https://arch.cryptic.systems/x86_64) |
|
|
| Debian, Ubuntu, Linux Mint | Currently not supported |
|
|
| RHEL, Fedora, Centos | Planning |
|
|
| Container Image | [hub.docker.com](https://hub.docker.com/repository/docker/volkerraschek/flucky) |
|
|
|
|
### Compiling the source code
|
|
|
|
An additional ways to install flucky is to compile the source code. There are
|
|
two different ways to compile flucky from scratch. The easier ways is to use the
|
|
pre-defined container image, which has included all dependencies to compile
|
|
flucky. Alternatively, if all dependencies are met, flucky can also be compiled
|
|
without the container image. Both variants are briefly described.
|
|
|
|
#### Compiling the source code via container image
|
|
|
|
To compile flucky via container image it's necessary, that a container runtime
|
|
is installed. In the `Makefile` is predefined docker, but it's can be also used
|
|
podman. Execute `make container-run/flucky` to start the compiling process.
|
|
|
|
```bash
|
|
$ make container-run/flucky
|
|
make container-run COMMAND=flucky
|
|
make[1]: Directory „/home/markus/workspace/flucky“ is entered
|
|
/usr/bin/docker run \
|
|
--rm \
|
|
--volume /home/markus/workspace/flucky:/workspace \
|
|
volkerraschek/build-image:latest \
|
|
make go-build \
|
|
VERSION=60ee044-git \
|
|
GOOS=linux \
|
|
GOARCH=amd64
|
|
go-bindata -pkg db -o ./pkg/db/bindataSQL.go ./pkg/db/sql/***
|
|
go-bindata -pkg goldenfiles -o ./test/goldenfiles/bindata.go ./test/goldenfiles/json/***
|
|
GOOS=linux \
|
|
GOARCH=amd64 \
|
|
go build -ldflags "-X main.version=60ee044-git"
|
|
go: finding github.com/spf13/pflag v1.0.3
|
|
go: finding github.com/satori/go.uuid v1.2.0
|
|
...
|
|
```
|
|
|
|
#### Compiling the source code without container image
|
|
|
|
Make sure you have installed go >= v1.12. Execute `make flucky` to compile
|
|
flucky without a container-image. There should be a similar output as when
|
|
compiling flucky via the container image.
|