Tag Archives: wifi

Batman Inspired Indoor Localization

via Arduino Blog

Batman Inspired Indoor Localization

Last August Arduino Tour landed in Singapore, hosted by The Hub Singapore. Davide Gomba held a workshop there and met a lot of cool people during the hackathon happening in the same days. Ted, one of the participants, submitted to our blog the Indoor Localization (see video below) project  he prototyped with his team during the 24 hours CodeXtreme hours:

Our idea is to convert existing speakers inside shopping malls into an indoor localization beacon. This allows malls to track the location density without adding extensive infrastructure since it uses embedded inaudible sound signatures in music that shops play in the malls. In short, instead of tracking Joker, we use Arduino (with WiFI Shield & MP3 Shield) and Android to track people (customer) inside a mall.

 

They used Arduino Uno with Sparkfun Mp3 Shield to make the audio playback and Arduino Uno with Arduino WiFi Shield for the server. They are now working on fine-tuning the code as they’ve just bought Arduino Yún and trying to port the code over. Once they finish with that the code will be available on their  blog. In the meanwhile you can enjoy two other projects they are sharing on their website, and email prank and a wi-fi controller.

A Motherboard for a WiFi Enabled SD Card

via Hack a Day» hardware

SD

Over the last few months, a few very capable hackers have had a hand in cracking open a Transcend WiFi-enable SD card that just happens to be running a small Linux system inside. The possibilities for a wireless Linux device you can lose in your pocket are immense, but so far no one has gotten any IO enabled on this neat piece of hardware. [CNLohr] just did us all a favor with his motherboard for these Transcend WiFi SD cards, allowing the small Linux systems to communicate with I2C devices.

This build is based upon [Dmitry]‘s custom kernel for the Transcend WiFiSD card. [CNLohr] did some poking around with this system and found he could use an AVR to speak to the card in its custom 4-bit protocol.

The ‘motherboard’ consists of some sort of ATMega, an AVR programming header, a power supply, and a breakout for the I2C bus. [Lohr] wired up a LED array to the I2C bus and used it to display some configuration settings for the WiFi card before connecting to the card over WiFi and issuing commands directly to the Linux system on the card. The end result was, obviously, a bunch of blinking LEDs.

While this is by far the most complex and overwrought way to blink a LED we’ve ever seen, this is a great proof of concept that makes the Transcend cards extremely interesting for a variety of hardware projects. If you want your own Transcend motherboard, [CNLohr] put all the files up for anyone who wants to etch their own board.


Filed under: hardware, linux hacks, wireless hacks

Tiny WiFi modules, again

via Hack a Day» hardware

cc3000

The CC3000 is a tiny, single-chip component that adds all the necessary hardware (save for a chip antenna) and software to get even the most minimal microcontrollers onto a WiFi network. It was announced early this year but making proper breakout boards takes time, you know? This time has finally arrived with CC3000 modules from Adafruit, and evaluation modules and booster packs from TI themselves.

Unlike other microcontroller-compatible WiFi modules out there, the CC3000 takes care of just about everything – the TCP/IP stack, security stuff, and even the configuration with TI’s SmartConfig app for desktop, laptop, or mobile devices. Realistically, you can get an ATtiny, an exceedingly sparse microcontroller, or even a Commodore 64 or Apple II on the Internet with this. It’s very, very cool.

While these breakout boards and modules are priced very well for what they do, they’re still fairly expensive to stick in a project permanently. Where the CC3000 really shines is including it in your next fabbed board. There are already Altium parts and an Eagle library that includes this part should you need help with that, and blatant advertising for our overlords at SupplyFrame if you’re looking for a source.


Filed under: hardware

TI’s CC3000 WiFi chip gets a library

via Hack a Day» hardware

