Keywords

1 Introduction

The Internet of Things (IoT) is the network featuring connections among physical objects or things embedded with electronics, software, sensors or connectivity. It enables those objects to exchange data, and hence, reach superior value and service. Like each computer in the Internet with a unique identifier, namely IP address, every physical node in the IoT can be uniquely identified through its embedded computing system that is capable to work with each other within the existing Internet infrastructure. Nowadays, IoT technology is widely spreading in media, environmental monitoring, manufacturing, energy management, medical and health care systems, and many other industries. For example, earthquake and tsunami detectors, emergency centers and individual cell phones can be connected by IoT to provide immediate emergency service [1].

Before IoT, computers and the Internet almost completely relied on humans to input data and information, and most information was acquired and created through typing, recording, photographing and bar code scanning, which are mainly human activities. Here comes a problem: humans are restricted in gathering data from real world in respect of time, endurance and precision. We live in material world and we cannot feed on virtual information, because despite the importance of it, material is more substantial. Information technology is so dependent on processed information of humans that it records our thoughts rather than the studied objects themselves. If somehow, computers can be cognitive and gather information from real world without human beings, we can reduce loss and consumption yielded by tracking and quantifying them [2]. We will know when our cars need repairing, out houses need renovating and our bodies need examining. In a word, IoT has the potential to change the world at least as much as the Internet did.

There are many advantages of incorporating IoT into our lives, which can help individuals, businesses, and society on a daily basis [3]. For individuals this new concept can come in many forms including health, safety, financially, and every day planning. The integration of IoT into the health care system could prove to be incredibly beneficial for both an individual and a society. A chip could be implemented into each individual, allowing for hospitals to monitor the vital signs of the patient. By tracking their vital signs, it could help indicate whether or not serious assessment is necessary. With all of the information that is available on the Internet, it can also scare people into believing they need more care than what is really needed. Hospitals already struggle to assess and take care of the patients that they have. By monitoring individual’s health, it will allow them to judge who needs primary attention. Health care systems are organizations, institutions, and resources that deliver health care services to meet the health needs of target populations [4]. In terms of the aspect of technology, it usually needs implementation of public health measurement, data gathering, data analysis, and other technological methods. With widespread use of IoT technology, health care industry is undergoing revolution. In an IoT-based health care system, devices gather and share information directly with each other and the cloud, making it possible to collect record and analyze new data streams faster and more accurately [5]. For instance, a health service center can send immediate rescue if they identify a patient with abnormally high heartbeat rate detected by an assigned device that is capable of sending data within the IoT infrastructure.

In this article, we develop a preliminary IoT-based health care system consisting of three nodes: a Nonin 3230 Bluetooth® Smart Pulse Oximeter for detecting peripheral oxygen saturation and pulse rate, a Google Nexus 9 Tablet as a data transferring freight station, and an Amazon Web Services (AWS) cloud server for remote data storage and manipulation. In this system, the oximeter and the tablet are assigned to a patient, while doctors and nurses can access the data through a LAMP (Linux+Apache+MySQL+PHP) query system on an AWS server. This system can be used in the real time patient care.

2 Architecture of the IoT System

The architecture of the IoT system is shown below in Fig. 1 that indicates and specified the major components of the system.

Fig. 1.
figure 1

The IoT system architecture

2.1 Nonin 3230 Bluetooth® Smart Pulse Oximeter

The Model 3230 is one of the first medical devices to incorporate Bluetooth Smart wireless technology. Bluetooth Smart helps to facilitate simple and secure connections to Bluetooth Smart Ready devices for vital information exchange over a secure wireless connection [6]. The device is worn on the fingertip with a display built in that shows the user’s blood oxygenation [7]. The Model 3230 allows simple and secure connections to Bluetooth Smart-ready devices such as smart phones, tablets and telehealth solutions using iOS, Android and Windows 8. It is designed for patients who live with diseases such as chronic obstructive pulmonary disease (COPD), congestive heart failure (CHF) and asthma. These patients require frequent and accurate measurement of their SpO2 levels—the measurement of oxygen saturation in the blood [8].

2.2 Google Nexus 9 Tablet

The Nexus 9 is a tablet running Android 5.0 Lollipop, developed in collaboration between Google and HTC. [9] The reason for selecting this device for development is that beyond Android 4.3 (API Level 18), API support for Bluetooth Low Energy was introduced [10] and hence can work with Nonin Oximeter. Plus, Google Nexus is capable of Android OS update, while many Android tablets of other brands are not.

2.3 AWS Cloud Server

Amazon Web Services (AWS) is a collection of remote computing services, also called web services that make up a cloud computing platform offered by Amazon.com. These services are based out of 11 geographical regions across the world. The most central and well-known of these services are Amazon EC2 and Amazon S3. These products are marketed as a service to provide large computing capacity more quickly and cheaper than a client company building an actual physical server farm [11].

An AWS EC2 instance is used in the development for hosting a LAMP stack query system, which is able to receive data from the Android app and display gathered data on web application.

