Latest Entries »

Unfortunately a growing trend- this blog has been neglected (I will try and get back on top of things eventually!). But here’s the most recent reason why…

I am now the proud owner of a new photo blog http://www.photobotos.com

The site was previously run by two brothers Charlie and Tom. Each day bringing a new photo (for everyone) along with a description for those of us curious as to how the picture was captured.

The blog used WordPress, the same as this one http://tickett.wordpress.com, but unlike this one it is not hosted at WordPress.com which gives a much greater ability to customise. Fortunately my background made it quite simple to dive in and start making some of the changes I hoped would enhance the site:

Random Photos

  • Create a category called random (don’t attach any photos as they won’t be browsable)
  • Modify your theme’s archive.php

Add this above if (have_posts()):

$special_random = false;
if(is_category('random')) {
$special_random = true;
query_posts( array( 'posts_per_page' => 5, 'orderby' => 'rand' ) );
}

Then modify the next_posts_link code (clicking it on the random page would fail… you just need to refresh the page to see more random posts):

<?php 
if(!$special_random) {
next_posts_link( __( '« Older Entries', 'andrea' ) ); 
}
?>
  • Install and activate the plugin page links to
  • Create a page and select “page links to” at the bottom and point to your category page (something like http://yourblogurl/random)- this will add the random photos link to your navigation menu

Thumbnails on Search / Category / Tag pages

  • Modify your theme’s search.php
<div id="post-<?php the_ID(); ?>" <?php post_class( 'entry-content' ); ?>>
<a href="<?php the_permalink(); ?>" rel="bookmark">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'photo_thumbnail', 'class=photo_thumb' );
} else {
// the current post lacks a thumbnail
}
?>
</a>
<?php the_excerpt( __( 'Read the rest of this entry &raquo;', 'andrea' ) ); ?>
</div>

Here’s a few of the latest images:

Church of the Good Shepard

The Walkers

I suggest you check it out :)

L

Canvas Order

Finally found the time to sift through my photos and send a bunch to be printed on canvas to fill my rather bare walls:

A really old shot of Brighton seafront from the pier.

A recent shot from St Louis, MO.

One of the first photos I ever took looking across from the north side of the Thames in London.

A recent photo from Miami, FL.

Another old shot taken at Tropical Wings in South Woodham Ferrers.

A recent shot from Koh Phangan.

A recent shot from Koh Tao.

A recent shot from Koh Nang Yuan.

A recent shot from the Grand Canyon, NV.

And one last shot from Vegas, NV.

I think I got a pretty good deal- from https://www.my-picture.co.uk/ all 2:1 at 40" x 20" @ £33.95 but with the current 20% discount code UKSPRING20 came in at £27.16 each. Let me know if you know anywhere cheaper!

I’ve not been following it this year (due to the schedule change), so I’m playing catch up! Here they are for anyone that missed it:

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E01.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E02.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E03.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E04.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E05.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E06.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E07.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E08.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E09.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E10.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E11.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E12.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E13.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E14.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E15.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E16.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E17.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E18.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E19.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E20.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E21.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E22.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E23.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E24.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E25.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E26.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E27.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E28.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E29.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E30.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E31.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E32.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E33.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E34.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E35.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E36.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E37.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E38.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E39.mp3

http://tickett.net/downloads/24yatte/s2/24YATTE_S2_E40.mp3

You can find season 1 here: http://tickett.wordpress.com/2011/12/09/24-years-at-the-tap-end/

Thanks Chris, keep up the good work!

A few club shots

I’ve still yet to pick a few favourites from Thailand, so until then, here’s a few from recent nights out/at work:

Wax @ the Sunrooms

W0rks @ Mansion

After Office Hours (AOH)

Kool Kids Klub @ the Sunrooms