About six months ago, Texas Instruments released a simple, cheap, single-chip WiFi module. At $10 a piece in quantities of 1000, the CC3000 is a much better solution to the problem of an ‘Internet of Things’ than a $50 Arduino Ethernet modules, or even the $30 Electric Imp. All indications, especially the frequent out of stock status for the dev board on TI’s web site, show the CC3000 will be a popular chip, but until now we haven’t seen a CC3000 library for the Arduino or other microcontrollers.

[Chris] just solved that problem for us with a CC3000 WiFi library for the Arduino. He ported TI’s MSP430 CC3000 library to the Arduino, allowing even the bare-bones Arduino Uno to connect to a WiFi network with just a handful of parts. The code itself takes about 12k of Flash and 350 bytes of RAM, giving anyone using the CC3000 enough room left over to do some really interesting stuff. There’s even a slimmed down library that uses somewhere between 2k and 6k of Flash, making an ATtiny-powered web server a reality.

There are a few caveats in using the CC3000 with an Arduino; it’s a 3.3 Volt part, so you’ll need a level shifter or some resistors. Also, the chip draws about 250 mA when it’s being used, so you’ll need a beefy battery if you want your project to last an entire day of use.

Now that the library is out of the way, be on the lookout for a CC3000 breakout board. Here’s one, but expect some more on the market soon.


Filed under: hardware, wireless hacks

Welcome Arduino Yún – the first member of a series of wifi products combining Arduino with Linux

via Arduino Blog

Arduino Yun - iso

 

Massimo Banzi announced it some minutes ago during his annual “The state of Arduino” presentation at Maker Faire Bay Area:  Arduino Yún  is the first of a revolutionary family of wifi products combining Arduino with Linux.

Yún means “cloud” in chinese language,  as the purpose of this board to make it simple to connect to complex web services directly from Arduino.

ArduinoYun - scheme

Designed in collaboration with Dog Hunter, a company with extensive experience with Linux, the board adopts the Linino distribution which provides signed packages to ensure the authenticity of the software installed on the device.

Historically, interfacing Arduino with complex web services has been quite a challenge due to the limited memory available and they tend to use verbose text based formats like XML that require quite a lot or ram to parse. On the Arduino Yún we have created the Bridge library which delegates all network connections and processing of HTTP transactions to the Linux machine.

Arduino Yún is the combination of a classic Arduino Leonardo (based on the Atmega32U4 processor) with a Wifi system-on-a-chip running Linino (a MIPS GNU/Linux based on OpenWRT). It’s based on the ATMega32u4 microcontroller and on the Atheros AR9331, a system on a chip running Linino, a customized version of OpenWRT, the most used Linux distribution for embedded devices.

Like a Leonardo, it has 14 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator and a micro USB connector.

Arduino_Yun
Like any modern computer, it’s Wi-Fi enabled, it has a Standard-A type USB connector to which you can connect your USB devices and it has a micro-SD card plug, for additional storage.

The Yún ATMega32u4 can be programmed as a standard Arduino board by plugging it to your computer with the micro USB connector. And you can also program it via Wi-Fi.

When the Yún is turned on for the first time, it becomes an Access Point, creating a Wi-Fi network named “Arduino”. Open your browser and go to the webpanel: configure the board by entering your Wi-Fi network name, type and password. Click the “Configure” button to restart the board and have it join your home network. Opening the IDE, you’ll see it listed in the “Port” sub menu with its IP address instead of the serial port name.

Using the Bridge library in your sketches, you can link the 32u4 to Linux, launching programs and scripts, passing them parameters (sensor readings for example) and reading their output, thus creating a strong integration between the creativity of your sketch and the power of Linux. The Yún supports Shell and Python scripts out-of-the-box but you can install a wide range of open source software and tools.

For the Linux geek in you, Yún can be reached with SSH:  that means you’ll be able to customize it in whatever way. And you’ll always be able to reset it to its factory settings.

