Set Up A Headless Raspberry Pi, All From Another Computer’s Command Line

There are differences between setting up a Raspberry Pi and installing an OS on any other computer, but one thing in common is that if you do enough of them, you seek to automate the process any way you can. That is the situation [Peter Lorenzen] found himself in, and his solution is a shell script to install and configure the Raspberry Pi for headless operation, with no need to connect either a keyboard or monitor in the process.

[Peter]’s tool is a script called rpido, and with it the process for setting up a new Raspberry Pi for headless operation is super streamlined. To set up a new Pi, all [Peter] needs to do is:

  1. Plug an SD card into his laptop (which happens to be running Ubuntu.)
  2. Run: rpido -w -h myhostname -s which downloads and installs the newest version of Raspbian lite, does some basic setup (such as setting the hostname), configures for headless operation, and launches a root shell.
  3. Use the root shell to do any further tweaks or checks (like launching raspi-config for additional changes.)
  4. Exit the shell, remove the SD card from his laptop, and install the card into the Raspberry Pi.

There are clear benefits to [Peter]’s script compared to stepping through a checklist of OS install and setup tasks, not to mention the advantage of not needing to plug in a keyboard and monitor. Part of the magic is that [Peter] is mounting the SD card’s filesystem in a chroot environment. Given the right tools, the ARM binaries intended for the Pi run on his (Intel) Ubuntu laptop. It’s far more convenient to make changes to the contents of the SD card in this way, before it goes to its new home in a Pi.

Not everything has to revolve around an SD card, however. [Jonathan Bennet] showed that it’s possible to run a Raspberry Pi without an SD card by using the PXE boot feature, allowing it to boot and load its file system from a server on the same network, instead of a memory card.

The Best Laptop Gets Even Better

The ThinkPad is the greatest laptop ever created. It doesn’t come in rose gold, it comes in black. It doesn’t have a weird screen instead of an escape key. For less than half the price of a MacBook, you can have a capable laptop that will somehow fit three drives inside. It’s madness, but it’s still not the perfect tool for hacking. To get there, you’re going to need to load that thing up with an independent Linux system, and maybe a solderless breadboard. That’s what [ollie242] is doing with his ThinkPad, and the results are the perfect addition to the perfect laptop.

This build is really just a 3D printed drive caddy for the Thinkpad UltraBay, the modular standard that allows you to add a CD drive, SATA drive, or even a serial and parallel port to your laptop. [ollie242] is modeling this off the CD drive taken from a ThinkPad T420, so we’re looking at a ‘Serial Ultrabay Enhanced’ version of this standard, which is compatible with a T430, which is still the best laptop you can possibly buy.

Inside this 3D printed drive caddy is a Raspberry Pi Zero W, powered by the ThinkPad through the internal SATA connector. The Pi Zero has right-angle headers attached, giving access to the GPIO pins from the outside. Just to add a little flair, [ollie242] added an OLED display to show the IP address, the CPU load, and the memory availability of the Pi.

This is a great project, if only because no one has any use for a CD drive anymore. Since these UltraBay drives are huge, it would be a simple matter to add a much more powerful computer to the drive like the recently announced Raspberry Pi 3 Model A+. There are — or at least there should be — some interesting internal connections on that UltraBay port, and it’s not inconceivable this Raspberry Pi UltraBay could be used as a coprocessor of sorts for its host laptop.

This Bitcoin Price Tracking Traffic Light Isn’t Just A Red LED

Quick, what’s the price of Bitcoin? Is it lower today than yesterday? Are you overdrafting your Lamborghini account? What if you had an easy way to tell at a glance how much you could have made if you sold in December of last year? That’s what this Bitcoin price tracking traffic light is all about, and it’s a great use of existing electronics.

The hardware for this build is a traffic light table lamp available on Amazon for twenty bucks. Inside this traffic light, you get a PCB with three LEDs and a small microcontroller to control the LEDs. The microcontroller isn’t used in this case, instead the microcontroller is removed and a few wires are soldered up to the base of the transistors used to drive the LEDs. The other ends of these wires are attached to a trio of pins on a Raspberry Pi Zero W, giving this traffic light table lamp Linux and a connection to the Internet.

On the software side of things, we’re looking at a Docker container running a Python script that fetches the latest Bitcoin price from Coindesk and calculates the change from the previous fetch of the price of Bitcoin. This data is shuffled off to another Python script that actually changes the LEDs on the lamp.

Sure, these days a ‘bitcoin price tracking traffic light’ is as simple as connecting a red LED to a battery, and if you’re feeling extra fancy you can add a 220 Ω resistor. But this is a project that’s so well executed that we’ve got to give it a tip ‘o our hat.

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”

It Might Be Possible To Build A Stingray With A Raspberry Pi

