scieee Science in your language
[en] (orig)

Remote biometrical monitoring system via IoT

Abstract

Os sistemas de Internet of Things (IoT) estão a experienciar um rápido crescimento devido à sua aplicabilidade em vários domínios, desde cidades inteligentes até aos cuidados de saúde. Nestes sistemas, os dispositivos comunicam entre si, ou com a infraestrutura, recorrendo a comunicações machine-to-machine (M2M). Uma vez que muitos destes dispositivos são simples, com escassa capacidade de processamento, foram desenvolvidos protocolos M2M como o Constrained Application Protocol (CoAP) e o Messaging Queue Telemetry Transport (MQTT), bem como frameworks de suporte de comunicações M2M. Apesar dos desenvolvimentos nesta tecnologia, ainda são encontrados desafios no desenvolvimento de aplicações M2M e IoT a nível da interoperabilidade, escalabilidade e padronização, por exemplo. Consequentemente, vários standards M2M foram desenvolvidos para superar estes desafios, sendo o oneM2M um deles. Atualmente, existem vários dispositivos disponíveis com uma interface WiFi embebida, o que significa que quando inseridos num sistema IoT, não necessitam de uma gateway (GW) para o acesso à Internet, uma vez que o WiFi é uma tecnologia omnipresente na sociedade atual. Esta é uma característica fundamental visto que diminui o custo global do sistema. Além disso, estes dipositivos, como o módulo ESP32, oferecem modos de poupança de energia que permitem explorar recursos de gestão de energia definidos pelo standard IEEE 802.11. As instituições de cuidados de saúde procuram oferecer os melhores serviços em termos de confiabilidade, segurança e conforto aos seus pacientes. Recentemente, tecnologias IoT foram abordadas, desenvolvidas e utilizadas para melhorar o serviço aos pacientes. O trabalho proposto nesta dissertação é um sistema de monitorização contínua via IoT capaz de monitorizar os sinais vitais de um paciente e apresentá-los aos profissionais de saúde. Para além disso, o sistema pode ser utilizado em diversos cenários desde salas de emergência, uso doméstico até à competição desportiva. O sistema possui dois componentes principais: um dispositivo wearable com uma antena WiFi e um sistema de monitorização orientado ao profissional de saúde. O wearable é composto por um sensor fotopletismográfico (PPG) MAX30100/MAX30102 para medir o ritmo cardíaco e os níveis de saturação de oxigénio no sangue, um ESP32 com uma antena WiFi incorporada para processar e enviar os dados do sensor para o sistema de monitorização e, finalmente, uma bateria de Lítio Polímero (LiPo) para fornecer energia aos dois componentes mencionados. No que refere ao sistema de monitorização, este é composto por uma base de dados orientada a eventos temporais para armazenar todos os dados necessários, um software de visualização gráfica para a visualização dos sinais vitais do paciente e, por fim, uma Interface Gráfica com o objetivo de ser um painel de controlo para todo o sistema. Para além disso, o sistema segue a norma oneM2M devido a questões de interoperabilidade relativas à arquitetura, e implementa o modelo de comunicação publisher-subscriber pois este é eficiente em termos de sensorização e monitorização remota. Por último, o objetivo desta dissertação é desenvolver um sistema de monitorização de baixo custo focado na gestão energética e que ao mesmo tempo não comprometa a sua confiabilidade e robustez.

Read accessible full text

Remote biometrical monitoring system via IoT

Author: Pedro de Castro Albergaria
Year: 2020
DOI: 10.34626/kc0h-rv95
Source: https://repositorio-aberto.up.pt/bitstream/10216/132783/2/411602.pdf
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Remo e Biome ical Moni o ing Sys em
ia IoT
Ped o de Cas o Albe ga ia
Mes ado In eg ado em Engenha ia Ele o écnica e de Compu ado es
Supe iso : P o . D . Luís Miguel Pinho de Almeida
Second Supe iso : P o . D . Ped o Miguel Salguei o dos San os
July 30 h, 2020
© Ped o Albe ga ia, 2020
Resumo
As ins i uições de cuidados de saúde en am p o idencia os melho es se iços no que e e e
à iabilidade, segu ança e con o o dos seus pacien es. Nos úl imos anos, a ecnologia In e ne o
Things (IoT) em sido ado ada e desen ol ida pa a melho a es es se iços.
Os sis emas IoT êm egis ado um ápido c escimen o de ido à sua aplicabilidade em di e -
sos domínios, desde de cidades in eligen es a cuidados de saúde. Nes es sis emas, os diposi-
i os comunicam en e si, ou com a in aes u u a, a a és de comunicações machine- o-machine
(M2M). De ido ao ac o de que mui os des es disposi i os possuem poucos ecu sos compu a-
cionais, á ios p o ocolos M2M o am desen ol idos como o Cons ained Applica ion P o ocol
(CoAP) e o Messaging Queue Teleme y T anspo (MQTT). Exis em di e sos desa ios no desen-
ol imen o de aplicações M2M e IoT, en e eles a in e ope abilidade e s anda disa ion. Po isso,
á ios s anda ds M2M o am desen ol idos pa a esol e es es p oblemas, sendo o oneM2M um
deles. A ualmen e, há á ios disposi i os p esen es no me cado com uma an ena WiFi embebida, o
que pe mi e a in eg ação des es disposi i os num sis ema IoT sem a necessidade de um disposi o
com a uncionalidade de ga eway (GW) pa a a ligação à In e ne . O módulo ESP32 da Esp essi
é um dos módulos p esen es no me cado que supo a a ecnologia WiFi bem como possui modos
de mecanismo de poupança de ene gia elacionados com es a.
O abalho p opos o nes a disse ação consis e num sis ema IoT pon a-a-pon a baseado num
disposi i o de baixo cus o e baixo consumo que supo a a ecnologia WiFi capaz de moni o iza
con inuamen e os pa âme os isiológicos do usá io e ap esen á-los, po exemplo, a p o issionais
de saúde. O sis ema pode se aplicado em di e sos casos de uso como alas de eme gência e
compe ições despo i as.
O sis ema possui duas componen es p incipais: um disposi i o wea able baseado num mó-
dulo WiFi de baixo cus o e baixo consumo pa a o usuá io, e uma aplicação de moni o ização com
uma in e ace g á ica di ecionada aos p o issionais de saúde. O p imei o componen e é cons i-
uído po senso o ople ismog á ico MAX30102 pa a medi o ba imen o ca díaco e sa u ação de
oxigénio no sangue, um ESP32 pa a p ocessa e en ia os dados do usuá io pa a a aplicação de
moni o ização e, po úl imo, uma ba e ia de Lí io-políme o (LiPo) pa a o nece ene gia aos ou os
dois componen es. A aplicação de moni o ização é compos a po uma base de dados desenhada
pa a e en os empo ais (In luxDB) com a uncionalidade de a mazena os dados do sis ema, uma
e amen a de isualização de dados (Ch onog a ) e uma aplicação de moni o ização com uma
in e ace g á ica que se e como painel de con olo.
Adicionalmen e, o sis ema assen a no s anda d oneM2M e segue o modelo de comunicação
publicado -subsc i o de ido à e iciência des e na moni o ização emo a. Fo am implemen ados
e compa ados ês p o ocolos M2M: CoAP, HTTP e MQTT. De modo a a alia a pe o mance
do sis ema, o am conduzidas expe iências de la ência pon a-a-pon a (E2E), com ansmissão de
dados a di e en es equências, di e en es modos de poupança de ene gia do ESP32 e di e en es
p o ocolos de comunicação pa a dois canais de WiFi com qualidade de sinal di e en e. Os esul-
ados demons am que a la ência E2E pa a o canal de WiFi com má qualidade de sinal aumen a
i
ii
30.2% e 38.2% pa a mensagens publicadas com um pe íodo de 1 e 10 segundos com amanhos de
mensagem de 85B e 850B, espe i amen e, quando compa ado à la ência E2E expe ienciada po
um canal de WiFi com boa qualidade de sinal. É possí el conclui que os p o ocolos baseados em
TCP, como o HTTP e MQTT, expe enciam um aumen o da la ência E2E quando compa ados ao
CoAP, que é um p o ocolo baseado em UDP. Adicionalmen e, pa a as medidas com amanho de
mensagem de 850B, há uma aumen o da la ência E2E de 26.3% quando compa ada às medidas
de 85B en e os dois canais de WiFi. Po im, ela i amen e ao Packe Deli e y Ra io (PDR),
concluímos que es e é de 100% pa a o canal WiFi de boa qualidade de sinal, mas pa a o canal de
WiFi de má qualidade, o alo do PDR diminui quando ESP32 publica as mensagens em modos
de poupança de ene gia mais e icien es.
Nes a disse ação, oi desen ol ido um sis ema de moni o ização ocado no baixo cus o e
e iciência ene gé ica. No en an o, não comp omen e a iabilidade e obus ez de sis emas de moni-
o ização adicionais.
Pala as-cha e: Moni o ização Biomé ica, CoAP, HTTP, IoT, M2M, MQTT.
Abs ac
Heal hca e ins i u ions always s i e o p o ide he bes se ices conce ning he eliabili y,
sa e y and com o o he pa ien s. To do so, In e ne o Things (IoT) echnologies ha e been
emb aced and de eloped in ecen yea s o imp o e hese se ices.
IoT sys ems a e expe iencing apid g ow h due o hei applicabili y in se e al domains, om
sma ci ies o heal hca e, among many. In hese sys ems, de ices communica e wi h each o he ,
o wi h in as uc u e, eso ing o machine- o-machine (M2M) communica ions. Since many o
hese de ices a e esou ce-cons ained and ha e limi ed compu ing capabili ies, ligh weigh M2M
p o ocols we e de eloped such as Cons ained Applica ion P o ocol (CoAP) and Messaging Queue
Teleme y T anspo (MQTT) and accompanying amewo ks o suppo he ope a ion o he p o-
ocols, and p omo e in eg a ion wi h he a ge sys ems. The e a e challenges when de eloping
M2M and IoT applica ions: in e ope abili y, scalabili y, s anda disa ion, among o he s. Se e al
M2M s anda ds we e designed o add ess hese issues, wi h oneM2M being one o hem. Nowa-
days, he e a e mul iple de ices a ailable ha ha e an embedded WiFi in e ace, hus eschewing
he need o a GW in o de o be in eg a ed in a IoT a chi ec u e o access he In e ne since WiFi
is one o he mos common echnologies a In e ne bounda y. This is a key ea u e because i
inc eases he sys em’s pe asi eness while dec easing he o e all cos o he sys em. Addi ionally,
hese de ices, such as he Esp essi ESP32 module, o e powe managemen modes ha allow
exploi ing he powe managemen ea u es by he IEEE 802.11 s anda d.
The wo k p oposed in his disse a ion is an end- o-end IoT-inspi ed sys em based on small
o m- ac o , ul a-low powe and WiFi enabled embedded de ices capable o con inuously mon-
i o ing a use ’s i al signs and displaying hem, e.g., o medical pe sonnel. Such sys em can be
applied o a wide ange o applica ion scena ios om eme gency wa ds and home en i onmen o
spo s aining and compe i ion.
The sys em has wo majo componen s, a low-cos low-powe WiFi-enabled wea able de ice
o he use and a moni o ing applica ion o he medical pe sonnel. The wea able is composed by
a MAX30102 Pho oPle ysmoG aphy (PPG) senso o measu e he hea a e and oxygen sa u a ion
le els, an ESP32 wi h a buil -in WiFi an enna o p ocess and send he senso da a o he moni o ing
sys em and, inally, a Li hium Polyme (LiPo) ba e y o powe he p e ious wo componen s. The
moni o ing applica ion is composed o a ime-se ies da abase (In luxDB) o s o e all he da a, a
g aphics isualisa ion so wa e (Ch onog a ) o displaying use ’s i al signs and a moni o ing
applica ion wi h a G aphical Use In e ace (GUI) se ing as a con ol panel.
Addi ionally, he sys em elies on he oneM2M s anda d o he in e ope abili y conce ning
he a chi ec u e and ollows a publish-subsc ibe communica ion model due o i s e iciency in
sensing and emo e moni o ing. Also, we implemen and compa e h ee M2M p o ocols, namely
CoAP, HTTP and MQTT. To e alua e he sys em’s pe o mance, we conduc ed end- o-end (E2E)
la ency expe imen s, wi h da a ansmissions a di e en equencies, using he di e en powe
modes o e ed by he ESP32 module and di e en communica ion p o ocols o wo WiFi channel
quali y expe imen s ega ding signal s eng h. The esul s show ha he E2E la ency o a bad
iii

