1. Trang chủ
  2. » Luận Văn - Báo Cáo

Final Report - Bioinstrumentation.pdf

28 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY

SCHOOL OF ELECTRONICS AND TELECOMMUNICATIONS

Name of instructor: Dr Nguyen Phan Kien

Trang 2

4 Theoretical Approach 13-14 4.1 IoT ThingsBoard 15-16 4.2 Implementation 15-16 5 Circuit Design 16

5.1 Power supply circuit 16

5.1.1 Specification 16

5.1.2 Components 165.1.2.1 5V Power Supply 16-175.1.2.1 Power Supply 3V 17-18

Trang 3

5.2.1 Specification 19

5.2.2 Components 19-20 5.2.2.1 ESP32 20

5.2.2.2 MPU-6050 22-236 Website/Application User Interface 23

6.1 System Analysis 23

6.1.2 Actors and their relationship 23

6.1.3 Use Cases Diagram 23-246.2 Visual Studio Code 24

6.2.1 Visual Studio Code – Dart Flutter 24

6.2.2 Program 24-257 Interact with ThingsBoard-IoT Platform 25

7.1 Thingsboard - IoT platform with Web/App

25-267.2 Thingsboard - IoT platform with Device

267.2.1 MQTT Basics 26-277.2.2 MQTT Connect 27

8 Test and Evaluation 27

8.1 Software 27

8.1.1 Firmware and Server 28

8.1.1 Problems and Solutions 28

8.2 Hardware 28

8.2.1 Power supply circuit 29

8.2.2 Metering circuit 29-308.2 Website/Application … 30

FUTURE DEVELOPMENT 31

Trang 4

List of Figures Fig

(1) : Common three-tier architecture of biological databases

14 Fig

(2) : ThingsBoard foundation 15 Fig

(3) : 5V Basic Application Circuit 17 Fig

(4): 5V Power Circuit Schematic Design 17 Fig

(5) : 3.3V Basic Application Circuit 18 Fig

(6) : 3.3V Power Circuit Schematic Design 18 Fig

(7) PCB Top View 18 Fig

(8) PCB Bottom View 19 Fig

(9) ESP32-WROOM-32 Pin Layout (Top view) 20 Fig

(10) ESP32-WROOM-32 Schematic Design 21 Fig

(11) PCB Top View 21 Fig

(12) PCB Bottom View 21 Fig

(13) QNF Package 22Fig

(14) Orientation of Axes of Sensitivity and Polarity of Rotation 23Fig

(15) MPU-60X0 Schematic Design 23Fig

(16) Use Cases Diagram 24Fig

(17) MQTT Protocol 25Fig

(18) PUBLISH message 26Fig

(19) Telemetry upload API 26 Fig

(20) Telemetry upload API 26

Trang 5

List of Tables

Table 3.1 Task Table 9-11 Table 3.2 Resources Assigning Table 11-12 Table 4 1 Power Supply Specifications 16Table 4 2 Metering Circuit Specifications 16

Trang 6

ABSTRACT

ThingsBoard is an open-source IoT platform that allows the development,management, and scaling of IoT projects We utilize the serverinfrastructure and Use Cases provided by the ThingsBoard platform tostore, track and analyze the data from our application The goal of thisproject is to successfully simulate a biological database system, anddesign, and implement a monitoring system that measures and recordsthe arm rotation angle of patients recovering from fractured arms In thisreport, the design and specifications of the system are explained Thesystem includes a physical sensor device and a Website/Application(Web/App) user interface

Trang 7

INTRODUCTION

In the Biomechanics field, capturing human motion is fundamentalfor future developments and further studies Obtaining data defining thegeometry of human body movement in space and time, known ascapturing human motion (spatial or 3D kinematics), is subsequentlyessential

As the result, over the past two decades, an explosion in the amountof available biological data has been observed This growth spurt ismainly due to the development of technology, creating a gateway forbiological knowledge to expand from an exclusive industry that was theobject of interest to only a few specialized disciplines, to becomeessential resources that are utilized daily by both biologists and medicalspecialists worldwide

In this paper, we propose a modified database system, focusing onaiding medical specialists to monitor hand recovery of patients withfractured forearms post cast removal We took full advantage of the IoTThingsBoard and Ubuntu server with the addition of a physicalmonitoring device, comprised of a sensor and an ESP32 microprocessor,and developed further by refining the Website/Application interface This report summarizes the building and testing process, andanalyzes, discusses, and evaluates the testing results and overallperformance of the proposed system.

1 Purpose

Create a working system to aid medical specialists to monitorthe hand recovery of patients with fractured forearms postcast removal

Trang 8

Build a sensor device that transfers data to the user interfacethrough WiFi connection

Able to measure and record real-time data of the patient’sarm motion

Produce a database system with smooth navigation and cleardata classification

Familiarize with IoT ThingsBoard server platform and IoT UseCases.

