Posted: January 25th, 2009 | Author: john | Filed under: General, packedobjects | Tags: beagleboard, guile, openembedded, packedobjects | No Comments »
Thanks to OpenEmbedded building extensions for Guile that run on embedded devices such as the BeagleBoard is fairly painless. As I have previously mentioned, Guile is already supported by OpenEmbedded. If you have an extension which is made up of some C code and some Scheme code you first should automate building it with autoconf. This might install a shared library and install some Scheme files into Guile specific locations. The next step is to write a bitbake recipe which will work with this autoconf based project. Typically this recipe will download a tarball or checkout some code from version control and then begin its magic. The end product hopefully is a binary package which can be easily installed onto the device. As an example I built packedobjects as a Guile extension for my BeagleBoard. The bitbake recipe is availabe here:
http://packedobjects.cvs.sourceforge.net/viewvc/packedobjects/packedobjects_project/openembedded/
This works by getting the latest code from CVS. It builds the code and is told which files need to be part of the package. So if you have OpenEmbedded setup you just need to issue the command:
bitbake packedobjects
This will build and package the lastest code as an ipk.
We should test the built ipk on the device to see if it works:
root@beagleboard:~# opkg install http://zedstar.org/ipk/libpackedobjects0_0.1-r0.1_armv7a.ipk
Downloading http://zedstar.org/ipk/libpackedobjects0_0.1-r0.1_armv7a.ipk
Installing libpackedobjects0 (0.1-r0.1) to root...
Configuring libpackedobjects0
root@beagleboard:~# guile
guile> (use-modules (packedobjects))
guile> (exit)
Posted: January 2nd, 2009 | Author: john | Filed under: packedobjects | Tags: guile, packedobjects | No Comments »
I have created a sourceforge project for the new Guile version of packedobjects:
http://packedobjects.sourceforge.net/
This is an early version without documentation. The API has changed from the Chicken version so I will document this soon. Eventually I will push back the improvements to the Chicken version.
So far it builds as a Guile module. I also need to look at how to embed this version into a C application.
Posted: November 9th, 2008 | Author: john | Filed under: General, packedobjects | Tags: chicken, guile, packedobjects, scheme | No Comments »
I have lately been very busy with work, life and the universe and subsequently have done little hacking. I have recently been examining Guile. Guile has been part of OpenEmbedded for a while so should be easy to get running on numerous embedded devices. Chicken was very recently added to OpenEmbedded, however, lacks support for building eggs in this environment. One thing I really love about Chicken is its very easy to use foreign function interface (FFI). After spending the odd hour over various weekends I have finally begun to grok Guile’s FFI. I plan to build packedobjects for Guile and possibility extend its features.
I really like the idea of extension languages ever since I did some work with Tcl a number of years ago. A great example application was Eggdrop the IRC bot. Lots of kids at the time would program their eggdrop bots using the simple Tcl interface. I think a lot can be said about this approach in terms of learning/teaching programming. I hope to explore this further with my education hat on.
Posted: October 3rd, 2008 | Author: john | Filed under: General | No Comments »
I had negeleted to update wordpress for some time. The result was some iframe expoilts injected into a couple of posts. This resulted in Google reporting me to stopbadware.org. Recent versions of Firefox use data from stopbadware to warn you when you are accessing a site that may contain malware. Also, any search on my site in Google listed me with a warning and prevented linking to my site. Having fixed the issues I then had to contact Google to get myself removed from the bad list. Anyway, normal service resumed!
Posted: September 27th, 2008 | Author: john | Filed under: thumbtribes | Tags: beagleboard, Bluetooth | No Comments »
Here is a picture of the hardware I will use for logging Bluetooth data.
Posted: September 17th, 2008 | Author: john | Filed under: thumbtribes | Tags: beagleboard, Bluetooth | No Comments »
Bluedog is the name I am going to give to my Bluetooth traffic/stats project I aim to start soon. I have the hardware and software setup with my beagleboard. Ideally I want to setup a few of these at the University where I work and start logging some data in similar nature to http://www.bluetoothtracking.org/
I will post some pics of my hardware setup soon.
Posted: September 17th, 2008 | Author: john | Filed under: thumbtribes | Tags: beagleboard, Bluetooth, btlogger | No Comments »
I have built btlogger for the beagleboard. The ipk is available:
http://zedstar.org/beagle/btlogger_0.2.2-r0_armv7a.ipk
It requires the sqlite db some where on the device. Download:
http://projects.openmoko.org/frs/download.php/313/btlog.db
run btlogger -v to see what it does and reference the db file with -d /location/of/file
TODO:
- I am going to modify the program to log more stats.
- I should also add the database to the ipk so it installs automatically
Posted: September 14th, 2008 | Author: john | Filed under: General | Tags: Angstrom | No Comments »
I installed Angstrom on my Beagleboard and was able to ssh in do all the usual things. Obligatory screenshot.
I am going to install my btlogger on it and hook up a Bluetooth dongle.
Posted: September 7th, 2008 | Author: john | Filed under: thumbtribes | Tags: Bluetooth, gps, thumbtribes | No Comments »
Continuing my theme of projects that suffer from issues of critical mass I have began work on fakesat. I was looking for something to do with my beagleboard so decided that using it for this project would be fun. I have ordered a 100 meter Bluetooth dongle so will see how well that really works. I am interested in low cost community driven alternatives to GPS especially ones that work well in urban environments.
Posted: August 30th, 2008 | Author: john | Filed under: General | Tags: remora | No Comments »
I have now tested the search engine on an iPod Touch. The code and software is available here.
In summary there are 2 search engines. One does a Yahoo! search and allows you to add PDFs to the local search engine. The basic idea is you can easily add documents to your device and find and read them later using a search engine. Even if the iPhone had a way to download and browse documents it still does not solve the problem that some people give very random names to their PDF files. With the search engine you don’t need to wory what the filename is as you just search on its contents.
If you have a delicious account you can configure the live search to use it. It will then highlight any results in your search that match sites from your delicious account.