I became aware of AlertMe a few months back when I was looking for a device (relay plug/socket) which I could use to monitor (energy/power consumption) and control (switch on/off) devices in my home remotely. I have been playing with the Smart Energy products and been pretty happy (though still looking to hook them up to my own home automation solution in the future: http://tickett.wordpress.com/2013/01/12/reverse-engineering-zigbee-communications/).

I then noticed a Smart Heating product appear on their site, promising:

Features

  • Wireless enabled home thermostatic controls unit connects to the AlertMe Hub gateway
  • Transforms hard to manage controls into a simple and intuitive online dashboard or Smart Phone interface
  • Enables remote control of heating/cooling online from anywhere
  • Set and forget it and even manage holiday mode online
  • Adds convenience and enhanced comfort while addressing cost and waste
  • Professional install and set-up

Unfortunately, the product wasn’t listed in their online store. After a quick phone call I was informed it’s only available through British Gas, branded Remote Heating Control. British Gas sell the pack for £199 to existing customer or £229 to new customers- this includes installation which seems reasonable if you’re not comfortable with installing yourself (but a bit of a rip off otherwise- I can’t imagine the units costing any more than £100). Then to be told I’d have to wait 45days for installation wasn’t the best news either!

Never-the-less, I waited and as promised the British Gas engineer came and installed the "hub", "wireless receiver" and "wireless thermostat":

I find it slightly odd that the indicator light on the hub is not used (the AlertMe hub light indicates whether it is online/offline etc):

The wireless thermostat is "meant" to be wall mounted (has no stand) but I can imagine many of you, like me will want to have it freestanding.

I was slightly disappointed that I couldn’t utilise the existing AlertMe hub provided with my Smart Energy pack (I did try, managed to pair the device but the AlertMe dashboard doesn’t have the functionality for me to actually use it):

Notice the lack of a radiator icon present in the British Gas dashboard:

The iPhone app seems to crashes quite a lot, but works eventually and comes in really handy (though you can only turn the heating on/off/auto and adjust the temperature until the next event- as defined in the schedule seen above):

The addition of a "boost" like function would be really hand to just override the temperature for set period of time. And there is currently no access to modify the schedule from the iPhone app at this time.

I haven’t tried to install the app on an iPad yet, although I did try to access the website. Whilst I was able to logon, the site didn’t really work- I could see the schedule but not drag any of the sliders to adjust it.

All in all, it serves it’s purpose really well- definite room for improvement but I’m sure we’ll see that as the product matures (and hopefully tinkerers will provide alternative interfaces etc).

The first project I backed on Kickstarter was delivered some time back but I’ve only recently gotten around to trying to do something with it.

I have a bunch of JeeNodes from JeeLabs and wanted to use them as a starting point so read a few articles about getting the RFM12B on the EVE talking to the Raspberry Pi. They suggest bridging CE1 to SS RFM12 and bridging G21/G27 to the third pin of the chip which appears to be FSK/DATA/nFFS (according to the data sheets I’ve seen)- oh and don’t forget to add an antenna!

I then found some code suggested to be working on the older v1 raspi with an RFM01 chip fitted rather than the RFM12B I have: http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/

Another site gave some pointers around modifying the code for the v2 raspi: http://amcc.me.uk/2013/01/eve-alpha-collects-weather-data/

The setup seems to work very well with either revision (1 or 2) of the Raspberry Pi though a couple of additional lines of code in wh1080_rf.c need to be tweaked to suit revision 2:

// RPi (Rev1) Init GPIO21 (on pin 13) as input (DATA), GPIO22 (pin 15) as output (nRES)
*(gpio.addr + 2) = (*(gpio.addr + 2) & 0xfffffe07)|(0x001 << 6);
Becomes:
// RPi (Rev2) Init GPIO27 (on pin 13) as input (DATA)
*(gpio.addr + 2) = (*(gpio.addr + 2) & 0xff1fffff)|(0x001 << 6)
And:
// RPi (Rev1) - GPIO21
status = ((*(gpio.addr + 13)) >> 21) & 1;
Becomes:
// RPi (Rev2) GPIO27
status = ((*(gpio.addr + 13)) >> 27) & 1;

I then went on to comment the RFM01 definition in rfm01.h and uncomment the RFM12B definition:

//#define RFM01
#define RFM12B

I also added the following definitions for the RFM12B as without them the code wouldn’t compile:

#define LNA_20 (3 << 4)
#define LNA_14 (1 << 4)
#define LNA_6 (2 << 4)
#define LNA_0 (0 << 4)
#define LNA_XX (3 << 4)

Remove this line from wh1080_rf.h:

#define USE_BMP085

Then onto the main wh1080_rf.c starting with updating to the correct spi port:

static const char *device = "/dev/spidev0.1";

I then used http://tools.jeelabs.org/rfm12b to get all the hex values to update the following lines:

uint16_t cmd_drate = 0xC606;
uint16_t cmd_freq = 0xA640;
uint16_t cmd_config= 0x80e7;
uint16_t cmd_power= 0x82dd;
uint16_t cmd_sync= 0xced4;
uint16_t cmd_afc= 0xc483;
uint16_t cmd_dcycle = 0xc800;
uint16_t cmd_pll= 0xcc57;
uint16_t cmd_fifo= 0xca83;
uint16_t cmd_dfilter = 0xc2ac;

Now when I:

make clean
make
sudo ./wh1080_rf

Initialising RFM12b
SPI: mode 0, 8-bit, 1000 KHz
Ctrl+C to exit
LNA_0,RSSI_73 idx 0 0.00 0.00 0.00 0.00 0.00 0.00
LNA_0,RSSI_79 idx 1 0.00 0.00 0.00 0.00 0.00 0.00
LNA_0,RSSI_85 idx 2 0.00 0.00 0.00 0.00 0.00 0.00
LNA_0,RSSI_91 idx 3 0.00 0.00 0.00 0.00 0.00 0.00
LNA_0,RSSI_97 idx 4 0.00 0.00 0.00 0.00 0.00 0.00
LNA_0,RSSI_103 idx 5 4.21 5.32 4.17 3.26 4.21 5.26
LNA_6,RSSI_73 idx 6 0.00 0.00 0.00 0.00 0.00 0.00
LNA_6,RSSI_79 idx 7 0.00 0.00 0.00 0.00 0.00 0.00
LNA_6,RSSI_85 idx 8 0.00 0.00 0.00 0.00 0.00 0.00
LNA_6,RSSI_91 idx 9 0.00 0.00 0.00 0.00 0.00 0.00
LNA_6,RSSI_97 idx 10 0.00 0.00 0.00 0.00 0.00 0.00
LNA_6,RSSI_103 idx 11 4.21 6.32 5.21 4.26 5.38 4.26
LNA_14,RSSI_73 idx 12 0.00 0.00 0.00 0.00 0.00 0.00
LNA_14,RSSI_79 idx 13 0.00 0.00 0.00 0.00 0.00 0.00
LNA_14,RSSI_85 idx 14 0.00 0.00 0.00 0.00 0.00 0.00
LNA_14,RSSI_91 idx 15 0.00 0.00 0.00 0.00 0.00 0.00
LNA_14,RSSI_97 idx 16 0.00 0.00 0.00 0.00 0.00 0.00
LNA_14,RSSI_103 idx 17 5.26 5.26 4.21 5.21 5.26 4.35
LNA_20,RSSI_73 idx 18 0.00 0.00 0.00 0.00 0.00 0.00
LNA_20,RSSI_79 idx 19 0.00 0.00 0.00 0.00 0.00 0.00
LNA_20,RSSI_85 idx 20 0.00 0.00 0.00 0.00 0.00 0.00
LNA_20,RSSI_91 idx 21 0.00 0.00 0.00 0.00 0.00 0.00
LNA_20,RSSI_97 idx 22 0.00 0.00 0.00 0.00 0.00 0.00
LNA_20,RSSI_103 idx 23 4.30 5.26 4.21 5.26 5.26 4.35
RSSI Duty 0.32

.

So the “interference” I can see suggests that something is hopefully working! I’m still playing around in an attempt to work out what I still need to tweak.

L

Thailand Video

Not had a chance to pick my favourite photos, but here’s a little video montage :)

