Team:Aachen/Notebook/Software/Serial Client
From 2014.igem.org
m |
m (→Architecture and Source Code) |
||
(15 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Team:Aachen/Header}} | {{Team:Aachen/Header}} | ||
- | = Serial Client - A | + | = Serial Client - A Windows Desktop Application to Log Data = |
- | The [https://2014.igem.org/Team:Aachen/Collaborations/ | + | The [https://2014.igem.org/Team:Aachen/Collaborations/Braunschweig methane sensor] we built for Team Braunschweig as well as many microcontroller components of our project, including the OD Device, are capable of frequently broadcasting readings via their serial connection to a computer. For an efficient analysis and testing as well as the collection of online data, we wrote the '''Serial Client'''. This is a Windows Desktop app that plots data coming in on a serial (USB) port live and saves it for later export to Excel. |
- | {{Team:Aachen/ | + | {{Team:Aachen/Figure|Aachen_SerialClient1.png|title=Screenshot of the application window|subtitle=All important features are available at glance: Not only the connection configuration, but also data acquisition and live-plotting ca be set in a user-friendly interface.|width=850px}} |
==Usage== | ==Usage== | ||
Line 23: | Line 23: | ||
== Architecture and Source Code == | == Architecture and Source Code == | ||
To help iGEM teams and developers to build, characterize and use their own exciting devices, here we provide not only the app itself, but also the complete code as Open Source: | To help iGEM teams and developers to build, characterize and use their own exciting devices, here we provide not only the app itself, but also the complete code as Open Source: | ||
- | |||
- | The application is implemented in a minimal | + | <html><a href="https://static.igem.org/mediawiki/2014/9/9e/Aachen_SerialClient.zip" style="font-size:160%; font-weight:bold;">Download Serial Client App and Sources</a></html> |
+ | |||
+ | |||
+ | The application is implemented in a minimal <html><a href="http://en.wikipedia.org/wiki/Model_View_ViewModel" title="Wikipedia article on Model View ViewModel">MVVN</a></html> pattern to permit efficient expansion with additional features. At the same time, the app only depends on two external libraries: | ||
* [http://dynamicdatadisplay.codeplex.com/ Dynamic Data Display] ([http://dynamicdatadisplay.codeplex.com/license license]) for live plotting of data | * [http://dynamicdatadisplay.codeplex.com/ Dynamic Data Display] ([http://dynamicdatadisplay.codeplex.com/license license]) for live plotting of data | ||
* [http://www.nuget.org/packages/TCD.Controls/ TCD.Controls] for multiple controls and internal functionality | * [http://www.nuget.org/packages/TCD.Controls/ TCD.Controls] for multiple controls and internal functionality | ||
Line 34: | Line 36: | ||
<center> | <center> | ||
- | {{Team:Aachen/Figure|Aachen SerialClient DependencyGraph1.png|align=center|title=Overview dependency graph of the Serial Client architechture|width=500px}} | + | {{Team:Aachen/Figure|Aachen SerialClient DependencyGraph1.png|align=center|title=Overview dependency graph of the Serial Client architechture|subtitle=In addition to the typical MVVM components (ViewModel, Converter, App, MainWindow), a ''Serial'' class is central to the architechture, receiving data from serial ports and forwarding it as ''SensorData'' to the ViewModel.|width=500px}} |
</center> | </center> | ||
Line 40: | Line 42: | ||
<center> | <center> | ||
- | {{Team:Aachen/Figure|Aachen SerialClient DependencyGraph2.png|align=center|title=Detailed dependency graph of the Serial Client architechture|width=1018px}} | + | {{Team:Aachen/Figure|Aachen SerialClient DependencyGraph2.png|align=center|title=Detailed dependency graph of the Serial Client architechture|subtitle=The ViewModel consists of public properties and RelayCommands that are required for DataBinding in the MainWindow. The methods within the ViewModel can be grouped in the categories ''Export'', ''Visualization'' and ''Data Accumulation''.|width=1018px}} |
</center> | </center> | ||
+ | |||
+ | ''If you have questions on the Serial Client, please contact [mailto:thecakedev@hotmail.com Michael].'' | ||
+ | |||
+ | |||
{{Team:Aachen/Footer}} | {{Team:Aachen/Footer}} |
Latest revision as of 19:57, 17 October 2014
|