msgbartop
Adam Palmer MBCS CITP, Linux, PHP Programmer, MySQL Developer, Embedded Hardware, Security Consultant
Did my blog help you? Please link to me!
  dns test
 
RSS Feed
msgbarbottom

05 Aug 09 Using the Phidget Interface Kit under Linux

Further to a comment I received http://www.adamsinfo.com/the-robot-phidgets-usb-interface-board-kit-works/comment-page-1/#comment-490 I thought that it might be a good idea to write a quick high level overview of getting the USB Phidget Interface Kit working under Linux. In my case I am of course using 32bit Debian, however these instructions should mostly be portable to any other Linux based OS

(more…)

Tags: , , , , ,

26 Nov 08 The Robot: Hardware working and ready to go, a few minor glitches

Robot

Robot

Progress has as always been good lately. The robot boots up quickly and appears on the wireless LAN, with openssh running. The internal Atheros miniPCI wasn’t doing the trick and wireless performance was shaky at best. I’m using an Alfa Networks USB adapter (r8187) and an 8dBi gain antenna now, so this has some distance now!

I was also getting frustrated with the laggyness of the board while VLC was running for streaming audio and video and so I decided on an IP Camera (Edimax), which is connected directly to the LAN port on the Alix board (I don’t have any reason to use it for anything else).

The motor control script works well and the device is responsive. At this point I can drive the device around

Robot

Robot

relatively easily and accurately, stream video and audio back to my laptop, which again is connected wirelessly.

Using ‘espeak’ you can easily generate a synthesized voice to provide easy text to voice:

echo “I am a robot”|espeak

Everything is working great and I’m pleased so far. The only reason why there isn’t a video up yet is because I haven’t had the time! There will be one up shortly.
(more…)

Tags: , , , , , , , , , , , , , , , , , , , , , ,

19 Oct 08 Linux on a Mikrotik 532a , Part 5 Final – OpenWRT and Custom Scripts

Follow on from: http://www.adamsinfo.com/linux-on-a-mikrotik-532a-part-4-customization-debian-scripts-shaping-firewall-nat-picolcd/

Discuss this article here

I’ve used OpenWrt previously to this project to build some firmwards for the Linksys Router WRT54 range. OpenWrt is an incredibly powerful and small Linux distro. Although debian is probably better suited to the reasonably powerful hardware, I wanted to give OpenWrt a go anyway.

Unless you’re running a MIPS 4Kc processor on your host which I’m guessing you’re not, you’ll either need to cross compile your binaries, or just compile them natively on the device itself. Compiling on the device works fine as long as you have the relevant packages, however if I was going to build a 2.6 kernel, I’d rather do it on an x86 quad core intel host, rather than waiting a week for the device to do it. I also wanted to minimize the writes on the CF card.

OpenWrt comes with a nice buildroot environment which you can read about and download from www.openwrt.org using Subversion.

Here http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-310002 is a great HOWTO on getting the build root environment set up on your x86 host.

Also, see: http://wiki.mikrotik.com/wiki/RB500_Linux_SDK – this is a very complete HOWTO, which is why I’ve not covered most of the installation process and just detailed customizations.

You’ll need to select the RB5xx target for the kernel. Also, run:

make kernel_config

In your build root top directory, and add USB support (as my one is modded for USB which is not RB5xx default.

While you’re there, browse to the networking options and make sure you have everything you want, specifically the schedulers for traffic shaping.

Here is my precompiled image:

http://www.adamsinfo.com/download.php?file=apnicbox-openwrt-151008.img.bz2
MD5: aa3df2923b31afe2ae94fc04f65d80be

(more…)

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

07 Oct 08 Linux Robot – Watch this space

I’ve been struggling to think of a good project to start on. I’m currently writing the APNIC Box series here, and I’m on part 4 of maybe 7 or 8 right now. I like to keep at least one personal project of interest on the go at a time so back to struggling for inspiration.. Feel free to tell me that this is an awful idea and suggest something else, but until I hear otherwise I’m going to roll with it.

Linux Robot – Requirements

Here’s what I’m thinking. Small embedded device, way smaller than the Mikrotik 532a used for the APNIC Box. The board will need USB [as we're going to use the 5v for charging later]. I’d like to start with a powerful enough board that it can be expanded later with relative ease.

The device will initially have few inputs and outputs. It will support miniPCI, USB, Serial Console, CF card, GPIO or some other good method for controlling a relay board and some motors. The device will have 4 small wheels, maybe rubber [old mouse] balls instead and some ultrasonic sensors, 4, 6 or 8.
(more…)

Tags: , , , , , , , , , , , ,

15 Sep 08 Using picolcd on linux, lcdproc, routerboard, liblcdusb

I’ve posted previously about my embedded device and picolcd. I wanted to put some thoughts down about using picolcd.

The easiest way to drive your picolcd is with lcdproc I’ve found. The device doesn’t require any special drivers which is great, as long as you have USB support working you’re fine. Make sure uhci-hcd and usbcore are loaded, you should be able to use ehci-hcd as well as it supports USB 1.1 and 2.0 but I haven’t tested that.

Use lsusb to make sure that the device is shown and recognised. If you see:

    Bus 002 Device 003: ID 04d8:0002 Microchip Technology, Inc.

then great. Your device is connected, working and your machine supports USB.
(more…)

Tags: , , , , , , , , , , , , , ,

26 May 08 Custom linux router, the story..

I have two separate internet providers, two separate static ranges, one from each provider, and a LAN. The purpose of the exercise here was to split traffic between the two providers on an equal 50/50 basis.
(more…)

Tags: , , , , , , , ,

26 May 08 Linux device names & mounting

Recently I came across an annoying issue. I have three identical Seagate USB mass storage devices, plugged in to a debian etch 4.0 stable (2.6.18) machine. I could add those devices and mount points to /etc/fstab, but upon reboot, the /dev/sdX device names would change and therefore the drives would get mounted in the wrong place and bad things would happen. To summarize, “drive1″ would appear as /dev/sdb on one boot, but on another boot, “drive1″ would appear as /dev/sdc with “drive2″ appearing as /dev/sdb.

There are two options here, use the drive serial numbers and some UDEV trickery to ensure that a particular drive gets the same device name each time, but I wasn’t so sure about that.
(more…)

Tags: , , , , , , , ,