And for mobile devices: https://vimeo.com/tickett/chang

I think I may’ve just had that eureka moment!

As part of the almighty home automation project I have been seeking a mains plug/socket which both meters the power consumption of attached devices AND allows remote switching. I struggled to find anything that fit the bill (and was reasonably priced and/or "open") but ended up taking the plunge and buying a few AlertMe (aka IRIS) Smart Plugs (£25/each).

Knowing that the AlertMe products communicate using Zigbee, if I want them to talk to anything more than themselves I would need to do a little packet sniffing in an attempt to document the packet format.

I first found some software that looked up to the job: http://www.ubilogix.com/products/ubiqua Ubiqua by Ubilogix (although I’m just using the trial version, I doubt I can afford the hefty $999 license fee!) and then found a compatible USB dongle: http://uk.farnell.com/jsp/search/productdetail.jsp?SKU=1855261 Texas Instruments CC2531EMK Zigbee USB dongle (£46.68).

A few days later- everything’s delivered and I fire it up (I use a Mac with VirtualBox to run windows virtual machines. I couldn’t get the driver working in Windows 7, so settled for XP).

There is a ton of traffic and I have very little idea what any of it is!

My next thought was- maybe I can find figure out which device is which through the online portal / web interface (maybe the mac addresses will be listed). They weren’t directly, but clicking on "manage" and viewing the source they were there for the taking:

