Return to search

Web interface for a multi-purpose transmitter

The project described in this report aims to construct a web interface for a multi-purpose transmitter (MPT). The MPT is a submodule that is meant to be used in future chromatography systems. This bachelor thesis project is done at Cytiva in Uppsala. The MPT uses the Azure RTOS development suite with ThreadX as the RTOS, FileX as the file system, and NetX for the TCP/IP protocol stack implementation. The Azure RTOS platform facilitates development for deeply embedded systems and comes with extensive documentation for their services. The web interface consists of 5 web pages with 5 different use cases: Overview for visualization of basic data; Data for visualization, recording, and filtering of all data; Update page for firmware update and file management; Log for development logging purposes; and Config for modifying parameters and running module diagnostic tests. Development of the front end was done in Visual Studio Code. The workflow was streamlined by developing a tool at the beginning of the project that combines the files for the front-end code into variables stored in C source files. Testing of new features was aided by a Python Flask server developed in parallel to the main back end. It embodies the same functionality as the main back end, aside from being hosted on a local computer. The web interface will mainly be used by customers and service personnel. This requires the interface to have two different access levels. The Overview page can be accessed without any authorization while the other pages require the user to be authenticated via username and password. / Vid tillverkning och forskning inom Life Science krävs det väldigt noggranna och välkalibrerade instrument. Dessa instrument behöver också underhållas, dels då de riskerar att gå sönder och för att säkerställa att de är korrekt kalibrerade. För att underlätta servicearbetet av Life Science-instrument har vi i detta projekt utvecklat ett webbgränssnitt.Ett webbgränssnitt är en hemsida som är möjlig att nå i en webbläsare för att kunna interagera med en modul. Arbetet har utförts på Cytiva, som är ett världsledande företag inom Life Science. Projektet består till viss del av utvärdering av alternativa lösningar, detta inkluderar val av dataformat, kommunikationsprotokoll, bibliotek, ramverk och metod för datauppdatering. Denna utvärdering baserades huvudsakligen på följande aspekter: minnesavtryck, robusthet och prestanda. Webbservern är skriven i programmeringsspråket C och använder sig av utvecklingsplatformen Azure RTOS. Det innehåller ett realtidsoperativsystem ThreadX, ett filhanteringssystem FileX och en nätverksstack NetX.  För att lättare kunna testa uppdateringar skapade vi en utvecklingsserver parallellt med vår webbserver i C. Denna server är skriven i Python med hjälp av ramverket Flask. Den har samma funktionalitet som MPT webbservern och kan köras lokalt på datorn.  Slutliga webbgränssnittet har fem olika sidor med fem olika funktioner: Overview för att visualisera grundläggande data, Data för att visualisera och filtrera all data på modulen, Update för filhantering och för att kunna uppdatera modulens mjukvara, Log för loggning vid utveckling och slutligen Config för att kunna justera parametrar och utföra diagnostik på modulen. Det som visas i webbläsaren, front end, är skrivet i programmeringsspråken HTML, CSS och JavaScript. Användandet av ramverk och bibliotek utvärderades men slutsatsen av det är att behovet för det inte övervägde ökningen i minnesavtryck. Koderna från de olika språken vävdes samman med hjälp av ett verktyg som utvecklades för att underlätta skapandet av gränssnittet. Verktyget är skrivet i Python och gör utvecklingen både snabbare och enklare genom att möjliggöra front-end utveckling i programutvecklingsmiljön Visual Studio Code.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:uu-505215
Date January 2023
CreatorsCederlöf, Elin, Mattsson, Maximilian
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationMATVET-F ; 23009

Page generated in 0.0023 seconds