16 Commits

Author SHA1 Message Date
ishak jmilou.ishak
606506e40c update review feedback with additional documentation and planning notes 2024-12-03 13:37:44 +01:00
ishak jmilou.ishak
6efd95fb32 feedback sprint 4 2024-12-03 13:34:43 +01:00
ishak jmilou.ishak
5eff7fccba fix 2024-12-03 12:45:18 +01:00
ishak jmilou.ishak
a03894e52e changed MQTT connection port from 1884 to 80 2024-12-03 12:18:02 +01:00
dd2a1b56c4 changed port 2024-12-02 12:58:14 +00:00
ishak jmilou.ishak
1563528b67 changed file location 2024-12-02 13:32:45 +01:00
ishak jmilou.ishak
2e5af52ba8 changed mqtt port to 8080 2024-12-02 12:45:26 +01:00
ishak jmilou.ishak
eb04d35d40 changed path 2024-12-02 10:13:42 +01:00
ishak jmilou.ishak
80fcb1ccc3 daily stand up 02/12/2024 2024-12-02 09:13:34 +01:00
ishak jmilou.ishak
62cdf98098 testing phpmyadmin 2024-11-30 15:18:01 +01:00
ishak jmilou.ishak
db6fa156c9 Update WSGI path to point to the correct application directory 2024-11-28 13:21:24 +01:00
ishak jmilou.ishak
048790ec8b Add WSGI entry point for the application 2024-11-28 13:16:03 +01:00
ishak jmilou.ishak
aca6644c02 Merge branch 'main' of ssh://gitlab.fdmci.hva.nl/technische-informatica-sm3/ti-projectten/rooziinuubii79 2024-11-26 14:55:47 +01:00
ishak jmilou.ishak
492f506aa2 daily stand up-/ hoofdvraag en deelvragen 2024-11-26 14:55:45 +01:00
c76ba93e82 code req 2024-11-26 13:30:38 +01:00
0bfba0bffe Added comments 2024-11-24 16:42:34 +01:00
12 changed files with 106 additions and 12 deletions

View File

@@ -0,0 +1,10 @@
# Requirements
1. Het compileerd op x86 en ARM architechturen
2. Geen dubbele code
3. commentaar bij lastige code
4. Doxygen comments bij elke functie, behalve als het duidelijk is in de functienaam
5. Hou je code leesbaar
6. Geen dode code
7. Gebruik TODO comments (TODO TREE)
8.

View File

@@ -1,13 +1,20 @@
# Daily stand ups
??? note "Daily Stand-ups Sprint 4"
| Day | Submitted by | What did you do yesterday | What will you do today | Any blockers? |
| ---------- | ------------ | ----------------------------- | -------------------------------------------------- | ----------------------- |
| 18/11/2024 | Ishak | --- | Engels, Repo fixen, beginnen met nieuwe user story | --- |
| 18/11/2024 | Sam | --- | Engels, Feedback verwerken medium stake | None |
| 18/11/2024 | Yannick | --- | Engels, Documentatie, Code samenvoegen | None |
| 18/11/2024 | Mees | --- | Engels, Onderzoek | None |
| 19/11/2024 | Ishak | Engels, Repo fixen | workshop | --- |
| 19/11/2024 | Sam | Engels, Feedback verwerken | workshop | None |
| 19/11/2024 | Yannick | code samenvoegen,schema maken | workshop, documentatie | None |
| 19/11/2024 | Mees | niks | workshop, fixen include path | include path werkt niet |
| Day | Submitted by | What did you do yesterday | What will you do today | Any blockers? |
| ---------- | ------------ | ----------------------------- | -------------------------------------------------- | ------------------------------------ |
| 18/11/2024 | Ishak | --- | Engels, Repo fixen, beginnen met nieuwe user story | --- |
| 18/11/2024 | Sam | --- | Engels, Feedback verwerken medium stake | None |
| 18/11/2024 | Yannick | --- | Engels, Documentatie, Code samenvoegen | None |
| 18/11/2024 | Mees | --- | Engels, Onderzoek | None |
| 19/11/2024 | Ishak | Engels, Repo fixen | workshop | --- |
| 19/11/2024 | Sam | Engels, Feedback verwerken | workshop | None |
| 19/11/2024 | Yannick | code samenvoegen,schema maken | workshop, documentatie | None |
| 19/11/2024 | Mees | niks | workshop, fixen include path | include path werkt niet |
| 26/11/2024 | Ishak | Workshop | database, engels video opnemen | phpmyadmin werkt niet(weet probleem) |
| 26/11/2024 | Sam | opencv | opencv | --- |
| 26/11/2024 | Yannick | ziek | ziek | --- |
| 26/11/2024 | Mees | Engels video | stepper motor | vscode werkt niet |
| 02/12/2024 | Ishak | database | database | --- |
| 02/12/2024 | Sam | opencv | camera beeld op website | --- |
| 02/12/2024 | Yannick | ziek, documentatie | behuizing voor esp | --- |

