The Linux Throwie: A Non-Spacefaring Satellite

Throwies occupy a special place in hardware culture — a coin cell battery, LED, and a magnet that can be thrown into an inaccessible place and stick there as a little beacon of colored light. Many of us will fondly remember this as a first project. Alas, time marches inevitably on, and launching cheerful lights no longer teaches me new skills. With a nod to those simpler times, I’ve been working on the unusual idea of building a fully functional server that can be left in remote places and remain functional, like a throwie (please don’t actually throw it). It’s a little kooky, yet should still deliver a few years of occasional remote access if you leave it somewhere with sunlight.

A short while ago, I described the power stages for this solar-powered, cloud accessible Linux server. It only activates on demand, so a small solar cell and modest battery are sufficient to keep the whole show running.

Where we left off, I had a solar cell that could charge a battery, and provide regulated 12 V and 5 V output. For it to be a functional device, there are three high level problems to solve:

  1. It must be possible to set up the device without direct physical access
  2. You must be able to remotely turn it on and off as needed.
  3. It needs to be accessible from the Internet.

The funny thing is, this hardware reminds me of a satellite. Of course it’s not meant to go into space, but I do plan to put it somewhere not easy to get to again, it runs off of solar power, and there’s a special subsystem (ESP8266) to tend the power, check for remote activation, and turn the main computer (Raspberry Pi 3) on and off as necessary. This sounds a lot like space race tech, right?

As I have a bit more code than usual to share with you today, I’ll discuss the most interesting parts, and provide links to the full firmware files at the end of the article.

Continue reading “The Linux Throwie: A Non-Spacefaring Satellite”

Bill’s 100 Year-Old Smart Home

[Bill]  purchased a house in Central Florida, and like any good hacker, he started renovating, pulling Ethernet cables, and automating things. Lucky for us, he decided to write up his experiences and lessons learned. He found a few problems along the way, like old renovations that compromised the structure of the pool house. After getting the structural problems sorted, he started installing Insteon smart switches. If automated lighting is of interest, and you don’t want to wire up relays yourself, Insteon might be the way to go.

He linked the buildings together with a wireless bridge, and then worked out how to automatically reset the PoE switch when the wireless bridge hangs, automating that recovery process. For your viewing pleasure, he even has one of the security cameras streaming 24/7 online.

His blog looks like a good resource to keep an eye on, and we wouldn’t be surprised to have more of his work show up here on Hackaday. For more home automation goodness, check out some of our previous articles on the subject.

WebSockets Embedded With The ESP8266

It used to be that Web browsing was simple. You asked a server for some text, which was duly sent, and then formatted by your browser. Now a web page is as likely to be a full-blown application that is reading mail, editing text, or lots of other things and may use WebSockets to create a back channel to the server. Thanks to affordable hardware like the ESP8266 one of those things a modern web browser can do is sense and control the real world. [Acrobotic] has an interesting video about using WebSockets to allow a browser to talk to an ESP8266 web server in real time. You can see his simple demo in the video below.

Of course, you’ll use the usual language you use on the ESP8266 — [Acrobotic] uses C++ in the Arduino IDE. On the browser side you’ll use JavaScript, although that will be embedded in your C++ program which acts as a web server.

Continue reading “WebSockets Embedded With The ESP8266”

Brandt Kuykendall ISP

One Man’s Journey To Becoming His Own ISP

America is a BIG country. There are pockets all across the land where broadband Internet is slow-to-nonexistent, and many individuals are left with wireless cell service as their only means of internet connection. This is the situation [Brandt Kuykendall] found himself in upon moving his family to Dillon Beach, CA. So he started up his own fiber ISP. (YouTube, embedded below.)

“Cell phone service was really our only option, but that proved to be extremely expensive. My wife came home with the bill (of) $707, and that was the last straw.”

Despite being a mere two hours from the technological hub of San Francisco [Brandt] found himself dissatisfied with the level of service he was receiving from his provider. However, instead of shredding his current contract altogether he decided to go directly to the source. He tracked down the location of the AT&T cell tower in his area and made every call he could in order to find out who was in charge of “opening up the taps”. Months of negotiation between AT&T and [Brandt] ensued and eventually resulted in a fiber line being installed directly into his garage.

The story didn’t stop there, because [Brandt] took it upon himself to spread the wealth by providing his neighbors with Wi-Fi access to the fiber optic line in exchange for a small monthly fee. Employing the use of industrial-grade small cell transmitters he essentially created a point-to-point network along his neighbors’ roofs. [Brandt’s] garage serves as the network monitoring hub enabling him to diagnose any traffic issues. What began as one man seeking decent internet speeds burgeoned into a journey to becoming his own ISP which now serves over 100 other residents of the Dillon Beach area.

Continue reading “One Man’s Journey To Becoming His Own ISP”

ARM-Based NAS Is A Low Cost, Low Power Beauty

