Added the ESP Medicine post for a Monday morning release.
This commit is contained in:
BIN
public/esp_medicine_indicator.png
Normal file
BIN
public/esp_medicine_indicator.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
@ -141,6 +141,20 @@ if (!doNotTrack) {
|
||||
</footer>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="./esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2>ESP8266 Medicine Indicator Light
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>This is a quick treat! We recently learned that one of our children needs to take medicine twice a day for the foreseeable future. He’s too young to take it on his own, so the twice-a-day responsibility is split up between my partner and I. However, sometimes our schedules don’t overlap so succinctly, so we needed some sort of indicator to let the other know if the previous dose was (or wasn’t!...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2023-10-16 11:34:14 -0400 EDT'>October 16, 2023</span> · 6 min · 1170 words · Me</footer>
|
||||
<a class="entry-link" aria-label="post link to ESP8266 Medicine Indicator Light" href="./posts/medicine_indicator_light.html"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
|
||||
</figure>
|
||||
|
||||
@ -6,7 +6,16 @@
|
||||
<description>Recent content on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>ESP8266 Medicine Indicator Light</title>
|
||||
<link>/posts/medicine_indicator_light.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/posts/medicine_indicator_light.html</guid>
|
||||
<description>Learn how to make an ESP8266 and a few simple components into an indicator light.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>BirdNET-PI & HomeAssistant: Part 2</title>
|
||||
<link>/posts/birdnet_homeassistant_part2.html</link>
|
||||
|
||||
@ -115,6 +115,20 @@ if (!doNotTrack) {
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="./esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2>ESP8266 Medicine Indicator Light
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>This is a quick treat! We recently learned that one of our children needs to take medicine twice a day for the foreseeable future. He’s too young to take it on his own, so the twice-a-day responsibility is split up between my partner and I. However, sometimes our schedules don’t overlap so succinctly, so we needed some sort of indicator to let the other know if the previous dose was (or wasn’t!...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2023-10-16 11:34:14 -0400 EDT'>October 16, 2023</span> · 6 min · 1170 words · Me</footer>
|
||||
<a class="entry-link" aria-label="post link to ESP8266 Medicine Indicator Light" href="./posts/medicine_indicator_light.html"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
|
||||
</figure>
|
||||
|
||||
@ -822,6 +822,11 @@ anywhere!</p>
|
||||
<li><a href="../tags/selfhosted.html">selfhosted</a></li>
|
||||
</ul>
|
||||
<nav class="paginav">
|
||||
<a class="prev" href="../posts/medicine_indicator_light.html">
|
||||
<span class="title">« Prev</span>
|
||||
<br>
|
||||
<span>ESP8266 Medicine Indicator Light</span>
|
||||
</a>
|
||||
<a class="next" href="../posts/birdnet_homeassistant.html">
|
||||
<span class="title">Next »</span>
|
||||
<br>
|
||||
|
||||
BIN
public/posts/img/esp_indicator_1.png
Normal file
BIN
public/posts/img/esp_indicator_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 MiB |
BIN
public/posts/img/esp_indicator_2.png
Normal file
BIN
public/posts/img/esp_indicator_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 MiB |
BIN
public/posts/img/esp_indicator_3.png
Normal file
BIN
public/posts/img/esp_indicator_3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 MiB |
BIN
public/posts/img/esp_indicator_wires.png
Normal file
BIN
public/posts/img/esp_indicator_wires.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 MiB |
@ -6,7 +6,16 @@
|
||||
<description>Recent content in Posts on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>ESP8266 Medicine Indicator Light</title>
|
||||
<link>/posts/medicine_indicator_light.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/posts/medicine_indicator_light.html</guid>
|
||||
<description>Learn how to make an ESP8266 and a few simple components into an indicator light.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>BirdNET-PI & HomeAssistant: Part 2</title>
|
||||
<link>/posts/birdnet_homeassistant_part2.html</link>
|
||||
|
||||
620
public/posts/medicine_indicator_light.html
Normal file
620
public/posts/medicine_indicator_light.html
Normal file
File diff suppressed because one or more lines are too long
@ -2,29 +2,38 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>/tags/diy.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags/esp.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/posts/medicine_indicator_light.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/posts.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags/tutorial.html</loc>
|
||||
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/posts/birdnet_homeassistant_part2.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/categories.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags/diy.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags/homeassistant.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/posts.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags/selfhosted.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/tags.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
</url><url>
|
||||
<loc>/categories/tutorial.html</loc>
|
||||
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
|
||||
|
||||
@ -106,7 +106,10 @@ if (!doNotTrack) {
|
||||
<a href="./tags/commandline.html">commandline <sup><strong><sup>3</sup></strong></sup> </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="./tags/diy.html">diy <sup><strong><sup>3</sup></strong></sup> </a>
|
||||
<a href="./tags/diy.html">diy <sup><strong><sup>4</sup></strong></sup> </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="./tags/esp.html">esp <sup><strong><sup>1</sup></strong></sup> </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="./tags/git.html">git <sup><strong><sup>4</sup></strong></sup> </a>
|
||||
@ -123,6 +126,9 @@ if (!doNotTrack) {
|
||||
<li>
|
||||
<a href="./tags/selfhosted.html">selfhosted <sup><strong><sup>1</sup></strong></sup> </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="./tags/tutorial.html">tutorial <sup><strong><sup>1</sup></strong></sup> </a>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
|
||||
@ -100,6 +100,20 @@ if (!doNotTrack) {
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry tag-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="../esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2>ESP8266 Medicine Indicator Light
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>This is a quick treat! We recently learned that one of our children needs to take medicine twice a day for the foreseeable future. He’s too young to take it on his own, so the twice-a-day responsibility is split up between my partner and I. However, sometimes our schedules don’t overlap so succinctly, so we needed some sort of indicator to let the other know if the previous dose was (or wasn’t!...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2023-10-16 11:34:14 -0400 EDT'>October 16, 2023</span> · 6 min · 1170 words · Me</footer>
|
||||
<a class="entry-link" aria-label="post link to ESP8266 Medicine Indicator Light" href="../posts/medicine_indicator_light.html"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry tag-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
|
||||
</figure>
|
||||
|
||||
@ -6,7 +6,16 @@
|
||||
<description>Recent content in diy on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/diy/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/tags/diy/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>ESP8266 Medicine Indicator Light</title>
|
||||
<link>/posts/medicine_indicator_light.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/posts/medicine_indicator_light.html</guid>
|
||||
<description>Learn how to make an ESP8266 and a few simple components into an indicator light.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>BirdNET-PI & HomeAssistant: Part 2</title>
|
||||
<link>/posts/birdnet_homeassistant_part2.html</link>
|
||||
|
||||
188
public/tags/esp.html
Normal file
188
public/tags/esp.html
Normal file
@ -0,0 +1,188 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>esp | Norm-working Packets 💾</title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||
<meta name="author" content="Norm Rasmussen">
|
||||
<link rel="canonical" href="../tags/esp.html">
|
||||
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="../favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
|
||||
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="../safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" type="application/rss+xml" href="../tags/esp/index.xml">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
|
||||
<script>
|
||||
var doNotTrack = false;
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||
}
|
||||
</script>
|
||||
<meta property="og:title" content="esp" />
|
||||
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="/tags/esp.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="esp"/>
|
||||
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list dark" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="../posts.html" title="Posts">
|
||||
<span>Posts</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
|
||||
<h1>
|
||||
esp
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry tag-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="../esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2>ESP8266 Medicine Indicator Light
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>This is a quick treat! We recently learned that one of our children needs to take medicine twice a day for the foreseeable future. He’s too young to take it on his own, so the twice-a-day responsibility is split up between my partner and I. However, sometimes our schedules don’t overlap so succinctly, so we needed some sort of indicator to let the other know if the previous dose was (or wasn’t!...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2023-10-16 11:34:14 -0400 EDT'>October 16, 2023</span> · 6 min · 1170 words · Me</footer>
|
||||
<a class="entry-link" aria-label="post link to ESP8266 Medicine Indicator Light" href="../posts/medicine_indicator_light.html"></a>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
20
public/tags/esp/index.xml
Normal file
20
public/tags/esp/index.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>esp on Norm-working Packets 💾</title>
|
||||
<link>/tags/esp.html</link>
|
||||
<description>Recent content in esp on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/tags/esp/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>ESP8266 Medicine Indicator Light</title>
|
||||
<link>/posts/medicine_indicator_light.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/posts/medicine_indicator_light.html</guid>
|
||||
<description>Learn how to make an ESP8266 and a few simple components into an indicator light.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
10
public/tags/esp/page/1.html
Normal file
10
public/tags/esp/page/1.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<title>/tags/esp.html</title>
|
||||
<link rel="canonical" href="../../../tags/esp.html">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=../../../tags/esp.html">
|
||||
</head>
|
||||
</html>
|
||||
@ -6,16 +6,34 @@
|
||||
<description>Recent content in Tags on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>diy</title>
|
||||
<link>/tags/diy.html</link>
|
||||
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/tags/diy.html</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>esp</title>
|
||||
<link>/tags/esp.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/tags/esp.html</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>tutorial</title>
|
||||
<link>/tags/tutorial.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/tags/tutorial.html</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>homeassistant</title>
|
||||
<link>/tags/homeassistant.html</link>
|
||||
|
||||
188
public/tags/tutorial.html
Normal file
188
public/tags/tutorial.html
Normal file
@ -0,0 +1,188 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>tutorial | Norm-working Packets 💾</title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="A semi-technical blog & series of experiences working in tech and my homelab">
|
||||
<meta name="author" content="Norm Rasmussen">
|
||||
<link rel="canonical" href="../tags/tutorial.html">
|
||||
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U+6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="../favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
|
||||
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="../safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" type="application/rss+xml" href="../tags/tutorial/index.xml">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
|
||||
<script>
|
||||
var doNotTrack = false;
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
|
||||
}
|
||||
</script>
|
||||
<meta property="og:title" content="tutorial" />
|
||||
<meta property="og:description" content="A semi-technical blog & series of experiences working in tech and my homelab" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="/tags/tutorial.html" /><meta property="og:site_name" content="Norm-working Packets" />
|
||||
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="tutorial"/>
|
||||
<meta name="twitter:description" content="A semi-technical blog & series of experiences working in tech and my homelab"/>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list dark" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="../posts.html" title="Posts">
|
||||
<span>Posts</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
|
||||
<h1>
|
||||
tutorial
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry tag-entry">
|
||||
<figure class="entry-cover"><img loading="lazy" src="../esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2>ESP8266 Medicine Indicator Light
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>This is a quick treat! We recently learned that one of our children needs to take medicine twice a day for the foreseeable future. He’s too young to take it on his own, so the twice-a-day responsibility is split up between my partner and I. However, sometimes our schedules don’t overlap so succinctly, so we needed some sort of indicator to let the other know if the previous dose was (or wasn’t!...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2023-10-16 11:34:14 -0400 EDT'>October 16, 2023</span> · 6 min · 1170 words · Me</footer>
|
||||
<a class="entry-link" aria-label="post link to ESP8266 Medicine Indicator Light" href="../posts/medicine_indicator_light.html"></a>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2023 <a href="../">Norm-working Packets 💾</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
20
public/tags/tutorial/index.xml
Normal file
20
public/tags/tutorial/index.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>tutorial on Norm-working Packets 💾</title>
|
||||
<link>/tags/tutorial.html</link>
|
||||
<description>Recent content in tutorial on Norm-working Packets 💾</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/tags/tutorial/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>ESP8266 Medicine Indicator Light</title>
|
||||
<link>/posts/medicine_indicator_light.html</link>
|
||||
<pubDate>Mon, 16 Oct 2023 11:34:14 -0400</pubDate>
|
||||
|
||||
<guid>/posts/medicine_indicator_light.html</guid>
|
||||
<description>Learn how to make an ESP8266 and a few simple components into an indicator light.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
10
public/tags/tutorial/page/1.html
Normal file
10
public/tags/tutorial/page/1.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<title>/tags/tutorial.html</title>
|
||||
<link rel="canonical" href="../../../tags/tutorial.html">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=../../../tags/tutorial.html">
|
||||
</head>
|
||||
</html>
|
||||
Reference in New Issue
Block a user