i
WiFi channel quali y inc eases 30.2% and 38.2% o messages published wi h 1 second and 10
seconds pe iods wi h 85B and 850B o payload, espec i ely, when compa ed o a good WiFi
channel quali y. We also conclude ha scena ios wi h TCP-based p o ocols, such as he HTTP
and MQTT, expe ience mo e E2E delay han UDP-based p o ocols, i.e. CoAP. Mo eo e , o he
850B o payload measu es, he e is an inc ease o 26.3% when compa ing o 85B o payload o
he wo channels expe imen s. Mo eo e , we conclude ha he PDR is 100% in he good channel
expe imen while in he bad expe imen he e is a dec ease o he PDR when he ESP32 is using
mo e ene gy-e icien powe modes.
Fu he mo e, in his disse a ion we de eloped a low-cos and ene gy-e icien moni o ing sys-
em while no comp omising he eliabili y and obus ness o adi ional machines and sys ems.
Keywo ds: Biome ical Moni o ing, CoAP, HTTP, IoT, M2M, MQTT.
Acknowledgemen s
Fi s , I would like show my g a i ude owa ds my supe iso s, P o esso Luís Almeida and
P o esso Ped o San os, o con inuously gi ing me suppo h oughou he all disse a ion p ocess.
I would also like o hank my amily, namely my pa en s, sis e s and g andmo he o all he
lo e and suppo .
To all my iends, a since e hank you o always being he e o me. Specially, I wan hank
o my colleague and dea iend Daniel Sil a, o his di ec in ol emen a he ea ly s ages o he
disse a ion.
Ped o de Cas o Albe ga ia
i
“Li e can only be unde s ood backwa ds;
bu i mus be li ed o wa ds”
So en Kie kegaa d
ii
xi LIST OF TABLES

Abb e ia ions and Symbols
ADC Analog- o-Digi al Con e e
ADN Applica ion Dedica ed Node
AE Applica ion En i y
ALP Applica ion Laye P o ocol
AP Access Poin
API Applica ion P og amming In e ace
AQMP Ad anced Queuing Message P o ocol
BPM Bea s Pe Minu e
CoAP Cons ained Applica ion P o ocol
CVD Ca dio ascula disease
CSE Common Se ice En i y
DDS Da a Dis ibu ion Se ice
DTIM Deli e y T a ic Indica ion Message
E2E End- o-end
GUI G aphical Use In e ace
HR Hea - a e
HTTP Hype ex T ans e P o ocol
I2C In e -In eg a ed Ci cui p o ocol
ID Iden i ie
IETF In e ne Enginee ing Task Fo ce
IoT In e ne O Things
LiPo Li hium-ion Polyme
Mbps Mega bi s pe seconds
MIPS Million Ins uc ions Pe Second
MQTT Message Queuing Teleme y T anspo
N/A No Admi ed
NSE Ne wo k Se ices En i y
OCF Open Connec i i y Founda ion
OS Ope a ing Sys em
PDR Packe Deli e y Ra io
PPG Pho oPle ysmoG aphy
QSPI Quad Se ial Pe iphe al In e ace
QoS Quali y o Se ice
TCP T anspo Con ol P o ocol
UDP Use Da ag am P o ocol
ULP Ul a-Low-Powe
URI Uni e sal Resou ce Iden i ie
RSSI Recei ed Signal S engh Indica ion
x
RTC Real-Time Clock
RTOS Real-Time Ope a ing Sys em
SCADA Supe iso y Con ol And Da a Acquisi ion
SCL Se ial Clock Line
SDA Se ial Da a Line
SDK So wa e De elopmen Ki
SoC S a e o Cha ge
SpO2Blood’s Oxigen Le el
STA S a ion
SHF Supe High F equency
WHO Wo ld Heal h O ganiza ion
XMPP Ex ensible Messaging and P esence P o ocol
Chap e 1
In oduc ion
1.1 Con ex and Mo i a ion
Acco ding o he Wo ld Heal h O ganiza ion (WHO), he global li e expec ancy inc eased all
o e he wo ld in he pas wo decades, om 67.5 yea s in 2000 o 72 yea s in 2016 [1]. This
inc ease s ems om be e heal hca e se ices o e ed o he mass popula ion. On he o he hand,
ca dio ascula diseases (CVDs), such as s okes and hea a acks, a e he main cause o dea h
oday, aking an es ima e o 17.9 million li es pe yea (which ep esen 31% o he wo ldwide
dea h oll) [2]. The indi iduals a isk o a CVD need con inuous ca e and moni o ing o hei
physiological pa ame e s.
In ecen yea s, new echnology solu ions ha e been de eloped o a mo e con enien way o
moni o ing pa ien ’s i al signs in hospi al en i onmen and a home, while o e ing he same qual-
i y o se ice. Namely, he In e ne o Things (IoT) echnological pa adigm has e ol ed apidly
o accommoda e his use case. Th oughou he yea s, nume ous IoT a chi ec u es ha e been p o-
posed o his domain, wi h small and com o able wea able de ices o acqui e i al signs om
he pa ien and display hem o he medical pe sonnel. Mo eo e , hese implemen a ions allow
he pa ien o be moni o ed om home h ough he In e ne , wi hou ha ing he need o go o he
hospi al o o he heal hca e acili y. Howe e , mos moni o ing applica ions in he ma ke wi h
wea ables de ices capable o con inuous moni o ing o physiological ely on sho - ange commu-
nica ion echnologies, ypically Blue oo h. This en ails he need o an ex a de ice an ex a de ice
( o example, a sma phone) se ing as a ga eway (GW) o sus ained In e ne connec ion h ough
ano he echnology, e.g., WiFi o cellula . Al hough he sma phones p esen enhanced connec-
i i y, he addi ional GW implemen a ion inc eases he powe consump ion o he de ice which
dec eases i s au onomy and poses an addi ional load bu den o he use .
The main mo i a ion o ca y ou o his disse a ion is he implemen a ion and assessmen
o an open IoT a chi ec u e o con inuous moni o ing applied o he eal- ime acking o he
physiological pa ame e s o he use s, such as he hea a e, and displaying he da a o medical
pe sonnel. We ollow he app oach p oposed in [3] elying on he ESP32 module ha includes
WiFi connec i i y and uns a ull TCP/IP, allowing o bypass he e e ed GW.
1
2In oduc ion
Figu e 1.1 illus a es an applica ion scena io in an eme gency wa d.
Hea -Ra e
Oxygen Le el Sa u a ion
Wi eless Link
WiFi-capable
Wea able In e ace
Da abase
Medical Pe sonnel
Figu e 1.1: Applica ion scena io in an eme gency wa d. Physiological pa ame e s (hea a e
and oxygen sa u a ion le els) a e collec ed by he wea ables om pa ien s and o wa ded o he
moni o ing sys em, whe e can be accessed by he medical pe sonnel.
1.2 Objec i es
The main objec i e o he wo k co e ed by his disse a ion is o implemen a eal- ime open
IoT a chi ec u e o con inuous moni o ing o physiological pa ame e s o he use s wi h low-cos
componen s and es he sys em in a spo s compe i ion game as well as home moni o ing. In
pa icula , de elop a WiFi-enabled wea able senso de ice based on he Esp essi ESP32 mod-
ule. The wea able de ice also con ains a MAX30102 Pho oPle hymosg aphy senso o acqui ing
hea - a e (HR) and blood’s oxygen le el (SpO2), and a LiPo o powe he o me componen s.
Addi ionally, he sys em mus p esen he pa ien da a o he medical pe sonnel, hus de eloping
a moni o ing applica ion wi h eal- ime da a is equi ed. Las ly, we conduc ed end- o-end (E2E)
la ency expe imen s o compa e he ESP32’s pe o mance in di e en powe modes by publishing
di e en message payloads o wo WiFi channel quali ies ega ding i ’s Recei ed Signal S eng h
Indica ion (RSSI), good signal s eng h channel and bad signal s eng h channel. Mo eo e , we
also assessed he Packe Deli e y Ra io (PDR) o he di e en channel expe imen s.
1.3 A chi ec u e
Figu e 1.2 p esen s he a chi ec u e o sys em he eby p oposed. A WiFi-enabled wea able de-
ice publishes use da a o he sys em’s b oke . Then, he b oke o wa ds he da a o he subsc ibe
1.4 Documen S uc u e 3
which is a moni o ing applica ion wi h GUI. A e ecei ing he da a, he moni o ing applica ion
s o es he da a in a da abase. Finally, o isualise he da a, we use a da a isualisa ion ool.
IN
Sys em's
b oke
Wea able De ice WiFi Access Poin
Moni o ing
Applica ion
wi h GUI
Da abase
CoAP, HTTP o MQTT
HTTP
HTTP
HTTP
Da a
Visualisa ion
Figu e 1.2: Sys em a chi ec u e
1.4 Documen S uc u e
This epo is a anged in six chap e s wi h he ollowing con en :
•Chap e 1p esen s he con ex and mo i a ion, objec i es and sys em’s a chi ec u e o his
disse a ion.
•Chap e 2 ocus on a eas-o -in e es in de eloping an IoT sys em such as M2M and IoT
applica ions de elopmen , low-powe WiFi and ela ed wo k o he disse a ion, among o h-
e s.
•Chap e 3discusses he a chi ec u e o he IoT moni o ing sys em as well as each compo-
nen , gi ing an insigh o i s cha ac e is ics and unc ion on he sys em.
•Chap e 4discusses he sys em’s implemen a ion and ope a ion.
•Chap e 5p esen s pe o mance esul s e e ed o E2E and PDR in he M2M communica-
ions.
•Chap e 6discusses he p ojec ’s inal conclusions and u u e wo k.

