Sunday, October 13, 2013
Meanwhile there are other interesting technological developments going on. One of the most interesting is the "Maker" culture - a community of programmers, engineers, hobbyists and professionals, who deploy new technologies in unique and inventive ways. Maker community is the rebranding of old DIY culture, but thanks to the Internet it is much more powerful.
I would like to propose a hypothesis: the Internet of Things standard widely accepted by "Arduino/RaspberryPi Maker Community" will become the leading IoT standard for the whole industry. My points:
1) IoT is often described as a solution waiting for a problem. Makers usually solve real-world problems, so it's a good test for a fledgling standard.
2) Maker community is a reservoir of creativity. Makers are developers of low-cost, or free solutions - an equivalent of an "app store for hardware".
3) Makers usually choose technologies which are well-supported, and easy but also powerful. With mass adoption, limits like bad documentation and technological weaknesses become obvious very fast.
It seems that big IoT players aren't doing much to attract Makers to their respective solutions. I think it is going to change in the next couple of months. First one who is able to convince Makers to their solution wins :)
Thursday, September 19, 2013
Long time no see! Last update here was posted more than a year ago. There are multiple reasons for that, but the most important one is that I decided to pause embedded development for a while, and learn more about application layer, and user applications. For a start I decided to write a library for CoAP - new protocol for Internet of Things. I also decided to write it in Python, using Twisted framework. The development has been quite slow, but last month I accidentaly found pyvideo.org site with various Python related videos, and found a brilliant talk by Alex Martelli : "Good enough is good enough"
After watching the video, I decided to quickly finish the work on current features, and release the first version of library, with some features completed, and some missing. I hope to get some feedback from users, so that I can improve the library.
txThings - CoAP Python libraryI've decided to call the library txThings - Twisted has a tradition of calling modules with plural nouns (also Coap LIbrary for Twisted gave really bad acronym ;) ).
txThings has the following features:
- support for draft-ietf-core-coap-13 - including automatic piggyback/separate response handling. No caching support.
- support for draft-ietf-core-block-12 (no support for server initiative though - waiting for the resolution)
- limited support for RFC6690 (Core Link Format) - server only.
- txThings works nicely on RaspberryPi
- txThings is compatible with Kivy - brilliant new Python GUI library (I'll post some examples soon).
- txThings is fully asynchronous (thanks to twisted framework)
txThings installation HowTotxThings is posted on Github. The easiest way to get it is to clone the repository to your local machine using the command below:
git clone git://github.com/mwasilak/txThings.gitLibrary contains CoAP code (inside "iot" directory) and three examples:
- server.py - CoAP server that starts on localhost, port 5683 and hosts several resources
- client_GET.py - example client which performs GET request to localhost, port 5683
- client_PUT.py - example client which performs PUT request to localhost, port 5683
Current workNext step is to add Observe and full Core Link Format support to txThings. I am also planning to continue investigating Kivy library.
If you are interested in using txThings and have any questions, don't hesitate to contact me.