This commit is contained in:
2025-12-10 07:47:04 +01:00
parent 99c7ccac16
commit f0b1cf97e2
5 changed files with 1450 additions and 13 deletions

View File

@@ -1,5 +1,14 @@
FROM debian:stable-slim
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=1000
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& apt-get update && apt-get install -y sudo \
&& echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
RUN RUN set -eux; \
apt-get update; \
apt-get install -y \
@@ -40,6 +49,7 @@ RUN set -eux; \
librabbitmq-dev;\
apt-get clean
WORKDIR /root
USER $USERNAME
WORKDIR /workspace
CMD ["sleep infinity"]

54
.devcontainer/compose.yml Normal file
View File

@@ -0,0 +1,54 @@
services:
dev:
build:
context: .
dockerfile: Dockerfile
volumes:
- ..:/workspace:cached
command: sleep infinity
networks:
- dev_net
nodered:
image: nodered/node-red:4.1
container_name: nodered
ports:
- "1880:1880"
networks:
- dev_net
environment:
TZ: Europe/Paris
volumes:
- ./nodered-data:/data
- ./nodered-flows/flows.json:/data/flows.json
rabbitmq:
image: rabbitmq:4.1.4-management
container_name: rabbitmq
environment:
RABBITMQ_DEFAULT_USER: "admin"
RABBITMQ_DEFAULT_PASS: "geii2025"
# Activation MQTT sur le port 1883
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: >
-rabbitmq_mqtt tcp_listeners [1883]
ports:
- "5672:5672" # AMQP
- "1883:1883" # MQTT
- "15672:15672" # RabbitMQ Manager
networks:
- dev_net
volumes:
- rabbitmq:/var/lib/rabbitmq
# Activation des plugins + démarrage serveur
command: >
sh -c "rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_management &&
rabbitmq-server"
networks:
dev_net:
volumes:
rabbitmq:

View File

@@ -1,13 +1,10 @@
{
"name": "Developpement C",
"build": {
"dockerfile": "Dockerfile"
},
"runArgs": [
"--label", "prometheus=true",
"--network=tp_net",
"--name=pompes"
"dockerComposeFile": [
"compose.yml"
],
"service": "dev",
"workspaceFolder": "/workspace",
"customizations": {
"vscode": {
"settings": {

View File

@@ -50,11 +50,8 @@ unsigned short sensor_max, sensor_high, sensor_low, sensor_min;
float TankInitalValue = 7;
// Prometheus
// Réception des messages MQTT
// ************************************************************
// ************************************************************
class callback : public virtual mqtt::callback {
public:
void message_arrived(mqtt::const_message_ptr msg) override {
@@ -71,6 +68,7 @@ public:
}
}
};
// ************************************************************
int main()
{

1378
nodered-flows/flows.json Normal file

File diff suppressed because it is too large Load Diff