View File

@@ -0,0 +1,12 @@
# sprint review 4 feedback
- Definition of done SMART maken
- Uitgebreider beschrijven wat er voor de definition of done nodig is
- Testen van de software niet meer dan een halve A4
- Acceptatie criteria beter uitschrijven( vragen aan ed)
- Meer software ontwikkelen
- kijken of we met een punten systeem kunnen werken in user stories. zo kan je zien hoe groot een user story is.
- read.me file aanpassen
- meer aan documentatie doen.
- technisch iets te uitdagend
- planning beter maken

View File

@@ -535,6 +535,8 @@ void CKobuki::goToXy(long double xx, long double yy) {
return;
}
/// @brief Makes the robot move forward for 3 seconds
/// @param speedvalue How fast it will drive forward from 0 - 1024
void CKobuki::forward(int speedvalue) {
// Use the goStraight logic to determine the speed and distance
@@ -588,6 +590,10 @@ void CKobuki::Rotate(int degrees) {
setRotationSpeed(0);
}
/// @brief Robot safety function to be ran in another thread. Makes sure the robot does not throw inteself from the table. Only use this when the speed is lower than 350
/// @param pointerToMessage Set this pointer to the control message and then it attempts to reset it when it bumps into something so it doesnt keep trying to do the past commant
// TODO: make this return bool so it can be used in the control part
void CKobuki::robotSafety(std::string *pointerToMessage) {
while (true) {
@@ -602,6 +608,7 @@ void CKobuki::robotSafety(std::string *pointerToMessage) {
}
}
/// @brief Robot safety function to be ran in another thread. Makes sure the robot does not throw inteself from the table. Only use this when the speed is lower than 350
void CKobuki::robotSafety() {
while (true) {
@@ -614,6 +621,7 @@ void CKobuki::robotSafety() {
}
}
/// @brief When called the robot gets a control message to stop whatever its doing
void CKobuki::sendNullMessage() {
unsigned char message[11] = {

View File

@@ -2,6 +2,7 @@
MqttClient::MqttClient(const std::string& address, const std::string& clientId, const std::string& username, const std::string& password)
//client_ is the connection
//here all the @PARAMS are getting set for the connection
: client_(address, clientId), username_(username), password_(password), callback_(*this) {
client_.set_callback(callback_);
options.set_clean_session(true);

View File

@@ -1,5 +1,5 @@
#include "MqttClient.h"
//example file for testing
int main(){
MqttClient client("mqtt://localhost:1883", "raspberry_pi_client", "ishak", "kobuki");
client.connect();

View File

@@ -19,6 +19,7 @@ void setup()
{
unsigned char *null_ptr(0);
robot.startCommunication("/dev/ttyUSB0", true, null_ptr);
//connect mqtt server and sub to commands
client.connect();
client.subscribe("home/commands");
}

View File

@@ -3,14 +3,16 @@ import paho.mqtt.client as mqtt
app = Flask(__name__)
kobuki_message = "empty"
def on_message(client, userdata, message):
global kobuki_message #set scope for this variable
kobuki_message = str(message.payload.decode("utf-8"))
print(kobuki_message)
# Create an MQTT client instance
mqtt_client = mqtt.Client()
mqtt_client.username_pw_set("server", "serverwachtwoordofzo")
mqtt_client.connect("localhost", 1884, 60)
mqtt_client.connect("localhost", 80, 60)
mqtt_client.loop_start()
mqtt_client.subscribe("kobuki/data")
mqtt_client.on_message = on_message # this lines needs to be under the function definition otherwise it cant find which function it needs to use
@@ -43,6 +45,10 @@ def move():
def data():
return kobuki_message
@app.route('/phpmyadmin/<path:path>')
def phpmyadmin_passthrough(path):
# Laat Apache deze route direct afhandelen
return "", 404

7
src/Python/wsgi.py Normal file
View File

@@ -0,0 +1,7 @@
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, "/home/ishak/rooziinuubii79/src/Python/flask/web")
from app import app as application

View File

@@ -0,0 +1,42 @@
# Hoofd en deelvragen
**Wat is de aanleiding?**
De aanleiding is de de behoefte aan veilige communicatie tussen apparaten. Dit is belangrijk omdat onbeveiligde dataoverdracht kan leiden tot datalekken.
**wat is het probleem/behoefte en waaruit blijkt dat?**
Het probleem is dat data die tussen apparaten wordt verstuurd kwetsbaar kan zijn. Dit blijkt nadat wij te horen hebben gekregen dat er niet goed was omgegaan met communicatie tussen apparaten.
**Wie heeft het probleem/behoefte?**
ons groepje, maar ook bijvoorbeeld grote bedrijven waar het heel belangrijk is dat data veilig wordt verstuurd zonder dat het in de verkeerde handen valt.
**Wanneer is het probleem/behoefte ontstaan?**
Het probleem is ontstaan nadat wij te horen hebben gekregen dat er niet goed was omgegaan met communicatie tussen apparaten.
**Waarom is het een probleem?**
Het is een probleem omdat onbeveiligde communicatie kan leiden tot datalekken waaronder privacy. Hiermee kunnen bedrijven in de problemen komen.
**Waar doet het probleem/behoefte zich voor (afbakening)?**
Het probleem komt voor in verschillende sectoren waar data tussen apparaten wordt verstuurd. Dit kan zijn in de zorg, industrie, op kantoor, maar ook met IoT projecten wat je thuis kan hebben.
## Hoofdvraag
Welke communicatieprotocol geeft de mogelijkheid om veilig en betrouwbaar te communiceren tussen IoT apparaten?
## Deelvragen
1. Wat houdt veilige en betrouwbare communicatie tussen apparaten in?
2. Welke protocollen zijn er om veilig en betrouwbaar te communiceren tussen apparaten?
3. Wat zijn de voor- en nadelen van de verschillende protocollen?
## Bronnen
- Singh, S., & Jyoti. (2024, June 7). Secure Communications Protocols for IoT networks: a survey. https://journal.ijprse.com/index.php/ijprse/article/view/1082
- Nguyen, K. T., Laurent, M., Oualha, N., CEA, & Institut Mines-Telecom. (2015). Survey on secure communication protocols for the Internet of Things. In Ad Hoc Networks (Vol. 32, pp. 1731) [Journal-article]. http://dx.doi.org/10.1016/j.adhoc.2015.01.006
- Miorandi, D., Sicari, S., De Pellegrini, F., & Imrich Chlamtac. (2012). Internet of things: Vision, applications and research challenges. In Ad Hoc Networks (Vol. 10, pp. 14971516) [Journal-article]. Elsevier B.V. http://dx.doi.org/10.1016/j.adhoc.2012.02.016
- Christiano, P. (2023, November 5). Top 9 IoT communication protocols & their features in 2024: An In-Depth guide - ExpertBeacon. Expertbeacon. https://expertbeacon.com/iot-communication-protocol/
- Yugha, R., & Chithra, S. (2020). A survey on technologies and security protocols: Reference for future generation IoT. Journal of Network and Computer Applications, 169, 102763. https://doi.org/10.1016/j.jnca.2020.102763
- De Mendizábal, I. (2022, June 16). IoT Communication Protocols—IoT Data Protocols. Technical Articles. https://www.allaboutcircuits.com/technical-articles/internet-of-things-communication-protocols-iot-data-protocols/
- IoT-technologieën en -protocollen | Microsoft Azure. (n.d.). https://azure.microsoft.com/nl-nl/solutions/iot/iot-technology-protocols
- Het IoT verbinden: wat is MQTT en waarin verschilt het van CoAP? (n.d.). https://www.onlogic.com/nl/blog/het-iot-verbinden-wat-is-mqtt-en-waarin-verschilt-het-van-coap/
- Nader, K. (2023, October 30). Wat zijn de voordelen van het gebruik van WebSocket voor IoT-communicatie? AppMaster - Ultimate All-in No-code Platform. https://appmaster.io/nl/blog/websocket-voor-iot-communicatie
- Sidna, J., Amine, B., Abdallah, N., & Alami, H. E. (2020). Analysis and evaluation of communication Protocols for IoT Applications. Karbala International Journal of Modern Science. https://doi.org/10.1145/3419604.3419754

Binary file not shown.