Compare commits

..

20 Commits

Author SHA1 Message Date
VladiusVostokus
7ddfb68b02
Merge pull request #5 from Rhinemann/lab1_huranets
FileReader
2026-02-26 08:04:10 +00:00
9473c5a621 Remove unnecessary rewind after file open 2026-02-25 21:08:54 +02:00
953b0bdb9a Remove unused _detect_header_and_buffer method and related fields 2026-02-25 20:56:43 +02:00
f58596ebf7 Refactor FileDatasource: remove unused header detection variables 2026-02-25 12:35:58 +02:00
d621390f51 Refactor file rewind logic to skip header row and remove unnecessary buffers 2026-02-25 12:11:05 +02:00
e4be6b0a19 Refactor file rewinding logic to skip header row after seek(0) 2026-02-25 12:00:39 +02:00
fe66df9b8c Refactor row reading logic for clarity and efficiency 2026-02-25 11:50:56 +02:00
3e0b4762ef Optimize CSV parsing by adding skipinitialspace=True to csv.reader and removing unnecessary strip() calls 2026-02-24 22:11:37 +02:00
75613fd4fc Restore input validation for accelerometer parsing 2026-02-24 20:47:00 +02:00
a25fbfc3ef Simplify accelerometer parsing and remove int16-specific leftovers 2026-02-24 20:14:56 +02:00
ca790e7306 Remove int16 binding from datasource 2026-02-24 19:55:50 +02:00
1643767094 Remove int16 range check per review 2026-02-24 15:41:41 +02:00
3d94bf3008 Parse accelerometer values as int16 (remove float conversion) 2026-02-24 15:12:49 +02:00
c5d98d53cd Add mosquitto runtime folders to gitignore 2026-02-24 14:25:27 +02:00
07a0e906d8 Fix timestamp field in AggregatedData 2026-02-24 14:21:41 +02:00
VladiusVostokus
9bf3741f32
Merge pull request #4 from Rhinemann/lab1_shmuliar
[SCRUM-40] [L1] Використання STM32 як акселерометра
2026-02-24 11:37:27 +00:00
092130dfab lab1: implement UART reader alongside with the file writer usage example 2026-02-24 12:48:48 +02:00
35af3bbabb lab1: add stm32f4 uart reader project and source code 2026-02-24 11:26:08 +02:00
c974ac32f6 Реалізовую базовий FileReader та переношу sleep до FileDatasource.read() 2026-02-23 22:01:11 +02:00
VladiusVostokus
f34258f93c
Merge pull request #3 from Rhinemann/lab1_shved
updated compose file
2026-02-23 17:27:36 +00:00
6 changed files with 4 additions and 76 deletions

View File

@ -1,25 +0,0 @@
name: Test Agent
on: [push, workflow_dispatch]
jobs:
test-agent-run:
runs-on: arch-x86_64
steps:
- name: Fetch the repository
run: git clone --branch ${{ gitea.ref_name }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }}
- name: Build containers
run: docker-compose -f docker-compose-test.yaml build
working-directory: sem8-iot-test/agent/docker
- name: Start MQTT broker
run: docker-compose -f docker-compose-test.yaml up -d mqtt
working-directory: sem8-iot-test/agent/docker
- name: Start agent
run: docker-compose -f docker-compose-test.yaml run fake_agent
working-directory: sem8-iot-test/agent/docker
- name: Clean up
if: always()
run: docker-compose -f docker-compose-test.yaml down
working-directory: sem8-iot-test/agent/docker

View File

@ -1,34 +0,0 @@
version: "3.3"
#name: "road_vision"
services:
mqtt:
image: eclipse-mosquitto
container_name: mqtt
volumes:
- ./mosquitto:/mosquitto
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
ports:
- 1883:1883
- 9001:9001
networks:
mqtt_network:
fake_agent:
container_name: agent
build: ../
depends_on:
- mqtt
environment:
MQTT_BROKER_HOST: "mqtt"
MQTT_BROKER_PORT: 1883
MQTT_TOPIC: "agent_data_topic"
DELAY: 0.1
MAX_SENDS: 30
networks:
mqtt_network:
networks:
mqtt_network:

View File

@ -1,5 +1,4 @@
version: "3.3"
#name: "road_vision"
name: "road_vision"
services:
mqtt:
image: eclipse-mosquitto

View File

@ -16,6 +16,3 @@ MQTT_TOPIC = os.environ.get("MQTT_TOPIC") or "agent"
# Delay for sending data to mqtt in seconds
DELAY = try_parse(float, os.environ.get("DELAY")) or 1
# Testing switches for CI/CD
MAX_SENDS = try_parse(int, os.environ.get("MAX_SENDS"))

View File

@ -22,13 +22,9 @@ def connect_mqtt(broker, port):
return client
def publish(client, topic, datasource, max_sends = None):
def publish(client, topic, datasource):
datasource.startReading()
i = 0
while True:
i += 1
data = datasource.read()
msg = AggregatedDataSchema().dumps(data)
result = client.publish(topic, msg)
@ -36,10 +32,6 @@ def publish(client, topic, datasource, max_sends = None):
if status != 0:
print(f"Failed to send message to topic {topic}")
if max_sends and i >= max_sends:
# display test success
exit(0)
def run():
# Prepare mqtt client
@ -47,8 +39,8 @@ def run():
# Prepare datasource
datasource = FileDatasource("data/accelerometer.csv", "data/gps.csv")
# Infinity publish data
publish(client, config.MQTT_TOPIC, datasource, getattr(config, "MAX_SENDS", None))
publish(client, config.MQTT_TOPIC, datasource)
if __name__ == "__main__":
run()
run()

View File

@ -13,7 +13,6 @@ services:
- 19001:9001
networks:
mqtt_network:
user: 1000:1000
edge: