Applying Internet of Things to Data Monitoring of Powered Wheelchairs

The aim of this study is to use the Internet of Things (IoT) for data monitoring of powered wheelchairs, which is divided into monitoring the position, tire wear, and battery charge level. Our system can be divided into two parts: Arduino UNO (an open-source microcontroller board; the word “uno” means “one” in Italian) and Raspberry Pi. Arduino UNO combines radio frequency identification (RFID) to read Electronic Product Code (EPC) tag information to establish the position information of powered wheelchairs. Raspberry Pi, through cooperation with the Quantum Geographic Information System (QGIS), establishes a coordinate activity map and monitors the tire wear of the powered wheelchair at any time, and uses a DC100 V LED dual display digital voltage meter head and external shunt to detect the lead-acid battery charge level of the powered wheelchair. Finally, a Microsoft Excel macro and Excel Visual Basic for Applications (VBA) are used to integrate the EPC tag information, tire wear, and lead-acid battery power consumption data and display them as real-time dynamic charts. The user can know the status of the wheelchair at any time, the user’s family can also know the operation status of an elderly user or one with limited mobility, and the user is informed in advance when the wheelchair needs to be adjusted.


Introduction
With the advancement of modern medical technology, people's life expectancy has continued to climb and the mortality rate has declined. The aging of society has become a major issue, and has led to many elderly people with chronic diseases, disabilities, and other related medical rehabilitation problems. (1,2) Wheelchairs are now widely used by patients and the elderly as their means of transport. In recent years, intelligent and technological features have gradually been added to wheelchairs that assist the elderly and people with limb injuries in moving, so that they are no longer just simple mobility-assistive devices. (3) When going out, users of powered wheelchairs often encounter the problem of low battery due to the capacitance of the battery decreasing with long-time use, which results in battery depletion before returning home. Another problem is wear of the tread pattern owing to longtime use, which leads to skidding when traveling uphill. These potential problems and risks are often only discovered when accidents happen. (4) Motivated by these issues, we decided to apply the Internet of Things (IoT) to a powered wheelchair. Sensors were used to collect the data on a powered wheelchair during its operation and to help make predictions on battery use and tire wear and provide reminders and warnings to the users so as to eliminate potential problems and risks.
With the rise of the IoT in recent years, the integration of hardware devices has gradually become a trend, which is being combined with artificial intelligence technology. Through the conversion and collection of terminal perception devices, data are transmitted on the network to the central processing module. According to the communication protocol, data are sent to the designated central processing platform of the Ethernet network through the external communication interface, such as an Ethernet interface, Bluetooth, Wi-Fi, etc. (5,6) We also apply data-monitoring software to powered wheelchairs, including an Arduino compiling environment (Fig. 1), a Raspberry Pi Thonny compiling environment (a Python integrated development environment designed for beginners, Fig. 2), and Microsoft Excel VBA, where we develop Microsoft Excel VBA, a macro language developed by Visual Basic and a Visual Basic Script to visualize the application. It is especially used to expand the application functions of Windows, especially Microsoft Office software. The Excel VBA cross-platform extension environment provides many different methods for the writing, format setting, and management of documents, e-mails, databases, forms, spreadsheets, and presentation reports. (7,8) The IoT uses Internet access as an information carrier to partially manage or control objects with independent functions, such as mobile devices, machinery, or personnel. Internet access or any type of network can be regarded as operating similarly to the neural network of the human body. After the terminal nerves sense various kinds of information, they converge all the way to the main trunk through the central nervous system and the information is then transmitted to the  human brain, which further responds and makes decisions after interpreting the information. (9) The IoT is a network with a massive architecture that can combine various facilities, machinery, and devices equipped with sensors. These facilities or devices with sensors are interconnected through various wired or wireless, long-distance or short-distance network communication protocols that efficiently supervise everything based on cloud computing to achieve the function of prediction.
According to the European Telecommunications Standards Institute (ETSI), the architecture of IoT is divided into three layers from bottom to top: the perception layer, communication layer, and industrial application layer. The perception layer, as shown in Fig. 3, collects or monitors information for specific devices through sensors, radio frequency identification (RFID), QR codes, etc.; the communication layer assembles the information collected by the sensors at a specific person, thing, or object through various Internet technologies; and the industrial application layer extracts the information from disordered data through highly efficient analysis and processing for its effective application. (10,11) In the era of big data, various Internet technologies are used to upload the data collected by sensors to the cloud, then integrate the big data to make the use of the IoT easier, and allow everyone to access it. The components of the IoT comprise devices, the gateway, the server, and so forth. There are two types of networks in the IoT: networks connecting various devices and networks connecting the devices and the IoT. (12) With the increasing use of Internet applications, the existing information content can no longer meet the needs of the rapidly evolving business environment. People need to realize smooth communication with, and among, things, improve the transparency of information, and make timely and correct responses to instant changes in the outside world. With the popularization of network equipment and smart devices, the flow rate and quantity of various types of information have exceeded our predictions, and the communication among the networks is far-reaching. Industry has now entered the era of IoT and combined it with AI. The connection between things completes the entire smart application service. (8) At present, there are many types of wheelchairs available on the market, which can be roughly divided into manual and powered wheelchairs depending on their operation mode. Tires can also be categorized into pneumatic tires and hard tires according to the use environment. Pneumatic tires have good shock-absorbing properties, making them more suitable for uneven road surfaces. However, in the case of inadequate tire pressure, pushing a wheelchair is more difficult.
(I) A manual wheelchair, also known as a standard wheelchair, has a light bracket and is often foldable; manual wheelchairs can be further divided into indoor, outdoor, and amputee types. • Indoor types have large front wheels and a small rotation radius, making them suitable for moving in narrow spaces. • Outdoor types have large rear wheels, can be pushed more easily on various surfaces, and are the most commonly available wheelchairs on the market. • Amputee types have large rear wheels, but the axle is located further backwards, reducing the center of gravity and making their use safer. (II) Owing to the load problem, powered wheelchairs have thicker and mostly solid tires, an adjustable seat, armrests, and multiple speeds. The commonest way of controlling the direction of powered wheelchairs is through a manually operated joystick. However, a rod-shaped, ballshaped, or T-shaped control can be used according to the preference of users. For some patients who cannot use their hands for control, there are some alternatives. Sip-and-puff control can control the forward, backward, rightward, and leftward movements of powered wheelchairs through the different gas flows during inhalation and exhalation. Head control employs an inductive switch for control that is installed on the side of the head, which starts and controls the wheelchairs by turning and shaking the head. Chin control employs a joystick extending from the head cushion to the chin that is moved by pushing the chin.
Powered wheelchairs can be powered by lead-acid, nickel-cadmium (NiCd), nickel-metal hydride (NiMH), and lithium-ion rechargeable batteries. Lead-acid batteries, also known as lead-acid cells, were invented by the French physicist Raymond-Louis Gaston Planté in 1859. Among the rechargeable batteries currently available on the market, lead-acid batteries have the most mature technology, provide the most stable and reliable performance, and are the batteries most widely used as an uninterruptible power supply (UPS) and in automobiles. The lead plate serves as the cathode, lead dioxide serves as the anode, and the electrolyte is dilute sulfuric acid solution formed by mixing pure sulfuric acid with distilled water. (13) NiMH batteries use a hydrogen storage alloy as the cathode, nickel hydroxide as the anode, and potassium hydroxide solution as the electrolyte. When the capacitance of a NiMH battery is fully charged, the voltage will increase to its maximum value then decrease slowly, but the rate of decrease is much smaller than that of a NiCd battery. With increasing charging current, the voltage drop becomes more evident. Therefore, when the battery voltage begins to drop during charging, it indicates that the battery is full. This can be used as a criterion for detecting whether a battery is fully charged. The advantages of NiMH batteries are good discharge depth and service life, but their disadvantages include a memory effect and low charging rate. (14) NiCd batteries use nickel oxide powder and graphite powder as the anode, use cadmium oxide powder and iron oxide powder as the cathode, and usually use potassium hydroxide solution as the electrolyte. Their energy density and service life are higher those of lead-acid batteries. Owing to their charging memory effect, they cannot be charged rapidly. However, they have been banned in many countries for environmental reasons.
Lithium-ion batteries use lithium ions and a metal oxide as the anode, coke or graphite as the cathode, and an aprotic organic solution with a dissolved lithium salt as the electrolyte. In their early development, lithium metal was mainly used as the electrode material. The battery could not completely return to its original structural state during the charging process because of the high activity and intrinsic characteristics of lithium metal. Some lithium metal would be deposited on the electrode surface to form pointed structures, which would penetrate the separator, causing an internal short circuit and easily leading to combustion or explosion. To improve their safety, lithium batteries now usually use lithium cobalt oxide/carbon as the electrode material. Three kinds of materials can be used for the anode: lithium manganate (LiMn 2 O 4 ), lithium iron phosphate (LiFePO 4 ), and lithium nickel cobalt oxide (LiNiCoO 2 ). Different anode materials have different energy densities. (15)