Ubiqua uses a short notation but you can easily find it:

So, what next? Well there is where I got a little stuck and found myself examining random packets and not really figuring anything out. Applying a filter to only see traffic from the current clamp / meter reader seemed sensible but I believe because the mesh like nature of the Zigbee protocol each message was being relayed by each device causing a lot of duplication. I removed the SmartPlugs, leaving just the hub and meter reader (the SmartPlugs have battery backup so I think it takes a while for them to stop transmitting, I held the power button which I think drained them quickly- the orange light was no longer appearing).

So now we’ve isolated some traffic we’re interested in from a lot of "noise"- but we’re still pretty clueless. Brainwave… let’s monitor a short period with normal consumption then a short period with high consumption (I put the oven on) then a short period with 0 consumption (I removed the current clamp from the mains cable). I made a note of the packet count in Ubiqua at each change so I could be sure to pick a packet from each of the phases.

The incoming packets still don’t seem consistent- so maybe there are more conversation taking place than simply "here’s my power consumption" but I found a fairly regular packet structure 116 bytes in length and decided to filter my packets to just those. I then took the ZCL payload data from one of the "normal", "high" and "zero" samples:

Normal:
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

01 DC 01 DC 01 DC 01 DD 01 DB 01 DD 01 DD 01 DD 01 DD 01 DA 01 DC 01 D4 01 D2 01 D5 01 D2

00 03 A8 FA

High Use:
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

0E EE 0E FA 0E F4 0E F9 0E F7 0E F9 0E FB 0E FC 0F 13 0E E3 0E E9 0E E7 0E EA 0E 36 0B 33

00 03 A9 27

Zero Use:
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 03 A9 AE

You can see I chopped the payload into three logical sections. Now my hex isn’t great, but I could quickly see 2 hex digits (8 bits or 1 byte) didn’t really mean anything but when paired and converted to decimal the numbers started to look very much like my estimated power consumption (repeated a number of times- at a guess there are 15 samples in each packet?). Taking the first reading from each packet you end up with:

01 DC = 476 W
0E EE = 3822 W
00 00 = 0 W

Whilst this seemed very likely I wanted to try and confirm the value… So I did another capture and checked the "power now" value on the portal- bingo, spot on!

I still have a lot of work to do to try and determine:

  • What the other packets are?
  • How to decode the consumption packets from the SmartPlugs?
  • How to decode the on/off switching instructions to the SmartPlugs?

And then potentially attempt to build a little arduino circuit / sketch to facilitate communication. Meanwhile I will no doubt be having a poke around inside the devices :)

I didn’t previously mention that the Zigbee packets are actually encrypted- I’m not quite sure where it came from but there was already a key in Ubiqua which was able to successfully decrypt the AlertMe / IRIS packets: AD:38:19:32:6F:D5:C8:F9:F2:8D:78:F0:82:66:AE:57 – I don’t know if this is unique to my devices or the same for everyone.

An update on my latest project

Further to: http://tickett.wordpress.com/2012/12/31/a-new-year-a-new-project/ I have discovered quite a few things, and it looks like I’m not going to have to start from scratch (although I may still be designing some form of hardware, it’s hard to tell at this point).

Existing projects/products set out to do something similar:

NPlug- http://www.indiegogo.com/projects/283102/x/2060579

  • Consumption measuring (believed to be more accurate than existing devices)
  • Remote switching
  • WiFi connected (requires no bridge/gateway device)
  • Zigbee 802.15.4 for connecting to other devices
  • USB option (add 3G dongle, additional RF interface etc)
  • SoC running OpenWRT Linux
  • Open source
  • Lots more…
  • £100 (estimate)

This is really meant as a single device and not to be used with every appliance in the home. The device acts like a gateway itself and aims to connect to existing consumption/switching devices such as the IRIS / AlertMe suite.
I have pledged as a sponsor for this project, and hope to get my hands on a prototype- however, the funding has been a bit slow, so please help out :)

AlertMe (IRIS)- https://www.alertme.com/shopping

  • Consumption measuring
  • Remote switching
  • Zigbee
  • Requires the SmartEnergy pack as a bridge/gateway to the internet
  • £25

Ubiquiti mFi mPower- http://www.ubnt.com/mfi#m-Power

  • Consumption measuring
  • Remote switching
  • WiFi connected (requires no bridge/gateway device)
  • Comes in 3 flavours: Single, 3 socket extension cord and 8 socket extension cord
  • Only currently available with US / EU plugs
  • No EU stock currently available (when it is, I will try one with a UK plug adapter)

Belkin WeMo Switch- http://www.belkin.com/uk/c/WSWH

  • Switching only by the look of it
  • WiFi connected (requires no bridge/gateway device)
  • £40

Meter Polug- http://www.indiegogo.com/meterplug/x/2060579

  • Consumption measuring
  • Remote switching
  • Bluetooth only- so unless you’re within range and carrying a bluetooth equipped device, it’s not much good. This being said, the project has been fully funded, so there is clearly demand for such a device.
  • I have asked whether they’ve considered building a gateway device to enable internet connectivity but yet to hear back. Fingers crossed.

Other

  • I have purchased a USB Zigbee packet sniffer in the hope that I can make sense of some of the traffic floating around my house from various “smart” gadgets.
  • Still waiting on delivery of my EVE Alpha board- http://www.kickstarter.com/projects/ciseco/eve-alpha-raspberry-pi-wireless-development-hardwa this should allow me to start doing some cool stuff with a raspberry pi using the gpio pins rather than dozens of USB sticks!
  • The guys over at flukso have confirmed that they will be continuing work on their enhanced hexabus plug once they have another project out of the way: https://www.flukso.net/content/hexabus-plug
  • I sent some details to a few companies in an attempt to understand costings for PCB design, production and assembly. Just one company has responded to date: http://www.newburyelectronics.co.uk/ – for something like the Hexabus plug they’re suggesting (rough figures): £1,000 PCB design (£500 each of the 2), £80 PCB production (£40 each of the 2), £60 parts (excluding several parts they can’t source), £130 assembly & inspection. Bringing the total in at about £270/device (forgetting PCB design)- ouch!

That’ll likely be my last update for a few weeks, as I’m off to Thailand shortly :)

L

Not technically the best of the photos- but a few of my favourites for one reason or another:





Follow

Get every new post delivered to your Inbox.

Join 2,380 other followers

%d bloggers like this: