Internet steam gauge: a pressure gauge to display internet usage #piday #raspberrypi @Raspberry_Pi

Check out this cool project from Ed Konowal. Via Hack a day.

Internet usage is typically measured in Mb/s (Megabits per second) and dispalyed as a graph on a monitor or smartphone. In this project I’ve taken the same data and translated it to a real world gauge. A steam pressure gauge from the early 20th century.

Data is collected by polling an Internet router, in this case the router for the Vancouver Convention Center. The data is converted to a 0-200 scale to match the steps on the pressure gauge. Next the data is sent to a microcontroller which moves a servo to the appropriate postion. The servo is connected to the needle of the pressure gauge.

While this seems relatively straight forward, it required a lot of trial and error and adjustments to get accurate physical movement that matched the Internet usage data.

The most interesting thing in this entire project was the realization that Interenet usage statistics are usually averaged over a longer period of time. The Internet Steam Gauge checks utilizaiton every 10 seconds and is therefore more accurate than most monitoring systems…

I renewed my project in 2013 satisfied that it needed to be a wired device. I didn’t want to run it from my home computer, I wanted it to be portable… maybe a cheap laptop. Cheap. hmm… I recalled a hobby computer called Raspberry Pi. I’d been playing with Linux for a couple of years so it seemed like a good fit. Next I needed a programming language to read the Internet bandwidth and send it to my servo. I’d always wanted to learn Python, ok Python it is.

The RasPi has connections to drive the servo directly. So this will be simple, connect the servo, a little programming, and done. Wrong.

Learning a new language is challanging but the real problem came when my servo developed a smilar jitter problem as my original wireless design. The problem this time was the computer itself. The RasPi is a hobby computer, designed to be inexpensive for learning. It is not very fast. The interrupts from the normal RasPi operations created enough inconsistancy in the servo output to cause the jitter. The solution was another device, an Arduino microcontroller to drive the servo.

My first thought was to use the Arduino by itself, why even connect the RasPi? The Arduino can run code but you have to tell it everything you want it to do. That’s a problem because Arduino doesn’t know the current bandwidth. To get the bandwidth I need to poll my Internet router via SNMP. Arduino can respond to SNMP, but I could find nothing that allowed it to make SNMP queries. It might be possible but I don’t know how. So my Arduino knowledge (zero), needed to be expanded. Weeks of small aggravating problems like why did I loose my serial connection, or did I just brick my Arduino, unexpected reboots, etc. It was fun-aggravating-fun.

But in the end, I found no way for the Arduino to read the bandwidth directly from my router. Instead, the RasPi will read the data and pass it to the Arduino.

Read more.


998Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Select Python on Microcontrollers Newsletter: PyCon AU 2024 Talks, New Raspberry Pi Gear Available and More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — Halloween, WiLo, and more!

Maker Business – Adafruit Daily — The worlds largest car exporter: China

Electronics – Adafruit Daily — Are you grounded?

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.