{"id":91,"date":"2024-07-15T12:46:02","date_gmt":"2024-07-15T10:46:02","guid":{"rendered":"https:\/\/dvconchallenge.de\/?page_id=91"},"modified":"2025-07-15T15:23:30","modified_gmt":"2025-07-15T13:23:30","slug":"dvcon-challenge","status":"publish","type":"page","link":"https:\/\/dvconchallenge.de\/index.php\/dvcon-challenge\/","title":{"rendered":"The Challenge"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><em>\u201cSmart Engineer-Availability Indicator\u201d<\/em><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Use case<\/h2>\n\n\n\n<p>As a simple and yet representative design we have chosen a <em>\u201c<\/em><em>S<\/em><em>mart <\/em><em>E<\/em><em>ngineer-<\/em><em>A<\/em><em>vailability <\/em><em>I<\/em><em>ndicator\u201d<\/em>, short: SEAI. It shall be powered by a battery; hence, we want to understand how long the battery life-time will be and how to optimize it. The intention of the SEAI is to provide information on the availability status of an engineer online, e.g. on a central web page.&nbsp;<\/p>\n\n\n\n<p>The status (or state) that is displayed can be one of the following:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>(<strong>At work, in office<\/strong>) Engineer is in the office,&nbsp;<\/li>\n\n\n\n<li>(<strong>At work, not in office<\/strong>) Engineer is not in the office, but eventually back soon.&nbsp;<\/li>\n\n\n\n<li>(<strong>Not at work<\/strong>) Engineer is not in the office and not at work.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Inputs are&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>button <\/strong>that registers working times. Pressing the button changes the state from the <em>\u201cat work\u201d <\/em>states to<em> \u201cnot at work\u201d<\/em> or <em>\u201cnot at work\u201d <\/em>to <em>\u201cat work, in office\u201d<\/em> or <em>\u201cat work, not in office\u201d<\/em>.&nbsp;<\/li>\n\n\n\n<li>The <strong>door knob<\/strong> to lock\/unlock the door. If the door is not locked, the engineer is in his office, otherwise not in the office or (depending on the button) not at work.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"368\" src=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2025\/04\/PowerstateMachine.png\" alt=\"\" class=\"wp-image-202\" srcset=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2025\/04\/PowerstateMachine.png 570w, https:\/\/dvconchallenge.de\/wp-content\/uploads\/2025\/04\/PowerstateMachine-300x194.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/figure>\n\n\n\n<p>Depending on the state or changes of the state, the following actions are performed:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A message is sent to the central web server via WLAN which updates the state.<\/li>\n\n\n\n<li>A message is sent to nearby devices via Bluetooth which updates the state.&nbsp;<\/li>\n\n\n\n<li>The status is always displayed by an LED (green: in office, blue: at work, but not in office, red: not at work).&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">SystemC testbench and model template<\/h2>\n\n\n\n<p>For evaluation and comparison purposes, we provide a SystemC test bench. In the test bench, the <em>SEAI system<\/em> is instantiated and connected with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inputs that are a sequence of changes of the status.<\/li>\n\n\n\n<li>The results of the power\/energy estimation:\n<ul class=\"wp-block-list\">\n<li>The overall energy consumed over a simulation of a use case scenario.<\/li>\n\n\n\n<li>A sequence of &lt;time, power&gt; values that model the estimated (instantaneous) power consumption.&nbsp;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>The test bench with the simple model instance shall serve as a starting point. It includes the basic structure and a template for the SEAI system. The template for the SEAI includes&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Basic setup for state changes and initial state definitions.<\/li>\n\n\n\n<li>Placeholders for the power consumption estimation methods to be created.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">HW\/SW details<\/h2>\n\n\n\n<p>In the following we give a brief description of the hardware. Actually, one likely might not need all details as we provide comprehensive measurement data.&nbsp;<\/p>\n\n\n\n<p><em>The implementation is based on the ESP32-WROOM-32D. It includes<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>a central processing unit with memory,&nbsp;<\/em><\/li>\n\n\n\n<li><em>a Bluetooth transceiver, and<\/em><\/li>\n\n\n\n<li><em>a WLAN transceiver.<\/em><\/li>\n<\/ul>\n\n\n\n<p><em>To the ESP board, we added<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>four addressable RGB LEDs (PL9823 model), and&nbsp;<\/em><\/li>\n\n\n\n<li><em>an LCD display (2004B BL model) via I\u00b2C.&nbsp;<\/em><\/li>\n<\/ul>\n\n\n\n<p><em>User inputs include a button and a potentiometer. The potentiometer, built into the door lock, changes the status when the door knob is turned. The button serves as an alternative input, allowing status changes based on the time recording system.&nbsp;&nbsp;<\/em><\/p>\n\n\n\n<p><em>A schematic is shown below.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" src=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-1024x719.jpg\" alt=\"\" class=\"wp-image-109\" srcset=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-1024x719.jpg 1024w, https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-300x211.jpg 300w, https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-768x539.jpg 768w, https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-1536x1079.jpg 1536w, https:\/\/dvconchallenge.de\/wp-content\/uploads\/2024\/07\/Doorsign_Schaltplan-2048x1438.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Videos<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=w3nmvz7W-dI\" title=\"DVCon Europe 2025SystemC Modeling Challenge Introduction\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/w3nmvz7W-dI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Data set for power estimation<\/h2>\n\n\n\n<p>The data set contains long-time measurements of the complete, above-given system.&nbsp;<\/p>\n\n\n\n<p>Furthermore, a power state transition machine is given that might be the starting point for a SystemC implementation. Note that of course other solutions are encouraged, in particular using machine learning methods.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2025\/06\/DVConChallengeLongTimeMeasurement_2.csv\">Download Dataset<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/dvconchallenge.de\/wp-content\/uploads\/2025\/07\/DVConChallengeLongTimeMeasurement_States.csv\">Download Annotated Dataset<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/tukcps\/DVCON-Europe-Challenge\">To the TestBench Repository<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u201cSmart Engineer-Availability Indicator\u201d Use case As a simple and yet representative design we have chosen a \u201cSmart Engineer-Availability Indicator\u201d, short: SEAI. It shall be powered by a battery; hence, we want to understand how long the battery life-time will be and how to optimize it. The intention of the SEAI is to provide information on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-91","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/pages\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/comments?post=91"}],"version-history":[{"count":19,"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/pages\/91\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/pages\/91\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/dvconchallenge.de\/index.php\/wp-json\/wp\/v2\/media?parent=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}