Webserver Runs On Android Phone

Android, the popular mobile phone OS, is essentially just Linux with a nice user interface layer covering it all up. In theory, it should be able to do anything a normal computer running Linux could do. And, since most web servers in the world are running Linux, [PelleMannen] figured his Android phone could run a web server just as well as any other Linux machine and built this webpage that’s currently running on a smartphone, with an additional Reddit post for a little more discussion.

The phone uses Termux (which we’ve written about briefly before) to get to a Bash shell on the Android system. Before that happens, though, some setup needs to take place largely involving installing F-Droid through which Termux can be installed. From there the standard SSH and Apache servers can be installed as if the phone were running a normal Linux The rest of the installation involves tricking the phone into thinking it’s a full-fledged computer including a number of considerations to keep the phone from halting execution when the screen locks and other phone-specific issues.

With everything up and running, [PelleMannen] reports that it runs surprisingly well with the small ARM system outputting almost no heat. Since the project page is being hosted on this phone we can’t guarantee that the link above works, though, and it might get a few too many requests to stay online. We wish it were a little easier to get our pocket-sized computers to behave in similar ways to our regular laptops and PCs (even if they don’t have quite the same amount of power) but if you’re dead-set on repurposing an old phone we’ve also seen them used to great effect in place of a Raspberry Pi.

200 Pound, WiFi Deploying Robot Ran Over My Foot

[Adam Bercu] and [Dan Landers] from Artisan’s Asylum in Somerville, MA brought a very, very cool toy to Maker Faire this year. It’s a two hundred pound WiFi repeater deploying robot able to amble across unforgiving terrain and my foot.

The robot is controlled through a web interface with the help of a front-mounted web cam with pan and tilt controls. All the signals are sent through a WiFi connection to a node.js web server; not the best way to communicate with a robot over long distances, but [Adam] and [Dan] have a few tricks up their sleeve.

On the back of the robot are two Pelican cases loaded up with a battery and a Linksys WRT54G wireless router. When the robot reaches the limits of its range, it activates a solenoid, dropping a WiFi repeater. This repeater has enough battery juice to stay powered for about a day and a half, meaning the robot can make multiple trips to deploy a wireless network through some very hostile terrain. Perfect for disaster and search and rescue operations.

There are two videos after the break: the first is [Dan] going over the capabilities of his tank bot and the second is a short demo of the bot tearing up the grass at Maker Faire.

Continue reading “200 Pound, WiFi Deploying Robot Ran Over My Foot”

Using An Android As A Webserver

In the latest episode of XDA TV [Adam Outler] turned his Android phone into a webserver. At first this might sound comical, but the ever-increasing power of our handhelds makes it a pretty legitimate option. It’s hard to come up with concrete uses off the top of our head, but we’re sure there’s value in being able to pull the phone out of your pocket and serve some content.

The app BotBrew Basil makes the installation process nearly automatic. It gives you point-and-click access to install the lighttpd webserver package and set the daemon to run automatically at boot time. That’s it! Of course you need to supply your own HTML to be served. [Adam] used an HTML5 website template for this.

Next you also need a way to resolve the address of the phone. In this case it’s assigned a static IP from the router, and a dynamic DNS service provides a link that maps to the router’s location. But since these phones are running Linux (at least on the lowest level) it should be pretty easy to add a cron job which will send IP address updates to the service if you want to take the ‘webserver’ out in the world with you. You can watch the entire video after the break.

Ironically this is a big hardware upgrade for [Adam’s] webserver. The previous version was running from an Evalbot.

Continue reading “Using An Android As A Webserver”

Another Approach To Power Meter Data Harvesting

[Dodgy] wrote in to talk about his power meter data harvesting programs. This uses the same hardware by CurrentCost as the hack we looked at over the weekend but [Dodgy’s] implementation is different. It’s separated into two parts, the first is a webserver written in C that harvests the data and makes it available at an address on the network, the second is written in Perl to format and upload data to Google PowerMeter.

The C program serves data on a configurable port, defaulting to 3090. All of the data can be accessed in one line of code by loading, or individually with subdirectories like /watts, /time, or /tempr. From there you can do what you want with the data. The second part of [Dodgy’s] suite is a Perl script that polls the C server and sends the data to your Google account.

One thing that interests us is his comment that you should be able to compile the server side C code for an embedded device. It would be a nice energy savings to be able to upload data regularly without a PC running constantly.

Arduino Webserver

The Arduino platform should be perfect for throwing together a lightweight webserver because of the availability of quality shields that take care of the hardware for you. As [Ovidiu Predescu] found, there are a few hiccups along the way and he’s put together a guide that covers the workarounds. Specifically, using an Ethernet shield and data logging shield at the same time produces a bus conflict which he sidesteps by cutting the CS pin trace on the data logging board and moving it to a different pin. There is also a bug with one of the chips on the Ethernet shield that is fixed using a similar method. So if you’re not just going to etch your own webserver hardware maybe this is the next best thing.

Toaster Web Interface

Within a ten-hour window [Wes Brown] threw together this toaster with a web interface for one of his classes. He sourced the WIZnet embedded webserver for the project but this could be pulled off with a homebrew webserver as well. When you point your browser to the correct address you’re greeted with images of bread that have been charred to various degrees. This greatly complicates the act of making breakfast while at the same time presenting a possible fire hazard. Check out the video after the break.

Continue reading “Toaster Web Interface”

Home Power Monitoring


Reader [john] finished up his home power monitor over the holiday weekend. It uses a pair of current transducers clamped onto the mains. These output 0-3V and are read by the Arduino’s ADC. The Arduino averages samples over a 20 second period, calculates power used, and uploads it using an Ethernet Shield. The shield can’t do DNS lookups, so he uses a WRT54G to negotiate with the remote webserver. He admits that the system could be more accurate; it can’t detect small loads like wall warts. He also says that money could be saved by talking serial to the router instead of over ethernet. Here are the current usage charts.

You can find many power monitor projects like this in out Home Hacks category.