Understand the structure and operation of accelerometerMPU-6050, microprocessor ESP32, and voltage regulatorLM1117MPX-3.3/NOPB

2.1.2 Purpose and Scope

Trang 9

This report addresses all requirements, planning, and testing neededto simulate the sensor device, the Web/App interface, and the databasesystem server and assess the overall performance of the final product

2.2 Project Description

2.2.1 Project Context

The project is independent and self-contained It is not related to anyother projects or larger systems It should only be built to the“Biomechanics” class requirements and is to be used mainly as a basisfor students’ future research and experiments

3 Planning

The next phase of this project is plan development It takes 9 weeks to complete the project

3.1 Task Table

Our project consists of 17 tasks Each task has its own deliverables

The projec starts on May 08, and ends on July 26

Task No

Task Name

Start Date

Format

Trang 10

cal

y 08, 2022

#2

Report Researched Material

< 1 day

May 15,2022

May15, 2022

Documented in MS Word and Powerpoint

#3

Build block diagramsfor Server, DatabaseWork, and Overall Structure

2 weeks

May16,2022

May31, 2022

Powerpoint Platform

#4

Design Use Cases diagram

2 weeks

June01,2022

June01, 2022

Create schematic design for all circuits

2 weeks

Create PCB designs for all circuits

2 daysJune01,2022

Design and set up Web/App User Interface

3 weeks

June03,2022

June242022

Dart Platform Fultteron Visual Studio Code

Trang 11

API to transfer data to server

weeks e03,2022

17,2022

Platform

Build andtroubleshoot code for

MPU-1 weekJune 01, 2022

June08, 2022

#4 C++ on Visual Studio Code

Build andtroubleshoot code to transfer data to server

1 weekJune08,2022

#2 C++ on Visual Studio Code

Build andtroubleshoot ESP32 Wi-Fi Manger codes

3 weeks

June 15,2022

#2 C++ on Visual Studio Code

Test and trouble -shoot system codes

2 weeks

#4 C++ on Visual Studio Code

#14Test device and troubleshoot device errors

2 weeks

#15 Test finished circuit and analyze the

< 1 day

format

Trang 12

Report in MS Word and Powerpoint format

#17 ResearchPaper 3 weeksJuly05,2022

Table 3.1 Task Table

3.2 Human Resource Table

There are 5 people on our team Since each member has different strengths and weaknesses, we have created the following task allocations table according to personal competence and preferences

Phuong Bui

Web/App user interface

Hang Nguyen

troubleshoot code for MPU-6050

Huong Nguyen

Trang 13

#6 Set up API to transfer data to server

Ngan Ta Huong Nguyen

troubleshoot code to transfer data to server

Ngan Ta

troubleshoot ESP32 Wi-Fi Manger codes

Tram Nguyen Ngan Ta

circuit and analyze the results

Everyone

Table 3.2 Resources Assigning Table

RESEARCH METHOD 4 Theoretical Approach

Biological databases store and present information about livingorganisms, which serve as essential research tools for future experimentsand research in the field of medical as they provide convenient access toprior knowledge Due to their indispensable role in scientific research, thenumber of public biological databases has spiked over the years Thejournal Nucleic Acid Research (NAR) recorded its biological databasesincreasing substantially from 2 in 1980 to 182 in 2016 [ CITATION Rig16 \l1033 ] By 2021, the latest update on the NAR online Molecular BiologyDatabase Collection brought the number of database entries to a total of1641 [ CITATION Rig21 \l 1033 ] Many of these databases are long-term,

Trang 14

Fig (8): PCB Bottom View

Recommendedoperating ambienttemperature rang

-40 °C to 85 °C

Integrated SPI flashIntegrated crystal

(802.11n up to 150Mbps)

A-MPDU and A-MSDUaggregation and 0.4μs guard intervalsupport

Center frequencyrange of operatingchannel

Trang 15

ranging from low-power sensor networks to the most demanding tasks,such as voice encoding, music streaming and MP3 decoding.

Trang 16

Pin Layout:

Trang 18

Fig (15): MPU-60X0 Schematic Design6 Website/Application User Interface

6.1 System analysis

6.1.2 Actors and their relationship

Our program has 2 actors: Users (Nurses, Patients, etc) andAdministrators.

Users: Users use the program for getting information frompatients and measuring the change of their Center of Gravity(CG) User is the highest manager of the program.

Administrators: An administrator manages the database andupdates the system.

6.1.3 Use case Diagram

Actors’ “Users” have the Use Cases below:

Log in / Register

Add information of patientsView the results

Actors’ “Administrators” have the Use Cases below:

Manage the DatabaseUpdate the system

Trang 19

The relationships are described by the General Use Cases diagrambelow:

Fig (16): Use Cases Diagram

6.2 – Visual Studio Code

6.2.1 Visual Studio Code – Dart Flutter

Dart is a new programming language, developed by Google, nowapproved by Ecma organization Dart is utilized to build various kind ofapplications: web, server, mobile (IOS and Android with Flutter engine).

