Take a look around here and you’ll find all kinds of embedded web servers. This one doesn’t look all that interesting, especially because it’s just a NIC plugged into a development board. But for us the interesting part is in how [Andrew Rossignol] chose to format the webpage assets to best utilize the under-powered server.
The project was spawned as part of a class in Internet Embedded Systems which [Andrew] is taking. The board has an ATmega16 microcontroller and he’s using the ever popular ENC28J60 on that Ethernet adapter board. The TuxGraphics TCP/IP Stack takes care of communications with the network.
One constraint which [Andrew] imposed upon himself was to use just a single response which the available RAM limits to about 700 bytes. Any decent webpage needs to have at least some graphics but that’s tough with the size limit. He managed to display an AVR logo by optimizing an SVG in Inkscape then stripped the rest of the cruft using VIM (explained in the demo after the break). With that piece of Linux-fu in his pocket he set to work streamlining the CSS file. The webpage isn’t just static either. He displays the server up-time and even allows the relays and LEDs on the Olimex board to be controlled.
Despite the limitations of the ATmega family they still seem to do some amazing Internet-connected stuff. Here’s one used as a Minecraft server.
Continue reading “Embedded web server is all about clever formatting”
We love using Git for its superior version control. We often host our more advanced projects in a public Github repository. But the bulk of our little experiments are simply local repos. This is fine if you’re always at home, but if we are away from home we find ourselves having to SSH into our server to copy over the Git files. [Andrew] found a way around this slightly awkward process. He used an old Android phone as a Git server.
This actually makes a lot of sense when you start to think about it. Most Android phone have a microSD card slot to provide a huge storage bin (the lack of this on the Nexus 4 is baffling) so you don’t need to worry about running out of space. All of these devices have WiFi, making it easy to use them as an AP when there isn’t any other WiFi around. And the web-connected nature of the device will make syncing your repo over the Internet a snap.
Most of the behind the scenes work is done using Debian packages. This provides a few issues which [Andrew] walks through one by one. We also like his pointers like using ‘noatime’ on your EXTx file systems to avoid wear on the SD card.
This hack could be titled ‘Exercise or Starve’. [Charalampos] needed some motivation to become more active. There’s a device called a FitBit tracker (black and blue on the left) which records your activity and submits it to a web interface. You get daily goals and can earn badges. But those stinking badges didn’t motivate him. He decided he needed something that would really get him off of the couch. So he hacked the FitBit to cut power to his refrigerator. Not meeting his goals will eventually result in a stinky mess and no dinner.
It’s a bad idea to cut power to the icebox. But we see this merely as a proof of concept. He’s using the Belkin WeMo networked outlet. Other than some security issues we discussed on Thursday this is a very simple way to control devices from your server. [Charalampos’] implementation uses the FitBit API to check his activity and drives the outlet accordingly.
[David] is serving up files on his home network thanks to this Frankenstein’s monster of a Network Attached Storage device. It looks like he raided all the good bits from his parts bin to bring it all together.
The case is a tin box which may have been for a card/board game or some holiday treats. The hardware started with an NS-K330 server which he picked up from Deal Extreme. It has a NIC and a couple of USB ports but it tends to run really hot so he added a heat sinks to the board’s main chips. The hard drives are both 2.5″ form factor from old laptops. He uses some 2.5″ to 3.5″ mounting adapters to attach them to the tin box. A pair of USB to IDE adapters shed their cases and were solder directly to the wires which make a connection with the server’s USB ports.
There is a Linux distro specifically for this hardware but [David] wasn’t impressed with it. He ended up compiling OpenWRT for it and is satisfied with the functionality that provides.
Have you ever seen hard drive platters this big before? Of course you haven’t, the cost of this unit is way beyond your pay grade. But now that it’s decades old we get a chance to post around inside this beast. [Dave Jones] — who we haven’t seen around these parts in far too long — takes a look inside this $250,000 storage device.
In this episode of the EEVblog [Dave] is tearing down a late 1980’s IBM hard drive. This an IBM 3390. It stores either 1.78GB or 3.78GB. These days we’d never use a mechanical drive for that little storage as flash memory is so much cheaper. But this was cutting edge for servers of the day. And that’s why you’d pay a quarter of a million dollars for the thing.
[Dave] does what he’s known for in the video after the break. He energetically pours over every aspect of the hardware discussing function and design choices as he goes.
Continue reading “$250,000 hard drive teardown”
Wanting to test his skills by building a webserver [Cnlohr] decided to also code a Minecraft server which allows him to toggle pins from inside the game. The rows of switches seen above give him direct access to the direction register and I/O pins of one port of the ATmega328.
The server hardware is shown in the image above. It’s hard to tell just from that image, but it’s actually a glass substrate which is [Cnlohr’s] specialty. He uses an ENC424J600 to handle the networking side of things. This chip costs almost twice as much as the microcontroller next to it. But even in single quantities the BOM came in at under $20 for the entire build.
In the video after the break [Cnlohr] and a friend demonstrate the ability for multiple users to log into the Minecraft world. The simulation is fairly bare-bones, but the ability to affect hardware from the game world is more exciting than just pushing 1s and 0s through some twisted pairs.
Continue reading “AVR Minecraft server lets you toggle pins from the virtual world”
[Darknezz] sent us a set of photos and some details about his damaged laptop motherboard turned into a server. A client brought him a Dell 1525 on which nothing was showing up on the LCD screen. The HDMI and VGA still worked, and he traced the problem to no signal coming out of the motherboard. He swapped the board out to get the laptop working again, but he client said he could keep the damaged one.
It has a dual-core CPU which meets his needs and since it’s meant to run off of a battery it’s as energy-efficient as possible. [Darknezz] dug through his parts bin and found a PSU that could supply the needed 19.5V at 3.5A. The connector didn’t match but it didn’t take him too long to patch into it using a spare Molex connector. He also needed a power button and ended up soldering a momentary push switch to a couple of pads which he traced out form the original connector. The only thing he actually ended up purchasing were the memory modules. Check out the photos he took of the alterations in the gallery after the break.
Continue reading “Laptop motherboard reborn as a low-wattage server”