This commit is contained in:
ckaczor
2024-11-21 23:16:54 +00:00
parent 48f46f5794
commit 8137f6ac40
23 changed files with 447 additions and 447 deletions

View File

@@ -5,11 +5,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weather Station</title>
<meta name="description" content="Code, Critters, and whatever I feel like writing about.">
<link rel="alternate" href="/eleventy-base-blog/feed/feed.xml" type="application/atom+xml" title="Chris Kaczor">
<link rel="alternate" href="/Blog/feed/feed.xml" type="application/atom+xml" title="Chris Kaczor">
<link rel="apple-touch-icon" sizes="180x180" href="/eleventy-base-blog/img/apple-touch-icon.png?v=2">
<link rel="icon" type="image/png" sizes="32x32" href="/eleventy-base-blog/img/favicon-32x32.png?v=2">
<link rel="icon" type="image/png" sizes="16x16" href="/eleventy-base-blog/img/favicon-16x16.png?v=2">
<link rel="apple-touch-icon" sizes="180x180" href="/Blog/img/apple-touch-icon.png?v=2">
<link rel="icon" type="image/png" sizes="32x32" href="/Blog/img/favicon-32x32.png?v=2">
<link rel="icon" type="image/png" sizes="16x16" href="/Blog/img/favicon-16x16.png?v=2">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
@@ -507,22 +507,22 @@ img[width][height] {
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<a href="/eleventy-base-blog/" class="home-link">Chris Kaczor</a>
<a href="/Blog/" class="home-link">Chris Kaczor</a>
<nav>
<h2 class="visually-hidden" id="top-level-navigation-menu">Top level navigation menu</h2>
<ul class="nav">
<li class="nav-item">
<a href="/eleventy-base-blog/">
<a href="/Blog/">
Home
</a>
</li>
<li class="nav-item">
<a href="/eleventy-base-blog/tags/">
<a href="/Blog/tags/">
Tags
</a>
</li>
<li class="nav-item">
<a href="/eleventy-base-blog/about/">
<a href="/Blog/about/">
About
</a>
</li>
@@ -540,10 +540,10 @@ img[width][height] {
<time datetime="2018-02-17">17 February 2018</time>
</li>
<li>
<a href="/eleventy-base-blog/tags/code/" class="post-tag">Code</a>,
<a href="/Blog/tags/code/" class="post-tag">Code</a>,
</li>
<li>
<a href="/eleventy-base-blog/tags/weather/" class="post-tag">Weather</a>
<a href="/Blog/tags/weather/" class="post-tag">Weather</a>
</li>
</ul>
@@ -553,21 +553,21 @@ img[width][height] {
<p>The code and application has changed quite a bit over the years. Originally it was split into two libraries - one for the 1-Wire network and one for weather devices like temperature and pressure - and a WinForms application that displayed the current readings and graphs of the last 24 hours of readings.</p>
<p>Eventually I wanted to view the readings remotely so the application was refactored into a service that ran on the server with the hardware connection and a viewer that could run anywhere. It used .NET remoting (the recommended technique at the time) to connect the two pieces. This worked okay for a while and I created a few different applications to view the data - more about them in later posts.</p>
<p>Later when I got a smartphone it made sense to create something that would let me view things from my phone. I started down the path of creating an Android application but then decided that it'd be better to create a web application that could be used everywhere. I added a <a href="https://www.asp.net/signalr">SignalR</a> interface to the service and created a basic AngularJS 1.x web application as the viewer.</p>
<p><a href="/eleventy-base-blog/blog/weather-station/images/Weather-Old-Current.png"><picture><source type="image/avif" srcset="/eleventy-base-blog/img/CRIFD7TqRl-397.avif 397w"><source type="image/webp" srcset="/eleventy-base-blog/img/CRIFD7TqRl-397.webp 397w"><img loading="lazy" decoding="async" src="/eleventy-base-blog/img/CRIFD7TqRl-397.png" alt="" width="397" height="210"></picture></a></p>
<p><a href="/eleventy-base-blog/blog/weather-station/images/Weather-Old-Chart.png"><picture><source type="image/avif" srcset="/eleventy-base-blog/img/_AHvzLh23d-790.avif 790w"><source type="image/webp" srcset="/eleventy-base-blog/img/_AHvzLh23d-790.webp 790w"><img loading="lazy" decoding="async" src="/eleventy-base-blog/img/_AHvzLh23d-790.png" alt="" width="790" height="434"></picture></a></p>
<p><a href="/Blog/blog/weather-station/images/Weather-Old-Current.png"><picture><source type="image/avif" srcset="/Blog/img/CRIFD7TqRl-397.avif 397w"><source type="image/webp" srcset="/Blog/img/CRIFD7TqRl-397.webp 397w"><img loading="lazy" decoding="async" src="/Blog/img/CRIFD7TqRl-397.png" alt="" width="397" height="210"></picture></a></p>
<p><a href="/Blog/blog/weather-station/images/Weather-Old-Chart.png"><picture><source type="image/avif" srcset="/Blog/img/_AHvzLh23d-790.avif 790w"><source type="image/webp" srcset="/Blog/img/_AHvzLh23d-790.webp 790w"><img loading="lazy" decoding="async" src="/Blog/img/_AHvzLh23d-790.png" alt="" width="790" height="434"></picture></a></p>
<p>The AngularJS 1.x application worked well for a while but started to show its age so I decided to re-write it with Vue.js and that's where things are now. The new web application also integrates with some of my more recent projects like the laundry monitor that I'll write more about soon.</p>
<p><a href="/eleventy-base-blog/blog/weather-station/images/Weather-New-Dashboard.png"><picture><source type="image/avif" srcset="/eleventy-base-blog/img/TfbGZVfftX-1361.avif 1361w"><source type="image/webp" srcset="/eleventy-base-blog/img/TfbGZVfftX-1361.webp 1361w"><img loading="lazy" decoding="async" src="/eleventy-base-blog/img/TfbGZVfftX-1361.png" alt="" width="1361" height="350"></picture></a></p>
<p><a href="/eleventy-base-blog/blog/weather-station/images/Weather-New-Chart.png"><picture><source type="image/avif" srcset="/eleventy-base-blog/img/DdGjKWFTJJ-1363.avif 1363w"><source type="image/webp" srcset="/eleventy-base-blog/img/DdGjKWFTJJ-1363.webp 1363w"><img loading="lazy" decoding="async" src="/eleventy-base-blog/img/DdGjKWFTJJ-1363.png" alt="" width="1363" height="643"></picture></a></p>
<p><a href="/Blog/blog/weather-station/images/Weather-New-Dashboard.png"><picture><source type="image/avif" srcset="/Blog/img/TfbGZVfftX-1361.avif 1361w"><source type="image/webp" srcset="/Blog/img/TfbGZVfftX-1361.webp 1361w"><img loading="lazy" decoding="async" src="/Blog/img/TfbGZVfftX-1361.png" alt="" width="1361" height="350"></picture></a></p>
<p><a href="/Blog/blog/weather-station/images/Weather-New-Chart.png"><picture><source type="image/avif" srcset="/Blog/img/DdGjKWFTJJ-1363.avif 1363w"><source type="image/webp" srcset="/Blog/img/DdGjKWFTJJ-1363.webp 1363w"><img loading="lazy" decoding="async" src="/Blog/img/DdGjKWFTJJ-1363.png" alt="" width="1363" height="643"></picture></a></p>
<p>At this point the <a href="https://github.com/ckaczor/WeatherService">WeatherService</a> project is responsible for reading the sensors, writing the readings to the database, and providing historical data for charting. It still uses my original <a href="https://github.com/ckaczor/OneWireAPI">OneWireAPI</a> library to access the 1-Wire network.</p>
<p>Unfortunately AAG seems to have gone out of business so it is probably impossible to create the same setup or for me to get replacement parts. I've been looking at some off-the-shelf weather stations that I can read in a similar way but I haven't found anything I like so far. I'll probably be forced to find something soon since I'm starting to have some problems that look like hardware issues.</p>
<ul class="links-nextprev">
<li class="links-nextprev-prev">← Previous<br>
<a href="/eleventy-base-blog/blog/hello-world/">Hello world!</a>
<a href="/Blog/blog/hello-world/">Hello world!</a>
</li>
<li class="links-nextprev-next">Next →<br>
<a href="/eleventy-base-blog/blog/floating-status-window/">Floating Status Window</a>
<a href="/Blog/blog/floating-status-window/">Floating Status Window</a>
</li>
</ul>
@@ -580,7 +580,7 @@ img[width][height] {
</p>
</footer>
<!-- This page `/eleventy-base-blog/blog/weather-station/` was built on 2024-11-21T23:06:36.398Z -->
<script type="module" src="/eleventy-base-blog/dist/rJ3_G-2ArF.js"></script>
<!-- This page `/Blog/blog/weather-station/` was built on 2024-11-21T23:16:50.532Z -->
<script type="module" src="/Blog/dist/rJ3_G-2ArF.js"></script>
</body>
</html>