• Category Archives Computers
  • Imagine a life with no computers……ahhhh……bliss…..

  • One IoT protocol to rule them all – MQTT?

    Here is a really interesting thought piece on what language or protocol the IoT will need / should have.

    http://blog.atmel.com/2014/11/18/mqtt-not-iot-god-protocol-but-getting-closer/

    One protocol, and its descendants, drove the success of the World Wide Web. IP, or Internet Protocol, is the basis of every browser connection and the backbone of IT data centers. Some assumed that the Internet of Things would follow suit, with the thought that having an IP address would be a sufficient condition to connect.

    The problem on the IoT isn’t IP – the problem is all the stuff layered on top of it. The average PC, smartphone, or tablet has enough horsepower today to do that, but the average sensor running on a smaller microcontroller does not. (ARM Cortex-M7 notwithstanding.)

    Searching for an IoT “god protocol”, one unifying end-to-end protocol serving all things, is silly. At one end, sensors have different requirements such as range, RF spectrum, security, topology, and power consumption.

    The idea of a single end to end protocol for all the bits and pieces that make up an IoT data chain is compelling.
    As the author points out, its hard to do. Sensors have different needs from a data center. Even different sensors themselves will have different needs.
    For example, a temperature sensor that is reporting a room temperature will only need to report every, say, 5 minutes, but something like a process temperature that has a tight control loop will need perhaps every 5 millisecond.
    Then add in a sensor that reports both temperature and humidity (like my cigar humidor) and now you have two readings, its double the data length. How does the other end extract both bits of information, does the other end need both bits?
    How does AI use the data? Is a small compact message, can we help the AI by putting some context around the data? If we do, how do we wrap the data such that other ‘things’ that need the data also find the wrapper helpful and not just annoying?

    I have an MQTT server running at my house (on Gary’s Linux PC). I have an MQTT client running on my Android phone. I have been playing with it a little just to get some experience with it, to see how I can mash it up with some other stuff I mess with.
    I like it. Its light weight, fast (lightning fast, its one of the fastest protocols I have ever used) and pretty painless to mess about with.
    I dearly want to find some time to write a ‘connector’ for MQTT in an Opto controller. To get MQTT data in and out of an Opto controller, for me, would be gold. For example, my phone could push data then directly to my home automation system.

    Anyway, if nothing else, its a really worthy article thats pretty quick to read that nicely points out some of the challenges that IoT has to overcome in its toddler years…. But if you are into IoT or this sort of thing, you should dig deep and get your hands dirty (BTW, there is a nice light weight MQTT server that can run on a Raspberry Pi – just a thought).


  • Odroid-C1

    There has been a new SBC (single board computer) released.
    Generally by the time you buy a computer, its out of date. SBC’s are no different. Many of them came before the Raspberry Pi, many have and will came after the Pi.
    (Its just that the community really got behind the Pi and thus it was a huge success).

    Most post Pi SBC’s have been more powerful and thus more expensive. This has really mitigated the impact of these also-rans.

    This new board changes that – in fact, it totally turns it on its head…..
    It’s the same price as the Pi.

    So, what do you get for your 35 bucks?
    A whole lota computer……

    KEY FEATURES

    Powerful Linux/Android Computer

  • 1.5GHz quad-core CPU, dual-core GPU, 1GB RAM
  • 10/100/1000Mbps Ethernet with RJ-45 LAN jack
  • 4 x high speed USB2.0 host ports
  • 40 GPIO pins (quasi-Raspberry Pi compatible – pins 37, 38, and 40 are not compatible with the Pi B+ as they are dedicated for analog inputs)
  • Linux or Android available
  • Size: 85 x 56 x 18 mm
  • Weight: 40g
  • This is a bit of a game changer for me….. The Pi has always been so underpowered, that frankly to use it for much more than monitoring a toaster or decoding aircraft transponders is just a painful experience.
    This board on the other hand has enough grunt to do some real work.

    Computing performance comparison – Odroid vs Pi.

    We ran a simple, popular benchmark called Unix-Bench (version 5.1.3) to compare the performance of the two boards.

    The RPi was clocked at 800Mhz using a Sandisk UHS-1 8GB SDCard running the Debian Wheezy OS. The C1 was clocked at 1.5Ghz using an 16GB eMMC with Ubuntu 14.04 OS. Both units were powered by a 5V/2A power supply and connected to the 1920×1080 HDMI output. Note that in order to utilize all four cores in the C1, the “./run –c 4” command was used.

  • Benchmarks(Index Score) RPi Model B+ ODROID-C1 Ratio
  • Dhrystone-2 using register variables 162.1 1262.8 7.8
  • Double-Precision Whetstone 56.2 439.6 7.8
  • Execl Throughput 61.6 489.4 7.9
  • File Copy 4K bufsize, 8000 maxblocks 187.9 778.4 4.1
  • Pipe Throughput 164.1 610.4 3.7
  • Pipe-based Context Switching 62.7 467.0 7.4
  • Process Creation 68.2 371.8 5.5
  • Shell Scripts (1 concurrent) 117.2 874.4 7.5
  • Shell Scripts (8 concurrent) 106.2 853.8 8.0
  • System Call Overhead 290.5 1999.7 6.9
  • Total Index Score 109.8 622.3 5.7
  • The results show that the Dhrystone-2 benchmark is about 8 times faster on the C1. File I/O benchmark is about 4 times faster because of the faster storage speed of the eMMC module. Overall performance test result show that the C1 is approximately 6 times faster than the RPi, even though the price of C1 is exactly same.

    For 35 bucks this thing can not be ignored.
    The reports coming back from those guys that have already got their hands on one is that it really is all that it’s cracked up to be.
    They are able to run Open Office on it, games, stream full HD videos and more. It’s very close in performance to a Google Chrome Laptop.

    Soon as I get some time, I will probably be ordering one.
    I would like to get another aircraft USB device up and running for more general software radio work (I will leave the Pi in the roof doing the whole transponder thing).
    There are a lot of other cool things you can do with the whole software radio thing, but I did not want to tie up my laptop doing it. This Odroid-C1 will be perfect.