4In oduc ion
Chap e 2
IoT Implemen a ions on WiFi Nodes
This chap e co e s ou a eas o in e es o his disse a ion. Fi s , Sec ion 2.1 e iews M2M
and IoT applica ions de elopmen , in pa icula , middlewa e amewo ks, open-sou ce de elop-
men amewo ks, applica ions p o ocols and wi eless communica ion echnologies. Sec ion 2.2
in es iga es he ea u es o se e al embedded pla o ms wi h WiFi connec i i y o IoT applica-
ions such as ESP32 and W600-PICO modules. Se e al op ions ega ding ime-se ies da abases
and da a isualisa ion ools a e discussed in Sec ion 2.3. Finally, we conclude his chap e wi h
ela ed wo k o his disse a ion om IoT applica ions wi h he implemen a ion o he a o emen-
ioned s anda ds, amewo ks and ALPs in Sec ion 2.4.1 and he inno a i e use o w is -wo n
wea able de ices in he spo s domain in Sec ion 2.4.2.
2.1 M2M and IoT Applica ions De elopmen
As s essed ea lie , IoT echnologies and M2M ha e e ol ed apidly in ecen yea s. To e-
spond o his g ow h, amewo ks and M2M ALPs, as well as s anda ds, we e de eloped o p o ide
solu ions and imp o emen s in his a ea. In his sec ion, we will discuss se e al solu ions ega d-
ing middlewa e amewo ks, M2M amewo ks and pla o ms ( ocusing on open-sou ce p oduc s),
ALPs and wi eless communica ion echnologies in M2M and IoT applica ions de elopmen .
2.1.1 Middlewa e F amewo ks
This sec ion p esen s se e al open-sou ce middlewa e amewo ks. I gi es an o e iew o he
main ea u es and a chi ec u e.
2.1.1.1 AllJoyn
AllJoyn [4] is an open-sou ce middlewa e amewo k suppo ed by Open Connec i i y Foun-
da ion (OCF) ha ollows he clien -se e coope a ion model. Mic oso , Linux Founda ion,
Sony, Qualcomm a e some o he membe s o he o ganiza ion which suppo he amewo k.
AllJoyn uses an objec -o ien ed a chi ec u e o c ea e i s da a models and o e s bindings in Ja a,
5
6IoT Implemen a ions on WiFi Nodes
Objec i e-C, C++ and C [5]. Also, i is compa ible wi h mul iple ope a ing sys ems, e.g., Win-
dows, Linux, OS X, And oid.
The AllJoyn amewo k a chi ec u e is di ided in o ne wo k a chi ec u e and so wa e a chi-
ec u e. AllJoyn amewo k unc ions on he local ne wo k which allows de ice and apps disco -
e y. The e wo componen s: AllJoyn Apps (Apps o sho ) and AllJoyn Rou e s (Rou e s o
sho ). The e a e h ee common opologies, as illus a ed in Figu e 2.1 [6]:
Mobile App
App
App
Rou e
Rou e
App
Embedded
De ice
App
Embedded
De ice
Rou e
Rou e App
App
Figu e 2.1: AllJoyn amewo k’s ne wo k opologies
The so wa e a chi ec u e de ails he di e en componen s in he Apps and Rou e s ( e e o
Figu e 2.2). Apps con ain he ollowing componen s [6]:
•Co e Lib a y: Lowe le el APIs o in e ac ion wi h AllJoyn ne wo k;
•Se ice F amewo k Lib a ies: implemen s common se ice like con igu a ion, no i ica-
ions and con ol panel;
•App Code: s o e he applica ion logic.
Apps
App Code
Se ice
F amewo k
Lib a ies
Co e Lib a y
Rou e
Figu e 2.2: AllJoyn amewo k’s ne wo k componen s
A Rou e can un as s andalone de ice o is bundled wi h he AllJoyn Co e Lib a y.
2.1 M2M and IoT Applica ions De elopmen 7
Finally, he AllJoyn amewo k de ines wo a ian s. The S anda d e sion is o non-embedded
de ices (e.g., And oid and Linux) and he Thin e sion o esou ce-cons ained de ices (e.g., A -
duino and Linux wi h limi ed memo y).
2.1.1.2 FIWARE
FIMWARE [7] is an open-sou ce amewo k de eloped o imp o e and accele a e he de elop-
men o IoT solu ions, and i was ac i ely p omo ed by he Eu opean Communi y. I is suppo ed
by an independen Open Communi y whose membe s and con ibu o s aim o a s anda d ha is
sus ainable and easy o implemen in o de o build Sma Solu ions in a as e , easie and cheape
way [8]. Also, FIWARE has an API called FIMWARE NGSI which uses he Nex Gene a ion
Se ices In e ace (NGSI) wi h he goal o uni y he in o ma ion’s ep esen a ion [9]. Fu he -
mo e, his amewo k enables he in eg a ion o componen s and o e s he basis o he eplica ion
(po abili y) and in e ope abili y o his ield solu ions. I is a REST ul API ha p o ides an in u-
i i e G aphic Use s In e ace (GUI), suppo s subsc ip ion/no i ica ion and many o he ea u es.
The main and only manda o y componen o any pla o m based on FIWARE is he FIWARE
O ion Con ex B oke Gene ic Enable , p o iding se e al unc ions such as managing con ex in-
o ma ion, pe o ming upda es and b inging access o con ex ( e e o Figu e 2.3) [10]. Mo eo e ,
he e a e complemen a y FIWARE componen s a ailable wi h ega ds o IoT, API managemen
and p ocessing con ex in o ma ion, among o he s [10]:
Con ex
P ocessing, Analysis,
Visualisa ion
Co e Con ex Managemen
(Con ex B oke )
In e ace o
IoT, Robo ics and hi d pa y
sys ems
Da a/API Managemen
Publica ion
Mone isa ion
Deploymen
ools
Figu e 2.3: Gene al solu ion wi h a FIWARE pla o m
2.1.1.3 IoTi i y
IoTi i y [11] is an open-sou ce and esou ce-o ien ed a chi ec u e amewo k suppo ed by
OCF which connec s IoT de ices, enabling and p o iding unc ions o disco e y, connec ion and
messaging among hem [12]. M2M communica ions a e suppo ed h ough CoAP. Mo eo e , he
subjec i e amewo k suppo s a connec i i y abs ac ion laye . As a esul , he API is a ailable in
mul iple ne wo k echnologies such as WiFi, E he ne and Blue oo h and i is a ailable o Linux,
Windows, And oid, A duino, among o he s. Mo eo e , he API is a ailable Ja a, C and C++
APIs. IoTi i y amewo k con ains h ee laye s o di e en pu poses: he se ice laye o e sees
de ice managemen , no i ica ion and Resou ce Con aine , among o he s; he base laye is in cha ge
14 IoT Implemen a ions on WiFi Nodes
2.1.3.4 MQTT
MQTT is a ligh weigh and one o he oldes M2M communica ion p o ocols de eloped by
IBM and in oduced in 1999 [31,32,29]. The p o ocol ollows a opic-based publish-subsc ibe
a chi ec u e designed and op imised o high-la ency and cons ained ne wo k [35,36]. Analogous
o HTTP, MQTT uses TCP as i s anspo laye p o ocol.
As s essed ea lie , he p o ocol ollows a opic-based publish-subsc ibe model which means
ha each message is associa ed wi h a opic. The publishe en i y sends he messages o a b oke ,
which ac s as an in e media y and o wa ds he messages o he en i ies ha subsc ibed o he
message’s opics.
MQTT o e s h ee di e en le els o QoS ega ding message deli e y [37]:
•QoS 0 (a mos once deli e y): This o e s he inhe en message deli e y eliabili y o he
TCP p o ocol. In his le el, he message a i es a he ecei e o does no a i e a all. The
sende does no e y o send he message and he e is no esponse message by he ecei e ;
•QoS 1 (a leas once deli e y): This QoS le el ensu es ha he message is deli e ed a leas
once o he ecei ing en i y. The ecei e has o send a con i ma ion message o he sende o
in o m ha he message was deli e ed. I he sende doesn’ ecei e a con i ma ion message
a e a imeou , he message is esen ;
•QoS 2 (exac ly once deli e y): This QoS le el ensu es ha he e a e no duplica e messages
o message loss. Bo h en i ies send con i ma ion messages o ensu e ha he message is
deli e ed exac ly once o he ecei e en i y.
As expec ed, communica ion eliabili y inc eases wi h he le els o QoS. Howe e , he e is
mo e la ency and bandwid h consump ion associa ed wi h highe QoS le els.
2.1.3.5 Ex ensible Messaging and P esence P o ocol
Ex ensible Messaging and P esence P o ocol (XMPP) is a p o ocol based on ex ensible ma kup
language (XML) de eloped by IETF. Analogous o AQMP and MQTT, i is designed o message-
o ien ed middlewa e [5]. XMPP is based on TCP p o ocol wi h XML S anzas and suppo s eal-
ime communica ion be ween a se e and a clien . The p o ocol ollows bo h publishe /subsc ibe
and eques / esponse pa e ns [31].
2.1.3.6 P o ocol’s Compa ison and E alua ion
In he ollowing able, a compa a i e analysis be ween he p e iously men ioned p o ocols is
p esen ed:

2.1 M2M and IoT Applica ions De elopmen 15
Table 2.1: Compa a i e analysis o applica ion p o ocols in IoT sys ems
P o ocol Abs ac ion A chi ec u e Quali y o Se ice T anspo P o ocol
AQMP Publish/Subsc ibe
Reques /Response
Clien /B oke
Clien /Se e
Se le Fo ma
Unse le Fo ma TCP
CoAP Publish/Subsc ibe
Reques /Response
Clien /B oke
Clien /Se e
Con i mable
Non-con i mable UDP
HTTP Reques /Response Clien /Se e N/A TCP
MQTT Publish/Subsc ibe Clien /B oke QoS0, QoS1, QoS2 TCP
XMPP Publish/Subsc ibe
Reques /Response Clien /Se e N/A TCP
Du ing he las decade, due o he g ow h o M2M communica ions and IoT applica ions, he e
has been in ensi e esea ch and s udy o M2M communica ion p o ocols pe o mance in di e en
applica ions scena ios wi h di e en echnologies and ne wo k condi ions, o example. The e o e,
Table 2.2 shows ele an s udies ega ding he p o ocols p e iously men ioned, among o he s. I
is wo h no icing ha he able ollows he s uc u e p esen ed in Re e ence [32].
Table 2.2: Compa ison s udy abou ALPs in p e ious wo ks
Au ho s P o ocols Me ics Pu pose Resul s
Bandyopadhyay
e al. [35] (2013)
CoAP,
MQTT
Powe con-
sump ion by
inc easing pay-
load size and
changing he
condi ions o
packe loss e-
ga ding payload
size
S udy p o ocol’s
pe o mance
ega ding ene gy
e iciency using
Cons ained
Ga eway De ices
CoAP is he
mos e icien in
e ms o ene gy
comsup ion and
bandwid h
Fysa akis e
al. [36] (2016)
CoAP,
DPWS,
MQTT
Clien esponse
ime o a eques ,
A e age CPU
Load and A -
e age Memo y
U ilisa ion
E alua e he
p o ocols in he
same es bed o
ex ac conclu-
sions conce ning
pe o mance
DPWS showed
he wo s esul s
in wo ca ego ies
(clien esponse
ime and memo y
u ilisa ion), ol-
lowed by MQTT
(CPU load).
16 IoT Implemen a ions on WiFi Nodes
Chen e al. [31]
(2016)
CoAP,
Cus om
UDP, DDS,
MQTT
Bandwid h
consump ion, la-
ency and packe
loss
Conduc a s udy
o illus a e
how p o ocols
unc ion how
p o ocols unc-
ion unde a
cons ained, low
quali y wi eless
ne wo ks
TCP-based p o-
ocols a e mo e
eliable and ha e
mo e la ency
expe ienced
han UDP-based
p o ocols
Kayal e al. [38]
(2017)
CoAP,
MQTT,
XMPP,
WebSocke
Response ime by
a ying he a ic
load on he ne -
wo k
Measu es p o-
ocols’ pe -
o mance in
cons ained de-
ices o ensu e
e iciency
CoAP pe o ms
be e han o he
p o ocols o
highe se e
u ilisa ion.
XMPP pe o ms
be e han o he s
a lowe se e
u ilisa ion
Hedi e al. [39]
(2017)
CoAP,
MQTT
By es sen and
ime needed o
ecei e hem
E alua e pe o -
mance and com-
pa e he p o o-
cols in di e en
scena ios
Concludes ha
CoAP is a good
choice whe e
eal- ime pe -
o mance and
la ency a e no
equi emen s
2.1 M2M and IoT Applica ions De elopmen 17
Naik [29]
(2017)
AMQP,
CoAP,
HTTP,
MQTT
Message Size
s Message
O e head, Powe
Consump ion
s Resou ce
Requi emen ,
among o he s
In-dep h and el-
a i e analysis o
he p o ocols o
gain insigh in o
hei s eng hs
and limi a ions
HTTP is he i s
( i.e, wi h high-
es ) in message
size, message
o e head, powe
consump ion and
la ency while
CoAP is he
lowes . MQTT
is he highes in
eliabili y and
AQMP is highes
in secu i y and
p o isioning, o
example.
Pohl e al. [40]
(2018)
AMQP,
MQTT,
XMPP
La ency,
Th oughpu ,
Bandwid h Us-
age, Reliabili y
and Ene gy
Consump ion
Measu es p o-
ocols’ pe o -
mances ega ding
a iable la ency
and Packe -Loss-
Ra e (PLR)
MQTT pe o ms
bes ega ding
he cha ac e is-
ics bandwid h
usage, elia-
bili y, la ency
and h ough-
pu . AMQP
pe o ms wo se
han MQTT
compa ing he
bandwid h usage
and h ough-
pu . In con as ,
XMPP has he
wo s alues in
all ca ego ies
18 IoT Implemen a ions on WiFi Nodes
Pa elic e
al. [41] (2018)
CoAP,
HTTP,
MQTT
Measu ing en-
e gy and powe
Consump ion
sending da a and
s andby
Measu ing
p o ocols’ pe -
o mance by
sending da a
and b ing in a
s andby posi ion
ega ding en-
e gy and powe
consump ion
CoAP and
MQTT p e-
o med signi i-
can ly be e han
HTTP. CoAP and
MQTT consume
almos equal
amoun s o en-
e gy o sending
da a
Ço ak e al. [32]
(2018)
CoAP,
MQTT,
XMPP
Measu e packe
c ea ion ime
and packe
ansmission
ime
Collec eal- ime
en i onmen-
al da a wi h
a eal-wo ld
es bed
XMPP is wo se
han o he p o-
ocols in bo h
me ics and
MQTT and
CoAP pe o m
almos equally
2.1.4 Wi eless Communica ion Technologies
In ecen yea s, wi eless communica ion echnologies ha e eme ged o espond o M2M com-
munica ions equi emen s. Some echnologies allow long- ange communica ions and high da a
ansmission a es, while o he s aim o sho - ange M2M communica ions wi h low da a ansmis-
sion a es. In his wo k, we ocus and gi e an o e iew o sho - ange wi eless communica ion
echnologies because hese echnologies a e he mos ele an o an online moni o ing sys em.
2.1.4.1 Blue oo h
Blue oo h, s anda dised as IEEE 802.15.1, is a wi eless communica ion echnology de eloped
as an al e na i e o wi e-based communica ion echnologies. Since he i s consume Blue oo h
de ice launch in 1999, he s anda d is con inuously e ol ing o adap o he inc easing echnology
equi emen s, playing a majo ole in M2M communica ions nowadays.
Blue oo h de ices ope a e in he 2.4GHz ISM spec um band and use 79 o i s channels. As
o now, he s anda d de ines ou de ice classes di e en ia ing ansmission powe and ange.
Rega ding a chi ec u e, Blue oo h ollows a mas e /sla e a chi ec u e, and each mas e can connec
a he same ime o se en sla es de ices a mos in a picone ne wo k.
Al hough se e al online moni o ing sys ems implemen a ions a e using Blue oo h has i s sho -
ange M2M communica ions echnology, he s anda d allows ne wo ks wi h ew de ices, which
makes i unsui able o mo e ambi ious moni o ing sys ems in e ms o scale. Mo eo e , he high
s a up imes o connec o a new de ice and i s high ene gy consump ion a e no adequa e o his
2.2 Low-Powe WiFi Nodes 19
use case. The in oduc ion o he low-ene gy consump ion e sion, Blue oo h Low Ene gy [42],
makes he s anda d mo e sui able o his ype o sys ems. Finally, a Blue oo h-based sys em
no mally needs a GW de ice (p.e., a Sma phone) o connec o he In e ne , which ypically uses
WiFi a i s bo de .
2.1.4.2 Zigbee
ZigBee is a low-powe communica ion p o ocol o pe sonal a ea ne wo ks wi h small and
low-powe de ices such as home au oma ion, da a collec ion o medical pe sonnel and o he
small p ojec s. Zigbee ope a es in 2.4GHz, which can be an issue due o i s o e lap wi h WiFi
and o he echnologies. Addi ionally, he s anda d o e s low da a ansmission a es and limi ed
suppo o QoS. The connec ion o he In e ne is no mally achie ed h ough a GW node.
2.1.4.3 WiFi
The IEEE 802.11 p o ocol, mo e commonly known as WiFi, allows he c ea ion o a Wi eless
Local A ea Ne wo k and p o ides In e ne access. The echnology o e s secu e, eliable and as
wi eless connec i i y be ween de ices. WiFi is p esen in he a ious scena ios in oday’s socie y,
such as o ice spaces, comme cial a eas and homes.
The ne wo k ope a es in 5GHz o Supe High F equency (SHF) and 2.4GHz ISM spec um
bands while p o iding In e ne connec i i y h ough APs.
In ecen yea s, wi h he eme gence o small WiFi-enabled low-powe de ices, mo e moni-
o ing sys ems use his echnology as i s M2M communica ion p o ocol. Mo eo e , he s anda d
o e s powe managemen ea u es which makes i sui able o sys ems wi h low-powe equi e-
men s. As opposed o Blue oo h, sys ems wi h WiFi echnology does no need a GW de ice o
an In e ne connec ion.
2.2 Low-Powe WiFi Nodes
Nowadays, he e is a as choice ega ding embedded pla o ms wi h WiFi connec i i y [43].
Al hough mul iple de ices a e a ailable in he ma ke , he e a e disc epancies conce ning wi eless
communica ion in e aces (e.g, Blue oo h, WiFi and Zigbee), compu a ional powe , cos and en-
e gy consump ion as well as physical oo p in [43]. The ESP32 and he W600-PICO a e some
o he modules a ailable on he ma ke wi h WiFi connec i i y which can be easily applied o IoT
applica ions [44,45]. In he ollowing sec ions we co e he main ea u es o hese modules ha
a e pa icula ly in e es ing o IoT applica ions.
2.2.1 ESP32 Module
ESP32 is an ul a-low-powe solu ion designed o mobile, wea able de ices and, mo e im-
po an ly, o IoT applica ions [44]. The module con ains he ollowing ea u es ha make i a
highly-in eg a ed solu ion o IoT applica ions [44]:

