Python Frontend Is A GUI For Different Microcontrollers

python-frontend-gui-for-microcontrollers

[Navin] has been hard at work producing a GUI which works with different micocontrollers. The idea is to make it even easier to develop projects by simplifying the feedback and control you can get from the prototyping hardware. The best part about it is that he designed the software to interface with any hardware which can be programmed in C++.

The screenshot above shows the program communicating with an mbed board which has an ARM microcontroller. But the Arduino board (which uses an ATmega chip) is supported as well. Support for additional architectures can be added by writing your own configuration file for the chip. The Python program then asks for the com port it should be using for this session.

The source package, including the code which runs on the microcontrollers, can be found at the project repository. The functions used in the sketches are quite simple and should be a snap to drop into your own code projects.

WeMo Without A Smartphone

[Matt Galisa] decided to try his hand at setting up the Belkin WeMo outlet without using a Smartphone app. The hardware is a pass-through for mains voltage which allows you to switch the plug over the network. It has a built-in WiFi module which normally connects to your home network. But the first time that you power it up it announces its own SSID designed for an iOS (and recently Android Beta) app to connect to in order to enter your AP credentials.

He started with this Python script used for WeMo hacking. It was originally meant to issue commands to the outlet once it had passed the initial setup. [Matt] followed along but couldn’t get an answer on the port he expected. It turns out that the device listens on a different port until the initial setup is complete (probably so that you don’t mess up other outlets on the network that are already working correctly). His next challenge was to manually set the WPA credentials. This never really worked and he ended up using a virtual AP without password protection through DD-WRT. From there he was able to set up a Python script to turn on, off, and toggle the state of the outlet.

If you’re looking to dig deeper into the device’s security check out this project.

Minecraft For RPi Released

Minecraft for RPi

Mojang, the folks behind Minecraft, have officially released Minecraft: Pi Edition. This free version of the popular game is optimized to run on the Raspberry Pi hardware, and has an API that exposes the game’s internals to a variety of programming languages.

Mojang intends this release to be an educational tool for teaching and learning programming. Since the API provides instant feedback in the game, it could be an interesting way to make learning to code fun for people of all ages.

Having access to the API on a RPi also means that the game can be connected to the real world. For example, using Python and the RPi.GPIO, pins on the GPIO header can be used for output or input. This creates a slew of possible hacks that interface with the game.

Any ideas on what you’d like to do with Minecraft on a RPi? Let us know in the comments. Also, we coincidentally just printed a minecraft pick on our 3d printer. There’s a time lapse video of it after the break!

Continue reading “Minecraft For RPi Released”

Quantifying Cloudiness With OpenCV

What Can I see From the Shard?

The Shard is the tallest building in Western Europe, and has a great view of London.  The condos in the building are very expensive, and a tourist ride to the top of the building costs £24.95.

Since the value of the view is so high, [Willem] wanted to quantify the quality of the view at any given time. His solution is the Shard Rain Cam. This device combines a Logitech webcam with a Raspberry Pi to capture a time-lapse set of images. These images are fed to a Python script using OpenCV which quantifies the cloudiness.

[Willem] also had to build a weatherproof enclosure with a transparent window for the camera and RPi. ‘Clingfilm’, which is British for saran wrap, and mineral oil is used to improve the waterproofing of an IP54 rated enclosure.

The resulting data is displayed on www.whatcaniseefromtheshard.com, which provides an indication of whether or not the view is worth £24.95. All of the Python code is available, and is a good starting point for learning about image processing with OpenCV.

Web Scraping Amazon And Rotten Tomatoes

web-scraping-amazon-and-rotten-tomatos

[Rajesh] put web scraping to good use in order to gather the information important to him. He’s published two posts about it. One scrapes Amazon daily to see if the books he wants to read have reached a certain price threshold. The other scrapes Rotten Tomatoes in order to display the audience score next to the critics score for the top renting movies.

Web scraping uses scripts to gather information programmatically from HTML rather than using an API to access data. We recently featured a conceptual tutorial on the topic, and even came across a hack that scraped all of our own posts. [Rajesh’s] technique is pretty much the same.

He’s using Python scripts with the Beautiful Soup module to parse the DOM tree for the information he’s after. In the case of the Amazon script he sets a target price for a specific book he’s after and will get an email automatically when it gets there. With Rotten Tomatoes he sometimes likes to see the audience score when considering a movie, but you can’t get it on the list at the website; you have to click through to each movie. His script keeps a database so that it doesn’t continually scrape the same information. The collected numbers are displayed alongside the critics scores as seen above.

Google Talk Bot Running On Raspberry Pi

google-talk-raspberry-pi

[Michael Mitchell] put together a demonstration of how Google Talk can be used to communicate with scripts. Although the concept isn’t new we haven’t seen very many projects that use the chat interface for issuing commands and receiving data. The one that does come to mind is this home automation project which uses Google Talk because it’s quite a bit faster than SMS or email communications.

Luckily there’s already a Python library called pygtalkrobot which helps with the XMPPPY protocol used by Google Talk. In addition to that package, [Michael] also installs some extras which allow him to access the GPIO pins on the RPi via Python. In the video after the break he demonstrates switching and LED on and off, as well as reading from a slide switch connected to pin 8. Of course it’s a snap to code feedback from the OS itself. As you can see in the image above the RPi is reporting it’s uptime after being issued a command by [Michael]

Continue reading “Google Talk Bot Running On Raspberry Pi”

Printing Images With A Wood Burning CNC Machine

printing-images-with-a-wood-burning-cnc-machine

Just to clear up any confusion from the title, this wood burning CNC machine runs on electricity. The wood burner acts as the print head. It’s the thing in the upper right of the field that looks a bit like a soldering iron. In this case it’s being used like a dot matrix printer.

We suppose this is a form of halftone printing, although it doesn’t produce the uniformity we’ve seen with mill-based halftone techniques. [Random Sample] built the machine from wood, drawer sliders, and stepper motors with toothed belts. His Python script takes an image and transforms it into a file which can be used to guide each of the three axes of the machine. An Arduino receives these commands via the USB connection. Each image prints in a grid, with darker pixels created by leaving the hot tip in contact with the wood for a longer period of time.

Don’t miss the sample video embedded after the jump.

Continue reading “Printing Images With A Wood Burning CNC Machine”