mirror of
https://gitlab.com/manzerbredes/ina260-zmq-publisher.git
synced 2025-04-19 04:09:45 +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
|
# Binary
|
||||||
/logger
|
/logger
|
||||||
/publisher
|
/publisher
|
||||||
/client
|
/subscriber
|
||||||
|
|
||||||
# Caches
|
# Caches
|
||||||
/logs
|
/logs
|
||||||
|
|
13
Makefile
13
Makefile
|
@ -3,21 +3,24 @@ include $(CONF)
|
||||||
CC="gcc"
|
CC="gcc"
|
||||||
CFLAGS=
|
CFLAGS=
|
||||||
|
|
||||||
all: publisher client logger
|
all: publisher subscriber logger
|
||||||
|
|
||||||
publisher: src/publisher.c src/utils.c
|
publisher: src/publisher.c src/utils.c
|
||||||
$(CC) -lzmq $^ -o $@
|
$(CC) -lzmq $^ -o $@
|
||||||
|
|
||||||
client: src/client.c src/utils.c
|
subscriber: src/subscriber.c src/utils.c
|
||||||
$(CC) -lzmq $^ -o $@
|
$(CC) -lzmq $^ -o $@
|
||||||
|
|
||||||
logger: src/logger.c src/utils.c
|
logger: src/logger.c src/utils.c
|
||||||
$(CC) $^ -o $@
|
$(CC) $^ -o $@
|
||||||
|
|
||||||
start: publisher client
|
publish: publisher logger
|
||||||
|
$(error "Not yet implemented")
|
||||||
|
|
||||||
|
subscribe: subscriber
|
||||||
$(error "Not yet implemented")
|
$(error "Not yet implemented")
|
||||||
|
|
||||||
clean:
|
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:
|
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
|
- `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
|
- `publisher`: that continuously publish using the ZeroMQ pub/sub communication pattern
|
||||||
- `client`: a sub client example that you can use for testing
|
- `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.*
|
*Note: Nothing is stored locally! Everything that is published by the publisher is either receive by a subscriber or lost.*
|
||||||
|
|
||||||
### Compilation
|
### Compilation
|
||||||
The only dependency is [ZeroMQ](https://zeromq.org/).
|
The only dependency is [ZeroMQ](https://zeromq.org/). After installing the ZeroMQ library, the following will generate all the executables:
|
||||||
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*.
|
|
||||||
|
|
||||||
### Execution
|
$ make
|
||||||
Running `make start` will start the *logger* and *publisher* according to the settings you provided in `config.mk`.
|
|
||||||
|
|
||||||
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 <zmq.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.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 <zmq.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.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 <zmq.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
Loading…
Add table
Add a link
Reference in a new issue