20 IoT Implemen a ions on WiFi Nodes
• S anda d IEEE 802.11 b/g/n and IEEE 802.11 n (2.4 GHz, up o 150 Mbps) compliance
wi h on-boa d an enna;
• WPA/WPA2 secu i y p o ocols;
• X ensa® single-/dual-co e 32-bi LX6 mic op ocesso s(s), up o 600 MIPS;
• 520kB in e nal SRAM and 16MB ex e nal QSPI lash;
• Fi e buil -in powe modes suppo ed;
• 25x18 mm;
• Low-cos de ice, when compa ed o o he WiFi modules.
Conce ning he 32-bi p ocesso , i p o ides compu ing powe enabling he ollowing ea u es,
which eases he de elopmen o IoT applica ion [43]:
• Real-Time Ope a ing Sys em (RTOS);
• In as uc u e s a ion, So AP and P omiscuous modes [44];
• Comple e TCP/IP p o ocol s ack.
2.2.2 W600-PICO Module
W600-PICO module is a de ice wi h an WiFi connec i i y ha can be easily applied o IoT
applica ions such as sma appliances, sma homes and heal hca e [45]. This de ice has he
ollowing ea u es [45]:
• S anda d IEE 802.11 b/g/n/e/i/d/k/ /s/w compliance wi h on-boa d an enna;
• WPA/WPA2/WPS secu i y p o ocols;
• Suppo s WiFi WMM/WMM-PS;
• A m® Co ex M-3 32-bi p ocesso wi h 80 MHz ope a ing equency;
• 288 KB in e nal RAM and 1MB/2MB in e nal lash;
• 33x20.3 mm;
Simila o he ESP32 module, he W600-PICO 32-bi p ocesso p o ides compu ing powe
enabling he ollowing ea u e:
• Real-Time Ope a ing Sys em;
• Suppo s AP and STA modes;
Rega ding powe managemen , W600-PICO suppo s PS-Poll and U-APSD de ined by he
IEEE 802.11 s anda d [45]. I is wo h no icing when in s andby, W600-PICO powe consump ion
is less han 10 µA [45].
2.3 Time Se ies Da abases and Da a Visualiza ion Tools 21
2.2.3 WiFi Nodes Compa ison
Table 2.3 p esen s he main ea u es o he ESP32 and W600-PICO modules ha ease he
de elopmen o IoT applica ions.
Table 2.3: Main ea u es o he ESP32 and W600-PICO modules
Fea u e ESP32 W600-PICO
WiFi
S anda d IEEE 802.11 b/g/n and
IEEE 802.11 n (2.4 GHz, up o
150 Mbps) compliance wi h on-
boa d an enna
S anda d IEEE 802.11
b/g/n/e/i/d/k/ /s/w compliance
wi h on-boa d an enna
Secu i y P o ocols WPA/WPA2 secu i y p o ocols WPA/WPA2/WPS secu i y p o-
ocols
P ocesso s X ensa® single-/dual-co e 32-bi
LX6 mic op ocesso s(s)
A m® Co ex M-3 32-bi p oces-
so wi h 80 MHz ope a ing e-
quency
Memo y 520kB in e nal SRAM and
16MB ex e nal QSPI lash
288 KB in e nal RAM and
1MB/2MB in e nal lash
Powe Managemen
Fou buil -in sleep modes sup-
po ed wi h minimum cu en
consump ion o 10 µA
PS-Poll and U-APSD de ined by
he IEEE 802.11 s anda d. In
s andby he powe consump ion
is less han 10 µA
Dimensions 25x18 mm 33x20.3 mm
2.3 Time Se ies Da abases and Da a Visualiza ion Tools
An IoT moni o ing sys em can collec and s o e housands o e en millions o da a ins ances
o e a sho pe iod. The e o e, da a p ocessing, managemen and isualisa ion a e key aspec s o
an IoT moni o ing sys em. In his sec ion, we p esen h ee al e na i es ha accomplish he o me
aspec s: In luxDB and Ch onog a , P ome heus and G a ana and, inally, Thinge .io.
2.3.1 In luxDB and Ch onog a
In luxDB [46] is an open-sou ce ime-se ies da abase buil o handle high w i e and que y
loads. The da abase is one o he ou componen s ha o m he TICK (Teleg a , In luxDB,
Ch onog a , Kapaci o ) s ack. In luxDB is a da abase o use cases ha in ol e la ge amoun s
o imes amped da a such as IoT senso da a moni o ing and eal- ime analy ics [47]. I cu en ly
suppo s se e al key ea u es ha a e use ul and impo an imes amped da a-cen ed sys em [47]:
• Cus om designed da as o e o ime se ies da a;
• W i en exclusi ely in Go and compiles in o a single bina y ile wi hou ex e nal dependen-
cies;
• O e s high pe o ming w i e and que y HTTP APIs;
22 IoT Implemen a ions on WiFi Nodes
• De eloped o que y agg ega ed da a wi h an SQL-like language;
• Da a e en ion policies.
Ch onog a [48] is he use in e ace o he In luxDB 1.x pla o m wi h he pu pose o allow
he use s o see da a s o ed in he da abase wi h ease. The so wa e includes empla es and lib a ies
o build dashboa ds wi h eal- ime isualisa ions o da a. Toge he wi h Kapaci o [49], i is pos-
sible o c ea e di e en ypes o ale s o de ec ing anomalies in he s o ed da a and see he ale s
his o y in he Ch onog a use in e ace. Figu e 2.10 illus a es he TICK s ack and i s beha iou
model:
Figu e 2.10: TICK s ack [46]
2.3.2 P ome heus and G a ana
P ome heus [50] is an open-sou ce da abase designed o sys ems ha ely on imes amped
da a c ea ed SoundCloud. P ome heus main ea u es a e he ollowing [51]:
• Does no ely on dis ibu ed s o age, single se e nodes a e au onomous;
• Da a collec ion ia HTTP pull model;
• Mul iples modes o g aphic isualisa ion and suppo ;
• A lexible que y language, P omQL, o que y agg ega e da a;
• W i en p ima ily in Go.
Figu e 2.11 illus a es he P ome heus a chi ec u e and some o i s p ima y componen s, many
o which can be eplaced by o he ools:
G a ana [52] is he ool o eal- ime da a isualisa ion s o ed in P ome heus, analogous o
wha Ch onog a is o In luxDB. G a ana o e s empla es and lib a ies o buil cus om dashboa ds
as well as an ale managemen sys em [53].
2.3 Time Se ies Da abases and Da a Visualiza ion Tools 23
Figu e 2.11: P ome heus a chi ec u e [51]
2.3.3 Thinge .io
Thinge .io [54] is an open-sou ce cloud pla o m specially designed o IoT a chi ec u es.
The pla o m consis s o a Backend (which is he IoT se e ) and a web-based F on end o bo h
compu e and sma phone o manage all he a ailable ea u es. Thinge .io has he ollowing key
ea u es [55]:
• Ha dwa e agnos ic, which means ha any p oduc , independen o he manu ac u e , is eas-
ily deployable and in eg a ed;
• E icien , e icien and a o dable ways o s o e de ice da a as well as eal- ime da a agg e-
ga ion;
• Real- ime da a isualisa ion h ough dashboa ds;
• Ale managemen sys em.
Figu e 2.12 shows he main componen s o a Thinge .io ecosys em:
Figu e 2.12: Thinge .io a chi ec u e [55]
30 Componen s o he IoT Moni o ing Sys em
The e a e i e a ia ions o he ESP32 chip, which p ima ily di e en ia e wi h he numbe o
CPU co es (one o wo), MIPS alue and whe he he e is embedded lash memo y o no :
• ESP32-DOWDQ6;
• ESP32-D0WD;
• ESP32-D2WD;
• ESP32-S0WD;
• ESP32-PICO-D4.
Fo his p ojec , we chose ESP32-D2WD chip because i has a dual-co e CPU p ocesso wi h
600 MIPS and a 16 MB embedded lash memo y. This pa icula chip o e s se e al ea u es ha
make i highly in eg able wi h IoT applica ions [44]:
• Small size (25 x 18 mm), ideal o wea able de ices, o example;
• Suppo s IEEE 802.11 b/g/n and IEEE 802.11 n (2.4 GHz, up o 150 Mbps) compliance wi h
on-boa d an enna, which enables sensing applica ions wi h an In e ne connec ion wi hou
a GW de ice;
• Suppo WPA/WPA2 secu i y p o ocols o a secu e WiFi connec ion;
• Powe managemen ea u es such as mul iples powe modes and dynamic powe scaling;
• Two 32-bi p ocesso s, wi h low-powe consump ion and wi h a maximum ope a ing e-
quency o 240 MHz (X ensa® dual-co e 32-bi LX6 mic op ocesso s(s)).
• Suppo s a eal- ime ope a ing sys em (F eeRTOS);
• O e s h ee WiFi ope a ing modes: In as uc u e S a ion, So AP and P omiscuous;
• Full TCP/IP s ack implemen a ion;
• In eg a es 520kB in e nal SRAM and 16MB ex e nal QSPI lash;
• Low-cos de ice, when compa ed o o he WiFi modules.
The Esp essi IoT De elopmen F amewo k, also know as ESP-IDF, is he o icial SDK o
he ESP32 amily se ies. I has suppo o Windows, Linux and Mac OS. ESP-IDF p o ides
he de elope s wi h a F eeRTOS-based API [67], w i en in C, o help hem do de elop applica-
ions wi h ease. Fu he mo e, Esp essi Sys em p o ides up- o-da e API documen a ion [68] and
p ac ical examples o he di e en API unc ionali ies.
We chose he ESP32 as he wea able’s mic ocon olle due o i s cha ac e is ics ha make i a
easily deployable module o IoT applica ion, namely a 32-bi dual-co e mic op ocesso , suppo
o i e buil -in powe modes and RTOS, and a comple e TCP/IP p o ocol s ack.

