mirror of
https://gitlab.com/manzerbredes/ina260-zmq-publisher.git
synced 2025-04-10 08:20:27 +00:00
Minor changes
This commit is contained in:
parent
b63811848f
commit
831c3999b4
6 changed files with 22 additions and 23 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,7 +1,7 @@
|
|||
# Binary
|
||||
/logger
|
||||
/publisher
|
||||
/client
|
||||
/subscriber
|
||||
|
||||
# Caches
|
||||
/logs
|
||||
|
|
13
Makefile
13
Makefile
|
@ -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
|
||||
|
|
20
README.md
20
README.md
|
@ -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
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue