, but this code // executes before the first paint, when

黄大仙高手论坛

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Internet of Things Meets Building Energy Efficiency | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Internet of Things Meets Building Energy Efficiency

research1

Curtis Kortman and Professor Heun researched how the Internet of Things, an idea where all devices are connected and share information, could be used to improve building energy efficiency.


<p><strong>Professor Matt Heun and Curtis Kortman</strong></p>
<p>In summer&nbsp;2015,<span>&nbsp;Curtis Kortman and Professor Heun researched how the Internet of Things, an idea where all devices are connected and share information, could be used to improve building energy efficiency. The research focused on the development of a Raspberry Pi prototype that could be used to gather relevant environmental data such as light levels, temperature, and occupancy. To make the data useful, a web interface was developed so the data could be viewed remotely. Additionally, analysis capabilities were added to improve in the data&rsquo;s usefulness for decision making. The research project will be utilized by the Calvin Energy Recovery Fund, and possibly expand to the fall semester.</span></p>