3 The IoT System Development

3.1 Nonin App

Nonin Provides the source code of the Android app that can interact with the oximeter. We use Android Studio to import this project and run the app on the Android tablet. As shown in the following picture, there are four Java class files: BluetoothLeService.java, DeviceControlActivity.java, DeviceScanActivity.java and SampleGattAttributes.java.

BluetoothLeService is the service for managing connection and data communication with a Bluetooth LE (low energy) Generic Attribute Profile (GATT) server hosted on a given Bluetooth LE device. And for a given BLE device, DeviceControlActivity provides the user interface to connect, display data, and display GATT services and characteristics supported by the device. The Activity communicates with BluetoothLeService, which in turn interacts with the Bluetooth LE API. DeviceScanActivity is the activity for scanning and displaying available Bluetooth LE devices. Finally, SampleGattAttributes is the class including a small subset of standard GATT attributes for demonstration purposes.

Figure 2 shows the Nonin App operation when the oximeter is identified and the data sent from the oximeter, including saturation peripheral oxygen and pulse rate after the connection is listed.

Fig. 2.
figure 2

The Nonin App operation

Although we can acquire the data from the Android app, it is not capable of sending the data from the tablet to cloud server database with Nonin App. So we have to modify the source code to accomplish that.

3.2 AWS Set-up and LAMP Stack Construction

To set up an Amazon Cloud server, go to EC2 dashboard to create a server instance. Also install packages to build a LAMP stack web server. After that, create a database and a table to receive and store the data sent from the PHP file.

3.3 Develop Server Connection App

Since Nonin App cannot send data to the server, we need to modify the code to fulfill this function.

First, we need to add a method that returns the array of data we want from the oximeter in BluetoothLeService. Figure 3 shows the code of the method developed.

Fig. 3.
figure 3

BluetoothLeService Java method.

Then we created a new activity, DisplayMessageActivity, to test whether the method mentioned above can successfully extract the data. If so, it will display the extracted data sent from BluetoothLeService.

After the activity is created (see Fig. 4), code the method to display the data received from BluetoothLeService. Modify the on click method in DeviceControlActivity so that it will send the pulse rate to DisplayMessageActivity.

Fig. 4.
figure 4

DisplayMessageActivity created.

Also after the successful test, we need to create an activity, ServiceHandler, to receive data from DeviceControlActivity and send it to get_method.php on the server through get method. Then edit the on click method in DeviceControlActivity to make it send data to ServiceHandler instead of DisplayMessageActivity.

4 The IoT System Testing Results

Figure 5 illustrated the testing of the DisplayMessageActivity. It shows that the modified app can receive and display the data. In addition, there is an input field and a send button that can send pulse rate to DisplayMessageActivity once clicked.

Fig. 5.
figure 5

The IoT system run.

The data collected is processed by the ServiceHandler and forwarded to the cloud server. Figure 6 shows the data on the oximeter after the successfully run of the IoT system.

Fig. 6.
figure 6

Oximeter Reading.

The user name entered in the user interface of the app along with other data will be sent to database for the healthcare workers for identify the user record in the database (see Figs. 7 and 8).

Fig. 7.
figure 7

The IoT system interface.

Fig. 8.
figure 8

The IoT system database record.

5 Future Work

This system is successfully built and tested, but it can be extended further to support more functions. A website for database query and charts for statistical application can be very useful. Once we can successfully send the data from the oximeter to the database on the cloud server. Other users can access the database directly. We can develop a PHP site that allows users to query data by user name. Also, we can deploy Google Charts to display the records for the same user in a certain period and thus, we can see the trend of the user’s health condition. For doctors and nurses, they can interfere quickly when necessary.

More devices are also can be added to the system. The health condition of a patient cannot be simply indicated by only saturation peripheral oxygen and pulse rate conditions. If other devices, like blood glucose meter and scale, can be added to the IoT system, health condition of a patient of diabetes, for example, can be reflected at more precise level. Thus, working on incorporating more devices into the system is needed. Plus, trying to improve the app so that patient can access the cloud side database from their tablet is vital as well, because it would increase patients’ awareness of their health condition.

The IoT system developed can be applied to any measuring and data generating device. The abstract model of data passing flow is data generating device → tablet or phone → cloud server, and hence can be used for various applications. For example, a Bluetooth connectible piano can record how a player performs and then send data to cloud server via the data passing flow. Then computer can compare the data and the score, or generate other statistical data, so that the player will know how to improve.

6 Conclusion

Human activities are never a reliable data source generator. In case of measuring pulse rate, it will always take people quite a few seconds to measure it. Also, mismeasurement is never rare. But with measuring device, it would be a different story. Take the oximeter for example, it can let you know your pulse rate in three seconds and miscalculation seldom occurs. Plus, device is usually more honest because it is not easy to make up data with it. We developed this system based on that belief. It is hence expected that our system or the systems similar to ours will be more widely used in various industries in future.