3.2 Wea able 31
3.2.1.1 Low-powe Managemen
As s essed ea lie , his module o e s i e powe modes which enable he CPU, he WiFi
in e ace and o he pe iphe als o shu down o inac i i y pe iods [44].
The Ac i e mode is he de aul mode whe e he CPU, WiFi in e ace and o he pe iphe als a e
enabled. Thus, i is no ideal o use his mode i he applica ion equi es low-powe consump ion.
In Modem-sleep mode, he CPU is ope a ional and he clock equency is con igu able. The
WiFi ci cui is shu down al hough he associa ion o ne wo k AP is main ained, hus a oiding
he need o econnec upon waking and he espec i e high la ency [43]. Addi ionally, Esp essi
de ines wo a ian s o he Modem-sleep,Minimum Modem sleep and Maximum Modem sleep,
only i he module wo ks in s a ion mode [69]:
•Minimum Modem sleep: he de ice wakes up e e y Deli e y T a ic Indica ion Message
(DTIM) o ecei e a beacon. B oadcas da a will no be los because i ansmi ed a e
DTIM. Howe e , i he DTIM is sho , he e is no ha much powe sa ing;
•Maximum Modem sleep: he de ice wakes up e e y beacon lis en in e al. B oadcas da a
can be los because he de ice can be in a sleep s a e a DTIM ime. In his mode, he e is
less powe consump ion i he beacon lis en in e al is longe , al hough he b oadcas da a
can be easily los .
The Ligh -sleep mode pauses he CPU while keeping he RTC memo y, he RTC pe iphe als
and he ul a-low-powe (ULP) co-p ocesso a e unning. The WiFi in e ace is shu down and he
associa ion o he ne wo k AP is p ese ed because he module p ese es i s in e nal s a e. This
is no ideal o applica ions ha send WiFi da a pe iodically because he wake ime du a ion, hus
da a can be los .
The Deep-sleep mode is simila o he Ligh -sleep mode. The main di e ence is ha he CPU
is inac i e and WiFi connec ion da a is s o ed in he RTC memo y.
Finally, in he Hibe na ion mode, all componen s a e shu down, including he in e nal 8MHz
oscilla o and ULP p ocesso , excep one RTC ime and some RTC GPIOs. The e o e, he de ice
canno p ese e any kind o memo y.
Table 3.1 and 3.2 con ains he p ope ies o he mul iple powe modes and he ypical cu en
consump ion conce ning each powe mode o ESP32 chip used in his wo k, espec i ely.
Table 3.1: ESP32 powe modes’ ha dwa e le el dis inc ion
I em Modem-sleep Ligh -sleep Deep-sleep Hibe na ion
WiFi In e ace OFF OFF OFF OFF
AP Associa ion Connec ed Connec ed Disconnec ed Disconnec ed
Sys em Clock ON OFF OFF OFF
RTC ON ON ON Mos OFF
CPU ON Pending OFF OFF
32 Componen s o he IoT Moni o ing Sys em
Table 3.2: Sleep-modes’ ypical cu en consump ion s a ed in he da ashee [44]
Powe Mode Desc ip ion Powe Consump ion
Ac i e
T ansmi 802.11b 240 µA @ 50% du y
T ansmi 802.11g 190 µA @ 50% du y
T ansmi 802.11n 180 µA @ 50% du y
Recei e 802.11b/g/n 95 mA ∼100 mA @ 50% du y
Modem-sleep CPU is powe ed on
240 MHz 30 mA ∼68 mA
160 MHz 27 mA ∼44 mA
80 MHz 20 mA ∼31 mA
Ligh -sleep - 0.8 mA
Deep-Sleep
The ULP co-p ocesso is powe ed on 150 µA
ULP senso -moni o ed pa e n 100 µA @ 1% du y
RTC Time + RTC memo y 10 µA
Hibe na ion RTC Time only 5 µA
3.2.2 MAX30102 Senso
The MAX30102, he successo o he MAX30100 and MAX30101, is an highly in eg a ed
HR moni o and pulse oxime e senso in a LED e lec i e solu ion sui able o wea able de ices
de eloped by Maxim In eg a ed. I has he pu pose o acqui e HR and SpO2.
The senso con ains wo LEDs ( ed and in a ed wi h 660nm and 880nm o wa eleng h, e-
spec i ely), pho ode ec o s, co e glass o op imal pe o mance and low-noise elec onics o can-
celling ambien ligh . The module ope a es on a 3.3V powe supply. I p o ides ul a-low-powe
op ions wi h p og ammable sample a e and LED cu en as well as a s andby mode ha has an in-
signi ican cu en consump ion. Communica ion be ween he MAX30102 and a mic ocon olle
is ia In e -In eg a ed Ci cui p o ocol (I2C). Addi ionally, he senso includes a disc e e- ime il e
o ejec 50Hz/60Hz noise.
3.2.2.1 Regis e s
The MAX30102 is ully cus omised by w i ing he 8-bi s in e nal egis e s. Table 3.3 gi es an
o e iew o he p ima y egis e s.
The FIFO is ci cula and can s o e up o 32 samples, which is equi alen o 196 by es (6 by es
pe sample). As shown in Figu e 3.3, he FIFO da a is le -jus i ied, he e o e he bi 17 always
holds he mos signi ican bi . Figu e 3.4 shows he s uc u e o each iple o by es (con aining
he 18-bi ADC da a o each LED channel) and isual p esen a ion o how he samples a e s o ed
in he FIFO da a s uc u e.
3.3 Moni o ing Applica ion wi h GUI
The moni o ing applica ion con ols he da a low be ween he main componen s o he sys em.
Thus, ecei ing and sending da a o he ESP32 h ough OM2M b oke , and upda ing he In luxDB
wi h ESP32 da a and log ac i i y.
3.3 Moni o ing Applica ion wi h GUI 33
Table 3.3: O e iew o he MAX30102’s egis e s
Regis e s (Add ess) Desc ip ion
FIFO W i e Poin e (0x04) Poin s o he loca ion whe e he senso w i es he
nex sample
O e low Coun e (0x05)
Coun s he numbe o los samples. When he
FIFO is ull, samples a e no pushed in o he
FIFO, samples a e los
FIFO Read Poin e (0x06) Poin s o he loca ion whe e he p ocesso ge s
he nex sample om he FIFO h ough I2C
FIFO Da a Regis e (0x07) S o es 8 bi s o sample da a
FIFO Con igu a ion (0x08) Se sample a e aging and o he FIFO be-
ha iou al con igu a ions
Mode Con igu a ion (0x09)
Con igu e ope a ing modes o he senso : Hea
Ra e mode (Red LED only), SpO2mode and
Mul i-LED mode (RED and IR)
SpO2Con igu a ion (0x0A) Con igu e SpO2ADC ange con ol, sample a e
and LED pulse wid h
LED Pulse Ampli ude (0x0C - 0x0D) Se cu en le el o Red LED (0x0C) and IR
LED (0x0D)
Mul i-LED Mode Con ol (0x11 - 0x12)
In mul i-LED mode, each sample is spli in o
ou ime slo s. These egis e s de e mine which
LED is ac i e in each ime slo
Figu e 3.3: Sample da a s o ed in FIFO da a s uc u e [70]
Along wi h he moni o ing applica ion, he e is a GUI ha allows he use o con ol he sys em.
Bo h he moni o ing applica ion and GUI we e de eloped in Ja a due o compa ibili y wi h he
OM2M b oke (also a Ja a implemen a ion).
The GUI in e ace comp ises wo pages en i led "S a Page" and "Main Page". The "S a
Page", shown in Figu e 3.5 is an in oduc o y page wi h he p ojec ’s i le and a single "S a " bu -
on. This bu on, when clicked, s a s he sys em by ini ialising communica ion wi h he In luxDB
and he OM2M b oke , hus enabling he connec ion wi h wea ables.
The "Main Page" o e s eal- ime in o ma ion and bu ons o con ol he sys em. The use
can add, pause, emo e and dele e a single wea able o add and emo e all wea ables a he same
ime. The ables "T ansmi ing Wea ables Table" and "Paused Wea ables Table" gi e in o ma ion
on whe he a wea able is sending da a (ac i e wea ables) o no (paused wea able). Finally, he
34 Componen s o he IoT Moni o ing Sys em
Figu e 3.4: FIFO da a s uc u e [70]
Figu e 3.5: GUI’s "S a Page"
bu on "Ch onog a " opens a b owse page whe e he use can isually see all he da a ega ding a
wea able, and he "Res a " es a s he p og am. Figu e 3.6 p esen s he "Main Page".
3.4 In luxDB
IoT moni o ing sys ems can gene a e la ge amoun s o imes amped da a in sho pe iods o
ime, hus using a da abase speci ically buil o ime-se ies da a is an ad an age. F om he solu-
3.4 In luxDB 35
Figu e 3.6: GUI’s "Main Page"
ions p oposed in Sec ion 2.3, In luxDB [46] is he s andou due o i s easy o ind and a ailable
documen a ion. The e o e, we use his solu ion o s o e all he da a gene a ed by he sys em due
o i s capabili y o handle imes amped da a wi h high pe o mance, i s speci ic design o an IoT
senso da a, w i e and que ying Ja a HTTP APIs (Ja a is he p og amming language o he uppe -
le el end o he sys em) and SQL-like que y language, In luxQL, de eloped o que y agg ega ed
da a. sys em [47].
All In luxDB’s da a ha e an associa ed imes amp, he e o e he e is a column ime o e e y
In luxDB ins ance. This column s o es he imes amp agg ega ed wi h he da a up o nanosecond
p ecision. Da a con en such as HR alues in bea s pe minu e (bpm), is s o ed in ield alues,
which can be s ings, loa s, in ege s o booleans. A ield alue is always associa ed wi h a imes-
amp. Field keys a e s ings ha ield alues a e associa ed o. Fo example, an in ege ield alue
ha con ains he HR alues in bpm is associa ed wi h he ield key "Hea - a e in BPM". In a
moni o ing sys em, se e al use s can ansmi he same ype o da a a he same ime. Tag keys
and ag alues a e s ings and eco d me ada a. In he example, a ag key could be "Use name"
and, na u ally, a ag alues could be "John Doe". Finally, he ields, ags and ime compose a
measu emen .
Tags a e op ional in he da a s uc u e, al hough he use o ags is ad isable because ags a e
indexed, unlike ields. The e o e, que y ags a e as e , making ags ideal o s o ing commonly-
que ied me ada a [71].
In his disse a ion, we moni o he use ’s HR and SpO2 alues and he wea able’s ba e y
pe cen age while di e en ia ing he use . To achie e his equi emen s, we ha e an In luxDB in-
s ance named "Wea ableDB" which has a measu emen called "measu ed_da a" wi h h ee ield
keys: "hea _ a e", "oxygen_le el", "ba e y
_pe cen age", o s o e o da a o HR alues in BPM, SpO2 alues and ba e y pe cen age, e-
spec i ely; and wo ag keys: "wea able_id" s o e he wea able iden i ie (ID) co esponding o he

