Tiva Connected Launchpad + TI CC3100 Booster Pack Exosite


#1

Hi Exosite,

I am porting the Exosite Cloud Demo for TI CC3200 Launchpad to Tiva Connected Launchpad + TI CC3100 WiFi Booster Pack. I have made a portal account at Exosite. The TI CC3100 WiFi Booster Pack is not one of the supported device. At “Device Setup”, would it be better to select Generic Device or Unlisted Device?

Best Regards,
Markel Robregado


#2

If I setup the Device as “Generic Device”, it seems that my TI Tiva Launchpad + TI CC3100 WiFi BP will not connect to my Dashboard, because at the code it uses Exosite_Init()

int
Exosite_Init(const char *vendor, const char *model, const unsigned char if_nbr, int reset)

which will send vendor name and model name to Exosite. If generic device there is no vendor name identifying it.

Regards,
Markel


#3

The library used for that demo does make some assumptions, one of which is that you will be using the provisioning system which requires that you have a client model. If you have your own solution (https://exosite.com/business/) you can create your own client models, then you would use your down vendor and model names.

If you don’t have your own solution, you could either modify the library to use a hard-coded CIK or I could add your CC3100 MAC address to the approved list for the CC3200 client model if you’re just doing testing on one or two devices. If you want me to do that, PM me the MAC addresses of the devices that you’ve got.


#4

Thanks for your reply. I think what I would do is modify the exosite library to use a hard-coded CIK. I will see tomorrow how to do that. Do you have any code that uses hard-coded CIK?

What I am trying to do is send temperature data from TI Tiva Connected Launchpad + TI CC3100 WiFi BP to exosite and also turn on led of Tiva Connected Launchpad form Exosite Dashboard. My setup is the bottom picture from the blog post below. The other booster pack is a Sensor Hub Booster Pack.

It is similar to an existing example https://support.exosite.com/hc/en-us/articles/200095768-MSP430-FRAM-CC3000-WiFi-with-SmartConfig-

But instead of MSP430 LP I will use a Tiva Connected Launchpad and the upgraded version of CC3000 Wifi which is the CC3100.

Best Regards,
Markel


#5

I can’t think of any examples that use a hard coded CIK that would actually be useful to you, but it should be relatively straight forward.

I think you should just need to modify https://github.com/exosite-garage/CC3200CloudDemo/blob/master/exosite/exosite_pal.c#L324 to copy over the CIK from a a string pasted into the code into the read_buffer instead of trying to read it from the filesystem.

You might as well prevent it from trying to activate during the init since it won’t work anyway, which is done here: https://github.com/exosite-garage/CC3200CloudDemo/blob/master/exosite/exosite.c#L137

It’s up to you if you want to clean up the rest of the stuff that handles activation, as far as I know it shouldn’t hurt, but I can’t promise that.


#6

This exosite_pal.c file does not seem to be included at my copy of CC3200CloudDemo. Is this one at github much more updated version?


#7

I downloaded the CC3200CloudDemo from that github link and is really different from my copy. I think I will use this exosite library instead.

Another question. If I use exosite_init(const char * vendor, const char *model), the vendor name and model name does not matter and can be any string I want? What is relevant is the CIK and the MAC address of my device to connect to Exosite?


#8

You might have the older version of that code (see the ‘v1’ branch if you’re interested). There should be a file that is almost the same, but called “exosite_hal.c”. It’s the same thing, just slightly different terminology, “Platform Abstraction Layer” vs “Hardware Abstraction Layer”. I would suggest the newer version. The demo code in main isn’t as comprehensive as the previous example, but it should be overall better quality code.

Correct and actually the MAC address doesn’t matter either. The ‘vendor’, ‘model’ and ‘serialnumber’ are only used in the provisioning system, since you’re hard-coding the CIK you’re not using any of the provisioning system. All the platform needs is the CIK to identify your device.

If you felt like it you could even remove them from the init call. (If you don’t you might get warnings about unused variables.)


#9

Reviewing the exosite C library and exosite portal documentation, I do not need to call exosite_init() for what I want to achieve for now. What I just need to use is exosite_write() and exosite_read().

Regards,
Markel