Skip to content
Snippets Groups Projects
Commit 6e7cf06f authored by Jonas Arnhold's avatar Jonas Arnhold
Browse files

Working draft

parent 17d26feb
No related branches found
No related tags found
No related merge requests found
/myenv
.DS_Store
\ No newline at end of file
*/venv
edge/target/*
.idea
.DS_Store
version: '3.9'
services:
usage-sensor:
ports:
- "5555:5555"
build:
context: ./sensors/usage
temperature-sensor:
ports:
- "5556:5556"
build:
context: ./sensors/temperature
......@@ -12,10 +12,11 @@
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<version>0.6.0</version>
</dependency>
</project>
\ No newline at end of file
<dependencies>
<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<version>0.6.0</version>
</dependency>
</dependencies>
</project>
package edge.src.main.java.com.fogcomputing;
package com.fogcomputing;
import org.zeromq.SocketType;
import org.zeromq.ZMQ;
import org.zeromq.ZContext;
public class Main {
public static void main(String[] args) throws Exception
{
try (ZContext context = new ZContext()) {
// Socket to talk to clients
ZMQ.Socket socket = context.createSocket(SocketType.REP);
socket.bind("tcp://*:5555");
while (!Thread.currentThread().isInterrupted()) {
// Block until a message is received
byte[] reply = socket.recv(0);
private static final String USAGE_TOPIC = "USAGE";
private static final String TEMPERATURE_TOPIC = "TEMPERATURE";
// Print the message
System.out.println(
"Received: [" + new String(reply, ZMQ.CHARSET) + "]"
);
public static void main(String[] args) {
try (ZContext context = new ZContext()) {
// Send a response
String response = "Hello, world!";
socket.send(response.getBytes(ZMQ.CHARSET), 0);
}
}
}
\ No newline at end of file
ZMQ.Socket usageSub = context.createSocket(SocketType.SUB);
usageSub.connect("tcp://*:5555");
usageSub.subscribe(USAGE_TOPIC.getBytes());
ZMQ.Socket temperatureSub = context.createSocket(SocketType.SUB);
temperatureSub.connect("tcp://*:5556");
temperatureSub.subscribe(TEMPERATURE_TOPIC.getBytes());
while (true) {
String usageData = usageSub.recvStr();
String temperatureData = temperatureSub.recvStr();
System.out.println(usageData);
System.out.println(temperatureData);
}
}
}
}
......@@ -2,4 +2,5 @@ FROM python:3.9.19-alpine3.20
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "TemperatureSensor.py"]
\ No newline at end of file
EXPOSE 5556/tcp
CMD ["python", "TemperatureSensor.py"]
......@@ -2,4 +2,5 @@ FROM python:3.9.19-alpine3.20
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "UsageSensor.py"]
\ No newline at end of file
EXPOSE 5555/tcp
CMD ["python", "UsageSensor.py"]
......@@ -15,4 +15,4 @@ while True:
data = randrange(100)
socket.send_string("%s %d" % (TOPIC, data))
logging.info("Usage sensor send %d" % data)
time.sleep(1)
\ No newline at end of file
time.sleep(1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment