I received an email out of the blue through my contact form here from a representative over at “Intus Healthcare”. He pointed me in the direction of the Zeo Sleep Manager, with an aim to reviewing it. Sure enough, I was thoroughly interested, and we exchanged a few emails back and forth on it’s serial port, and other such things. Unfortunately at that point, things went dead – I’ve sent him several emails over the past few weeks but haven’t heard anything back. Nonetheless, the product looks really interesting, and hits several of my interests, and so I went ahead and ordered the product. I ordered directly from myzeo.co.uk which seems to be a store front for Intus Healthcare who are apparently Zeo’s UK distributors of the product.
The order process was simple enough, and I’m thoroughly looking forward to receiving the product. I’ll post further updates when it arrives.
Tags: intus healthcare, zeo, zeo sleep manager
I came up against an issue in trying to replace a string with sed that contained special characters. Assume the following example:
LOG=”/var/log/apache2/adamsinfo.com-access.log”;
cat /etc/awstats.template|sed s/TEMPLATE-LOG/$LOG/g
The sed fails because $LOG contains forward slashes. Instead, these must be escaped:
cat /etc/awstats.template|sed “s/TEMPLATE-LOG/$(echo $LOG | sed -e ‘s/\\/\\\\/g’ -e ‘s/\//\\\//g’ -e ‘s/&/\\\&/g’)/g”
This doesn’t escape all special characters. The only characters that we need to escape are the backslash, the forward slash, and the ampersand.
Tags: bash, cat, escaping, sed, variables
APNIC Solutions Ltd are a firm of expert level PHP programmers. Not the type of self styled “experts” found online by the thousand, but expert level based on qualifications, experience and reviews. A selected portfolio of our work is available here
We have several different ways of working on projects, and it really does boil down what would best suit the Client. Our three main offerings are;
PHP is not our only specialty, we also specialize in all the ‘surrounding’ technologies including HTML, CSS, Ajax, jQuery, and MySQL. Another important consideration is where you choose to host your application. I offer a free initial call so contact me to discuss your ideas today.
APNIC Solutions was established in 2005, and began as a small project in my bedroom at university. Over the past 6 years, the Company has grown solidly year on year. We now have 9 full time development staff spread across the globe, and a range of servers in various datacenters. Both the servers and staff are online and working 24/7!
It’s been a lot of work to get to this point, but both our staff and client retention rate is over 90%, and the majority of our yearly business is repeat business. At APNIC Solutions we are proud to offer our clients the absolute best, and as many will testify, consistently go above and beyond when required.
Tags: apnic solutions
In this video I’ll be showing how I used the Emotiv headset to drive the robot. Please excuse the editing, and in fact the video itself. I will perhaps aim for a better one in future. Hopefully the video is sufficiently clear in what’s happening.
Tags: driving, emotiv, mind, mind control, Robot
Having an interest in Brain Computer Interface (BCI) hardware, and with the release of the Emotiv EPOC headset, I decided to invest in the Research Edition. The research edition comes bundled with the research version of the SDK. The benefit of this version of the SDK is that we also have access to the raw EEG outputs from each channel, as well as a piece of software called TestBench that allow for saving/replaying sessions.
![]() |
![]() |
The headset itself comes almost ready to go, just attach the felt pads and wet them with saline. Affixing the headset to the head is a bit difficult the first few times and requires a bit of practice. Once you’ve done it a few times, it becomes a lot easier. The key is getting each of the felt pads absolutely soaking wet with saline before putting it on the head.
I’m going to be using the headset for a number of different purposes. As a BCI, I intend to use it to manipulate the robot, and probably in future other more useful tasks. Separately, I plan to use it to monitor sleep and meditation sessions which are a separate area of interest of mine.
In a previous post, I showed how it was possible to control the robot using voice commands. Here, I’ve modified the voice control script to handle simple keystrokes instead. The Emotiv control panel comes with a tool called ‘Emokey’ that can issue defined keystrokes when certain actions are detected within the control panel. Here’s a video:
The purpose is really to show how simple it is to interface with any regular program/script using EmoKey. There are other more exciting possibilities such as directing music based on the Affectiv suit. The Affectiv suite deals in mind states such as frustration, alertness, meditation, etc.
Tags: emokey, emotiv, Robot, voice
I’ve set up a new mic and used cvoicecontrol (with some bug fixes) to perform voice control. I’ve integrated cvoicecontrol into my C HAL layer. Each voice model needs training and saving, however once done, they can be reused in the code. For example; if (listen(“yesno”)) { … } is all that’s required to listen for a yes or a no, assuming that “yesno.cvc” has been trained in advance. I’ve also integrated the clap switch across the one of the Phidgets digital inputs. The software requires two toggles within 8 seconds of each other, and the hardware configuration requires two claps to generate one output toggle. This seems the best way to filter out other noise from triggering it. The result is two sets of two claps are required to activate the voice control. Here’s an example:
(more…)
Tags: bluetooth, Linux, Robot, voice
The Roomba’s a great invention. Who needs one when you’ve got one of these though? </joke> For over 4 times the price and nowhere near the simplicity or ease of use, I present:
Since the robot’s rebuild, I finally tackled the automatic charging situation. There are a number of ways to get the device to autocharge. If it always has line of sight to it’s charger, it can spin until it finds it using infra red, then follow the beam – this however doesn’t work without line of sight. It could use a compass, although there are too many magnetic fields, and this requires advance knowledge of positioning. The simplest method would be to always start on charge, and just store movement history, reversing it when it was necessary to charge. Problem here is that even with good wheel alignment, AND accelerometers, even after few movements, simply reversing them is often not good enough to get it even close to it’s original position.
(more…)
Tags: accelerometers, charging, Linux robot, Robot
The robot’s new design also allows for better manual movement – here’s a video of the robot being manually controlled. This is all done via the TCP server and can be hooked to any TCP speaking application.
Tags: Linux robot, motors, movement, tcp server
It had been a while since I’d worked on the robot, and I wanted to work on some movement algorithms. I’ve done some AI work lately on a separate project, and thought that this would help with the automated movement task. Unfortunately, the Robot had a little accident, namely falling out of the loft whilst I was bring it down. It’s been long overdue the removal of some of the excess hardware, and also needed some bugfixes that I now had no choice but to perform.
(more…)
Tags: lcd, Robot, speakers, tcp server