36 Componen s o he IoT Moni o ing Sys em
da a ansmi ed ( he e is one ID pe wea able) and "wea able_use name" o s o e he wea able’s
use name. Table 3.4 p esen s a isually ep esen a ion o how he da a is s o ed in he da abase.
Table 3.4: In luxDB’s ins ance "Wea ableDB" o wea able da a (illus a i e alues shown)
measu ed_da a
ime hea
_ a e
oxygen
_le el
ba e y
_pe cen age
wea able
_id
wea able
_use name
19:04:32.456 65 95 97 1 John Doe
19:04:32.567 70 96 60 2 Jane Doe
... ... ... ... ... ...
Fu he mo e, we also s o e he log in o ma ion o he moni o ing applica ion and GUI. These
in o ma ion is connec ed o GUI bu ons. The e o e, we ha e an In luxDB ins ance named "GuiLogDB"
ha comp ehends a measu emen called "moni o ing_applica ion_gui_log" wi h one ield key "op-
e a ion" o s o e in o ma ion ela ed o he p essed bu ons, and wo ag keys: "bu on" and "page"
o indica e he bu on and he GUI page i belongs, espec i ely. The "ope a ion" ield key can
in o m ha he sys em s a ed when he "S a " bu on was p essed in he "S a Page" o which
wea able (wi h use name and ID) connec ed o he sys em, o example. Table 3.5 illus a es he
ins ance o s o e moni o ing and GUI log in o ma ion.
Table 3.5: In luxDB’s ins ance "GuiLogDB" o moni o ing applica ion and GUI log in o ma ion
moni o ing_applica ion_gui_log
ime ope a ion bu on page
19:04:33.456 S a Sys em S a S a Page
19:04:35.567 Added wea able wi h use name John Doe
and ID 1 Add Wea able Main Page
... ... ... ...
3.5 Ch onog a
Ch onog aph is he isualisa ion ool o In luxDB da a. I s simple in e ace, embedded li-
b a ies and dashboa d empla es allow he use s o see and analyse da a in eal- ime wi hou need-
ing any knowledge abou In luxDB, which makes i a clea choice o he sys em.
The dashboa ds a e he cen epieces in Ch onog a , which a e composed o cells. A cell is a
cus omizable componen wi h di e en ypes o g aphics, om a line-plo g aphics o his og ams,
allowing he use o choose line colou , legend and no es, among o he s.
To ex ac da a and isualise om he In luxDB, he use c ea es a que y. Ch onog a has an
easy- o-use in e ace o que y c ea ion whe e he use only has o selec an In luxDB ins ance,
measu emen s, ags and ields keys o he desi ed da a. We conside his o be a key ea u e as he
use does no need o know he In luxQL language.
3.6 Summa y 37
Figu e 3.7: Real- ime da a isualisa ion o he pa ien "John Doe"
3.6 Summa y
In his chap e , we p esen ed he sys em’s a chi ec u e wi h oneM2M en i ies and he compo-
nen s ha in eg a e he p oposed IoT moni o ing sys em. Mo eo e , we also p esen ed an o e iew
o each componen , namely a desc ip ion and i s unc ion. This sys em has i s cen al piece in he
OM2M b oke ha ensu es de ice managemen and da a low be ween de ices. A wea able de-
ice, comp ising a LiPo ba e y, an ESP32 and a MAX30102, is used o acqui ing he use ’s
physiological pa ame e s and he wea able’s ba e y pe cen age. On he sys em’s uppe -le el, we
p opose a moni o ing applica ion wi h a GUI o gi e he use he abili y o con ol he sys em wi h
eal- ime in o ma ion display. The wea able da a is s o ed in he ime-se ies da abase In luxDB
and analysed ia Ch onog a .
38 Componen s o he IoT Moni o ing Sys em
Chap e 4
Implemen a ion and Ope a ion o he
IoT Moni o ing Sys em
This chap e desc ibes he sys em’s implemen a ion and ope a ion. Fi s , we gi e an insigh on
he connec ion be ween he MAX30102 and he ESP32 modules in Sec ion 4.1.1. Sec ion 4.1.2
desc ibes he LiPo ba e y as a powe supply. In he Sec ion 4.1.3, we discuss he M2M com-
munica ions be ween bo h he ADN-AE (wea able), he IN-CSE and he IN-AE (moni o ing ap-
plica ion). We conclude he chap e by desc ibing he sys em’s ope a ion wi h one and mul iple
wea ables in Sec ion 4.2. Fo his, we assume a eme gency wa d scena io whe e he pa ien is
he use ha wea s he wea able and he medical pe sonnel is en i y ha con ols he sys em and
analyses da a.
4.1 Implemen a ion and Connec ing Componen s
4.1.1 P ocess Da a om he MAX30102 Senso
The MAX30102 senso has he pu pose o acqui ing HR and SpO2da a om he use . The
da a is collec ed om he senso and is sen o he ESP32 ia I2C. Figu e 4.1 shows he schema ic
o he connec ions be ween he MAX30102 and ESP32.
ESP32
3.3V GPIO26
GND GPIO25
MAX30102
3.3V SDA
GND SCL
Figu e 4.1: Schema ic o he connec ions be ween he MAX30102 and ESP32
39
46 Implemen a ion and Ope a ion o he IoT Moni o ing Sys em
4.2 Sys em Ope a ion
4.2.1 Se up S age
In his sec ion, we desc ibe he sys em ope a ing wi h a single wea able connec ing and ans-
mi ing da a o he moni o ing applica ion, al hough he sys em can handle mul iple wea able
de ices a he same ime.
Fi s , he medical pe sonnel has o s a he moni o ing applica ion and, consequen ly, he GUI
be o e u ning on any wea able. This is a sys em equi emen . A e ini ialising he applica ion,
he "S a Page" o he GUI (Figu e 3.5) appea s. Now, he medical pe sonnel has o p ess he
"START" bu on o allow he wea able o connec o he sys em. The p essing o he bu on igge s
mul iple ac ions, as illus a ed in Figu e 4.7:
• Regis e s, in he IN-CSE, he en i ies o he moni o ing applica ion discussed in Sec-
ion 4.1.3.3;
• Ini ia es communica ion, h ough HTTP, wi h In luxDB;
• Regis e s in he da abase ins ance "GuiLogDB" he s a o he sys em;
• Opens he GUI’s "Main Page".
ADN-AE
Wea able Moni o ing Applica ion wi h GUI
IN-AEIN-CSE
E he ne InfluxDB
AP
WiFi E he ne
"Moni o App",
"Numbe _o _Wea ables",
"Subsc ibe En i y",
"SubNumbe O Wea ables",
"SubCon aine Ba e y",
"SubCon aine H ",
"SubCon aine SpO2"
Regis e en i ies
S a
communica ion
wi h "GuiLogDB" and
"Wea ableDB"
ins ances
W i e in "GuiLogDB"
Sys em s a ed
"START"
bu on
Close "S a
Page", Open "Main
Page"
Figu e 4.7: Sequence diag am o he ac ions pe o med by he moni o ing applica ion a e p ess-
ing he "START" bu on

4.2 Sys em Ope a ion 47
Only now he wea able can be ini ia ed. A e i s ini ialisa ion, i c ea es he co esponding
en i ies e e ed in he Sec ion 4.1.3.3. The wea able c ea es a con en ins ance in he "Num-
be _o _Wea ables" wi h he wea able’s use name and IP, and hen wai s o a "START" signal
om he moni o ing applica ion o s a ansmi ing, which is a con en ins ance in he "Ac ua-
ion" con aine . A e he moni o ing applica ion ecei es he con en ins ance published in he
"Numbe _o _Wea ables", he applica ion c ea es a wea able objec wi h he wea able’s use name
and IP as well as an ID and o he s a us a iables. Al hough he wea able IP is al eady an unique
iden i ie , mos medical pe sonnel don’ ha e knowledge abou IP add esses, hus c ea ing an ID
numbe as i is mo e isually appealing. In he combina ional box below he "Add Wea able"
bu on, a new op ion appea s wi h he wea able’s ID and use name, as shown in Figu e 4.8.
Figu e 4.8: GUI’s "Main Page" wi h he wea able wai ing o be added o he sys em
A his momen , he medical pe sonnel can decide o add he wea able o he moni o ing he
sys em o no . I hey decide no o add he wea able, hey ha e he op ion o add i a a la e ime
h ough he in e ace. On he o he hand, o add he wea able o he sys em, he medical pe sonnel
has o selec he wea able in he combina ional box and p ess he "Add Wea able" bu on. This
ac ion sends a "START" signal o he wea able, which enables i o s a publishing da a, and
adds a line in he able "T ansmi ing Wea ables" wi h he wea able’s ID, use name and ba e y
pe cen age (Figu e 4.9). This las alue is upda ed whene e he wea able publishes a new con en
ins ance wi h a new ba e y pe cen age alue. Addi ionally, a new da a poin wi h he wea able’s
in o ma ion, namely he ID, IP and use name, and he bu on p essed is inse ed in he da abase
ins ance "GUILogDB".
The wea able is now publishing da a o he espec i e con aine s and, consequen ly, he mon-
i o ing applica ion is ecei ing he da a. A e ecei ing a con en ins ance o any da a, he moni-
o ing applica ion inse s a da a poin in he da abase ins ance "Wea ablesDB" wi h he new da a
alue. Figu e 4.10 illus a es he ac ions pe o med be ween he momen s whe e he wea able is
ini ialised and ansmi s da a.
48 Implemen a ion and Ope a ion o he IoT Moni o ing Sys em
Figu e 4.9: GUI’s "Main Page" wi h he wea able ansmi ing da a
4.2.2 De ice & Da a Managemen Du ing Ope a ion
The medical pe sonnel has wo op ions ega ding he wea able s a us: pause/ esume he wea -
able o dele e i om he sys em. Fi s , we ocus on he pause/ esume wea able.
A e p essing he "Add Wea able" bu on, a new op ion appea s in he combina ional box
on he igh o he "Pause Wea able" bu on. I he medical pe sonnel selec s he wea able and
p esses bu on, he moni o ing applica ion sends a "STOP" signal, i.e, a con en ins ance in he
"Ac ua ion" con aine , o in o m he wea able o s op publishing da a. Now he wea able is paused,
he e o e he moni o ing applica ion inse s a new line in he "Paused Wea ables" able wi h he
wea able’s in o ma ion and dele es he co esponding line in he "T ansmi ing Wea ables" able
(Figu e 4.11). Simila ly o he p e ious bu ons, a new da a poin is s o ed in he "GUILogDB".
When he wea able is paused, he medical pe sonnel can esume i s p e ious s a e. To do his, he
medical pe sonnel has o selec he wea able in he combina ional box a he igh o he "Resume
Bu on" and, when selec ed, p ess he bu on. The moni o ing applica ion sends a new "START"
signal o he wea able, dele es he espec i e line om he able "Paused Wea ables" and adds ha
line o he "T ansmi ing Wea ables" able, as shown in Figu e 4.9, and w i es a new da a poin in
he "GuiLogDB" ins ance ha he espec i e wea able has esumed ac i i y.
Figu e 4.12 p esen s he ac ions pe o med o pausing and esuming wea able ac i i y.
A e adding he wea able o he sys em, he medical pe sonnel can dele e he wea able om
he sys em, e en i he wea able is paused. Analogous he o he ac ions, he medical pe sonnel
has o selec he desi ed wea able in he combina ional box below he "Dele e Wea able" bu on
and p ess he bu on. A e he bu on is p essed, he moni o ing applica ion sends a new "STOP"
signal and dele es all he en i ies in he IN-CSE ela ed o he wea able as well as dele es he line
om one o he GUI ables, depending he wea able’s s a us. Figu e 4.13 shows he ac ions a e
p essing "Dele e Wea able".
4.2 Sys em Ope a ion 49
ADN-AE
Wea able Moni o ing Applica ion wi h GUI
IN-AEIN-CSE
E he ne
Publishes con en ins ance
InfluxDB
AP
WiFi E he ne
P ocesses
ecei ed con en
ins ance
Regis e en i ies
"Wea able_IP",
"Wea able_IP_Moni o ",
"Hea _Ra e",
"Oxygen_Le el",
"Ba e y_Pe cen age",
"Ac ua ion",
"Ac ua ion_Subsc ibe "
on he con aine
"Numbe _o _Wea ables",
wi h wea able use name
and IP
Fo wa ds he
con en ins ance
Adds op ion in
combina ional box
below "Add Wea able"
bu on
"Add Wea able"
bu on p essed
Sends "START" signal
which is a con en
ins ance associa ed o
he "Ac ua ion"
con aine
Fo wa ds he "START" signal
Adds line o he "T ansmi ing
Wea ables" able, c ea es a
wea able objec and add op ions in
he comina ional boxes below he
"Dele e Wea able" and a he igh
o he "Pause Wea able" bu on
W i e in "GuiLogDB"
Wea able connec ed o
he sys em
Publishes con en ins ance (da a)
on he espec i e
con aine Fo wa ds he
con en ins ance
P ocesses
ecei ed con en
ins ance
W i e in "Wea ablesDB"
he espec i e
subsc ibed da a
Figu e 4.10: Sequence diag am o add a wea able o he sys em
Las ly, he medical pe sonnel can es a he sys em by clicking he "RESTART" bu on a any
ime. The moni o ing applica ion dele es he all he en i ies egis e ed in he IN-CSE and c ea es
again he en i ies e e ed o he moni o ing applica ion discussed in he Sec ion 4.1.3.3
4.2.3 Da a Visualisa ion
The da a published om he wea able and subsc ibed by he moni o ing applica ion a e s o ed
in he da abase ins ance "Wea ablesDB" associa ed wi h he wea able’s use name and ID. The da a
s o ed can be isualised by he medical pe sonnel by p essing he bu on "Ch onog a ".
50 Implemen a ion and Ope a ion o he IoT Moni o ing Sys em
Figu e 4.11: GUI’s "Main Page" wi h he paused wea able
A e p essing he bu on, a b owse page opens up wi h a page o c ea e a dashboa d o a use .
The medical pe sonnel needs o clone he empla e dashboa d, wi h he name "Wea able - Pa ien ",
o each pa ien . By clicking in he c ea ed dashboa d, he medical pe sonnel is edi ec ed o a new
page wi h wo emp y cells wi h he name "Pa ien - Hea -Ra e (bea s pe minu e)" and "Pa ien -
Blood’s Oxygen Le el (Pe cen age)", as shown in Figu e 4.14. In his page, he medical pe sonnel
can choose he da a e esh a e among o he unc ionali ies.
A ype o da a is associa ed o each cell. The e o e, by edi ing he cell, he medical pe sonnel
can now associa e he da a om he da abase and c ea e g aphics. I is he cell con igu e page
ha a g aphic wi h a ype o da a is c ea ed. Fo example, in Figu e 4.15 he cell p esen s he HR
da a om he wea able wi h he use name "John Doe". In he same page, he da a g aphic is ully
cus omizable on he banne "Visualiza ion" (Figu e 4.16).
Figu e 4.17 shows he dashboa d eal- ime da a o he pa ien "John Doe".
4.2.4 Sys em wi h mul iple wea ables
As s essed ea lie , he sys em p oposed can ha e mul iple wea ables connec ed and ansmi -
ing a he same ime. The e o e, he sys em has unc ionali y o add all he wea ables a he same
ime, which is embedded in he "Add All Wea ables" bu on in he "Main Page". The p ocess o
add all he wea ables o he sys em is he same p esen ed in Figu e 4.10 epea ed he numbe o
ac i e wea ables. Howe e , he medical pe sonnel can add a wea able indi idually.
Addi ionally, he medical pe sonnel can dele e all sys em’s wea ables a he same ime by
clicking he "Dele e All Wea ables" in he "Main Page". Analogous o adding all wea ables a he
same ime, he p ocess o dele e all wea ables is he p ocess p esen ed in Figu e 4.13 epea ed he
numbe o ac i e wea ables.
4.3 Summa y 51
ADN-AE
Wea able Moni o ing Applica ion wi h GUI
IN-AEIN-CSE
E he ne
S ops
publishing
da a
InfluxDB
AP
WiFi E he ne
Sends "STOP" signal
"Pause
Wea able"
bu on
W i e in "GuiLogDB"
Wea able paused
Fo wa ds he "STOP" signal
Adds line o he "Paused
Wea ables" able and adds an
op ion in he comina ional box a
he igh o he "Resume Wea able"
bu on
"Resume
Wea able"
bu on
Sends "START" signal
Fo wa ds he "START" signal Adds line o he "T ansmi ing
Wea ables" able and adds an
op ion in he comina ional box a
he igh o he "Pause Wea able"
bu on
W i e in "GuiLogDB"
Wea able esumed
ac i i y
Publishes con en ins ance (da a)
on he espec i e
con aine Fo wa ds he
con en ins ance
P ocesses
ecei ed con en
ins ance
W i e in "Wea ablesDB"
he espec i e
subsc ibed da a
Figu e 4.12: Sequence diag am o pause and esume a wea able
4.3 Summa y
In his chap e , we p esen ed he mos e icien con igu a ion o he MAX30102, ene gy wise,
based on he s udy in [72] as well as he adap a ions needed o his speci ic. We also discussed
he he powe schema ic o a LiPo ba e y powe ed de ice as well as he schema ic and o mulas
o calcula e ba e y pe cen age. The a chi ec u e includes a se o en i ies and con aine s egis e ed
o he IN-CSE needed o he sys em ope a ion. Las ly, we discussed he applica ion o ou sys em
o an eme gency wa d scena io wi h only one wea able i s and hen wi h mul iple wea ables.

52 Implemen a ion and Ope a ion o he IoT Moni o ing Sys em
ADN-AE
Wea able Moni o ing Applica ion wi h GUI
IN-AEIN-CSE
E he ne
S ops
publishing
da a
InfluxDB
AP
WiFi E he ne
Dele es all ADN-AE en i ies
"Dele e"
bu on
W i e in "GuiLogDB"
Wea able dele ed
Fo wa ds he "STOP" signal
Sends "STOP" signal
Dele es "Wea able_IP"
and i s associa ed
con aine s, and,
"Wea able_IP_Moni o ",
Dele es line om he
GUI able (depending
on he p ei ous
wea able s a us)
Figu e 4.13: Sequence diag am o dele e a wea able om he sys em
Figu e 4.14: Ch onog a ’s pa ien dashboa d
4.3 Summa y 53
Figu e 4.15: Dashboa d cell’s a ea o submi a que y o In luxDB
Figu e 4.16: Dashboa d cell’s isualiza ion a ea
54 Implemen a ion and Ope a ion o he IoT Moni o ing Sys em
Figu e 4.17: Real- ime da a isualiza ion o he pa ien "John Doe"
Chap e 5
Pe o mance Resul s
The use o M2M middlewa es as he oneM2M a e majo s eps o wa d in he de elopmen
o in de eloping M2M and IoT applica ion and p omo ing in e ope abili y and s anda disa ion.
Howe e , his b ings addi ional o e head and delay on he communica ions be ween he de ices.
The addi ional amoun o in o ma ion ha has o be added in each ansmission and, consequen ly,
o he addi ional ime ha each ansmission needs o be comple ed e lec s he p oblem a hand.
The e o e, in he chap e we e alua e he ESP32 in his scena io wi h E2E la ency and PDR o
each p o ocol (CoAP, HTTP and MQTT) and ESP32’s powe mode.
5.1 Se up and Me hodology
We conduc ed he pe o mance expe imen s o he ESP32 module in an indoo en i onmen .
The IN-CSE and he MQTT se e we e ins alled in a dedica ed machine wi h Ubun u 18.04LTS
OS and an In el® Co e™i5-3337U CPU @ 1.80GHz quadco e p ocesso and 4GB o RAM. The
IN-AE (subsc ibe ), ins alled in a compu e wi h he same OS as he se e bu wi h an In el®
Co e™i7-7700HQ CPU @ 2.80GHz oc aco e p ocesso and 16GB o RAM, was connec ed o
he se e machine wi h a 100Mb/s E he ne connec ion. The ADN-AE (ESP32 module) was
connec ed an in as uc u ed local WiFi ne wo k wi h a TP-Link TL-WR940N mul i-mode ou e
as an AP con igu ed o ansmi a Beacon e e y 100ms and a DTIM message e e y 3 Beacons.
Las ly, he AP was connec ed o he IN-CSE machine wi h a 100Mb/s E he ne connec ion.
The ADN-AE and he IN-AE a e no ins alled in he same machine, he e o e we used a
Ne wo k Time P o ocol (NTP) se e , ins alled on he IN-CSE machine, o synch onise he AEs
clocks. Bo h applica ions e-synch onise wi h he se e e e y 10 minu es. This e-sycnh onize
ime in e al alue is he minimum alue allowed by he ESP-IDF amewo k.
We conduc ed he expe imen s ega ding he WiFi communica ion channel quali y. A i s , he
ADN-AE publishes da a e y close o he AP wi h a Recei ed Signal S eng h Indica ion (RSSI)
alue o -30, which we denomina e as good signal s eng h channel expe imen . Fo he bad signal
s eng h channel expe imen , he ADN-AE published he da a u he away om he AP wi h a
RSSI alue o -85. Fo each channel quali y expe imen , he ADN-AE publishes da a wi h di e en
55
62 Pe o mance Resul s
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
Figu e 5.9: Packe s Non-deli e ed o he bad signal s eng h channel wi h MQTT QoS0 wi h 85B
(le ) and 850B ( igh ) o message payload o each powe mode
Table 5.9: Packe s Non-deli e ed o he bad signal s eng h channel expe imen wi h MQTT
QoS0
Powe Mode 85B payload (%) 850B payload (%)
Ac i e 90 90
MinModem 90 90
MaxModem 79 80
MinModemAL 70 70
MaxModemAL 70 70
A e age 79.8 80
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Figu e 5.10: E2E la ency esul s o he good signal s eng h channel wi h MQTT QoS1 wi h 85B
(le ) and 850B ( igh ) o message payload o each powe mode
Rega ding he bad signal s eng h channel expe imen , Figu e 5.11 p esen s he E2E la ency
esul s o 85B and 850B o message payloads o each powe mode and Table 5.11 indica es he
mean alues o he p e ious esul s.
Fo he PDR, Figu e 5.12 p esen s he E2E la ency esul s o 85B and 850B o message
payloads o each powe mode and Table 5.12 indica es he mean alues o he p e ious esul s.

5.2 End- o-end La ency Expe imen s 63
Table 5.10: Mean alues o he good signal s eng h channel expe imen wi h MQTT QoS1
Powe Mode 85B payload (ms) 850B payload (ms)
Ac i e 24.2 26.1
MinModem 25.6 28.1
MaxModem 25.2 27.1
MinModemAL 26.0 26.7
MaxModemAL 26.9 26.3
A e age 25.6 26.7
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Figu e 5.11: E2E la ency esul s o he bad signal s eng h channel wi h MQTT QoS1 wi h 85B
(le ) and 850B ( igh ) o message payload o each powe mode
Table 5.11: Mean alues o he bad signal s eng h channel expe imen wi h MQTT QoS1
Powe Mode 85B payload (ms) 850B payload (ms)
Ac i e 30.1 31.8
MinModem 32.2 33.6
MaxModem 35.4 36.0
MinModemAL 29.4 31.1
MaxModemAL 34.1 36.8
A e age 32.2 33.9
Table 5.12: Packe s Non-deli e ed o he bad signal s eng h channel expe imen wi h MQTT
QoS1
Powe Mode 85B payload (%) 850B payload (%)
Ac i e 90 90
MinModem 90 90
MaxModem 80 80
MinModemAL 70 70
MaxModemAL 70 70
A e age 80 80
64 Pe o mance Resul s
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
Figu e 5.12: Packe s Non-deli e ed o he bad signal s eng h channel wi h MQTT QoS1 wi h
85B (le ) and 850B ( igh ) o message payload o each powe mode
5.2.3.3 MQTT QoS2
Figu e 5.13 p esen s he E2E la ency esul s o he good signal s eng h channel o 85B and
850B o message payloads o each powe mode and Table 5.13 indica es he mean alues o he
p e ious esul s.
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Figu e 5.13: E2E la ency esul s o he good signal s eng h channel wi h MQTT QoS2 wi h 85B
(le ) and 850B ( igh ) o message payload o each powe mode
Table 5.13: Mean alues o he good signal s eng h channel expe imen wi h MQTT QoS2
Powe Mode 85B payload (ms) 850B payload (ms)
Ac i e 31.4 33.4
MinModem 33.2 35.7
MaxModem 33.0 34.6
MinModemAL 32.4 37.4
MaxModemAL 33.8 39.6
A e age 32.8 36.1
5.2 End- o-end La ency Expe imen s 65
Rega ding he bad signal s eng h channel expe imen , Figu e 5.14 p esen s he E2E la ency
esul s o 85B and 850B o message payloads o each powe mode and Table 5.14 indica es he
mean alues o he p e ious esul s.
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Figu e 5.14: E2E la ency esul s o he bad signal s eng h channel wi h MQTT QoS2 wi h 85B
(le ) and 850B ( igh ) o message payload o each powe mode
Table 5.14: Mean alues o he bad signal s eng h channel expe imen wi h MQTT QoS2
Powe Mode 85B payload (ms) 850B payload (ms)
Ac i e 43.8 56.8
MinModem 44.0 43.8
MaxModem 41.4 66.4
MinModemAL 49.2 55.4
MaxModemAL 45.9 72.7
A e age 44.9 59.0
Fo he PDR, Figu e 5.15 p esen s he E2E la ency esul s o 85B and 850B o message
payloads o each powe mode and Table 5.15 indica es he mean alues o he p e ious esul s.
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
ESP32 Powe Modes
Ac i e MinModem MaxModem MinModemALMaxModemAL
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
Figu e 5.15: Packe s Non-deli e ed o he bad signal s eng h channel wi h MQTT QoS2 wi h
85B (le ) and 850B ( igh ) o message payload o each powe mode
66 Pe o mance Resul s
Table 5.15: Packe s Non-deli e ed o he bad signal s eng h channel expe imen wi h MQTT
QoS2
Powe Mode 85B payload (%) 850B payload (%)
Ac i e 90 90
MinModem 90 90
MaxModem 80 80
MinModemAL 70 70
MaxModemAL 70 70
A e age 80 80
5.2.4 P o ocols Compa ison
Figu e 5.16 p o ides an o e iew he impac o all he p o ocols and ESP32 module’s powe
modes on E2E la ency wi h 85B o payload o he good signal s eng h channel expe imen s.
Addi ionally, Figu e 5.17 p esen s he E2E la ency esul s wi h 850B o payload o he good signal
s eng h channel expe imen . As s essed ea lie , he e a e no packe s los o his expe imen
ESP32 Powe Modes
1 2 345 6 7 8 9 10111213141516171819202122232425
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.16: E2E la ency esul s wi h 85B o payload o he good signal s eng h channel expe i-
men
Rega ding he bad signal s eng h channel expe imen , Figu es 5.18 and 5.19 p esen he E2E
la ency esul s wi h 85B and 850B o payload, espec i ely.
Fo he PDR, Figu e 5.20 and Figu e 5.21 show he packe s non-deli e ed o messages wi h
85B and 850B o he "bad" channel, espec i ely.
These g aphics a e composed by blocks o i e measu emen s. The i s measu emen s, 1-5,
co espond o he Ac i e mode. Measu emen s 6-10 co espond o Minimum Modem mode and
5.2 End- o-end La ency Expe imen s 67
ESP32 Powe Modes
1 2 345 6 7 8 9 10111213141516171819202122232425
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.17: E2E la ency esul s wi h 850B o payload o he good signal s eng h channel expe -
imen
ESP32 Powe Modes
1 2 345 6 7 8 9 10111213141516171819202122232425
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.18: E2E la ency esul s wi h 85B o payload o he bad signal s eng h channel expe i-
men
measu emen s 11-15 co espond o Maximum Modem. The las wo blocks a e associa ed he
Minimum Modem and Maximum Modem modes wi h au oma ic Ligh sleep, espec i ely. Inside
he block, he posi ions a e o ganised by p o ocols:

