Air Quality on the radio

The coloured fountains in Hull city centre look lovely.

Every now and then I get to do the newspaper review for the Radio Humberside breakfast show. It means getting up at stupid o’clock in the morning but it is rather fun. We talked about a bunch of things, including Air Quality, which was actually in the news today. Apparently the air in London Underground tunnels contains dangerously high levels of particulates (just the things we are measuring with the sensors that we are building at Connected Humber). According to the standards that we’ve been using, things get unhealthy when an indicator value we are measuring goes above 60 or so. The values they are seeing in the deepest stations are around 450….

The bit that took my breath away (really) was that someone actually said something like “Although the levels are high, it doesn’t matter because people don’t spend a lot of time on the tube”. Unless, of course you happen to drive a train or work in the station…..

Achievement Unlocked: Joined Hull Makerspace

Today I went for my induction at the Hull Makerspace and paid up for my first month of membership. I’m rather pleased that my recent financial shenanigans mean that I’ve actually saved the monthly membership fee before I spend it, which must be a first for me.

The induction session set out how they see the Makerspace working and I’m really keen to get in there and play with stuff.

My ambition is to have used every single machine in the Makerspace by the end of the year. This means that I’m going to have to have a go at making pottery and using the scary lathe and CNC machines as well as laser cutting.

Looking forward to it.

BME280 Power Fun

Sometimes the old solutions are the best. In this case the solution is “Turn it off and then on again”. I’m using a BME280 temperature, pressure and humidity sensor in the air quality monitor that I’m building. It works well, except sometimes, when it refuses to say hello when it starts up.

This has caused a certain amount of head-scratching. However, after a while I worked out that it only misbehaved after I had downloaded some code into the device. It’s as if it doesn’t like being woken up twice once it has been powered up.

Now if it gets stuck I just unplug the device and plug it back in. It’s something to be born in mind when you can’t get something to work.

I have a special category in my work (particularly with hardware) called “Things you do to make it work but you don’t know why”. This is another one.

Hull Makerspace open for business

I’ve been saying for ages that Hull needs a Makerspace. And now we’ve got one. And it’s bigger and better than my wildest dreams. It’s in the library in the middle of town and it is packed with equipment and expertise in equal measure. Membership costs 20 pounds a month (which it turns out I’ve already raised thanks to my last two financial deals) and gives you access to valuable machinery and tuition.

I’m looking forward to making robots, air quality sensors and daft lights among other things. You can sign up here for an induction session that will get you stared making.

New Kcom Tariffs can save you money

I’ve just changed to a new contract for my home networking. The speed goes up, the amount of data stays the same and the price drops by eleven pounds a month.

What’s not to love?

If you’re in Hull you really should take a look here and see if there is something cheaper that you can change to. Hull is already one of the best connected cities in the world, it’s nice to see it getting cheaper as well.

Stealth Selling

Old joke: “They say that money talks. The only thing it says to me is ‘Goodbye’”.

However, these days it doesn’t even do that. When Netflix (or a host of other subscription services) take their fees from my account they do so invisibly. The only way that I know that it has happened is by carefully checking my statements to find out why the balance value is dropping.

Today I found that a service I thought I’d cancelled ages ago has been racking up these “stealth charges”. Of course it’s my fault for misunderstanding what I was paying for, but if I’d had regular emails each time that the fee was paid I’d have spotted the rogue transactions much earlier.

It’s as if they don’t want to tell you when they take money in case you notice and cancel something…..

I reckon that a service provider should be forced to send you an email or a text each time they take your cash off you. These companies seem happy enough to send me emails advertising new things I can buy from them, it would be rather nice if they also told me when I had bought something.

Happy New Year from Hornsea

We’ve got a tradition of going out to the seaside on New Year’s day. We didn’t do it last year, but this year the weather was so nice that we couldn’t resist it. So we headed down to Hornsea to see the sea. We managed to make the morning perfect by finding the Hornsea Floral Hall, where they were serving bacon butties.

The thing about a bacon sandwich is that once you’ve heard someone mention one, you really want one for yourself. The chap in the queue in front of us ordered a buttie and so we of course had to follow suit. It was really really nice.

What a great way to start 2019.

New Year Resolution Time

As the year ends it is time to think about new year resolutions. One of mine is that I’m not going to make the very old joke about getting a different computer monitor.

The other is to try to be a bit more assertive in the new year, or at least to stop apologising when cashiers in shops ask me “Do you have a loyalty card?” when I try to buy something. Up until now I’ve always said “Sorry, I’m afraid not”. From now on I’m just going to say "no”. That’ll make a difference to my life, no doubt.

I’d like to wish all (or is that both) my readers the very best of times in 2019 and beyond.

May your code always compile and your solder always stick.

Invisible hearing aids and other frauds

I was very upset to discover today that a shop in Cottingham (where I live - the village not the shop) has taken away their “Invisible hearing aids - 475 pounds a pair” sign. I really wanted to get a photograph of that sign.