Dart is a language that supports object-oriented programming, style syntax which can be compiled into JavaScript to run in the browser It supports modern programming concepts such as class interfaces, abstract classes, etc Built on Dart programming language, Google introduces the Futter SDK to develop cross-platform mobile applications (IOS and Android) In our project, we use Visual Studio Code for creating a Mobile Application.

Trang 20

Measuring Interface:

7 Interact with Thingsboard- IOT platform

ThingsBoard is an open-source IoT platform that allows thedevelopment, management, and scaling of IoT projects We utilize theserver infrastructure and Use Cases provided by the ThingsBoardplatform to store, track, and analyze the data from our application.

7.1 Thingsboard - IoT platform with Web/App

Thingsboard interacts with clients through the REST API, ThingsBoardREST APIs interactive documentation is available via Swagger UI Fromthis interface page, we have learned to use the APIs necessary for ourproject to interact and design with our own website which we developourselves.

API (Application Programming Interface): is a set of rules andmechanisms by which an application or component interacts withanother application or component API can return the data you need foryour application in common data types like JSON or XML.

REST (Representational State Transfer): is a form of data structuretransformation, an architectural style for writing APIs It uses simple HTTPmethods to facilitate machine-to-machine communication So, instead ofusing a URL for handling some user information, REST sends an HTTPrequest like GET, POST, DELETE, etc to a URL to process the data.

JWT Tokens: ThingsBoard uses JWT tokens for representing claimssecurely between the API client (browser, scripts, etc) and the platform.When you login to the platform, your username and password isexchanged to the pair of tokens The token lasts for a period of 24 hoursto make API calls and the token is refreshed once it expires.

Trang 21

Device Connectivity Protocol with ThingsBoard - IOT platform: MQTTprotocol

7.2.1 MQTT basics

MQTT (Message Queueing Telemetry Transport) is a lightweightpublish - subscribe messaging protocol It operates under the publish -subscribe mechanism according to ISO standards (ISO/IEC 20922), opensOASIS to transmit messages between devices, and performs on TCP/IPplatform MQTT is designed for data transmission among remote devices,small devices, microcontrollers with limited resources, or in applicationswith limited network bandwidth.

3 QoS 2: Broker/client ensures that when sending data, thereceiver receives only once, this process goes through 4handshake steps.

Trang 22

We apply QoS 0 for data transmission.7.2.2 MQTT connect

Collected data is pushed via MQTT to ThingsBoard- IOT platformserver for storage and visualization We use access token devicecredentials called $ACCESS_TOKEN The application sends “MQTTCONNECT” message with username that contains $ACCESS_TOKEN Telemetry upload API: To publish telemetry data to ThingsBoardserver node, send PUBLISH message to the following topic:

Fig (18): PUBLISH message

With:

The simplest supported data formats are: Json format (Payload)

"$THINGSBOARD_HOST_NAME": sv11.vshome.com.vnPort: 1883.

Trang 23

Website/ Application8.1.1 Firmware and server

At first, we set Fi as station mode, but it only applies to fixed Fi Therefore, we changed Wi-Fi setting as access point mode Afterconnecting to Wi-Fi, we test transferring our device's measured data onthe ThingsBoard server Testing time taken to transfer data from thedevice to server is one second We attempted to transfer data to cloudserver several times and recorded the measured parameters of the

Wi-MPU6050 acceleration module in Fig (14)

Fig (20): Telemetry upload API

Then, we tested and recorded real-time data transfer of our device.We obtained a time of about one minute and thirty seconds for themicroprocessor ESP32 to broadcast its Wi-Fi and it takes about four tofive seconds for the data to be transferred to the server after connectedto ESP32.

8.1.2 Problems and Solutions

Two problems we stumbled upon are (1) amidst sending data to theserver, the device loses Wi-Fi connection and unable to automaticallyreconnect, (2) unable to connect to another Wi-Fi We solved both issuesconfiguring an On and Off button for the device

8.2 Hardware

The next phase of our project is testing metering circuit withaccelerometer MPU-6050 and the power supply circuit with voltage

Trang 24

regulator LM1117MPX-3.3/NOPB In this circuit we use 3.7V 500mAhbattery The battery could last 1 hour before recharging is required

8.2.1 Power supply circuit

was not equal to theoretical value of 0.6V We fixed the problem bychanging the values of R1 and R2 so that output of the circuit wasreduced to ~ 3.3V and 5V.

8.2.2 Metering circuit

We encountered short-circuit due to too much soldering in theMPU6050, causing the pins to stuck together We proceeded to removeand re-solder the circuit However, the MPU6050 IC was damaged duringthe process We replaced the IC with GY-521 MPU-6050 module.

Lastly, we test our User Interface At first run, we were not able todisplay data on user interface We fixed the problem by adding analgorithm to add APIs to our set-up code

Ngày đăng: 25/05/2024, 10:08

w