Corvettes, Beer, Microcontrollers, and Future Plans

Once again, I’ve gotten out of stride with my posts. Last weekend was a rather busy weekend for me as I looked over a number of possible C3 Corvettes for sale. While there were some very nice Corvettes I looked at, I found that each one just had some flaws that I wasn’t prepared to deal with.

Classic Car Hunt

The Mid 70’s Corvettes were a very interesting time for the Corvette, because they went away from the all chrome trim that was found on most cars in the late sixties to early seventies. Also, the power specs started to go way down with the required addition of emissions equipment. Performance-wise, the mid seventies Corvettes were rather pathetic (the “high performance” option only made 225 hp in 1979) but GM made a ton of these cars (they made over 53,000 Corvettes in 1979). The way I look at it, these cars can be picked up at a pretty good price for a classic. I’m not too concerned about the originality, so I have no problem putting on some high performance modifications to give the car a bit more power than the factory specs. I still want the car to look and sound original, but if it’s modified under the hood, that’s fine with me.

1979 Corvette (Courtesy of Hemmings Blog: http://blog.hemmings.com/index.php/2012/11/02/petersen-to-pay-tribute-to-the-corvette-for-its-60th-anniversary/)

That being said, there are a lot of Corvettes out there to look at, and there are a lot that have hidden flaws that can become problematic very quickly. As with most cars that are 40 years old, rust is the biggest enemy. Corvettes had a steel frame which makes rust prevalent in these cars. Fixing rust can be one of the biggest expenses to owning a classic car. For my current scenario, I’d rather pay more up front and have a car with a decent frame than pay less for a car that needs more work. In all of my research on buying a classic, everyone has told me to save my money and buy the car that’s already at the point that I want it to be at, since it will cost a lot more money if I buy a car that’s cheaper but requires work to be done.

While I’m hoping to get a Corvette before the winter comes, I’m not going to jump on something just for the sake of getting a classic. I have a very specific idea about what I want. So my research continues as I look for my 1974-1979 Corvette.

Home Brew

In the world of beer, I just finished bottling my Dunkel Rye batch. I tried a sample during bottling and while it tastes like a German beer, I find it’s lacking the body that I was hoping for. What I’m discovering is I’m trying to make a beer that’s got a full body. I’m not looking for something as heavy as Guiness, but something that’s got a body similar to a Killian’s Red Ale. I haven’t decided what my next batch of beer is going to be yet, but it’s going to be something likely a bit lighter. I’ve made two dark beers, and I’d like to try a light beer. I’ll have more updates on how the Dunkel turns out in about 2 weeks when it’s done carbonating.

Siphoning Action
Siphoning Action
No Leaking This Time
No Leaking This Time
A Sample (No, it's not Scotch Wiskey)
A Sample (No, it’s not whiskey)
Replenished my Beer Supply Just in Time!
Replenished my Beer Supply Just in Time! (Second Row is Batch #2)

Beaglebone Black (Nerding Out)

I’ve been spending a lot of time preparing for my next challenge with the Beaglebone Black (BBB). While I haven’t made leaps and bounds towards my time-lapse rig, I’ve found I’ve been working a lot on just developing my understand of what the BBB can do. While it’s pretty basic in the world of embedded electronics, I managed to develop a temperature logging program that runs when the BBB is initially powered on. This is very nice in the sense that you don’t have to SSH into the BBB to get the program working. I can simply plug the power supply in when I’m ready to start logging temperatures and it will log them on a frequency that’s specified in the program. I found out how to start a program on boot from the following site. I’ve discovered that Adafruit is a great resource for learning about how to use the BBB. (The lesson for logging temperatures can be found here.) I added an LED into my circuit so that once the program was running, I could tell if the temperatures were being logged. It’s a green light thank blinks every time a data point is measured.

Temperature Logger with Green LED
Temperature Logger with Green LED (Arduino doesn’t do anything, it’s just for show)
Temperature Plot from Beaglebone Black Data Logger
Temperature Plot from Beaglebone Black Data Logger

As a test, I ran the program over the period just under 4 minutes. It’s just in my den and you can see I brought the temperature up a bit at the beginning, then it comes back to the temperature that’s in the room. As you can see, it’s a bit chilly in my house right now!

I had planned to run a test overnight to see the temperature change, however I made a mistake in my coding. When the program executes, it creates a file with only one name and overwrites any data that was previously on the file. So after I had set up the program, I let it run overnight and collect the data. I had to shut off the BBB and plug it into my ethernet cord to SSH in and get the data (It was in a different room than my internet router). I had forgotten that the program would run on boot, so when it rebooted, it wrote over the file I had created the night before and erased all the data I had collected! Sometimes you have to learn the hard way…

This is a pretty primitive way of logging temperature. There are other things I need to work out. For example, I’d like to work a button switch in that lets me start and stop the data logging process so I’m not relying on stopping Linux processes through the terminal.

Future Plans

My plan for the future is to use the temperature logger to see what the fermentation temperatures of my beer are. Right now I don’t have much control over it, but sometime in the future I’d like to add fermentation temperatures to my brewing experiences to see if manipulating the temperature they’re brewed in makes a significant difference. The only time I know it would make a difference is when brewing a lager versus an ale, since lagers require much lower fermentation temperatures. Logging the temperature gives me a chance to try and see what my beer fermentation temperatures are.

Fermentation Temperature Logger Sketch
Fermentation Temperature Logger Sketch

Once I get a little better at putting BBB scripts together, I’ll start showing the code I used for my programs. Since it’s a mish-mash of code that’s not commented at the moment, it doesn’t look very pretty and probably wouldn’t make much sense to someone looking to do something similar.

More to come!

Advertisements

The Wonderful World of Linux

Over the past couple of weeks I have been messing with Linux and finally it was time to try and install a Linux operating system onto my laptop. Why? Well, if I’m ever going to get a good grasp on running my Beaglebone Black (BBB) I’m going to need a good command of Linux, hence I figured I’d give the Linux operating system a try. While it’s not all command line, it helps me work on my command line skills to try and accomplish tasks by working with the terminal (such as installing new applications or packages using the command line). Plus I feel like a cool coding geek you might see in the movies who’s hacking into a corporation to steal intel, or something intense like that. Of course, it’s more like me typing three lines of code, cursing the fact I mistyped it twice, and cheering when something on my screen actually happens. Yes, my life is that exciting, I bet you wish you were me.

I picked the Debian Linux distribution and used the GNOME desktop environment. I think in the proper terms, Debian (or technically, Debian Jessie) is the name of the base system, and GNOME is the graphical user interface. The actual term is GNU Network Object Model Environment. I’m gonna pretend I know what that means.

So what is Linux? Well, it’s a operating system the same way Windows and Macintosh are operating systems. So what differentiates Linux? Well, it’s an operating system that’s been developed by a collaboration of multiple programmers, developers, and companies, and it’s completely free for the public to use. The short form is that it was developed at it’s very basic level (the “Kernel”) in 1991 by a Finn named Linus Torvalds. Since then, it has grown into a massive platform spanning multiple distributions and forms that the public can use. There is no one sole owner of the Linux operating system, it is developed, maintained, and improved by a community dedicated to the development of free software for the public. (This is Linux at a very basic form, A very good explanation of what Linux is can be found here).

This sounds great! A free operating system? What are the drawbacks?

Well, for starters, you many not invest money in the operating system, but you’re guaranteed to invest time in setting it up. While Linux has gotten to the point where there are very easy distributions to set up, some that arguably are as easy to use as Mac, Linux is almost always not a straightforward process. With so many options and forms of the Linux operating system, there’s always some kind of time investment in configuring your system. For example, when I set up Debian GNOME on my laptop, it didn’t configure my wireless network right after installation. It took some hunting to find the packages and software needed to get wireless up and running. While it’s certainly not hours of coding on the command line, you have to be prepared to be patient if you’ve never used a Linux system before.

Also, as I indicated above, there are so many options for a Linux operating system. Wikipedia will give you a list of all the distributions for each base system. It’s amazing that there’s so many.

The nice thing with so many distributions is that it can be put on pretty much any kind of computers. I was able to install Debian on my laptop with 10 GB of space on my hard drive. Many sources I read indicated that you only really needed about 4-5 GB, 10 GB was probably overkill if you just needed an operating system.

One of the really nice features with most Linux operating systems is that you can write an image of the operating system to either a CD or a USB and run it from that medium on your computer without installing it. This gives you a chance to try the operating system without having to install it right away.

If you go one step further, you can install a program called VirtualBox which creates a virtual machine on your main operating system. This lets you run the Linux operating system within your native operating system. The picture below shows Debian GNOME running with Windows 8 in the background.

Debian Live Using VirtualBox
Debian Live Using VirtualBox

This was running off my laptop. To show just how versatile Linux is, below shows a lightweight version of Debian running off my BBB.

Beaglebone Black Running Debian with XKDE.
Beaglebone Black Running Debian with XFCE.

While it’s hard to tell, I’m running a keyboard, mouse, monitor, and an ethernet cord all into the Beaglebone Black (just above the top left of the keyboard). Maybe it’s just me, but I’m amazed that you can run a full operating system off something so small (when you think that the BBB is a computer, compare that size to a laptop, or even a desktop). Of course, the operating system is somewhat slow if you’re going to run it solely off the BBB, but that’s to be expected when you can only package so much onto such a small surface.

I’ve only scratched the surface of what Linux really is. In the meantime, I’ll be working to get a better grasp of how to use Linux and how I plan to use Linux to interface my BBB to a multitude of embedded electronics and related software. That is all (hopefully) in the near future.

Below are a number of resources you can check out to get more information on what Linux is, the types of distributions there are out there, and how to get a Linux operating system installed on your computer.

http://www.linuxfoundation.org/what-is-linux – Great resource for explaining what Linux is (In much more detail than my post.)

https://www.google.com/?gws_rd=ssl#q=Best+Linux+distributions+for+Desktop – TechRadar resource that breaks down the top 10 Linux distributions

http://www.ubuntu.com/ – Link to Ubuntu, which is one of the easiest Linux distributions to set up if you’re interested in trying it out.

 

Sunday Blues: How I (almost) Bricked My Desktop

It was a beautiful day, the sun was shining and the birds were chirping…

Just kidding. It was a rainy day, it was cold because I’m too cheap to turn up the thermostat in my house, and I chose to start the day by looking at my computer.

While researching an idea for a home based server (which I’ll get into with later posts) I discovered something. The idea of having my own server at home to access my videos, music, photos, etc… is something I’ve thought about for a while. While there are numerous cloud solutions out there (i.e. Dropbox, Google Drive, Onedrive, etc…), the server at least allows me to keep my files on my own machine at home.

One of the inherent issues with a server is that they’re usually meant to be running all the time. My problem with this is it runs down the life of the components, wastes energy, and seems unnecessary to have it on all the time.

It so happens that there’s a fancy function out there called “Wake on LAN”. What this basically means is that if you have in internet connection (wired, not wireless) you can turn on a computer remotely using another computer, a phone, or a tablet.

In technical terms, what you’re doing is send what’s called a “magic packet” (I kid you not, this is what the term is) over the internet to your computer, and so long as the packet is received by the computer (i.e. not blocked by a firewall), the packet tells the computer to turn on.

(There’s a better technical explanation here. I didn’t want to go into too much detail considering I hardly understand it myself.)

This sounded awesome to me. Why not create a hard drive that can be accessed by all my computers and devices (smartphone, iPad, etc…) and when I need to access it remotely, have it power on when I need it to rather than have my computer on all the time?

After reading a few blogs, a lot of people indicated that this is supposed to be a straightforward process to set up. All you needed to do is access your BIOS setting and ensure the “Resume from PCIe Device” (or some form of it) is enabled, check the windows setting for the same box and ensure it’s enabled, find your IP address (not the one the internet sees,  your home IP address, they’re apparently different), find your MAC address, your subnet mask, and forward your ports to your IP address. Then Voila! It should work. That should be easy to set up.

Oh, I was so wrong about that.

From the moment I decided to try and implement it (10:00 AM) to the time I had my first idea (spoiler alert: it was a bad idea) I had spent 6 and a half hours trying to make it work. Sadly, it just didn’t work.

From trying to check if my ports were forwarded correctly, to checking and re-checking that the windows settings allowed for Wake on LAN, to re-checking the BIOS over and over, I was out of ideas. I came across a forum of someone who had the same issue as me. One suggestion was that I try to update the motherboard BIOS of my computer, because sometimes updates fix issues with previous versions related to Wake on LAN.

My grand idea: Let’s update the BIOS on my motherboard. (BIOS stands for Basic Input Output System; its a set of instructions that communicates with the processor after start up, and communicates with connected devices in the computer, such as the hard drives, ram, power supply, motherboard, etc…)

Without hesitation, I found the BIOS update on the motherboard manufacturer website and proceeded to update my BIOS. After what I thought was a freeze up during the update process, I decided to restart my computer. Bad Idea.

Then I tried to start my computer again. Hmm, all I’m getting is a black screen. Let’s try again. Hmm, black screen again…

After searching the web for what could be happening, I came across the same theme.

Don’t update the BIOS unless you absolutely know what you’re doing. You risk bricking your computer.

Be patient when updating the BIOS. If you turn off the computer or lose power during the process, you risk irreversibly damaging your computer.

Is my great computer building accomplishment now a $1400 paper weight?

My Beautiful Computer
My Beautiful Computer (Luckily, Not Dead Yet)

After frantically searching the web for solutions and trying all sorts of reset options on my computer, I was panicked. I discovered that the BIOS was likely updated incorrectly, and although it wouldn’t boot windows, it would still show the splash screen (this is the screen that comes up initially when you turn on a computer, usually it’s the manufacturer of the computer or of the motherboard). What were my options?

The next step was to flash the current BIOS. It was incorrectly configured and needed to be completely wiped. Similar to formatting an entire computer, except for the motherboard.

While I should’ve just accepted that maybe someone with more experience should deal with my computer, I decided to flash the BIOS then install the update using a USB boot drive.

I created a USB boot drive with the update software and managed to flash the BIOS and update it using the pre-existing graphics user interface that came with the motherboard (sorry I’m getting into geek speak, but I partially want to remember this for myself in the event I have to do it again).

In the end, It worked! Praise the Lord! I had never been happier to see the windows logo screen after that scary situation. I almost everything by performing an operation I really shouldn’t have needed to do.

So what did I learn from this?

  1. I have no idea how to make Wake on LAN work. It’s supposed to work, but I can’t figure out how.
  2. Don’t update or flash the BIOS. This is the last time I ever attempt to flash and update the BIOS. I got exceedingly lucky that I was able to get my computer up and running again, but I certainly don’t know enough about BIOS updates and how to do them properly.

In the near future I hope to have some kind of server for all my files, folders and such, as I’m getting tired of going through all the duplicates of photos, movies and music. I’ll make a few posts of how I do it, but it certainly doesn’t look like the Wake on LAN is going to be in my future unless I learn a lot more about computer networking.