Architecture of System for EPC Tag Data Monitoring, Tire Wear Detection, and Lead-Acid Cell Data Detection
This section introduces the hardware and software architecture of the system. First, the server host and hardware architecture are introduced, followed by the program architecture. Excel VBA is used to integrate the collection of data associated with tire wear, battery power consumption, and the RFID QGIS. The cloud server host and hardware architecture consists of the tire wear detection system, the lead-acid battery power consumption monitoring system, and the RFID QGIS.
The tire wear detection system uses the Python program in combination with a laser infrared module and a laser rangefinder module to establish the mechanism on a Raspberry Pi 3. The transmitting terminal of the laser infrared module continuously sends signals to the tread pattern, and the receiving terminal receives the reflected signals; the continuously outgoing and returning signals are used to determine whether the tread pattern has been worn to a degree below the safety value. The laser rangefinder module judges the tread pattern wear from the reflection distance of the signal and sends it back to the Raspberry Pi for timely monitoring and analysis. An Arduino UNO board is used in combination with RFID to read the EPC tag and establish the position system for powered wheelchairs in the activity area.
The system uses a DC100 V LED DC dual-display digital voltammeter to monitor the voltage and current of the battery during discharge. (16) The voltammeter is displayed by three-digit LED digital tubes. The semi-closed ABS plastic casing without a back cover allows the fine adjustment of the voltage and current according to the method of use. The voltmeter requires a 4-30 V DC voltage provided externally as the working power supply, as shown in Fig. 4, and its specifications are shown in Table 1.
The architecture uses a 12 V/50 Ah lead-acid battery as the working power supply of the voltmeter. To prevent excessive voltage from damaging the meter, an external shunt is configured in the circuit, as shown in Fig. 5. The motor of the powered wheelchair is used as the load. During the discharge of the lead-acid battery, as shown in Fig. 6, the current flows through the DC100 V LED DC dual-display digital voltammeter, displays the working voltage and current on the LED screen, and then connects the signal line linked to the LED screen with the Raspberry Pi. We next discuss the following topics related to this study and obtain a theoretical basis from the related literature: Arduino data collection and transmission, Raspberry Pi data collection and transmission, a Microsoft Excel macro, and Excel VBA.
Arduino is an open-source, single-chip microcontroller, which is convenient, flexible, and easy to use. It uses an Atmel AVR single chip (AVR is a family of microcontrollers developed by Atmel since 1996) and an I/O (input/output) interface development board based on opensource code, which is similar to the processing/writing development environment of JAVA and C languages. It consists chiefly of two parts: hardware (various models of Arduino board) and Arduino integrated development environment (IDE) software, and the user's program development environment in the computer. (17) This system uses the Arduino UNO board as the main body. Based on the ATmega328p microcontroller development board, it has 14 digital input/output pins (six of which can be used for PWM output), six analog input pins, a 16 MHz crystal oscillator, a Universal Serial Bus (USB) connection, a power jack, and an in-circuit serial programming (ICSP) connector and reset button, as shown in Fig. 7. (18) ATmega328p, as shown in Fig. 7, is an 8-bit AVR controller that integrates 1 kB electrically erasable programmable read-only memory (EEPROM), 2 kB static random access memory (SRAM), 23 general-purpose I/O cables, 32 working registers, a   serial programmable universal synchronous asynchronous receiver transmitter (USART), and a 32 kB internet service provider. It has flash memory that can be read and written at the same time; it can make the device achieve a network throughput close to one microprocessor without interlocked pipeline stages (one MIPS) per MHz in one oscillation cycle. Raspberry Pi is a single-board computer based on the Linux system. Each generation of Raspberry Pi uses an ARM architecture processor produced by Broadcom, one of the world's top 20 semiconductor manufacturers. The memory of a Raspberry Pi device ranges between 256 MB and 4 GB. Devices mainly use a Trans Flash card or Secure Digital card as the storage device. Each device is also equipped with a terminal output, a USB interface, and a high definition multimedia interface (HDMI) audio and video output, and its network connection modes involve a built-in Bluetooth/Ethernet/WLAN, as shown in Fig. 8. (19) Our proposed system uses Raspberry Pi 3 as the development board, as shown in Fig. 8, and Linux-Debian as its operating system. It adopts a BCM2837 chip and a 64-bit ARM Cortex-aA53 chip as the CPU, and has a total of 26 I/O pins. The development board itself has the functions of wired network Ethernet and wireless network Wi-Fi, so it can set up Raspberry Pi in an environment with a wireless network signal.
For the main program function and program architecture of the powered wheelchair data monitoring system, we established a database for the system using Excel VBA and created a dynamic analysis diagram based on the data from the Arduino and Raspberry Pi. Users can remotely monitor the wheelchair through a mobile app. This system is divided into four parts: Excel VBA, Arduino IDE, Raspberry Pi, and Android Studio, as shown in Fig. 9.
The Python program developed in this study is mainly for data transmission, which allows Raspberry Pi and the server host to communicate with each other and transmit sensor data. The development environment is Thonny, as shown in Fig. 2. The Excel VBA interface is mainly divided into project, attribute, and editing windows. The project window includes the objects used (e.g., worksheet) and the modules, which are the VBA program content. The attribute window enables the detailed adjustment of various objects used. The editing window displays the programs called out, modules, forms, and other objects. The program development interface of Arduino IDE mainly controls the peripheral sensors and power systems connected by GPIO on various Arduino development boards, and performs functions such as selecting the development board model, output port, built-in template, and downloading library on the IDE.

Experimental Monitoring of EPC Tag Data, Tire Wear, and Lead-Acid Cell Power Consumption
This section mainly discusses the technologies used in the environment settings of the system, Raspberry Pi, Arduino, and Excel VBA, and explains the technologies in detail. As shown in Fig. 10, the Arduino UNO development board, in combination with RFID, reads the EPC tag and establishes the position information, Raspberry Pi 3 connects with the sensors to monitor the voltage and current consumption of the lead-acid battery and tire wear, and finally Excel VBA is used to create a dynamic analysis diagram based on the information collected.
Excel VBA was used to build the database and create the dynamic analysis diagram based on the data from Arduino and Raspberry Pi, enabling users to monitor the wheelchair remotely through a mobile app. The Arduino UNO board drives the RFID to read the EPC tag and transmits the tag information to the server end through the RS-232 communication protocol. Then the server writes the data into the designated Excel VBA in real time through PLX DAQ communication and saves and builds files to the database. We used the Arduino UNO board to carry out basic data transmission based on the RS-232 communication protocol. To prevent residual data, the Arduino IDE first sends an instruction to Excel VBA to clear the storage cell and set the transmission data format. Before transmitting the EPC tag data to Excel VBA, it must correspond to the set data format.
EPC tag data are transmitted to the corresponding title of the designated Excel VBA and converted to the hexadecimal system. The time is set and the EPC tag data transmitted to Excel VBA are automatically saved. The pull-down menu is used to select the baud rate and set the bit and data numbers in Excel VBA. A serial port window was established while transmitting information, which can be directly used for debugging.  The collected data of this system are integrated into the database and subjected to dynamic analysis in the following three steps: establishment of the EPC tag database, establishment of the tire wear database, and monitoring of lead-acid battery power consumption data. We explain the data integration and monitoring of the EPC tag data, tire wear, and lead-acid battery power consumption.
When Arduino receives EPC tag information, it clears the Excel table through a command and creates the database, as shown in Fig. 11. According to this flow, the wheelchair must be within a range of 10 m to read EPC tag information and receive information, as shown in Fig. 12.   The server host receives the information on tire wear, clears the Excel table through the command, and then transmits the tire wear data to the Excel table in accordance with the flow chart shown in Fig. 13. The database is established, as shown in Fig. 14, and the dynamic analysis diagram is created for monitoring. The tire wear is written and saved in a timely manner and the latest 10 s of entries of data are captured to create the dynamic analysis diagram, as shown in Fig. 15.
Raspberry Pi receives the voltage and current consumption data of the lead-acid batteries and then transmits them to the server end, as shown in Fig. 16. The database is established from the voltage and current data, as shown in Fig. 17, and a dynamic analysis diagram is created accordingly, as shown in Figs. 18. and 19.

Conclusion
In our proposed wheelchair monitoring system, we mainly used Raspberry Pi as the data collection terminal in the hardware. Concerning the server, we used Excel VBA to establish and analyze the data, mainly because almost all computers and mobile devices are equipped with Excel software, making it applicable in various situations; a user or manager can immediately observe the changes in the battery power and tire tread data of the powered wheelchairs, thus effectively ensuring the safety of users. In terms of the software, the main aim of this study was to design application-related services based on the data collected by sensors, including RFID read tag (EPC tag) information, battery power consumption monitoring, and tire wear display. In the future, a remote control and an app will be combined to enable users to remotely monitor wheelchair conditions through mobile devices. Since there is no commercially available product that uses the IoT to monitor the data of powered wheelchairs, we attempted to address this issue with the aim of developing an innovative and independent powered wheelchair. Through the monitoring various data, we can better understand users' habits of wheelchair use and make adjustments accordingly to meet their health requirements.