Developing IoT applications is pretty much like getting into urban gardening/farming. The fundamentals of growing crops is pretty much the same regardless of whether its urban or traditional rural farming, but the techniques deployed to make it successful are often quite different. Urban gardeners are gifted in their abilities to produce crops in such oddest and tightest of spaces. Of course there is a lot to it and the set up process is quite intensive.


And so it could be said with this challenge as I've moved rapidly through the typical project cycle of form-storm-perform... thankfully the storming part is blowing over and I am beginning to get clarity again, having confronted my fears and initial teething problems with CCS. All I can say is bring on TI's Energia (Energia)! From what I've seen, Energia (the red pill) is based on wiring framework and has the same look and feel as the Arduino IDE (the blue pill). Now we will be confronted by that decision of do I choose red or blue...


The nice thing about Energia, other than the fact that it works with TI's launchpad range, is that it will also talk to CCS, as in you can export from Energia to CCS, which makes really good sense. So while this is the way it should be, one wonders how that will work in practice. Unfortunately we won't know for awhile as Energia is not CC3200 ready just yet.


The CC3200 SDK package gets straight to business and provides plenty of useful examples to get working with. There is the OOB (out of box) example code, which is the default CC3200 demo program. This seems to be the starting point for many. I've been busy learning / embellishing / combining three examples:


1. get Time (uses UDP sockets)

2. get Weather (uses TCP sockets)

3. SSL (uses secure socket layer with CA certificate)


From what I've read, CC3200 can handle up to 8 sockets and 2 secure sockets.


The other example which on my priority list is the file management examples. As with some other ARM based MCU's, the ability to dynamically write data to flash is a very attractive proposition.


Of course the other examples have all offered up unique elements to learn from.


Will update this post once I have something to demo from my weather app.


UPDATE (03 Sept)


Despite what the uniflash quick start guide tells you, which is there is no need to format cc3200 when you get, I believe that is the best way to avoid all the headaches and troubles of files not uploading correctly. Once I reformatted my cc3200 flash using the default format options and reloading the service pack, I was able to upload all of the files I wanted to.


Here is my cc3200 launchpad happily working outside with its batterypack. I was able to access its local web pages without problem.





I decided to go to town with the web front end (just to see how well the cc3200 worked) and used the bootstrap template ( See for yourselves... my fancy screenshots attached (one image showing web page on desktop and other image showing web page through phone). So fairly pleased that my launchpad was able to upload and use the .css and .js files without problem.






So web pages aside the key challenge now is getting to grips with jquery / ajax to talk to the cc3200 itself as my cut and paste of the js routines did not get my offline / online tags to work (I suspect my class names were not aligned properly). Next I will be dissecting the oob main.c and amend to resolve these interface issues and then I will have my web browser displaying local weather and temperature etc.