Minor changes

This commit is contained in:
Loic Guegan 2023-07-15 19:31:17 +02:00
parent b63811848f
commit 831c3999b4
6 changed files with 22 additions and 23 deletions

2
.gitignore vendored
View file

@ -1,7 +1,7 @@
# Binary
/logger
/publisher
/client
/subscriber
# Caches
/logs

View file

@ -3,21 +3,24 @@ include $(CONF)
CC="gcc"
CFLAGS=
all: publisher client logger
all: publisher subscriber logger
publisher: src/publisher.c src/utils.c
$(CC) -lzmq $^ -o $@
client: src/client.c src/utils.c
subscriber: src/subscriber.c src/utils.c
$(CC) -lzmq $^ -o $@
logger: src/logger.c src/utils.c
$(CC) $^ -o $@
start: publisher client
publish: publisher logger
$(error "Not yet implemented")
subscribe: subscriber
$(error "Not yet implemented")
clean:
rm -f logger client publisher
rm -f logger subscriber publisher
.PHONY: clean publisher client logger start
.PHONY: clean publish subscribe

View file

@ -3,16 +3,22 @@
A ZeroMQ-based power monitoring publisher for the ina260 chip. This repository provides:
- `logger`: that collects (as fast as possible) power measurements from the ina260 using the dedicated driver
- `publisher`: that continuously publish through the pub/sub communication pattern of ZeroMQ
- `client`: a sub client example that you can use for testing
- `publisher`: that continuously publish using the ZeroMQ pub/sub communication pattern
- `subscriber`: a client that collect the measurements from the publishers (broker, frontend etc...)
*Note: Nothing is stored locally! Everything that is published by the publisher is either receive by a subscriber or lost.*
### Compilation
The only dependency is [ZeroMQ](https://zeromq.org/).
First, you need to setup the environment by editing `config.mk` according to your needs. Then, executing `make` is sufficient to generate *logger*, *publisher* and *client*.
The only dependency is [ZeroMQ](https://zeromq.org/). After installing the ZeroMQ library, the following will generate all the executables:
### Execution
Running `make start` will start the *logger* and *publisher* according to the settings you provided in `config.mk`.
$ make
Then, to access to the power measurements, simply execute the client on a machine where the publisher is reachable with `./client`.
### Deployment
1. Update `config.mk` according to you needs
2. On the nodes equiped with the ina260 chips:
$ make publish
3. One the node that collect the measurements (broker, frontend etc..):
$ make subscribe

View file

@ -1,6 +1,3 @@
// Weather update client
// Connects SUB socket to tcp://localhost:5556
// Collects weather updates and finds avg temp in zipcode
#include <zmq.h>
#include <assert.h>
#include <time.h>

View file

@ -1,7 +1,3 @@
// Weather update server
// Binds PUB socket to tcp://*:5556
// Publishes random weather updates
#include <zmq.h>
#include <assert.h>
#include <time.h>

View file

@ -1,6 +1,3 @@
// Weather update client
// Connects SUB socket to tcp://localhost:5556
// Collects weather updates and finds avg temp in zipcode
#include <zmq.h>
#include <assert.h>
#include <time.h>