aboutsummaryrefslogtreecommitdiff
path: root/report.qmd
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-19 08:01:31 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-19 08:01:31 +0200
commit9a51836f416d4bdbd28e085e51bc0dfa6d83d89b (patch)
treeacad57dcfbd8d83309e393cd536e8eb5751d705c /report.qmd
parentd4969a52a547a9c5f94033509f0b83bd5666c470 (diff)
update report content
Diffstat (limited to 'report.qmd')
-rw-r--r--report.qmd99
1 files changed, 56 insertions, 43 deletions
diff --git a/report.qmd b/report.qmd
index 32434ed..966490d 100644
--- a/report.qmd
+++ b/report.qmd
@@ -39,30 +39,16 @@ is illustration and demostration purposes.
*TODO: come back and write about each step,
OUR THREE REQUIRED COMPONENTS,and a conclusion*
-## Copyright and licensing
-
-*FIXME: this section cannot be a subsection of Abstract:
-Abstract must be a standalone section
-Suggested alternative location is in section
-"Project Planning and theoretical framework"*
-
-To encourage collaboration and stimulate a circular gift economy
-as introduced by @Mikkelsen2000,
-this project is copyleft licensed:
-Code parts are licensed
-under the GNU Public Licence version 3 or newer,
-and non-code parts are licensed
-under the Creative Commons crediting share-alike 4.0.
# Introduction - amal
In Poland, several waterworks use biomonitoring systems
that rely on freshwater mussels to detect water contamination
by measuring and analysing the mussels' gaping behavior
-[@FerreiraRodriguez2023, p. 3732]
+[@FerreiraRodriguez2023 p. 3732]
Our project aims to simulate a similar system.
We will be using Arduino-based hardware and software to do so,
-and have additionally made a P5 program to simulate night and day,
+and have additionally made a p5.js program to simulate night and day,
which influences the pseudomussels' behaviour (reaction).
We have defined a research question to work around:
@@ -125,13 +111,14 @@ or perhaps we wanted to prototype a fitting reaction
that leads to a dramatic output? Should the prototype be useful or
spark reflection? is it merely a state of the art prototype?
Concurrently, we learned about the roles
-artefacts can play in the research process,
+artefacts can play in a research process,
and used that framework to help define the aim of our project.
The following framework, as introduced in @Wensveen2014,
explains how prototypes can serve different purposes
depending on the type of knowledge a project aims to produce.
-A *role* consists of characteristics, that helps guide the design process
+A "role" consists of characteristics
+that helps guide the design process
and scope of the prototype.
There are four roles to choose from,
and we chose to work from the perspective of role number three,
@@ -140,30 +127,38 @@ and tool for critical reflection,
in both a physical and abstract sense
[@Wensveen2014 p. 8-9].
-Next we each did early prototyping and pseudocoding
-for about three weeks.
-During this phase, we worked on the sensor setups
-and on the logic behind the voting mechanism
+Next we each had an early prototyping and pseudocoding phase,
+were we worked on the sensor behaviour,
+on the logic behind the voting mechanism
and the possible communication-methods between them.
-Our project group has received a brief introduction to APIs
-during a lecture session,
+Our project group has received a brief introduction
+to APIs during a lecture session
and through additional notes on the topic,
-that are available on the lecture slides for week 5.
-From these notes, we learned
-that API works as a standardized "messenger",
-that allows different software applications to communicate
-through defined rules and protocols.
-API enables seamless integration between the systems.
-
-We decided to use a combination of bluetooth and API,
-to connect the sensor-data to the voting program.
-Bluetooth handles the connection
-between the sensors and our computer/phone,
-whilst the API is being used to send/retrieve data
-and trigger an output.
-A further explanation of this process
-will be displayed in @sec-user-guide.
+that are available on the lecture slides for week 5,
+but it is explicitly stated as "Not a part of the curicculum".
+Hence we have searched for external sources on API knowledge.
+
+We decided to implement a loosely coupled network design
+as in @GeeksForGeeks2024,
+to connect the different components
+and allow each of them to operate independently,
+whilst still being able to exchange data.
+We chose to use the BLE Beacon API --
+specifically the Eddystone protocol @accentSystems --
+and focused on TLM (telementry) frame type.
+The original purpose of of TLM
+is to transmit temperature and battery level,
+but we repurposed it
+to make the temperature show the gape angle data instead.
+The sensors appear in the debug interface
+of one of our android phones,
+indicating that any system supporting this API
+could interact with our sensors.
+
+*FIXME: add web link for @accentSystems above
+(that can be transformed into a biblatex reference)
+https://accent-systems.com/support/faq/what-is-eddystone/*
## Detecting stressful mussel behavior
@@ -200,6 +195,24 @@ is to collect data at a sample rate of 0.5 seconds, i.e. 2 hZ,
and convert that into gape angle per second (CHIGA)
to then monitor gape movement instead of gape position.
+Additionally, we wish to refer to the bachelor thesis @GarciaHuertes2016
+that covers some of the same themes as our report
+but are prototyping with real mussels.
+The report covers mussel behaviour and stress,
+the SYMBIO system and biomonitoring more in depth,
+and has added to our understanding of the subject
+[@GarciaHuertes2016 pp. 11-15].
+
+## Copyright and licensing
+
+To encourage collaboration and stimulate a circular gift economy
+as introduced by @Mikkelsen2000,
+this project is copyleft licensed:
+Code parts are licensed
+under the GNU Public Licence version 3 or newer,
+and non-code parts are licensed
+under the Creative Commons crediting share-alike 4.0.
+
# User Guide (product use) - Tanishka {#sec-user-guide}
*TODO*
@@ -230,7 +243,7 @@ if the water quality is good or not.
Light Sensor: Detects environmental input
and triggers a behavioral change in the simulated mussel.
-P5: Used to indicate
+P5.js: Used to indicate
*FIXME: above paragraph is unfinished*
@@ -280,7 +293,7 @@ Here it reads the data from the the p5.js and normalizes it.
*FIXME: above paragraph need revisiting:
It seems wrong that the sun affects mussels' ability to think,
-and the P5.js code does not normalize anything --
+and the p5.js code does not normalize anything --
probably an interesting and valid point was intended,
but it is unclear with current phrasing what that is.*
@@ -313,7 +326,7 @@ Then Boom! a bluetooth connection is made.
# Discussion and reflections- jonas
*TODO: discussion about our project
-e.g. what could have been included, what we could not make
+e.g. what could have been included, what we could not make
SUGGESTION: reflection/discussion about,
whether used the guide from role 3 archetype
(see course curriculum),
@@ -368,7 +381,7 @@ about consuming a lot of space and resources*
## P5.js sketch `light.js` {.appendix}
-```{.js include="P5/light.js" code-line-numbers="true"}
+```{.js include="p5.js/light.js" code-line-numbers="true"}
```
## Arduino sketch `sensor.js` {.appendix}