The way I see it, advertising things like this is fraught with fraud potential.

“I say, there’s only one hearing aid in this box”
"That’s because the other one is switched on”
.. and so on.

They’ve now have a sign that that says “Free Eye Tests”. I can see fraud potential here too:

“We’ve done your test, that will be fifty pounds please”
”Hang on, the sign says that you do eye tests for free”
”Ah yes we do, but the charge is for testing the other eye. That costs fifty pounds….”

Sometimes I consider myself a great loss to the world of commerce.

Bank Heist Fun

As part of our Christmas present, number one daughter organised a trip to an escape room in Hull. This was a room with a difference. It turns out that there is no problem escaping, you can leave the bank at any time. But, you’ll want to take away a few souvenirs in the form of wads of cash, gems etc etc.

The puzzle was a very good mock up of a bank branch (remember them), even down to the pens chained to the desk. And there was a strong room, and things containing money and clues in equal measure. I’m not going to tell you much about the puzzles, except that they are fun and the whole thing works very well to build tension during the hour you spend trying to get your hands on as much loot as possible.

We did OK, and each of us got a cheque for our share of the take. You can see mine above. It’s lovely to have these kinds of things in Hull. If you fancy a fun and challenging trip out I can strongly recommend it.

Neopixel leds and power supply fun

When you try to make hardware it sometimes turns out that every bit is the difficult bit. Like today for example. Yesterday my latest Neopixel lights arrived. They are on a strip of 8x32 pixels on a flexible pcb. It’s awesome, with power demands that I’m not that happy thinking about. The plan is to do something vaguely “Steam Punk” with them, perhaps involving my recently purchased top hat.

To celebrate I broke out my 10 amp 5 volt power supply. The one that I’ve not dared use yet. Having checked that the power supply produced a vaguely sensible voltage (around 5.5 volts) I tested the Wemos I was going to use (won’t get caught like that again) wired it all together and fired it up.This part of the project should have been the easy bit.

It didn’t work.

In a panic I disconnected the power supply, thinking that I might have wired the positive and negative wires the wrong way round (which is a good way to destroy anything). And suddenly it started working.

It turns out that this is completely normal behaviour. The problem is in the way that the NeoPixels detect their signals. They regard anything above two thirds of their power supply voltage as “true”. If the power supply is 5 volts two thirds of that is around 3.3 volts, which is exactly what the Wemos device produces on its output pins. Happy days.

However, if the power supply voltage is higher than 5 volts the voltage level needed to send a message to the NeoPixels becomes higher than the 3.3 volts that I get from the Wemos and so the communication starts to fail.

So it’s all down to my power supply being too powerful. There are two possible solutions. The first is to use a level converter to boost the signal from the Wemos to 5 volts so that the pixels will react to it. The second is to drop the power supply voltage down to 5 volts so that the maths is in my favour. Ongoing……

Storing Json Configuration Information in devices

I’m a big fan of Json. It is a great way of expressing values in a meaningful way. I’m going to use it to store settings information in our Air Quality sensors. This will make it easy to understand, and extensible. It turns out that it is also very easy to do. I started with an online json editor at https://jsoneditoronline.org/ That helped me come up with this:

{
  "ver":1,
  "wifi": [
    {"ssid":"ssid", "password":"pass"},
    {"ssid":"", "password":""},
    {"ssid":"", "password":""},
    {"ssid":"", "password":""},
    {"ssid":"", "password":""}    
    ],
  "mqtt":{
    "mqttID":"robert01",
    "mqttHost":"mqtt.connectedhumber.org",
    "mqttUser":"connectedHumber",
    "mqttPassword":"pass",
    "mqttPublish":"airquality/data",
    "mqttSubscribe":"airquality/commands",
    "mqttIntervalSecs":60,
    "mqttRetrySecs":20
  },
  "node":{
    "nodeID":"sensor01",
    "noOfPixels":12,
    "pixelColour":{"r":0,"g":255,"b":0},
    "airqSensorType":1,
    "airQLowLimit":1,
    "airqLowWarnLimit":2,
      "airqMidWarnLimit":3,
      "airqHighWarnLimit":4,
      "airQHighAlertLimit":5
  }
}

The json design provides all the information that a sensor needs, including the WiFi settings for 5 different networks. MQTT connection settings and the limits for my warning displays on the coloured pixel.

Next, I needed the C++ to convert the Json into settings that my code inside the device can use to load and store the values when the device runs. It turns out that the Arduino json library has an awesome web page where you can just paste your json and out drops C++ to read and write the values.

I just went to https://arduinojson.org/v5/assistant/ , dropped my Json design into the pate and out came the code. I’ve got to map the settings values onto the variables I’m using in the program, but that is much easier than writing everything from scratch.

This won’t work with the very small Arduino devices because they haven’t really got enough memory to run such large libraries. However, if you’re using an esp8266 or esp32 this really is an easy way to manage internal settings. I’m going to store the json itself using the internal filestore. I’ll post how to do this in a little while.