On top of that to make it even simpler to create complex applications we’ve partnered with the innovative startup Temboo which provides normalized access to 100+ APIs from a single point of contact allowing developers to mix and match data coming from multiple platforms (for example Twitter, Facebook, Foursquare but even FedEx or PayPal).

Arduino Yún will be available at the end of June at the price of 69$ + taxes.

 

Connecting people in remote areas – with a Pi

via Raspberry Pi

Liz: I’ve been hoping someone would document a project like this for a while now: this is a use of the Raspberry Pi that we think could be of enormous help to people in remote areas all over the world. Benet Hitchcock from Starlifter Digital has been introducing proper connectivity to a festival in a remote part of rural Australia. There’s limited cellular reception in the area, but it can’t cope with the sudden arrival of thousands for the event – and people need to get information via their phones. Enter the Pi. Benet says:

Every year at the Rainbow Serpent Festival in Victoria, Australia, the Info Tent notice board morphs into a multi-coloured chaotic mush. Hundreds of pieces of paper consisting of site maps, timetable updates, camp site locations, random messages between friends and various tid bits are stuck to the walls of the tent. At music festivals closer to the city there is usually plenty of cellular phone reception but not at a festival like this.

Rainbow Serpent is held halfway between Lexton and Beaufort in rural Victoria, a couple hours out of Melbourne. And although there is limited mobile reception, the local network doesn’t seem to like the influx of fifteen thousand attendees. A localised solution was needed to help people connect and keep informed in a way that was searchable and easy to manage.

The solution I devised was a mash-up of a Raspberry Pi and a PirateBox.

I installed the PHP/MySQL based forum “Phorum” on a Raspberry Pi and the OpenWRT based PirateBox software onto a TP Link TL-3220 3G wireless router. I skinned the forum using a mobile phone template which I found via the Phorum community and I made a few functional tweaks.  The forums were used by festival goers for locating each others camp sites, ride sharing and lost property.

Updated set times, festival information and site map PDFs were hosted and served from the PirateBox wireless router. The PirateBox project was developed by David Darts in NYC to enable simple, anonymous and local file sharing.

The original idea was to just use the PirateBox router for the whole service but due to the issues with running PHP and MySQL on a wireless router I used the Raspberry Pi. If I get a chance to do this project again I would use the Pi to host and serve the files as well as the forums and also use a more powerful wireless router.

Graphics designed by Rainbow Serpent’s in-house designer were then applied using HTML, CSS and JavaScript and the “Rainbow Connection” was born (thanks Tim and Heidi). It was plug’n’play, simple to use and optimised for mobile.

All pictures courtesy Rainbow Serpent Festival

A breakout board for a tiny WiFi chip

via Hack a Day» hardware

wifi

A few weeks ago, we caught wind of a very tiny, very inexpensive WiFi chip  TI is producing. Everything required of an Internet connection – TCP/IP stack, configuration utilities, and your WEP, WPA, and WPA2 security tools is included in a single tiny chip, making this a very cool device for an Internet-connected microcontroller project. There’s only one problem: TI put this chip in a really, really weird package, and there aren’t any breakout boards for it.

That is, until now. [Vince] was convinced to spend some time in Altium to design a breakout board for this tiny WiFi chip. Now, if you can get your hands on a sample of the CC3000 from TI, you can breadboard out a circuit with the help of [Vince]‘s design.

Included in [Vince]‘s git are the board files for this breakout board, schematics, and the necessary parts if anyone has the inclination to make an Eagle library. If anyone wants to spin a few of these boards and put them up on a Tindie Fundraiser, that’d be fine by us, and [Vince] would probably appreciate that as well.


Filed under: hardware, wireless hacks

Pi-Point – turn your Raspberry Pi into a wireless access point

via Raspberry Pi

I was shown Pi Point before the holidays, but thought it was best to wait until now to spring it on you, because so many of you have got Pis for Christmas and are looking for projects to use them in.

Guy Eastwood has documentation and an SD card image which will allow you to turn your Pi into a wireless access point. With a bit of imagination applied, you can find a million uses for a tiny, waterproofable (think Tupperware and epoxy), cheap access point; of course, you can just use it to extend your home network, but the possibilities get really interesting if you think outside the box. You can build a guest network, firewalled off from your local network. You can learn about network hardening. With the addition of a home-made cantenna, you could set up a line of Pis as relays to get WiFi down to the shed in your allotment, or point a signal at your treehouse. If you’re an altruist, you can provide your local bus stop with free WiFi. 

Let us know what you end up doing with Pi-Point. We’d love to hear what you come up with!

A cheap WiFi interface for Arduino

via Arduino Blog

In this tutorial, Luca shows how to add WiFi connectivity to your Arduino boards without using a WiFi shield. Instead, he has combined a standard Ethernet shield with a commercial (and quite cheap) WiFi router:

I found the TL-WR702N nano router by TP-LINK that, with a cost of about 20€ on eBay, can work also as a wireless client: in this mode the router acts like a “bridge” between the device connected to its ethernet port and a Wi-fi network.

After a simple setup, where Luca configured the router as a WiFi client, the Arduino board has become accessible from the wireless network. Enjoy! :)

[Via: Luca's blog]

iPacemaker with Arduino

via Arduino Blog

When we say “there are no limit for  Arduino”, here we have a project,  sent by [ladvine] in wich Arduino meets biomedic tech. The WiFi shield is the real application when they speak about Arduino. There is a long paper about it on this [website] that I suggest to visit to understand more this important project.

iPacemaker is an reprogrammable implant pacemaker with wireless connectivity.
A user friendly embedded web interface helps in changing every parameters of the implantable pacemaker. The important feature is the WiFi alliance complaint hardware which supports every wireless device to establish connection with the IMD. GSM connectivity can be used in absence of WiFi in remote areas helping in Telemetry.
Wireless protection in case of WiFi is enabled through WPA2 security with AES Encryption and Java Web interface which has inherent security capabilities. Shielding the GSM and WiFi antennas helps reduce unwanted patient radiations.

Outlet charging station retrofitted with the guts of a WiFi router

via Hack a Day» hardware

While wandering around the aisles of his local electronics store this Westinghouse USB charging station caught [James'] eye. He sized it up and realized it would make the perfect enclosure for a small WiFi router. And so began his project to turn a TP-Link TL-WR703N into a DIY Pwn Plug.

The basic idea is to include hidden capabilities in an otherwise normal-looking device. For instance, take a look at this ridiculously overpriced power strip that also happens to spy on your activities. It doesn’t sound like [James] has any black hat activities planned, but just wanted an interesting application for the router.

He removed the original circuit board from the charging station to make room for his own internals. He inserted a cellphone charger to power the router, then desoldered the USB ports and RJ-45 connector for the circuit board to be positioned in the openings of the case. He even included a headphone jack that breaks out the serial port. There’s a lot of new stuff packed into there, but all of the original features of the charging station remain intact.


Filed under: hardware

Guest blog #1: Repurposing a Roomba by Ben J

via Raspberry Pi

The future has been so disappointing. We were promised force fields; teleporters; and androgynous, android manservants. Instead we got cagoules, budget airlines and robovacs. And what do you do with a robovac when it reaches the end of its useful life? You stick a Raspberry Pi on it and make it into a proper robot of course! In the first of our guest blogs Ben J, 14, does just that (thanks Ben!):
—–

Hi! My name’s Ben.
I’ve always had a big interest in robotics and electronics in general, so when I heard about the Raspberry Pi, I knew I had to build a robot around it. This is what I came up with:

roomba 4000

The robot, ready to do your bidding. Necessary wifi dongle not shown.

The base of the robot is an old iRobot roomba 4000 with all of the cleaning brushes and their respective motors removed.
The model of roomba that I used has two drive wheels and a coaster wheel in front, and the drive wheels draw almost 300mA of current, so powering them directly off of the Raspberry Pi’s GPIO obviously wouldn’t work. So, I considered using a relay board  to control the two drive motors from the GPIO. However, it turns that all the good boards were a little too expensive for a hobby project, so I decided to open the roomba up and see if I could somehow control the motors from the existing circuitry. Guess what? It turns out that there are four small transistors on the main board that power four larger transistors that deliver power to the motors. This means that there are two transistors per motor: one for forwards and one for backwards.

roomba circuit board

The four small transistors I mentioned are circled in red. Behold my soldering!

They’re labeled Q13, Q14, Q30 and an un-labeled one near R129.

I had a little help in discovering this from a video that a man named Dean Segovis had posted on YouTube, but I ended up taking a multimeter to the board; just to make sure that I wasn’t hooking my precious pi up to anything dangerous. You can watch Dean’s video here: https://www.youtube.com/watch?v=TVp6QWcoilk.
Once I had confirmed the location of the transistors I needed on the board, I connected their bases to GPIO pins 4, 17, 18 and 21 on the Raspberry pi with with a 16 pin socket that I had lying around.

To power the Raspberry Pi, I soldered together a power supply circuit around a 1 amp  5 volt regulator (basically the regulator and two capacitors) on a piece of perf board and had the 5v output from the regulator run to a micro USB connector. I also added some miscellaneous components to the circuit, like a power switch, a 2.5 Amp fuse, a 12 volt in socket and some 12 volt out sockets; one of which the camera is plugged into. The roomba’s main board is also plugged into a 12 volt out socket.

For the camera, I just used an ip network camera from the company Vivotek.
I had tried to use a USB webcam that you might use for skype calls, but streaming video from the pi slowed it way down and the picture quality wasn’t as good as I had wanted. I wasn’t using the best webcam in the world, though.

To hold the Pi in place on the robot, I just glued some plastic pegs where I wanted it to go:
One in between the USB and Ethernet ports, one in between the audio jack and the component video port, one near the HDMI port
and one near the SD card slot. This makes it easy to remove the Pi from the robot when It isn’t in use, yet it holds it in place very well.

raspberry pi on a roomba

The ‘holder’, with Rpi inserted.

The entire robot is powered off of a small 12 volt lead acid battery that fits nicely into the slot where the roomba’s original battery went. I could have used the original battery, but the one that came with my roomba was extremely old and wouldn’t take a charge any more. .

Lastly, I wrote some software in python to take input from a Nintendo wii remote and transmit the input it got to the Pi over wifi, where it’s decoded by another piece of python software and the wheels are moved according to the position of the joysticks on the wii remote. You can get my code at the links below:

Server.py – This one runs on the Raspberry Pi:

Server.py

Client.py – This one runs on your “base station” computer, a laptop for example:

Client.py

You can watch a short video of me driving the robot around on my YouTube channel:

https://www.youtube.com/user/doitnowlabs

And I think that’s about it. If I was unclear about anything or if you want a more detailed description of my project, please email me at benhjake (at) gmail.com , or leave a comment below. Also, if you replicate my project, I’d love to see a picture or two. You could email those to the same address. Thanks, and Happy Hacking!

Streaming Your Webcam w/ Raspberry Pi

via Wolf Paulus » Embedded

[Last updated on Feb. 2. 2013 for (2012-12-16-wheezy-raspbian) Kernel Version 3.2.27+]

Three years ago, we bought two small Webcams and since we wanted to use them on Linux and OS X, we went with the UVC and Mac compatible Creative LIVE! CAM Video IM Ultra. This Webcam (Model VF0415) has a high-resolution sensor that lets you take 5.0-megapixel pictures and record videos at up to 1.3-megapixel; supported resolutions include 640×480, 1290×720, and 1280×960. If you like, you can go back and read what I was thinking about the IM Ultra, back in 2009. Today, it’s not much used anymore, but may just be the right accessory for a Raspberry Pi.

With the USB Camera attached to the Raspi, lsusb returns something like this:

lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 005: ID 041e:4071 Creative Technology, Ltd

Using the current Raspbian “wheezy” distribution (Kernel 3.2.27+), one can find the following related packages, ready for deployment:

  • luvcview, a camera viewer for UVC based webcams, which includes an mjpeg decoder and is able to save the video stream as an AVI file.
  • uvccapture, which can capture an image (JPEG) from a USB webcam at a specified interval

While these might be great tools, mpeg-streamer looks like a more complete, one-stop-shop kind-of solution.

Get the mpeg-streamer source code

Either install Subversion (svn) on the Raspberry Pi or use svn installed on your Mac or PC, to get the source-code before using Secure Copy (scp) to copy it over to your Raspi.

Here, I’m using svn, which is already installed on the Mac, before copying the files over to my Raspi, (username pi, hostname is phobos)

cd ~
mkdir tmp
cd tmp
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
scp -r ./mjpg-streamer pi@phobos:mjpg-streamer

Please note: Looks like the repo got recently moved, Try this to check-out the code if the previous step does not work:

svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer

Over on the Raspi, I tried to make the project, but quickly ran into error messages, hinting at a missing library.

ssh pi@phobos
cd mjpg-streamer/mjpg-streamer
make
...
jpeg_utils.c:27:21: fatal error: jpeglib.h: No such file or directory, compilation terminated.
make[1]: *** [jpeg_utils.lo] Error 1

After finding out, which libraries were available (apt-cache search libjpeg), I installed libjpeg8-dev like so: sudo apt-get install libjpeg8-dev. This time, I got a lot further, before hitting the next build error:


make
...
make[1]: *** [pictures/640x480_1.jpg] Error 127
make[1]: Leaving directory `/home/pi/mjpg-streamer/mjpg-streamer/plugins/input_testpicture'

After some google-ing, which resulted in installing ImageMagick like so: sudo apt-get install imagemagick, the next build attempt looked much more promissing:

make
..

and ls -lt shows the newly built files on top:

-rwxr-xr-x 1 pi pi 13909 Sep 8 07:51 input_file.so
-rwxr-xr-x 1 pi pi 168454 Sep 8 07:51 input_testpicture.so
-rwxr-xr-x 1 pi pi 31840 Sep 8 07:50 output_http.so
-rwxr-xr-x 1 pi pi 14196 Sep 8 07:50 output_udp.so
-rwxr-xr-x 1 pi pi 19747 Sep 8 07:50 output_file.so
-rwxr-xr-x 1 pi pi 29729 Sep 8 07:50 input_uvc.so
-rwxr-xr-x 1 pi pi 15287 Sep 8 07:50 mjpg_streamer
-rw-r--r-- 1 pi pi 1764 Sep 8 07:50 utils.o
-rw-r--r-- 1 pi pi 9904 Sep 8 07:50 mjpg_streamer.o

MJPG-streamer

MJPG-streamer is a command line tool to stream JPEG files over an IP-based network. MJPG-streamer relies on input- and output-plugins, e.g. an input-plugin to copy JPEG images to a globally accessible memory location, while an output-plugin, like output_http.so, processes the images, e.g. serve a single JPEG file (provided by the input plugin), or streams them according to existing mpeg standards.

Therefore, the important files that were built in the previous step are:

  • mjpg_streamer – command line tool that copies JPGs from a single input plugin to one or more output plugins.
  • input_uvc.so – captures such JPG frames from a connected webcam. (Stream up to 960×720 pixel large images from your webcam at a high frame rate (>= 15 fps) with little CPU load.
  • output_http.so – HTTP 1.0 webserver, serves a single JPEG file of the input plugin, or streams them according to M-JPEG standard.

Starting the Webcam Server

A simple launch command would look like this:
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format…………: MJPEG
o: HTTP TCP port…..: 8080
o: username:password.: disabled
o: commands……….: enabled

Open a Webbrowser on another computer on the LAN and open this url: http://{name or IP-address of the Raspi}:8080

However, experimenting with the resolution and frame rate parameters is well worth it and can improved the outcome.

UVC Webcam Grabber Parameters

The following parameters can be passed to this plugin:

-d video device to open (your camera)
-r the resolution of the video device,
can be one of the following strings:
QSIF QCIF CGA QVGA CIF VGA SVGA XGA SXGA
or a custom value like: 640×480
-f frames per second
-y enable YUYV format and disable MJPEG mode
-q JPEG compression quality in percent
(activates YUYV format, disables MJPEG)
-m drop frames smaller then this limit, useful
if the webcam produces small-sized garbage frames
may happen under low light conditions
-n do not initalize dynctrls of Linux-UVC driver
-l switch the LED “on”, “off”, let it “blink” or leave
it up to the driver using the value “auto”

HTTP Output Parameters

The following parameters can be passed to this plugin:

-w folder that contains webpages in flat hierarchy (no subfolders)
-p TCP port for this HTTP server
-c ask for “username:password” on connect
-n disable execution of commands

I have seen some good results with this
./mjpg_streamer -i "./input_uvc.so -n -f 15 -r 640x480" -o "./output_http.so -n -w ./www"
but even a much higher resolution didn’t impact the actually observed frame-rate all that much:
./mjpg_streamer -i "./input_uvc.so -n -f 15 -r 1280x960" -o "./output_http.so -n -w ./www"

MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 1280 x 960
i: Frames Per Second.: 15
i: Format…………: MJPEG
o: www-folder-path…: ./www/
o: HTTP TCP port…..: 8080
o: username:password.: disabled
o: commands……….: disabled

Webcam Stream Clients

The included Website (http://{name or IP-address of the Raspi}:8080) shows examples for how to connect a client to the Webcam stream. The easiest way is obviously a simple HTML page that works great with Google Chrome and Firefox but not so much with Safari. Anyways, it’s important to specify the width and height that was configured with the output_http.so, in the HTML as well


  <img alt="" src="http://phobos:8080/?action=stream" width="1280" height="960" />

Raspberry Pi Webcam Streamer

Taking the Raspberry Pi Web Stream Server Outside

This is the Raspberry Pi powered by a 5VDC, 700mA battery, with an (Edimax EW-7811Un) USB-WiFi Adapter and the Creative LIVE! CAM Video IM Ultra connected.

Video Lan Client for Viewing and Recording

Using Video Lan Client, you can view and also record the video stream, served by the Raspi.

Recorded Webcam Streamer

Movie, streamed from a Raspberry Pi

Raspberry Pi Webcam from Tech Casita Productions on Vimeo.

Let me know what Webcam software you found that works well on the Raspberry Pi.

Tiny WiFi Adapter for Raspberry Pi

via Wolf Paulus » Embedded

[Updated on Feb. 2. 2013 for (2012-12-16-wheezy-raspbian) Kernel Version 3.2.27+]

The extremely small EW-7811Un USB wireless adapter looks like the perfect WiFi adapter for the Raspberry Pi. Not only is it tiny and relatively inexpensive, it also seems capable enough to be a great companion device for the Raspi. While elinux still shows that some users report timeouts trying to initialize the module, I cannot verify this with 2012-12-16-wheezy-raspbian.

WiFi is not really necessary for the Raspberry Pi. It already comes with an ethernet port, provides RS-232 (aka serial-) connectivity, and has two USB ports. However, in case you wanted to add WiFi to the Raspi, this little adapter seems to be as good as any. Here is why:

The Edimax EW-7811Un

  • complies with wireless IEEE802.11b/g/n standards
  • adjust transmission output by distance and CPU offload, to reduce power consumption when wireless is idle
  • is currently the smallest wireless adapter
  • currently cost between US$ 9 and US$ 15

more than enough reasons to cut the cord and add WiFi connectivity to the Raspberry Pi.

After performing the usual initial configuration in raspi-config, using WiFi Config (a GUI tool sitting at the desktop when starting LXDE with startx) is by far the easiest way to get the Edimax EW-7811Un configured.

But let’s quickly run through the steps of creating that bootable SDCard before dealing with the actual WiFi issues:

Creating that bootable SDCard

  1. Download the image file from http://www.raspberrypi.org/downloads
  2. Unzip the file to get to the image file.
  3. df -h to determine which drive is used for the sdcard, e.g. integrated SDCard Reader turned out to be disk2 for me.
  4. sudo diskutil unmount /dev/disk2s1
  5. sudo dd bs=1m if=/Users/wolf/Downloads/2012-12-16-wheezy-raspbian.img of=/dev/rdisk2
  6. sync
  7. sudo diskutil eject /dev/rdisk2

On a class 10 SD Card, the whole process shouldn’t take much longer than 70 seconds maybe. Insert the SDCard into the Raspi, power up, boot, and use the on screen menu:

In case you need to do this over a network, the Raspberry Pi’s default hostname is raspberrypi. I.e.
ssh pi@raspberrypi .. the pasword is raspberry

sudo raspi-config
to:

  • Expand root_fs
  • Change password
  • Change locale to EN_US.UTF-8 UTF-8 (un-select english UK and select select in long list)
  • Set Time zone (America / Los_Angeles)
  • Change memory split to 128:128
  • Enable ssh

Finally reboot: sudo shutdown -r now
Running the raspi-config again to execute update feature, reboot and login.
Now finding more updates and upgrades like so:

sudo apt-get update
sudo apt-get upgrade

Changing the PI’s hostname

Edit the host name in these two locations:

  • sudo nano /etc/hostname
  • sudo nano /etc/hosts

Adding WiFi support / EW-7811Un

With previous wheezy builds, I had to install the realtek firmware, blacklist the already installed 8192cu driver and install a new one. Not this time. ifconfig shows the wlan0 interface and iwlist wlan0 scan can be used to scan for available Wifi access-points, without any firmware installation or driver updates.

/etc/wpa_supplicant/wpa_supplicant.conf

All what’s needed to do to connect the Raspberry Pi to a Wifi Network, is to add a network configuration to /etc/wpa_supplicant/wpa_supplicant.conf.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

The network configuration depends very much on your network, SSID, Password Security etc. However, here is what I have added, to make the EW-7811Un connect to my WiFi network:


network={
ssid="MY_SSID"
psk="******"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}

With the correct WiFi network configuration added to the wpa_supplicant.conf file, the ethernet cable can be removed and the Raspberry Pi will automatically switch over to WiFi.
This behavior is pre-configured in /etc/network/interfaces, which looks something like this:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


Raspberry Pi – WiFi (Edimax EW-7811Un)

Backup the SD Card

Once done with setting up Raspian, I usually create an backup image that later can be copied onto the same or a different SD Card (of equal size).

Backup

Insert the perfect SDCard into the Card Reader and find out how to address it. Again, for me that usually is disk2s1.

sudo diskutil unmount /dev/disk2s1
sudo dd bs=1m if=/dev/rdisk2 of=~/RASP_3_2_27.img
sync
sudo diskutil eject /dev/rdisk2

Depending on the size of the SDCard, this will create a huge file (like 16GB) an may take a while (like 7min).

Restore or Copy

Insert am empty SDCard into the Card Reader and find out how to address it. Once again, for me that usually is disk2s1.

sudo diskutil unmount /dev/disk2s1
sudo dd bs=1m if=~/RASP_3_2_27.img of=/dev/rdisk2
sync
sudo diskutil eject /dev/rdisk2