Posts
-
Python Randomized Name Generator
May 17, 2021
After dropping off the face of the Earth to complete a semester of school, I am back home for a summer internship. I now have more time to work on my various projects and to make write-ups about them. Over the last semester I played Dungeons and Dragons with a group of friends every Tuesday. It helped to keep me sane and social during the age of the Coronavirus. I was the Dungeon Master for each session, so I was responsible for providing a world for the players to live in.
With the heavy amount of improv that I had to use each session, I made a few different tools in order to lighten the load. One such tool is a Python script that randomly generates names based on several inputs—no more awkward pauses after the players ask for the name of a character that you didn't prepare a name for in advance! The project was also a great excuse to learn how to use Tkinter. -
Rhasspy Voice Assistant with Node-Red
December 21, 2020
I decided that I wanted a voice assistant, but didn't want to go with a product like Amazon Echo or Google Home. I don't like the idea of having a device listening in on my conversations that is not entirely in my control. This is where Rhasspy comes in. Rhasspy is an open source, fully offline set of voice assistant services that can run on a Raspberry Pi. While there is quite a bit more involved in setting everything up compared to a commercial voice assistant, everything is much more customizable and your data is in your control.
I started out running Rhasspy on a Raspberry Pi 4 with 2 GB of ram and a ReSpeaker 6-Mic Circular Array hat. While I was pleased with the performance, I decided to leverage my NUC as a base station. The NUC takes care of speech to text, intent recognition, text to speech, and intent handling. I have a Raspberry Pi serving as a satellite, taking care of care of wake word detection, audio recording, and audio playback. -
Ubuntu / Raspbian TShock Server
December 13, 2020
I recently purchased an Intel NUC10i3FNK to use as a home server. I loaded it up with Ubuntu and have been working on a variety of projects (which I plan to post about soon). I decided to make use of my spare processing power to run a Terraria server for my friends and I.
Most of the tutorials I found online for running a Terraria server on Linux were pretty dated, so I decided to write some bash scripts to wrap everything together. I used James Chamber's Minecraft scripts as a starting point and expanded upon them to make everything work with Terraria. I went with TShock to run the server, which provides a host of different tools. I have tested my scripts on both **Ubuntu Server 20.04.1** and **Raspbian Lite Buster**. -
DIY HUE Light Switch Using an ESP8266
September 23, 2020
Quarantine was the straw that broke the camel's back when it came to my sleeping habits. In an effort to get back on track, I purchased some Hue lightbulbs. My main intent was to use them to simulate daylight automatically so that my circadian rhythm would be less affected by having the blinds closed. I also have been experimenting with turning the lights on gradually as I'm about to wake up for the day. I was able to accomplish all of these things through the Hue app.
However, one of the drawbacks to these lights is that they must have constant access to power in order to turn on automatically. This meant that using my normal light switch wouldn't work for turning the lights on and off. I could use the Hue app for this, but I was interested in something more tactile. For a cool $59.99 I could simply buy a Hue light switch, but I laughed at the price and instead spent more in time and materials to make a light switch myself. But hey, at the very least the next light switch I make will be much cheaper as I bought parts in bulk.