If there’s one thing that’s making you insecure, it’s your smartphone. Your smartphone is constantly pinging the cell towers, giving out your location and potentially leaking your private information to anyone with a radio. This is the idea behind an IMSI catcher, or Stingray in common parlance, and now you too can build one with parts you can buy off of Amazon.

The key to this hack is a software defined radio dongle, or RTL-SDR, that has been repurposed to listen in on a GSM network. Literally the only hardware required is an RTL-SDR that can be bought online for less than fifteen dollars, and you can identify the IMSI, or unique ID linked to every SIM card, in smartphones around you. The only bit of software required is a small Python script from [Oros42], freely available on GitHub.

Of course, building an IMSI catcher with a desktop is of limited utility, and using a laptop is still a bit too bulky to surreptitiously conceal in a public location. No, to really get the bang for your buck out of this, you need to do this with a small single-board computer running off a battery pack. Luckily, [Joseph Cox] over at Motherboard reports, “It is likely possible” to run this on a Raspberry-Pi. We’re guessing it’s even more than “likely” possible.

Meat-Seeking Raspberry Pi Leads You To Flavortown

[Patrick McDavid] and his wife had a legitimate work-related reason for writing some Python code that would pull the exact latitude and longitude of the individual locations within a national retain chain from Google’s Geocoding API. But don’t worry about that part of the story. What’s important now is that this simple concept was then expanded into a pocket-sized device that will lead the holder to the nearest White Castle or Five Guys location.

The device, which [Patrick] lovingly referrers to as the “Cheeseburger Compass”, uses a Raspberry Pi 3, an Adafruit 16×2 LCD with keypad, a GPS module, and the requisite battery and charger circuit to make it mobile. With the coordinates for the various places one can obtain glorious artery clogging meat circles loaded up, the device will give the user the cardinal direction and current distance from the nearest location of the currently selected chain.

[Patrick] has published the source code for this meat-seeking gadget on GitHub, but notes that most of it is just piecing together existing libraries and tools. As with many Python projects, it turns out there’s already a popular library to do whatever it is you were trying to do manually, so his early attempts at calculating distances and bearings were ultimately replaced with turn-key solutions. Though he did come up with a quick piece of code that would convert a compass heading in degrees to a cardinal direction that he couldn’t find a better solution for. Maybe he should make it a library…

Sadly the original Cheeseburger Compass got destroyed from being carried around so much, but at least it died doing what it loved. [Patrick] says a second version of the device would likely switch over to a microcontroller rather than the full Raspberry Pi experience, as it would make the device much smaller and greatly improve on the roughly two hour battery life.

This project reminds us of the various geocache devices we’ve covered in the past, but with the notable addition of hot sizzling meat. Talk about improving on a good thing.

Vintage Rotary Phone Turned Virtual Assistant

Like many of us, [Zoltan Toth-Czifra] has completely embraced 21st century living. His home is awash in smart gadgets and dodads, from color changing light bulbs to Internet-connected cameras. But he’s also got a soft spot for the look and feel of vintage hardware, like the rotary phone he keeps kicking around to remind him of the old days. He recently decided to bridge these two worlds by turning the rotary phone into a modern voice controlled assistant.

The first piece of the puzzle was getting the old school phone connected to something a bit more modern, namely a Raspberry Pi. He didn’t want to hack the vintage phone apart, so he picked up a Grandstream HT801, an adapter that’s used to convert analog telephones to VoIP. [Zoltan] says this model specifically fit the bill as it had a function that allows you to configure a number to dial as soon the phone is lifted off the hook. This allows the user to just pick up the phone and start talking without having to dial anything manually. If you’re looking to pull off a similar setup, you should check to make sure the adapter has this function before pulling the trigger.

With the rotary phone now talking a more modern protocol, [Zoltan] just needed to get the Raspberry Pi side sorted out. He installed a SIP server so it could communicate with the HT801 adapter, and then got to work putting together his virtual assistant. Rather than plug into an existing system, he rolled his own by combining open source packages for controlling his various smart devices with the aptly named SpeechRecognition library for Python.

Right now he’s only programmed a few commands that his system can respond to for controlling his lights and music, but mentions that the system is modular enough that he can add new functions easily. He’s put the source for his virtual assistant framework up on GitHub, which he notes was written in less than 200 lines of original code by virtue of utilizing existing libraries for a lot of the heavy lifting. Open source is a beautiful thing.

In the past we’ve seen rotary phones go mobile thanks to GSM upgrades and dragged kicking and screaming onto the modern phone network with a built-in Raspberry Pi. But we think there’s something especially appealing about the approach [Zoltan] took which preserves the phone’s original hardware.

Continue reading “Vintage Rotary Phone Turned Virtual Assistant”