Browse Source

Update 'README.md'

master
PurpleRose 4 years ago
parent
commit
8a43f07f11
  1. 54
      README.md

54
README.md

@ -34,7 +34,7 @@
## Αrduino ## Αrduino
Ξεκινώντας με το Arduino, θα πρέπει να το συνδέσουμε με τον υπολογιστή μας και μέσο της πλατφόρμας Arduino IDE(αν δεν υπάρχει την κατεβάζουμε και την εγκαθιστούμε [link](https://www.arduino.cc/en/software)) να περάσουμε τον κώδικα που βρίσκεται στο αρχείο **readTempValuesFromArduino.ino** στο Arduino. Ξεκινώντας με το Arduino, θα πρέπει να το συνδέσουμε με τον υπολογιστή μας και μέσο της πλατφόρμας Arduino IDE(αν δεν υπάρχει την κατεβάζουμε και την εγκαθιστούμε [link](https://www.arduino.cc/en/software)) να περάσουμε τον κώδικα που βρίσκεται στο αρχείο **readTempValuesFromArduino.ino** στο Arduino.
![enter image description here](https://lh3.googleusercontent.com/tlv4xHRTehav0mSg2bhzXf6f-J3kkx1lhzrvsZXtEHXa_bm7obRHPBAWJ23FXJiP9_jhfj86kZyqtY6XrnUvqRU_iKatHyiJv-eALc7gF2XOm-kxWFZofs6VJqTskjW-SurIGelChy27iZ0Vz7kMXY2wMfHExkV_CuWeSL5kMWnXb3Jqr9edG4q9s0Zgvn52UCkI8-85igbxFq7ApXBmKh0mr4muA7vPyVgsxAU6qNuiPG5cDvYq-5gR_jFC1QfSGD1DOyPSMudnxiVlHSeycBU1B4Nre0NmGnGvwjOQSn5Z1JCLLHsXw0ywvfJ8X8cS2lQ0bD_wa_c2vFtNdt8jPLlBJ4rA7zKBlWSd1oLKQSKLYI6sk3CKYUxQBZo6WF8u8C6kcqpYESerCp-Ua0rvbw69g4qgn-fk9UgkoYULj8M1FvzAt9QttncOJFUNaMDRDN1pzGqWkzrg8E8_IYuH49Dej5PLbVK7szl-oQNsnqWJfJpDSvtML96w6Sem0pV8ZIOJQX4e_xxbT67nUWqU4E_jRspVp96Fh9YBXfIiV0d4OjwIuXfT5uGx166w4ReeC1-WuI9inLDuhouDUvaxX7rzAgjaBZXGNbTtht6EP3m0faz-Gu0rzzT-NTgG2pMGi4WQUViO8j56Blh_5ROzOl9uP4XfBSlAS_2OaYiISB09CXxBJv8Ar0OqK1Dzhg=w845-h586-no?authuser=0) ![enter image description here](https://i.ibb.co/nk8Fwd5/arduinofinal.png)
Πιθανό πρόβλημα κατά τη μεταφορά του κώδικα στο Arduino: Πιθανό πρόβλημα κατά τη μεταφορά του κώδικα στο Arduino:
@ -63,7 +63,7 @@
### Producer ### Producer
Υλοποιούμε τα βήματα σχετικά με το Raspberry που βρίσκονται [εδώ](http://docs.swarmlab.io/SwarmLab-HowTos/labs/IoT/SensorNode2Server.adoc.html) προκειμένου να έχουμε πρόσβαση στη συσκευή. Υλοποιούμε τα βήματα σχετικά με το Raspberry που βρίσκονται [εδώ](http://docs.swarmlab.io/SwarmLab-HowTos/labs/IoT/SensorNode2Server.adoc.html) προκειμένου να έχουμε πρόσβαση στη συσκευή.
![enter image description here](https://lh3.googleusercontent.com/anRVKGGdMmj1J9asddjgQ0cmzFByaRunItZnKUda0F5gW534fYVXKv8l3yTttRasTu7ayUj2tq7nyRIrCmyVOgLz6cxnJKXf863V6fkGv0OLnHKhMx4E4Vt6ya24dXQUrPdk3urCQ_CaApMqpqtDqEmDx0wyIUI5qxqYXexANe6q_4b-Thaa5IenZJJPMduI6-RqhgTFIl0X97R_VAVcQCt5A459aT1vyaQF8Jpx02fzELf_y9-guJtff9FJETkHNkmvZj7N3A69D-QD2cogz7PdCWAvHbIg4g2VDTW5JpE-rSfBhNjCqAYCSoW6UljMWDEzUDBES4MRn2PPVR7rXqAQXrNVn3mpNkMQ7dTZ8oNWEEmCVKehzykSbyw-Rx7X3qDBwzLtb9HtdIe9bTnVEexopi4Iowzh_Gb0EI__zE1c_VsP1nHY_wuWPVXJH8jqLiM9QJt0DgKbBuBewFzdRg5F_1EDoRzPgSeboYPCF-eMBo-mQrpWyquGYG-P3cM5CqWoV9gBKfwOVVvebcL2JMvNX0D6Q_F54nZPQPsMuqyNU7KoKzjRopLDW7pboOJT7WEccEUMMNjGBkTZGvjs_jSEp93auL6qaxbJjC8LA33nteG6N_OQT9fJI10nE1oOmXugpn-NH0uWLYU0JEuKkh1VG8djr7IFaAnQuKX6o2o8mxmdb_e341NttexxaQ=w1039-h631-no?authuser=0) ![enter image description here](https://i.ibb.co/Pm3ggFT/rasfinal.png)
Εφόσον είμαστε μέσα στη συσκευή μεταφέρουμε τα αρχεία που κατεβάσαμε απο το **repo** και βρίσκονται μέσα στο φάκελο **MyProducer** (producer.js, package.json). Εφόσον είμαστε μέσα στη συσκευή μεταφέρουμε τα αρχεία που κατεβάσαμε απο το **repo** και βρίσκονται μέσα στο φάκελο **MyProducer** (producer.js, package.json).
Στη συνέχεια τρέχουμε την εντολή: Στη συνέχεια τρέχουμε την εντολή:
@ -123,7 +123,7 @@
Η επόμενη υπηρεσία που θα χρειαστούμε είναι ο **RabbitMQ broker**(AMQP). Η επόμενη υπηρεσία που θα χρειαστούμε είναι ο **RabbitMQ broker**(AMQP).
Απο όλες τις λειτουργίες του **RabbitMQ** (fanout κτλπ) εμείς θα χρησιμοποιήσουμε την **Direct exchange**. Απο όλες τις λειτουργίες του **RabbitMQ** (fanout κτλπ) εμείς θα χρησιμοποιήσουμε την **Direct exchange**.
![enter image description here](https://lh3.googleusercontent.com/Ov_BmC0zNcKZrpkc1AJoC9BMmpAwXSqPUiyKkpP1omhNy5tkT64AWdVPRsx-2o0OpLurnzMdP9DlMMubJ_dPa4llUN2UuG5oM21fV4js2KRmcFAXUKN4r_7edmS-XhTcaOdhfZtl2EoN6b_ZME6pJApO-pEnh3EjuLVsI2FTxoU3CMEIoPiA_0xLBJpKPF7XrKHyqjvEuRpN2AoOgZ4ehy67s9BV5zYnJesXCAF0Q8iETvtg9hKOAcJEfltBdO58gUcS-kSW8JVSkOp7ITJUbXoOaLkTesu-sQG0-jdF6ml3uxVwHEUbJ-FrX6cAAVvLXt7FuEsxoE63kQ0iMSiLhbkZ90Sx8EyW6jy488BithL6erm57kDG_EipBer-KHAjQM_Tdvc8V-EpHdWf_9CgLLDX2qVzt9JE303JsQITrJ4-QkzsPz1ej19Y72nQAIa7qk9OY7fOaJbZdfODHNtiWDxjy3zk6QFYVXAb0_pBqMcU_tMXXmPgn2Z8XGEJAb8zuwSMyPPtRZzkhptuVvWRqaPw0LEPzuy_-ksUV4PC5G5duI4Jjj5BGqJlgmp5oJmbRf1K0yDxsSzLohi_vBF5cFBHeUHuo77CMPI9dp1z9mP9NbIbqOdbl6YpWx0iWHu4N5EbK0Ip5QzoP9GuLMxBvJWVF_srqpgCGD0xJ7-iQqW4PIOKEsVzpcCKZA4aGA=w729-h293-no?authuser=0) ![enter image description here](https://i.ibb.co/RYp1v6D/rabbitmq-AMQP1.png)
Ξεκινόντας θα πρέπει να κατεβάσουμε το έτοιμο **RabbitMQ** image απο το **docker hub** και να το τρέξουμε με την εντολή: Ξεκινόντας θα πρέπει να κατεβάσουμε το έτοιμο **RabbitMQ** image απο το **docker hub** και να το τρέξουμε με την εντολή:
docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq rabbitmq:3-management docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq rabbitmq:3-management
@ -137,7 +137,7 @@
Θα μας ζητήσει κάποια στοιχεία, πληκτρολογούμε για **username** και **password** : **guest** Θα μας ζητήσει κάποια στοιχεία, πληκτρολογούμε για **username** και **password** : **guest**
Και είμαστε πλεον μέσα στον **manager**. Και είμαστε πλεον μέσα στον **manager**.
![enter image description here](https://lh3.googleusercontent.com/mHwDN6RLYwjK1aOX8pdLiUZT_ix3bqWUMzsSnvYVczcXw_sZDFkS_uNGD8RfXfJq2ijIRVNEmGCfi4GnBtPwd8flIGGfGRTjbfkR1Nif1kU4o5b1FfnC10v027ZIn6am-fXjVAVAwUJ8f9_nTrlbFCV3O3K00IgjT9ahfmsKcEarN6OqBxZNYs9aOC3AOZlEL5gYwVbaNSvTVPf0bnlh8tdgyoB_HHhWF4y05w95AAIGd1jrhVCMk0RmEqFGI9LAffANnmH3MYwrAdUFsDGexqvgLOs2SwwSAbvF1G-nzYHoxrEjQuZRwi4bw2U0WpQowFmHodJZEnIlvoRbYu-UdgqHsXRo_rdsVVFxbE278Ml94bf8aXxEygpOyR5xrQI_bIzc54kL5BHx_8Cb2jL1bFnkF3p97nAcJ5QL8Q9eQHMs5BkY70hCvJo0KaGjT4hzhC9zNghXYSsIqA9CICygZ-6TXBBKaEwhITVRsdMRQ81ooA3SoEdzFP_Epz7qBpo7_86highKZrdKVc6QcmhpetKSjBEFSDxkBjgL-nF7cm3pxvfsRY-oh5x6wH8xOt6riNuJhVx5OMZ-5il1-rlDnRvdMRNbRGwl2OLBRMn5gzuZTOCfekrLY04JNdL8Fz5cUAXt8I1_hpNepqaIl_YnC2EjKHu8HpdsR62O2g63SEkQ63UEV5slYf7xmJuZ0Q=w2557-h986-no?authuser=0) ![enter image description here](https://i.ibb.co/mDythTw/rabmenu2.png)
Μπορούμε απο εδώ να κάνουμε **overview** την διαδικασία του **produce** και **consume** βλέποντας τα γραφήματα, τις ταχύτητες **consume** και **produce** στο **tab Queues** , τα **connection** που έχουμε και τα **channels**. Μπορούμε απο εδώ να κάνουμε **overview** την διαδικασία του **produce** και **consume** βλέποντας τα γραφήματα, τις ταχύτητες **consume** και **produce** στο **tab Queues** , τα **connection** που έχουμε και τα **channels**.
Επιπλέον μπορούμε αν θέλουμε να φτιάξουμε έναν δικό μας χρήστη στο **tab Admin**. Επιπλέον μπορούμε αν θέλουμε να φτιάξουμε έναν δικό μας χρήστη στο **tab Admin**.
@ -153,7 +153,7 @@ H διαδικασία είναι η εξής:
Σε αυτό το σημείο εκτός απο τα **images** του **Grafana** και της **InfluxDB** θα χρειαστούμε και ένα **δίκτυο** προκειμένου να μπορεί να δει αυτόματα το **Grafana** τη βάση. Σε αυτό το σημείο εκτός απο τα **images** του **Grafana** και της **InfluxDB** θα χρειαστούμε και ένα **δίκτυο** προκειμένου να μπορεί να δει αυτόματα το **Grafana** τη βάση.
Η δομή που θέλουμε να πετύχουμε είναι η παρακάτω: Η δομή που θέλουμε να πετύχουμε είναι η παρακάτω:
![enter image description here](https://lh3.googleusercontent.com/Xopsx8kITeQZLTR9KlMLCJPVaKtCqn0cPtPPceOP9lrkiNAeoxjPjhCgrztixm6LYcpgj1coXZwEnsH0NW626oI5w6foaoWrcr67xtasFbXy_b6rq8iSbP2trE5zQW4qkG4z8Vke0q5S5CBPymTJ_CsL-p7xeR_tovI0Et4srMXRJYlqdSFyODcTd2GC5xw_6_U1i6kZMGZx0CdqlmEOSy68xH07Yriw_xKVVcg9Max1c2GkD1JagKNdKVKkdnEdadCI8uTQGtbS43mPsvEqDjqfgEUynsKTqCagjOy7gfSEBCwc13WOWr3RFSEaMHo27Fzhu_PercDt8RWAHylIPJrjKTtjzQOfml6AIm6mcsu0HsqdGKtxTxNKOcX2_oCHGTHuY1VnC76xoRY8BZ-CH1RX5wn-plHrs-Ggms_I8uVNbiEFNu95qzmWvsngCevrofwckRp88-6E93d33YCJqtAIZFfheX1zwefhyKIH0SnVDstHtJpiLFXHWQcTiEy6e3xmmPpNDwqlF9PcbGYv6zkrbp_HlXY6gDze7XQCF7ypd5z_Ya2dRwXVb2bAkyOcidzqLf23znNJI6tX0cyLKJ2hKaiPliPfQO0OGGsi7hkD6bSDpK3Ki76ZT7lE2MG6tEpNquYQ36jnBqjOnUJ1DMGfr31HODQAoiTKQCXe3HfhSlXuDGxm5A-97RrUSA=w1364-h806-no?authuser=0) ![enter image description here](https://i.ibb.co/Q6KJJLg/grafarchi.png)
Για να πετύχουμε την παραπάνω δομή δημιουργούμε ένα docker network με την εντολή: Για να πετύχουμε την παραπάνω δομή δημιουργούμε ένα docker network με την εντολή:
docker network create influxDB_Grafana_network docker network create influxDB_Grafana_network
@ -174,7 +174,7 @@ H διαδικασία είναι η εξής:
docker-compose up -d docker-compose up -d
Η συγκεκριμένη εντολή θα υλοποιήσει τα περιεχόμενα του docker-compose.yml αρχείου. Η συγκεκριμένη εντολή θα υλοποιήσει τα περιεχόμενα του docker-compose.yml αρχείου.
![enter image description here](https://lh3.googleusercontent.com/FQDw6VpJF9PJ8rA-7vcDTdbI4jbFIzUCs6BPymxfFizEDdqaiV6GNN05zJvAaesRjcq2_VUti-OdtkpOESLhXdVUz8-lEnwp-grUb4sSKS1zs-rrUPGTxuiFkOycfuoX63vL5s0E6wqJpSUI_JpVILa3vdJg5bKw5MWEQCltynEY8LBc0uLjSRt6qF3YSloFTpOUiWqNHomxNotRAV87_MJxquKF9gs0SZ_dz6zwhUvdTQiuDBubV0sLY2LiGnuSZ_rjBavkS0-pkDI_mGcC8ptadAVWCduQC9vuGvVsAcXQAGIe5iYRk9B1FTIJvby_5NtFa3oYs-PyhUcEBqOCb_1WeQ9olLOMpg7YgHs-WXoj3bF5raP6cKmXTd7sU3kDb76HOn7hSnGx-LkAP1P6EkAFVLt2gPTxcbritgSUcwsa4MRACIyYfO1iy-0uOKHjx_P3Vybh67L_9hckMvnfS9eONhbare-IbnfcW5wcjKvPVLc1xwnE7sUZNWnWxF5wXEySNMrDbJFCZrSDUoNFyprOwgtj7Kcx4s5LGWh4afmz3r3GrJXr29Zatq-PGMTN7H63_B2AW5vtf4Hq7Ow26aD2uxnBpnfOv_FnvJViqq0_HpOdYWl-KPxIoZ0mmqLIk0ol2ZpIO2cyIgNFS29xx7D3qhjOrzzuCqW_R_z9gl8OdV0ryhKOUJLURq1EsA=w858-h811-no?authuser=0) ![enter image description here](https://i.ibb.co/zS9x4rf/ymlfinal.png)
Όπως φαίνεται και στο παραπάνω αρχείο με το **yml file** σηκώνονται δυο **containers(InfluxDB,Grafana)** οι οποίοι χρησιμοποιούν το κοινό **bridge network** και τα **volumes.** Όπως φαίνεται και στο παραπάνω αρχείο με το **yml file** σηκώνονται δυο **containers(InfluxDB,Grafana)** οι οποίοι χρησιμοποιούν το κοινό **bridge network** και τα **volumes.**
Εφόσον σηκωθούν οι containers με την εντολή: Εφόσον σηκωθούν οι containers με την εντολή:
@ -182,7 +182,7 @@ H διαδικασία είναι η εξής:
docker exec -it influxdb_container sh docker exec -it influxdb_container sh
Μπορούμε να πάρουμε **shell** μέσα στον container της **InfluxDB**. Μπορούμε να πάρουμε **shell** μέσα στον container της **InfluxDB**.
Αμέσως μετά πληκτρολογούμε **influx** για να μεταβούμε στο **shell** της **InfluxDB**. Αμέσως μετά πληκτρολογούμε **influx** για να μεταβούμε στο **shell** της **InfluxDB**.
![enter image description here](https://lh3.googleusercontent.com/StWI-jma-TaK5daXescPjJcXiN3MCe83Fdr9ULMcGj0vdHsEqBUSMeh99cwgwrBERZRW5ZA41YX9VkzryZ-2KHCCSSi2pMbgU-mK7TWqy6IOmm9TY_ujauBfQ1lT9-bXCLOUf3TEmYLZg98UXwBqnB0eJlY1J6veKd_hxBEEiJ0_5XWopqpSlLl0SGpGYVZzxCf0tWmog1vEwkxixI8wvGTU9j9D_sSgATfIYVSYNkPiUwmvtOP8UzyyPVX6SkUOjGVE8FfoM53DXpZXiGprqIvl1-LNKJXkIWfgU7rmh-tw40_wOYevRhLKgmtD7fqKynx18nuPGEx85hOb0K0_wyiUC50wJ1nfATMVg6ENdIJxzn3HVmffRlkDVhgtuXEz0FrhMNBgCw5aHsn-0jobbdrc3zhDL0pA3ZiGoGyvB8s0cbsfnNpn8zcuNay_EE9UMQ5OvmmvdeBDCoa2szltrYXzeIVugaTJi2Ax3EGav3wVSGvqmlvPuKNj5eovcVwi7jcxtDNiurP0a_G-av3dyv0RZdZFgf74-IpM-CUEPh9nlQhwfznEd0hB5I8yiKCF89mR7o1YTfUpUse_Fxiu4OS_Cj8nlR_OFxHdvme2TI_utbPZDHX_nYjWfhSE8giTYMFatfeQDjGvesmVmGDsGyYU71y036T38cviNRSKrpMLTVGHcIIaQkiYsJM8LQ=w679-h152-no?authuser=0) ![enter image description here](https://i.ibb.co/61xPTQt/influxshell1.png)
Στη συνέχεια φτιάχνουμε τη βάση μας με την εντολή: Στη συνέχεια φτιάχνουμε τη βάση μας με την εντολή:
create database values_from_sensor create database values_from_sensor
@ -196,38 +196,38 @@ Tα αρχικά στοιχεία για username και password είναι **a
Τώρα πρέπει να ορίσουμε την **πηγή δεδομένων (data source)** όπου στη περίπτωση μας είναι η **InfluxDB**. Τώρα πρέπει να ορίσουμε την **πηγή δεδομένων (data source)** όπου στη περίπτωση μας είναι η **InfluxDB**.
![enter image description here](https://lh3.googleusercontent.com/IbbbCH2hU848xcgNoGO3mCnEcebsIyZPlSDmx9EM_1hwZ77LUJKZFpoifWXNsdpG-kVKz3TVLdqn80uZ-9bDceu8SqXLf2EbOL1abjWuqNUDhmlUsuNoatz3YwP7EVkbjG9xcqlpxtw9_j_8Z_3IRO2yeQNlvuIGo6HjauRDYlB6rXxB_H8lB1GkepcJfgd1Nn6mBbPvAPNOC8Co8OlnwQ7ceuj-mMXcX4uLg515Kil4xKi9-wkTLeSDNs6jH1nHmWl_m4TLdLNtboqbdvVm7OIOBjHAIg1l9j_oQemfBJsZDHFgDBsyJBY1n7icjh_mMmxM9FQRoMKUgR-reUVk50lGhAEerKEMWzCJ_lycGANQydqxkHorJ1T7bz-v5ckT7BdjzkW4_Kx71PpO-44ZR3kmQ8gbDH-XjdZRAGRjYwDlNamxOJ5cIHlxecWdn1jzvnO0_oMtstcKV8iaM6wCTvNI4j-xDP_54koQcA9LL6QjwjZWzEeMnGPBIk-nhGlSrk-2Bw2DPY-EnZY4pg-DEvb49PnQg37cECqcZAlwDUMtoFoHSv5Lbw_BSLevXa6cOSMIHzmxmPcCI03CY_hu_fQtXhRAxHUTtiKbo12G5QFVMyRQrOK1rIN_qO1YAHRBe3hwRdTZ1_RXpfyHRDiWjhVs9W1f1S3viC5I8pHqqGZYHnHVzXfGP7rvFZU9DQ=w913-h570-no?authuser=0) ![enter image description here](https://i.ibb.co/0cmwJzK/grafanadatasource1.png)
![enter image description here](https://lh3.googleusercontent.com/7V9X6mM89v_vxUOglXR-HqeuiFBlkvofkTcMj8z1zVqI5O8qomyVY0GpgZ46coRYJA-7q2roGyRi9uSL70_DLX8HWJO9s5R_dYDP6ELnEusKOz_9cBsk9E77jAGfCe7hjO3p0_EVlmVfXMqbhmCG0u0G2cc-9yl_ceF6kl6VQI4_PwOLnfEk23ashA8kYLCyYBBtttyYXyDILM2IwA61uZLcD5isvXyE-jwCt3Fy_CaKjgdMmo8OMescThpxrV2FJn930NFcOYe27locjXyehFvfIdBoPO7M0ykp28pheQS-UMBk4tjnM-Ldl0hQSqxRA72pinO_5qqvKDx0LppugTYPiW9t65e0M6nWVbNLZz9_FsJyuibgV--sbZyo924ES_35sYfNtYD2QqPhIHaTrJCRcFEvVwtDcA3q-1Hd-X7WjImSdNHKhT46hTH1s_phE2P4BQhEtC1b1Tqe7sbzWvixm4HLbc6tNGTFjX6i23mnqPTCn4PbCjf3lo2BH6zSpkqMFJMRfSGop3Y1g8ezpGYjdDYu1H2kp1nunufVmkdhiAfVycK_Ogp8T0vXOBuqMjigK9EzVCTNEBJohH5ty-oOjMotCynto0kGhnTqYa-tUu5V-MwCMUPc7JrRJ-5XC9Z-k0qAMnhVp5uqkxsLyxd0s4sUS3fmgj3buyLPnNCaFPfO8gtpVBNBLtzzhw=w1011-h218-no?authuser=0) ![enter image description here](https://i.ibb.co/MZ09yfV/grafanadatasource3.png)
![enter image description here](https://lh3.googleusercontent.com/fv5HBdXBwKANVKCZpOv6VUcyRQk7c_Y8Iz3vQcs-GZSJKgflT0nFlo4uu6H1FH8EyM1A_9VsmgCnzYXwz4poah0ereAWPjoqXsEm3RqnAc4sL1a-Mnlvzxmu3zDJxXEDgIZwXeKYgzHLi0kA49lawrO0qB4ft1mPvqkmKE4yUyFzbrHi-q3zkTGOkfuE7mFwbroKtH6bKCtqtbJxx0UiKUAcfbYW-YFMuisgd0mmSlxzvHS3coqaxkYaTJPjtsqL1_D9wMWrBSA8vhb5T1NzI4MRikRkxjpiWd4GiCBkmTXUgIHpzoXB1oqwgDKeDnHKLhVZxxiPCNuj4z7qFzXu_XafRJt1ogp56FN34WhgV7JYzN-xcYq1w3bDahxKMWXBDEUJ5rWVAT8Uwq9WQ1uDj5lKRljuEjtQoSsWNCARtuRqp7b6QPwZ39rXb0U3k_7gB5AbCT-xCSLIzYo2qCwVojs74foDt-CRiOfIzzTYv-n9fOG2_u1AGtqqJu0H28vHA81mBE5Qw2zOSF7w94SQQvadi9BJIj-mXBoXZKyggc7rYTWvuK19W-ref8Pyw6xXhZioyX0__sBsxf2ymqaUo0gpOg98X73ySn9XKesQ0op7xCDHAPEGQDMEr6kdj1hWdU8vrqacZ6j0yWTxiMKj0iKP1X6IYwG6b6eX-wl_B57IZO_2oIWAkFQlmCCq2g=w988-h679-no?authuser=0) ![enter image description here](https://i.ibb.co/3M068dC/grafan2.png)
**Συμπληρώνουμε τα στοιχεία της βάσης:** **Συμπληρώνουμε τα στοιχεία της βάσης:**
![enter image description here](https://lh3.googleusercontent.com/Yy2aQrvfK1n-w1EZAOh-wR-7q1QqJN1F8kTzdVYk7NKrM0yi8wRV5KfpZ1Q2bkxy_uAHxNXssFALetZQicAYFrPTnwel88vFL3G1-HRjJs1LyaVH9SKBQQsXf0tXrkkEBXvHd2sfJSN4oyJMu7KUzDAE2XBLEcnOjXaSypxXxnrS-_tzo5AplRk4Pa_N0-m_nNwyQqb7ohAyDrn0HhTLUM6Y6CJe89JFNXK14KjlaQa8YPJub3BwAaatUbLldmbOeM8oxftBWJnxoGToyJ6aBgc5DPCln1n2lFDd7lAmJuySX00LoOIeMmXhaX0nL-bHoKzGJSVKyi4Jk8rppeivpmcmI5vwguH0d9Erue0n3WTw1S0n7Dm3uNWe8CNlqcJ9L7AiwgR6jlcq87HINqXbUfKme3VjJqKL0LZVsKinyO5LcGE4VdeL4Xzs5sW_WIckTmLIyM35A2YoQOT09c5PSHYKmzNriXpeFcuTuacf2FZWs7md8RRiMX8I94p8kBQPO51aGC6i1kC36M0tyVTt96Kf1uRhr_4niYXhGt-EtnB9XIm5F9v79HuwnaunI0nNId_s9FgF4g_C1SZPIYazTTGiSzlzn-Pug1-8_n-IULVoxOcoksgqMS5MWB9aER-9ef-SVy3ZpzmwZR14fJp74MutJr3tQhF6TCJBcqwHUMdjVuT9N-07STw1r11oVQ=w882-h1076-no?authuser=0) ![enter image description here](https://i.ibb.co/xfynVnS/grafan4.png)
Τέλος πατάμε **Save and Test** Τέλος πατάμε **Save and Test**
**Δημιουργεία Dashboard** **Δημιουργεία Dashboard**
![enter image description here](https://lh3.googleusercontent.com/U4KHgja8wqM0Bpb9GdEJHKOfmubeQlsEAt6DuTbjVUPqzT2aaeYQizjtOrIORF2M56Vk8BM6O0REiGBQ4ey86R3-45vTEu1GNozTQ1RX4l4WUhm_GJtmgBZDNXabjeKxP0SuT3Wg3DScLSBXMFsaa9r62vz4Z9FdMmSzUF-i2iTe8__IBwPsQBHG7iUbvIjR0Xe1_qXBuBHQHlSP1AYZtY1Hda_kEKGV3a-KPvu6xPjPNukqVZ1ctgrA0T_IO9d8JdIMw32dLa0iDSZPsOa1qgS8Cif6sOA-uL1jVZgfyl140O9Uo3wALAo5-9ZChnY28TiLJzxu6U2SjZDCj1R2QJoOmXJYESWx77Ybl_S3ASdoC7gT8MB57tvAN-Mu8Te9Uc4jzWrjXK9z6wwrnM4J6lx595ihizeOLAoQCwdzThcJjav00F4EHKKPX__ZEQv5HRz0iO1tbITUN0FpTQozo87393D9go93Ujy4Smq-SKysNZUpfbdWNZt4htQ8rmH0C12kQmfeebhODh1lX5z5pFUfFCTdRXkAlzqyDzs7vod6ZgTIXMUXQ-rj78qryyVV1GiWb2Tx2KsXMKdyVDHDqzP42LWEvClYbstgea0sweEdtn7IN0-JsdYIaWMTUPPERPA7JdFsTS_oYbTns5cxzWrwFKeAHD18n1oAl_PwXJtnTVmEwtCh286TWxlJUg=w387-h396-no?authuser=0) ![enter image description here](https://i.ibb.co/JRF446y/dashboard.png)
![enter image description here](https://lh3.googleusercontent.com/QsXcfXcHfeKnYRrMKkj4Xgl5rBU4yQMjWTnSp_FX9nyrw-9eFdUlnb4Hj_cn6fU4oHXTV8QEcLPSvFfe1we43t5P8DmMSEOey_tiwQ6k3KtvzPWsVivUPP-zClg9sws3RjZJyDYlqYwEYMDmdtb0N_Ux_hGMKv2wXTDXzcqR9N7tTbjRl67HSY5J8HtBY7GyLowruIhZ0QQ-76XNBHwWMYofeLPacc9ixs9IpesMTHvq22oSwMCkpPrb6QDS24SbFXlpUBcN34VswZCl5BBf3Olqkb-wfTeOi55iZFW4k3ANRoMQkj8BeUQUtWuHg_BQv1xqenlCo0y8HH_-JjIir2JpL1KXqg7p8f82acRuWe2ZeNPcWvgYNyRbjEWVjiIrd17xxe6GC40yhm3SVZTpw4E75rrYLqwBnI60Cr7uHVWnJIbaLs-XePzwjViNvgtI4IxWZfXyWvrI2-5mqz7B7xf_OaDpMyzBnGPjW4oDgia5JVuQqWChM88G12VaInwSPWnIRdPpYIl0PwsHlCb97rEdtrTu5ltZlAYzm6Ig7KY7D6d000V2J5U5hB9hzSlbxrc3S2TrdpucT0xeexyZB3GtI_P1izvKoInBIGM3cxh7Vwg8d79bxuW0PKgOL0EabC32Qr9he69T9AaEMAxFUjMl5RY6-erqJ9_qeTPka7uWzuKvsa-0Rjiyzlg_XQ=w738-h245-no?authuser=0) ![enter image description here](https://i.ibb.co/tbpJny1/dash2.png)
Επιλέγουμε το **data source** που φτιάξαμε και έπειτα το **measurement** που θέλουμε να προβάλουμε. Επιλέγουμε το **data source** που φτιάξαμε και έπειτα το **measurement** που θέλουμε να προβάλουμε.
Επιπλέον ρυθμίσεις για καλύτερη προβολή των τιμών απο το **tab Panel** δεξία της οθόνης. Επιπλέον ρυθμίσεις για καλύτερη προβολή των τιμών απο το **tab Panel** δεξία της οθόνης.
![enter image description here](https://lh3.googleusercontent.com/qQnsTB_QRTEhaA2LH29ABPrONmRi95QHJHh49mK522GvJN9MNr14bBj2cb7q37sP_Vb7vfO4ryzlzUnIrg_9zb2RVapIH4VEpb63qDpJxJSzTmrR0PCHUrVYCTwe0gf3mcxpA25aN1UDfOM4Hf4IOLxSLLsz3YA9gctU9QgGBR23W1AVyNb8rgJdOgXbr8DNhOEfUDL3Ax_xEdF7h19fJR5t1gxNSlIy47Qzy0nPCEOC_T_an53bCIK33tWQOahlD5a4-2Ou3W7qGxhoAZp-Y1xfq-Mz_mT-NckU3v7dSD_7ZmXXvef4mg4SkpaNvOfjLWFuWWtC06nQvIRQ5lbWqhPGv_qk_wQGNlVg87NDUkGUGoOjce9Ffpxp8IwyApEvffLas8KUPI8Jock3qfNXFbarx23oPaZx8wFyrqeWg53pulQs95e7VX7RNg25xWcsj3AtwqoAb8NLLzRtLZJ-_EVnQJoTjAE-qhKjyzy8QFEXE2Hkv8te2n3LnQBTtUooKaW2MTLIeBGplWlFItCvX-dyk0kGqEAIrTcCZSQYyJIh2xMg8_BB6hUID6CeeQrZuRc8I0Xl0lKowi5f3BDsGGbVKHTNMXLfuPXGP2_d2gupMnCWbK4VG4tVZ6jJOlIQCo0dRykBj38YxTFmlNTsEf2NdyothPLhfVXsCbBFdietw628ZZic3ZYbKOHE7w=w729-h485-no?authuser=0) ![enter image description here](https://i.ibb.co/1JZttxt/sidedash11.png)
![enter image description here](https://lh3.googleusercontent.com/UXgv8_DoIwYfRgWRqbaJZMCNGK0eW0sUX02-donzLecVSG-vSeUu1Dh099J7BVUaRbAa8R12TdUeG5krSrwBWgNlj0MGTcZ0lgTaNxYMSKApbI3QirH_x4mEk7tpBN_T__WNHRhrykPugqasJsQOyH9MUG1MYpRZ9odoO1YReF2HOML-mgbwc5BK7p0sSi9FAX2pIykyFBCvcjwsTo-F5_1vxIaPUid_tuyqdMBhE6tmiAEninGNUC__vaVD0QHNIzgUlQY7zBt1chwJkSzSsbYNgVZEDDgyXz1DYiYaIKVe2lH7VS9qxp7dhjqm4tChCDcS8lj7xxGcBX5gEMBf7vXuuxUEAzmQsC7gRsyWgRJ2t35nic9Vw6vcMGXFLtieTn9BeJqW33dTWNZf36sh3Ly3_1to4YVIQ2U1zwCfsyACZ8vX3fXhvx-VyP0pcMVgM8wiNymmXpWBdp8WiXDx1b9dr-Q8FJNaidTcVGn15Mp_W1gZO-c_pvb_pISaFUdpdDTxjiq6iVqYa06i8083G3F2GV34onL5P5sNdTjdRW2LcXcmVhIGJBNxX7BDCPMgkiX_npPHk3BZ2fopXErLFaqCYHTUEdW0w3xLvPgEupT37EuMk_tn64Ic-eh41h0EKro55QDPhIqvSrV7tQVh0S_uL_iYviYJycPwY2VF5rx5r3h0N4VmyvPDcocr7g=w404-h910-no?authuser=0) ![enter image description here](https://i.ibb.co/rmPFVDL/sidedash22.png)
![enter image description here](https://lh3.googleusercontent.com/zU4KMc61EeZqnnObNbFkL6cEjnBWHaCaYTPBU_636TJjFF-LyVUwqeN8_1GnA2d9gtVOdRAZItODfz6Tdg7E14CQwPs4ZwZ8ExgDTUfRGlIWxCQHx2HJJCpClh1o559-vvKoB1sXfuplLNJpoc2NyLrI5583F3jDHxu6EhtcPIwF50_HKwWzCJYYsrBO0EiCaF66P3B3gIW5YFYvq9jEQhpUqBSq3COg4LeccRCs-50kqt-I_AnaslAb00Y9WhHIRu0i01_QapWmKXPISU4IZoVxMuAnKrPWIog0fMvNJFPUWmuKajYCx-b1xwXk2Bbq5Icc8Y0_kT9pUcZbnr3UHN1oCKxtsbaA6aUpKSZcUVQrR9U9B85k1PkviHX54kEnx7HgmWtSGTL7vWse8FtWpf94WnTAgRCZegT0arzYIqrvplYmcQDf2nREw9Ea-BDb6058kia58I6bIkFT5_G5tMfUq9IwWuG9IS46bIfh_GtdfoBeavlOqGYlmVIS59zso4qkFLicsc1LR8gbVS6YtP2mbilzwv03XO_Q4dvkzG4xlacR6cciIbhvF_VAlEB7NW_JNo8fWI_VtaCki06GcIA2kJvwNt1jIWsvb5Y9gMaKBnJMjxyaAES2tJsK9NHATfVmRz2SMDMaQe9CIxne5sxcpBwUFC6VTmDnaOKufM0ny_qoUP6RkrwGh-8Img=w398-h825-no?authuser=0) ![enter image description here](https://i.ibb.co/YhKTNm5/sidedash33.png)
# Kώδικας # Kώδικας
Απο τα αρχεία του κώδικα θα παρουσιαστούν **τα πιο σημαντικά σημεία του** με σκοπό την κατανόηση του τρόπου λειτουργίας (όχι δηλώσεις μεταβλητών κτλπ). Απο τα αρχεία του κώδικα θα παρουσιαστούν **τα πιο σημαντικά σημεία του** με σκοπό την κατανόηση του τρόπου λειτουργίας (όχι δηλώσεις μεταβλητών κτλπ).
## producer.js ## producer.js
![enter image description here](https://lh3.googleusercontent.com/AzUUMYdlYVu4IZrgd375-iXYXKwURDePSkFfvJ-WCQZmqn4xiYvxUlI9fILMQ_IeK0aSmoIjFWTsKcYwVAEy9a9K9Uu5x_snb4iPMEXmWJyXnHcnNphMC1O-HketUUBpzNNZwcGukyfISlxlFhD1dnqKC4AO1aen9dtCH3fQARp0AJfbCmDVFoOLAVDfXHH_JCnRAepzZs2zrUevX3s-tEgACvX2sdezhLzAJqVfK9aRS3a5pJPFRbtRPkfD-hbZIWgpEcLzz5O1Ul0BgTR4TjK9_WVToxdIP_ZMk8PrY79EmdWsyloH_P6EG7AEkEMzBb-G4qKqUZPb83VX3dx_Zsrf-8SR9_ZN7b7ymNlgGRkkQ0gg52eRdfUQNf0B_rstqgUzyssbqXxzG9jISjX1GwVgOUTX1GYkYcIwXZaeB_vT2yoCK4yOicqgIeVSRBq3tOvL7SCHWL-o6U2h10tGg61ppMSYPNYt7ld47IU7UgSh2f2ShQ-Q2sg_rYYNzVSD2gX1Zk82fkU73a71kWZ7RQ7aJQFt3DQQzNQp_8xpgv_GQbUo8-GWnDZn_1IHElRrhR-LVKkS-Cwersw__DVXtbdfbf4xc46XevWmAhtJqytZXhPHN9_o6SnsHThRVKgdrfqERSFJcRtonfTUmGIP5emHiHVOHnlRI4-6FDOPbDBkF4VY_JT8YZ55H8D22A=w821-h467-no?authuser=0) ![enter image description here](https://i.ibb.co/frkM9BX/prodcode11.png)
1) Εισαγωγή δύο απαραίτητων module για την λειτουργία του producer. 1) Εισαγωγή δύο απαραίτητων module για την λειτουργία του producer.
@ -235,7 +235,7 @@ Tα αρχικά στοιχεία για username και password είναι **a
3) Αρχικοποίηση των ρυθμίσεων του RabbitMQ ώστε να ξέρω που θα στείλω τα δεδομένα μου (που να γίνει το send to queue). 3) Αρχικοποίηση των ρυθμίσεων του RabbitMQ ώστε να ξέρω που θα στείλω τα δεδομένα μου (που να γίνει το send to queue).
![enter image description here](https://lh3.googleusercontent.com/jJ5TRuoIgwBhADKVbPtJcHdVkOI2voStKw5LzrbRUsLYfeCVeMZVhpTz_2if9M_MZvg5QbweE9tzIpxa6-jw2smtc_Un_57fODQQ3Yz37tH-sGZty4H-1RsJVyZ6UC8tUK7j-YJEPj7PzpZADy2cpQpbIFThge_uhjjP-7loK9tdk8p6lp801SBKKp6iMFkoKEV_0wJrhDFcOXPPqOkYid2Ydxg0KbxfFDuB6sbvGmZ2u90DRpnDgfBSPzd7RCpFbyFAua8qV9QscjgfwEwiDDD4LY3bVclR9HZIgOBWCW46f1jKSu2PdRby2xQflsHPAem-x2udI-7SVnOIXorNSj3v7MVz2sPdAycNW-uh3Wp7-Kxc5AmfISHRuRuUbTtiC92Mfx0edOoyz3c0bXX_28byhUf1a_TT28YCfihiUx1iZBymlRgdSYXH_ypOPjvRBilg9XHoHvehDMToJdLHjBaBp-iiHRiP0utYxzLmhCfxBlPqf5uBlT8M7S_w2swY7CXKviv_9Hk3Axe6AginBXy39CqaH1z9sZI6CC05ZxvPnyKpUn8oEv53iOL6-62LvVgKvjGVW-plOmMmNBYJj9La7SNqpLCHoueH3c_vcS9_yURtWL0qYAsmWt-4iMIFLcR1J9UB-fHhTxj7iZcR6rYJ8OI1f0fSdxpOOSEauYzYOdg3iXocOevEwEsB0g=w1080-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/84g8TDS/prodcode22.png)
1) Ορισμός ονόματος queue 1) Ορισμός ονόματος queue
@ -250,7 +250,7 @@ Tα αρχικά στοιχεία για username και password είναι **a
6) Εφαρμογή της συνάρτησης. 6) Εφαρμογή της συνάρτησης.
## consumer.js ## consumer.js
![enter image description here](https://lh3.googleusercontent.com/J4b7XDUqq9r2n6v7JmwstDDHlpPpNPv1mNwkcHDraQ1KOLvchptsDBrTDeH7xU3tGDx-rZ-APx3ZlKSd2CPY3q7V6eR7GRzuAnWvO4ac2NkgpdCIcnNgbOQX32UbozL9JDuHJwZc84sD1lDoWsiCOolj3qNcht7KLsmbe0WaNhmlz52q0r8pIkgKP2Oj1PJ2Dkp__-_HtnPYUW4RWykHnKzpMcB_Jj3mTJckk9_ad-QEE8isD4wVdtMSUofGor6dWuqdm_43frkOP6lu0pyzJ2feuOQ3-JtJYvlchWhEfC2uEnjv4xteZoDZDfCRPvQEEDHJ8I1gTNZLxULSFgQs1gAebzmd6DF5OQW_7kqmrxsB0cMI4gh_2AkSYXdipdkxL74PtwpUiOSzjs5OBP565RgbmOJEv7gYcFuEwBxDcAfLHeAEaTEyOoZyLX-PGPpU6MRlmRgQ-xGRn25OwmTb6bO67iy81bdS1xVeUYoZ-PlpL72TiFTp8BdCkJHGL71JjcZ1jeprU-WhRkiLtxKb89nz3iecUEWfR-Ct0G6vgd4l5xPlW1z-iulfTnDUMrRDQxtgQB6R_rpjJss24035O3CBVqJ6kqSGQZKX1UBMXpe03Ip2STIZQrxc-rYAxcVikLci0p4A0gc2VYlu9kjtP07-SOdMWBX-4IvpE-GsEb8CEliQ9nlUDzlFGZ42oQ=w996-h951-no?authuser=0) ![enter image description here](https://i.ibb.co/FHTLXdL/conscode00.png)
1) Εισαγωγή 4 απαραίτητων module για την λειτουργία του consumer. 1) Εισαγωγή 4 απαραίτητων module για την λειτουργία του consumer.
@ -264,14 +264,14 @@ Tα αρχικά στοιχεία για username και password είναι **a
Αν η εισαγωγή στο room ήταν επιτυχής ή αποτυχής γίνεται εκτύπωση του αντίστοιχου μηνύματος. Αν η εισαγωγή στο room ήταν επιτυχής ή αποτυχής γίνεται εκτύπωση του αντίστοιχου μηνύματος.
![enter image description here](https://lh3.googleusercontent.com/WsnS1cn1wD3rBclSLbRRlkd3YGVknMIQS811sxoKOdwiOzGI5hJ6-M2ao_sC67G9m61pA8rzaMo6yfUFru47E0mQUwFnmSCe0GwwdiTu3JhzNkdgGqwuYhf-U5taoTt61k04kIkyjDNeKFbwS0OELwTf9HWizod9ZjfxGqzHDEJp47uiLlyTTt20tCfALYdZz4MAcjTc0YDP8Tg6eFTY99kWv49fqc--Mdhx4y6wEyFoFnNG486Ienoss3PwIRhzL7SrQK2GPBTGiPpFprVnqPZ36UaNgv2_HpxLYKEEMY5TWx7WEC8AAQQFvRmDSI4VX3YXgTvvK4JuZOixKsswnpPJzCYf4h-ENVqApwXKLXxtvyOxy1NkCsMq2z1JY06rH2Yx6Fl3OJBjm7BEysz0Pd2Ud1FcLPqSrOZxM3I0iAypB8H-LWS_fhftlWMuCQAxHL5jCrsTrca1V-Lz-NtPHkKk1DJQUEvPypFGA0zK-iKA4Nhcb3XMQ4a1bggIqq-WhJ95ENnr4thVNJZDyjyaWIgkClyf7sKRQXvxDtSMKB_jGe5H_C7pDW1IR4TuxyMlg_ydFksMRr_UZBjOQZgqWXhuJ-tYVJIACDdCdDKA_u6ob1Vl_Ij3KBhR9tZRY906o_eeObNT8-nEI2dn1QoToMx3VSE-dRQQITRkVUjr1dV5HzhmZz_uH_Wog7S22g=w991-h702-no?authuser=0) ![enter image description here](https://i.ibb.co/gS6ny7J/conscode11.png)
1) Αρχικοποίηση των ρυθμίσεων της βάσης με σκοπό να μπορώ να γράψω και να διαβάσω απο αυτή. 1) Αρχικοποίηση των ρυθμίσεων της βάσης με σκοπό να μπορώ να γράψω και να διαβάσω απο αυτή.
Οι τιμές που καταγράφονται στη βάση έχουν το measurement temp , είναι τύπου float και περιγράφονται απο το tag sensor (θα μπορούσε το tag να έχει πολλές τιμές π.χ. building1 , floor2 , room55 με σκοπό να προσδιορίσουμε ακριβώς τη θέση της προερχόμενης τιμής). Οι τιμές που καταγράφονται στη βάση έχουν το measurement temp , είναι τύπου float και περιγράφονται απο το tag sensor (θα μπορούσε το tag να έχει πολλές τιμές π.χ. building1 , floor2 , room55 με σκοπό να προσδιορίσουμε ακριβώς τη θέση της προερχόμενης τιμής).
2) Αρχικοποίηση των ρυθμίσεων του RabbitMQ ώστε να ξέρω απο που θα πάρω τα δεδομένα μου (που να γίνει το consume from queue). 2) Αρχικοποίηση των ρυθμίσεων του RabbitMQ ώστε να ξέρω απο που θα πάρω τα δεδομένα μου (που να γίνει το consume from queue).
![enter image description here](https://lh3.googleusercontent.com/lGViAhJmPobVAnVBUe_hSvGP860B1hKNz7z1qQllIsNDXdgP8_uLsDdBegZUKRHujpcHcOsgTPDJY27uxwsC4qza5M9BNs7LIykJWuZajcWMsSsDHZXd5IFCicOWGAjN6o6aNYl0fjOlvadhAnp1WXoFLsUVYkxTDIKRc7JbB07AbzAT2fSzTtbor2n7PCd8w26joKj0UfhHkzUmSpe8X8CgOx-rE4pA720LXo1gaUN1En-1ot0YjPd-0HA4M8L-D_xY518GizdEddsOsENRH_wdMANA0vuT-zL6Y5L4AImoBtRuDBEgzCXy7IdTpmk98YNFhCagFnk1gx7cvPjGVNW_0yAXtRTz2lc1Q32DD2h4TTTjjQHOrOJyT88MeiqfvgFDAimnB1_g_F74_AUBm-62Ledd_xX0KBBYNRMi5RjB22I9VVgb7CwTj1Sj02pcMx-637413SYQWA0lKS5yNatt8fXDiL4_tSXNbTSPNCYyb-h7u7j_5NGXrXRB1NPl-FYjuHSqnIxwp20-rAxUi49aC9KDTjNCDJ_5NRagPqzjWuTqCdWiY7p05aVpy_JOHv1VnirUq9iwcC4L5WjMdOZg_k9flDwVGlNaVaAMNi76KxCKgmCB739qAdb9tzPLV8FYAjvNw6hYCHNdncUG2PKFJwNSQeyG7_PW_DhxEa7mS75LfHvptUrQHRH_og=w1268-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/RSD7HTP/conscode22.png)
1) Ανάθεση του ονόματος της queue και του ονόματος του αισθητήρα. 1) Ανάθεση του ονόματος της queue και του ονόματος του αισθητήρα.
@ -289,7 +289,7 @@ Tα αρχικά στοιχεία για username και password είναι **a
8) Εκτύπωση μηνύματος αν το όνομα του αισθητήρα δεν είναι το ήδη ορισμένο. 8) Εκτύπωση μηνύματος αν το όνομα του αισθητήρα δεν είναι το ήδη ορισμένο.
![enter image description here](https://lh3.googleusercontent.com/_GX-hYg5sQiZd7jZKLpKjUgfgQuXPbxSHVWKkeL0KB3MFJFS1oQiKmH9BNCGVvUzna3LQrQtILJVZYgvn5x94wB_BIRvlMs_85BWwTBucmy20JxLNIm-dsoYnpFpSpzr6t9_e_oQNJUOzRZyYtMR9eb3XDdhYYDomg1DAD6UTZFmyu9l0UOtETw2FbSjByJUBzBzc-pmcv4ydi8shxOtEEUaAv9cHqVXCOfaxs3aco23Wd4dW6_itLiZNdHoJcre2rA02Y6ZwWbNpV2TJzW-nnIf1Ou4gEds5Y4U_jAqrfro8LJwk2Kla-vMyyZqVQXEKnJQyVRD8KrlRTYKnq0aYUCnnKSmg3dj_UOmlcesiwT787WtxFHDZ1Y2uCruXmBjDMjvit2IKCV2qvAH9W7cDdzh_1gJe7qrmBv8UwJEK56F9JrBTJ3usHbWjtXW5p4gKcpIAIapE_mkft_jHCvFYGQTkXyNshSkMPGqYHPyUi-PJmrEjckN1cf2how1sD5ZAUfuukkmAgfxXd9LxM1ZbWZmb7N0cY52yQvzEBhJq7CD2DctPX5eV8cL0C4uCPXQ6xinPpl2W2zUmzy2x2b0SxmpSvd-2cYL5kaUt4O_Nuc8sujlxAegEpiuioXW7rV4f0RtNwVmK-H5TVIeKqnitrojp8tnVsNyDiti8xzBtOYhHYnwLgUuPbZqnyMkyA=w1466-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/BjSwDLS/conscode33.png)
1) **(6)** ανά 5 λεπτά γίνεται ένα query στη βάση και επιστρέφει όλες τις τιμές των τελευταίων 5 λεπτών. 1) **(6)** ανά 5 λεπτά γίνεται ένα query στη βάση και επιστρέφει όλες τις τιμές των τελευταίων 5 λεπτών.
@ -304,7 +304,7 @@ Tα αρχικά στοιχεία για username και password είναι **a
6) Ορισμός χρονόμετρου. 6) Ορισμός χρονόμετρου.
## server.js ## server.js
![enter image description here](https://lh3.googleusercontent.com/ltOKAT398dCgeC1xrmkUhgdJEZzHMlJ6twmuu008TSGz0GghdeZMrNU1Nbl9zctACn6HnRrPtaVNExHCaOYfEAF0wp-DgCnkRM86uQhoHf6JjIbZxPC_SPhq07JdKqU6yN6hsUTOwthJ_V9h4msu2CdTgNi3C7USl4V3_0Hjo0tXCS9V-vRPtfN4qpnNAOp7p4wBug0qArYjR-TYWRnL-f68OGs5ko09RT9dccs_I1_rRn9bWECOaReiKy2nAJ73_Lc9z5SsBujywtPmWS_WB9YFKOrI8d_k2tmx63GE1eYGm6JmscMRNvbtJyuOW0toKzXAOyqEv8VKChOPe6wVipnGdc5X3d7GPsyRVMuAK9v9YU2AS4WCOD-pX_z-gX4ydsjeWfZdE_MAvAcVg9hLPloCjFpVyQxGyKakc48ZRgV11hqa6xBSWJVBt4EATOXJuSgOjBqTJDZDVZ8Gxmm6E-jlnISVHSRTe81zCIBzbalf8nhOwk0y9v99kvWXOfPsgb2InwUq6PuNIaMKYbnkOXz5OAXK9l8FIxTWDibgijmOvjjGlL7TU5uKjdre-pHPkKTGrRVLwabb-ARop1kKnMrDZLwwAuql-AlSWRqeIOSFywSoSKfbdJ4hr63EVU27w3UoK2esokPLMYbzQ_HG0pTHClMxAgSIqNIm894q0oAaoPHsoduMj-74Xp-hjA=w944-h551-no?authuser=0) ![enter image description here](https://i.ibb.co/TmL135h/servcode11.png)
1) Εισαγωγή 4 απαραίτητων module για την λειτουργία του server. 1) Εισαγωγή 4 απαραίτητων module για την λειτουργία του server.
@ -312,7 +312,7 @@ Tα αρχικά στοιχεία για username και password είναι **a
3) Array διαθέσιμων room. 3) Array διαθέσιμων room.
![enter image description here](https://lh3.googleusercontent.com/wRYHn-CsVwYoGAn2CRQ6gAD4v7iW5iwN8__eVwoCDW2hAZDdTsfkmoxyxrCGNrdQBRPD9nDVyQ1NzgoiiXXr9DTA1GaC5LIJ6l7bcLH8wA3BSrQ3uJhoLp9FVbYlY8UHAYBU4o2_amgX7l0oq0hoyohFKWW0nGhifqCzPe-u27M6zSzd779AAsc9gvGwY_BBclgXTQY9Ht2csLxy2AZzQx0u9Q5ZdjZymot2c3e1798joagAGhY40bmzinJiHjznQxtWHIbOMhRlbobGE32wV4y0POC9_Okf9OAhXSGKs9fyyT5mKKQlzwQ5F94n1cfPHsSc2B9iYq1oQ084AcUMb0LNs1-o6E6rVqXKAMAyYaFmHqhVpAvSDRtmZEFyDc3BoGC1h47JNfjes215QjYq37GqBLIdNrlC0qLMlqcjgy1QHMRdTZk7jdPJnTKGn0QolFPBd3ozUTgGN-re_23WFq1Rfrf9CUJuFm4b4GH7YK84HlTkbYQpdUeyhjj8EJ-sUqKm7CHgRtRap3eWNfRAA4FAeypiLT23pNn57Czmj2kLBn62RgC7DSPv-WhT9zL498Zb_Fi_0m3zczq6Uw-1pxwx7G4IT778BYlfPzeNmXHiWb3IobWw5re6vzSC55ou7Zet14xCRN8IX3OJVg2szE6aFeYR6JLth68yzr6N61a7iXO3-eiqRw761k4Kgg=w1639-h926-no?authuser=0) ![enter image description here](https://i.ibb.co/zHRzvrZ/servcode22.png)
1) Έναρξη server. 1) Έναρξη server.
@ -331,11 +331,11 @@ Tα αρχικά στοιχεία για username και password είναι **a
# Ενδεικτικό τρέξιμο # Ενδεικτικό τρέξιμο
## Αναμονή για δεδομένα απο τον producer ## Αναμονή για δεδομένα απο τον producer
![enter image description here](https://lh3.googleusercontent.com/7m1rkkQagbYYmAFQezmMkg8ps5nn8VNWVjiMFP1rqjBbNJK6_OYj8TsiSjgB9bY2J9WmrycTKbVmolO_DfsBSY3Kj0FedrMNksjXlY-mIcGqFHLXgV2xMUN3y2q4MKqjfc0OZkm9vbSmWt18UFy3M9XeUg64aWEZLxnaOiQQnJfsJN7ZPafj_GRJX_hUK5XJdsLwxyIwkoIj40mTe2vv6zucX7zZvXAGEuRF5CNoE_coGfyU_4xdTNMDR3hlxLQFS8JDLlt93S8W0JAeQm-kY8ueSGJbjXwVsvxxALSROdgLJisjFNvNwEomzxkVUErIqlyVqFqflu8zE2Q7SNXOjkg33a8yF_J_YacqVlaWWBYjqcB_6Yx-qzRMy0fNB_utuJd_FOgM16bmF00x2wCwpKCB1Upu8Jifskk9TO8iVUGlJkiwtO-wr8DUE3KjhEZ1XpNMv5BqLffSQ6mpviGUVjWXFDe7cKE2WAGcDPCD8SJKqIT8Ets-FJb_Ooy9UeAUYfrWHupGQu2GXbP4VAo8ck4Z4rHcu_xJfxFhOH20PRjVXdcPuDKuQ-ut3HVoXkrhxWwUipgY-dOya5OZE2qrl0HQpm0AFQVN_nIJU3O1BGA89I2hJ36OYD1XknF6RAIn2pZt4RHHEUL0lCdspFwysUkWuUJ3qLHYGcCayX1iTy4FYAWN9Zy2Znrfg3un7Q=w2262-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/d7JBPh3/final.png)
## Αύξηση θερμοκρασίας πάνω απο 40% ## Αύξηση θερμοκρασίας πάνω απο 40%
![enter image description here](https://lh3.googleusercontent.com/kr0jFRKZNXepeW1G2HjrPBbJ_Ug-KEV_IVLBXvXCH754Y_2py3yuWe9SZAvxrVlia0FKzZ3Mpv8HkFRbk1Qvdn0wMZiHKms-jpSTXDwE0pNtrPXrfOsZkIvk8R_CWUSeBFTcAWLmIq78RI6aye0Rg-s-zU9vBhp3wkiqHDZ2jwRTqHzYLpvgm1pSJB1n7YmbjD6fV_XMQ7JuuQV7P_QY0-6JNfxxnIkfWx8Z_9ABiM-TQ8INFu90MxsnuosPzT6HowFHnU78qBVIAr9yVptFTiQF5x_3lCMA2h-jf9UNtvHSSR0bzjQ84gEjCnOHL9-PTZFjM4ATb502KQaK_KIc6Wp6unS7REfMLd2Lu-zlww5DQdAb2AC5REswWx2NcChzTbgkR_55BD1vsKs6xJ4GTvFo5df5E8G4u8n297NV41Hfvc-mmQEx__0ug2PCwynxFcSVyYvuP_7hgORnd83334QHYDM1DXXcQk-4gE8UC3OghyxeNIVDiDfYmWn9HJFuPRLaarsBYmKy7xiN1kJcoaQa35Gi4HulVn1ekRutznXLUgjMVnqEXmrxyFARdA2Y-lCYL8FDX8YXDP56NyBYeV5g2RgkDDSSV2jaFtq0DmFejhqvER8iwb1A8v4DklTyi9UI43x4aWY6suA4jhTo0wMaT0ru4kgnF7kkBFhfuRZr4-0Y31vYtU23JIMc5w=w2262-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/vPWrVy1/final5.png)
## Ειδοποίηση χρήστη ## Ειδοποίηση χρήστη
![enter image description here](https://lh3.googleusercontent.com/AhPbClQMzcMn9YeTPxkFG769CQOmjkG19sJGB3GmeKV2-oRolx-IBCaTnUCz9n5BRbm59bL6ftmErjg9BDxVCsb-G-lwbc76EIJ7ETxFMBP19xmZOM93RXgZaPo6ZxXszmcEV8TWh_-0NRgMVTeWysTVqefyTDb7RXaFGsIHvjQRcEu931A8hXvpdEXNX4tiscVpFAaptgBxnoPFkJJn7zU4ywLFwpbGvfOeCkNdtnTs3VVU4DwBYc6xPXXZziWkwywfoINXRW2lZCqCpaR8OynDRVO4s66kmhp-DHWNPrV1zeEXLO3gVAYEwBCdJGFAil4yn9Td8DA-Yh7mCak4E-xSHUn62BvURX29SAZQd5r3aCoZJLAmKBkxpG9EtiGWY38VDvqdmCuiUndeV8dQHfqulXv15jkFzRexWxRj5sYa0DrIeAnyqYtAhfQXnJzdngVFjvGsQJXW2eTeZI--BPmLvBSdyVC9jfphqLgqv3nNXhws4R66pwHjqnVwfud768hZGmd_NVpCWQdpdiMtzaewikZcv8KHaGidMBcDMujloQdjXMg5xIfrP3hpgrofaCL3bf6r33_NH6aw-sQhxnrsD8B-fWj5_9Z7Tu7eGIiEg33yybym7qtRN--T4ON3bzQ5FdkZAGb6_qs4qfwbVG3xJnDmNCjJJtovU1X3LJ3a7mAaK2F4cnnKg_6AGA=w573-h1272-no?authuser=0) ![enter image description here](https://i.ibb.co/KztMBC4/139796416-225410489050033-1753819101017820134-n.jpg)
# Πηγές # Πηγές
https://git.swarmlab.io:3000/zeus/iot-swarm-example/raw/branch/master/docs/README.adoc#_server_site https://git.swarmlab.io:3000/zeus/iot-swarm-example/raw/branch/master/docs/README.adoc#_server_site

Loading…
Cancel
Save