68 Pe o mance Resul s
ESP32 Powe Modes
1 2 345 6 7 8 9 10111213141516171819202122232425
End- o-End La ency (ms)
20
30
40
50
60
70
80
90
Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.19: E2E la ency esul s wi h 850B o payload o he bad signal s eng h channel expe i-
men
ESP32 Powe Modes
0 5 10 15 20 25
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50 Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.20: Packe s non-deli e ed wi h 85B o payload o he bad signal s eng h channel ex-
pe imen
• Posi ion 1: CoAP Non-con i mable;
• Posi ion 2: HTTP;
5.2 End- o-end La ency Expe imen s 69
ESP32 Powe Modes
0 5 10 15 20 25
Numbe o Non-deli e ed Packe s
0
5
10
15
20
25
30
35
40
45
50
Ac i e MinModem MaxModem MinModemAL MaxModemAL
Figu e 5.21: Packe s non-deli e ed wi h 850B o payload o he bad signal s eng h channel
expe imen
• Posi ion 3: MQTT QoS0;
• Posi ion 4: MQTT QoS1;
• Posi ion 5: MQTT QoS2.
As expec ed, he E2E la ency esul s o he bad signal s eng h channel expe imen a e g ea e
han he esul s o he good signal s eng h channel as i has an a e age inc ease o 30.24% o
85B and 38.20% o 850B.
The di e en message payload also has an impac on he E2E la ency esul s as he esul s o
he 850B o payload inc ease when compa ed o he 85B o payload esul s. Fo he good signal
s eng h channel expe imen , he e is an inc ease o 7.42% o CoAP Non-con i mable, 9.18%
o HTTP, 8.56% o MQTT QoS0, 5.00% o MQTT QoS1 and 10.25% o MQTT QoS2 o
850B o payload. Thus, o he good signal s eng h channel, he e’s is an a e age inc ease o
8.08%. Rega ding he bad signal s eng h channel he e is also an inc ease on E2E la ency when
compa ing he esul s 850B o 85B o payload o all p o ocols. The a e age la ency inc eases
8.82% o CoAP Non-con i mable, 12.05% o HTTP, 9.39% o MQTT QoS0, 5.03% o MQTT
QoS1 and 31.58% o MQTT QoS2. Mo eo e , he e is an a e age inc ease o 38.14% o 850B
when compa ing he wo channels expe imen s.
Fo he good signal s eng h channel, he E2E la ency expe ienced is wi hin 20-28ms o mes-
sages wi h 85B o payload o all p o cols excep MQTT QoS2, which expe ience E2E la ency
be ween 29-35ms.
70 Pe o mance Resul s
The p o ocols ha use TCP as i s anspo laye p o ocol, i.e. MQTT and HTTP, shown an
inc eased la ency ela i ely o CoAP uses he UDP, al hough his di e ences a e negligible o he
good signal s eng h channel expe imen , excep o MQTT QoS2 (Table 5.13).
Rega ding he ESP32 module’s powe modes, a g ea e la ency is expe ienced when compa ing
mo e ene gy-e icien powe modes wi h he less ene gy-e icien powe modes, al hough i is no
signi ican and in some cases he la ency is bigge in less ene gy-e icien powe modes. Fo
example, he E2E la ency dec eases 26.26% o Maximum Modem mode wi h Au oma ic Ligh
Sleep when compa ed o Ac i e mode o CoAP Non-con i mable wi h 85B payload o he bad
signal s eng h channel expe imen .
Fo he good signal s eng h channel, he PDR is 100% al hough ha is no he case o he bad
signal s eng h channel, as expec ed. We conclude ha he alue is highe in less ene gy-e icien
powe modes when compa ing wi h mo e ene gy-e icien powe modes o he bad signal s eng h
channel, ega dless o message payload and ALP. As shown in Figu e 5.20 and Figu e 5.21, he
di e ences in he PDR be ween messages wi h 85B and 850B and p o ocols a e negligible. When
compa ing he ESP32 powe modes, we conclude ha he e is dec ease o 10% o he Maximum
Modem sleep and 20% o bo h Minimum Modem sleep and Maximum Modem sleep wi h au o-
ma ic Ligh -sleep on he PDR when compa ing o he Ac i e-sleep and Minimum Modem sleep.
To conclude, he WiFi channel quali y has a g ea impac on he expe ienced E2E la ency. The
TCP-based p o ocols also expe ience a g ea e la ency when compa ed o CoAP. MQTT QoS2
is he p o ocol ha expe iences a g ea e E2E la ency due o he ac ha exchanges ou mes-
sages o publish one message. Finally, scena ios whe e using mo e ene gy-e icien powe modes
expe ience mo e E2E la ency and less PDR.
5.3 Summa y
In his chap e , we p esen he me hodology and he esul s o sys em’s pe o mance e alua-
ion. The esul s alida e he use o he ESP32 module on applica ions simila o he one p oposed
in his p ojec , by publishing messages wi h 85B and 850B o payload wi h 1 second and 10 sec-
onds pe iod o di e en WiFi quali y channels. The esul s show ha he la ency expe ience when
compa ing he channel quali ies is signi ican , howe e when compa ing he la ency expe ienced
wi h di e en powe modes in he same channel quali y scena io is no signi ican . Finally, he
PDR is highe when he ESP32 is using a less ene gy-e icien powe mode when compa ing o a
mo e ene gy-e icien powe mode.
Chap e 6
Conclusion
IoT echnologies ha e expe ienced a apid g ow h in ecen yea s in hei applicabili y in se -
e al domains, such as he heal hca e. The e o e, se e al s anda ds and p o ocols we e de eloped
speci ically o his new echnology. In oday’s socie y, WiFi is an omnip esen echnology, hus
small embedded sys ems s a suppo ing WiFi echnology. This is a key ea u e due o a oidance
o a GW de ice connec he sys em o he In e ne .
In his wo k, we p oposed and implemen ed an IoT sys em ha en isions o sa is y he e-
qui emen s o emo e heal h moni o ing while using a low-cos low-cos WiFi-enabled de ice. To
gua an ee he in e ope abili y be ween de ices, we used he oneM2M s anda d. Rega ding M2M
communica ions be ween de ices, we implemen ed CoAP, HTTP and MQTT p o ocols.
The sys em p oposed is based on he oneM2M, which allows a publishe -subsc ibe commu-
nica ion model, a g ea model o sensing and emo e moni o ing applica ion such as his. The
sys em p oposed comp ises a wea able based on an Esp essi ESP32 module, a MAX30102 PPG
module and a LiPo ba e y, and a moni o ing applica ion wi h GUI as well as a da abase. In luxDB,
and a da a isualisa ion ool. The ESP32 module is he cen al piece o he wea able because p o-
cesses he da a acqui ed in he MAX30102 module, i.e. HR and SpO2, and calcula es ba e y
pe cen age and publishes o he OM2M b oke , IN-CSE. The moni o ing applica ion con ols he
da a low be ween he main componen s o he sys em, hus communica ing wi h he In luxDB and
subsc ibing da a om he IN-CSE. We also de eloped a GUI o gi e a isually aid o he eal- ime
s a us o he sys em as well as con olling i .
Th ough he GUI, he medical pe sonnel can add a wea able(s) o he sys em which allows
he wea able(s) o s a publishing da a. A any momen , he medical pe sonnel can dele e he
wea able(s) om he sys em as well as pause he wea able. Addi ionally, he GUI o e s a bu on
o open he Ch onog a applica ion which enables he medical pe sonnel o analyse da a s o ed on
he da abase.
Rega ding he sys em’s pe o mance, we conduc ed E2E la ency expe imen s, wi h da a ans-
missions a di e en equencies, using di e en powe modes o e ed by he ESP32 module o
wo WiFi channel quali y expe imen s ega ding signal s eng h. The esul s show ha he E2E
la ency o a bad WiFi channel quali y inc eases 30.24% and 38.20% o messages published wi h
71
78 REFERENCES
[69] Esp essi Sys ems. Wi i powe sa e example, 2020. h ps://gi hub.com/
esp essi /esp-id / ee/ elease/ 3.3/examples/wi i/powe _sa e, Las
accessed on 2020-06-17.
[70] Maxim In eg a ed. High-Sensi i i y Pulse Oxime e and Hea -Ra e Senso o Wea able
Heal h MAX30102. Technical epo , 2015. URL: h ps://www.maximin eg a ed.
com/en/p oduc s/in e ace/senso -in e ace/MAX30102.h ml.
[71] In luxDa a. In luxdb key concep s, 2020. h ps://docs.in luxda a.com/
in luxdb/ 1.8/concep s/key_concep s/, Las accessed on 2020-06-24.
[72] Miguel Ribei o. Wea able senso o con inuous moni o ing o physiological pa ame e s.
Mas e ’s hesis, Facul y o Engenee ing (FEUP), Uni e si y O Po o, 2020.
[73] Maxim In eg a ed. Pulse Oxime e and Hea -Ra e Senso IC o Wea able Heal h. Tech-
nical epo , 2015. URL: h ps://www.maximin eg a ed.com/en/p oduc s/
senso s/MAX30100.h ml.
[74] oneM2M. Mq p o ocol binding, 2018. h p://www.onem2m.o g/images/ iles/
deli e ables/Release2A/TS-0010-MQTT_p o ocol_binding- _2_7_1.
pd , Las accessed on 2020-07-01.
[75] João Mesqui a. Comunicação WiFi pa a moni o ização mó el de sinais isiológicos. Mas e ’s
hesis, Facul y o Engenee ing (FEUP), Uni e si y o Po o, 2018.
[76] Eclipse Founda ion. Mq c clien o posix and windows, 2020. h ps://www.eclipse.
o g/paho/clien s/c/, Las accessed on 2020-07-05.
[77] Eclipse Founda ion. onem2m ja a applica ions, 2017. h ps://wiki.eclipse.o g/
OM2M/one/App, Las accessed on 2020-07-01.