A NAS is always a handy addition to a home network, but they can be a little pricey. [Blake Burkhart] decided to create his own, prioritising budget and low power considerations, with a secondary objective to produce some router and IoT functionality on the side.

A Banana Pi R2 was a good choice to meet these requirements, being a router-based development board that also sports dual SATA connectors and gigabit Ethernet. [Blake] had some retrospective regrets about the performance of this particular SBC, but it does just fine when functioning purely as a NAS.

The enclosure for the device is a three bay hot-swap HDD module, with one of the bays gutted and used for the Banana Pi. It’s a simple idea, elegantly executed, which looks great. To access the ports of the Banana Pi, a custom acrylic side panel was laser cut, which also allowed LEDs to shine through – obligatory for any DIY server/computer build. When mounting this panel to the existing enclosure, [Blake] was reluctant to take his chances tapping the brittle acrylic, instead opting to melt the threads into the plastic with a pre-torched screw. We find that tapping acrylic is usually okay if you take it slow, but heat-tapping does sound fun.

The 12 V fan that came built into the hot-swap enclosure was too loud and awkwardly came in a non-standard size with a non-standard connector. What’s more, a buzzer alarm was triggered any time the fan was disconnected and 0 RPM was detected. [Blake]’s solution was to rewire the power pin of the connector to a 5 V rail; he found that running the fan at 5 V led to much quieter performance whilst keeping the HDDs sufficiently cool.

We find that when it comes to DIY network gear and routers, there are two approaches. Either create your own bespoke solution that perfectly fits your needs, like this perfect home router, or work around your current gear and build some tech to automatically reboot it for you.

 

Power Over Ethernet Splitter Improves Negotiating Skills

Implementing PoE is made interesting by the fact that not every Ethernet device wants power; if you start dumping power onto any device that’s connected, you’re going to break things. The IEEE 802.3af standard states that the device which can source power should detect the presence of the device receiving power, before negotiating the power level. Only once this process is complete can the power sourcing device give its full supply. Of course, this requires the burden of smarts, meaning that there are many cheap devices available which simply send power regardless of what’s plugged in (passive PoE).

[Jason Gin] has taken an old, cheap passive PoE splitter and upgraded it to be 802.3af compatible (an active device). The splitter was designed to be paired with a passive injector and therefore did not work with Jason’s active 802.3at infrastructure.

The brain of the upgrade is a TI TPS2378 Powered Device controller, which does the power negotiation. It sits on one of two new boards, with a rudimentary heatsink provided by some solar cell tab wire. The second board comprises the power interface, and consists of dual Schottky bridges as well a 58-volt TVS diode to deal with any voltage spikes due to cable inductance. The Ethernet transformer shown in the diagram above was salvaged from a dead Macbook and, after some enamel scraping and fiddly soldering, it was fit for purpose. For a deeper dive on Ethernet transformers and their hacked capabilities, [Jenny List] wrote a piece specifically focusing on Raspberry Pi hardware.

[Jason]’s modifications were able to fit in the original box, and the device successfully integrated with his 802.3at setup. We love [Jason]’s work and have previously written about his eMMC adventures, repairing windows tablets and explaining the intricacies of SD card interfacing.

Measuring Web Latency In The Browser

We’ll go out on a limb and assume that anyone reading these words is probably familiar with the classic ping command. Depending on which operating system you worship the options might be slightly different, but every variation of this simple tool does the same thing: send an ICMP echo request and wait for a response. How long it takes to get a response from the target, if it gets one at all, is shown to the user. This if often the very first step to diagnosing network connectivity issues; if this doesn’t work, there’s an excellent chance the line is dead.

But in the modern web-centric view of networking, ping might not give us the whole picture. But nature it doesn’t take into account things like DNS lookups, and it certainly doesn’t help you determine what (if any) services the target has available to you. Accordingly, [Liu Zhiyong] has come up with a tool he calls “pingms”, which allows you to check web server latency right from your browser.

Rather than relying on ICMP, pingms performs a more realistic test. It takes the list of targets from the file “targets.js” and connects to each one over HTTP. How does it work? The code [Liu] has come up with will take each target domain name, append a random number to create a gibberish filename, and then calculate how long it takes to get a response when trying to download the file. Obviously it’s going to be getting a 404 response from the web server, but the important thing is simply that it gets the response.

With this data, [Liu] has come up with a simplistic but very slick interface which shows the user the collected data with easy to understand color-coded graphs. As interesting as it is to see how long it takes your favorite web sites or service providers to wake up and start talking, watching the colored bars hop up and down the list to sort themselves is easily our favorite part of pingms.

[Liu] has released pingms under the GPLv3 license, so if you’re looking to utilize the software for your own purposes you just need to provide a list of test targets. If you need to perform low-level diagnostics, check out this handy network tester you can build for cheap.