Page 2
Important Notice Important Notice Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete.
Page 3
CC3200 LaunchPad board. Prerequisites To run these labs you will need a Microsoft® Windows® 7 laptop with a good internet connection. Optional: Android or iOS smartphone to install SimpleLink Wi-Fi Starter application Arrow IoT Seminar - CC3200 Tools Setup 1 - 1...
► If you already have the CC3200 SDK installed, this installer will over-write your current installation. If you have made any edits/additions to the SDK files, you should re-name your current installation folder. Arrow IoT Seminar - CC3200 Tools Setup 1 - 3...
(App Store or Google Play) Note that you can also download the source code for either application from this page but you won’t need that for the seminar. 1 - 4 Arrow IoT Seminar - CC3200 Tools Setup...
Page 7
► For the iOS app you will see this. Click on the INSTALL button to install. Note: In this screenshot, the app was already installed, so you see the OPEN button instead. Arrow IoT Seminar - CC3200 Tools Setup 1 - 5...
Install Arrow IoT Seminar Files Install Arrow IoT Seminar Files 4. Download the Arrow IoT Seminar Installer ► Go to http://processors.wiki.ti.com/index.php/Arrow_IoT_Seminar_2014 and click on the Arrow IoT Seminar Installer download link. 5. Run the Arrow IoT Seminar Installer ► Run the installer and choose the default installation folder c:\Arrow_IoT_Seminar This will install the project files we’ll use in the seminar, along with some documentation files.
You can’t remove existing installed processor support very easily, but it is possible to add new support. Simply run the installer and check the box for Wireless Connectivity MCUs. Arrow IoT Seminar - CC3200 Tools Setup 1 - 7...
Page 10
“Off-line” installer from: http://processors.wiki.ti.com/index.php/Download_CCS#Code_Composer_Studio_Version_6_Downloads. Should you decide to download this zip file, you should un-zip the file to a folder before running the installer. 1 - 8 Arrow IoT Seminar - CC3200 Tools Setup...
Page 11
► Search 'cc3200' in the App Center to find ‘CC3200 Add-On and 'TI-RTOS for SimpleLink' ► Select the update box for CC3200 Add-On and select the box for TI-RTOS for SimpleLink ► Press 'Install Software' ► Restart CCS when directed after installation Arrow IoT Seminar - CC3200 Tools Setup 1 - 9...
► Select the four projects by clicking the checkbox for the driverlib, oslib, simplelink, and ti_rtos_config projects. Note: ► Do NOT select “Copy projects into workspace” option or “Automatically import referenced projects found in same search-directory”. ► After selecting all four projects, click “Finish”. 1 - 10 Arrow IoT Seminar - CC3200 Tools Setup...
Page 13
► Click the “General” property in the left column. Click the RTSC tab, and select the latest versions of XDCtools and TI-RTOS for SimpleLink. Also verify the platform is selected as ti.platforms.simplelink:CC3200. Finally, click OK. Arrow IoT Seminar - CC3200 Tools Setup 1 - 11...
Page 14
11. Build the simplelink project for two Build Configurations: NON_OS and OS ► Right-click the simplelink project, choose Build Configurations, Set Active, and choose: 1 NON_OS (Simplelink for Non-OS). This selects the NON_OS configuration to build. 1 - 12 Arrow IoT Seminar - CC3200 Tools Setup...
Page 15
► Select the oslib project and build it for two Build Configurations: free_rtos and ti_rtos. Note that you may receive two warnings when you build the free_rtos configuration. You can ignore these warnings. Arrow IoT Seminar - CC3200 Tools Setup 1 - 13...
► Navigate to View Target Configurations. ► Right-Click on “User Defined,” select “Import Target Configuration” and navigate to the folder c:\ti\CC3200SDK\cc3200-sdk\tools\ccs_patch and select the file CC3200.ccxml ► Select the Copy files option when prompted. 1 - 14 Arrow IoT Seminar - CC3200 Tools Setup...
Page 17
This is the end of the seminar pre-work. At the seminar you will receive a CC3200 LaunchPad board which is required for the remaining lab steps. If you already have a LaunchPad board, you can proceed with the remaining steps. Arrow IoT Seminar - CC3200 Tools Setup 1 - 15...
If this jumper is removed, the stored application image is bootloaded from serial flash. On a new board, a pre-programmed “out-of-box” example is loaded and run. No jumper here! 1 - 16 Arrow IoT Seminar - CC3200 Tools Setup...
► Right click on the first instance of “USB <-> JTAG/SWD” and select “Update Driver Software…” ► Select “Browse my computer for driver software.” Note: If you’ve previously installed a TI board that uses FTDI drivers, this process is not necessary. Arrow IoT Seminar - CC3200 Tools Setup 1 - 17...
Page 20
15. Repeat the above steps for the other instance of "USB <-> JTAG/SWD." 16. Repeat the same steps for the instance of “USB Serial Port” that should have appeared as shown 1 - 18 Arrow IoT Seminar - CC3200 Tools Setup...
CC3200 Wiki – All information and tools for the CC3200, including the above, can be found on the CC3200 Wiki page Arrow IoT Seminar - CC3200 Tools Setup 1 - 19...
Page 23
You will need to edit the main.c file in this project to connect to a specific access point, security type, and password, supplied by your instructor. This may vary from location to location, and of course, if using your own access point, you should already know this information. Arrow IoT Seminar - Get Weather Lab 2 - 1...
Page 25
SSID and password to use. #define SSID_NAME "yourSSID" /* AP SSID */ #define SECURITY_TYPE SL_SEC_TYPE_WPA /* Security type (OPEN or WEP or WPA)*/ #define SECURITY_KEY "yourPassword" /* Password of the secured AP */ Arrow IoT Seminar - Get Weather Lab 2 - 3...
Page 26
9. Verify you have set the default target configuration (should be already done in previous lab) → Select View Target Configurations, and make sure CC3200.ccxml is your default target configuration. 2 - 4 Arrow IoT Seminar - Get Weather Lab...
Page 27
This should start the CCS Debugger, your code should be loaded into the CC3200 RAM, and it should run the initialization code, stopping at the first line of main() → ► Open the terminal utility in CCS debug perspective. In the menu, select View Other… Arrow IoT Seminar - Get Weather Lab 2 - 5...
Page 28
► Select Connetion Type: Serial, select your COM port number from the drop-down list, choose other settings as shown: ► When you click OK the terminal should connect to your board. If not, click the connect button. 2 - 6 Arrow IoT Seminar - Get Weather Lab...
Page 29
► When you’re finished with this lab, enter “quit” in the terminal window Arrow IoT Seminar - Get Weather Lab 2 - 7...
Page 30
This properly terminates the debug session, disconnects you from the target CC3200 LaunchPad board, and returns you to CCS edit mode 12. Close CCS. That’s it. You’re done with this lab. 2 - 8 Arrow IoT Seminar - Get Weather Lab...
Page 31
MKS Toolkit or Cygwin tools installed, or incompatible versions of sh.exe in the PATH, one E2E forum post says it could also be WinAVR. The work-around is to remove Arrow IoT Seminar - Get Weather Lab 2 - 9...
Page 32
7. When I enter the city name, it does not respond with a temperature Not every city is on the site, try a major city. Reload your code and click Resume. In other words, try again. 2 - 10 Arrow IoT Seminar - Get Weather Lab...
Page 33
Use the CCS terminal window to observe the sensor values being published to the cloud server • Examine the sensor data at the 2lemetry site using a web portal built for this seminar. Arrow IoT Seminar - ThingFabric Lab 3 - 1...
Page 34
Import and Build ThingFabric CCS Project ................3-3 Modify the ThingFabric Application ................... 3-5 Connect CC3200 to Access Point using SmartConfig .............. 3-8 Observe the terminal messages ................... 3-9 Troubleshooting ........................3-11 3 - 2 Arrow IoT Seminar - ThingFabric Lab...
► From the Project menu, select Project Import CCS Projects… ► Click the Browse button and navigate to c:\Arrow_IoT_Seminar\thingfabric ► Do NOT check the box “Copy Projects into workspace” ► Click Finish Arrow IoT Seminar - ThingFabric Lab 3 - 3...
Page 36
► If you encounter any build errors, verify that you imported the project correctly. Ask your instructor for help if you can’t resolve an error message. 3 - 4 Arrow IoT Seminar - ThingFabric Lab...
► Open the smartconfig.c file so you can modify it. ► Find the SmartConfigConnect() function, and locate the call to sl_WlanSmartConfigStart() function. Arrow IoT Seminar - ThingFabric Lab 3 - 5...
Page 38
► Now uncomment the following call. Highlight the block of code and press Ctrl-/ sl_WlanSmartConfigStart(1, //groupIdBitmask //cipher //publicKeyLen //group1KeyLen //group2KeyLen publickey, //publicKey NULL, //group1Key NULL); //group2Key Your code should be similar to this (your publickey may be different): 3 - 6 Arrow IoT Seminar - ThingFabric Lab...
Page 39
► To run your code, click the Resume button on the toolbar Observe the behavior of the red LED, and get ready to connect the device to an access point using the SimpleLink Wi-Fi Starter application. Arrow IoT Seminar - ThingFabric Lab 3 - 7...
Start ► Press The SmartConfig operation should complete in a few seconds. However, the operation can take up to two minutes to complete. The red LED should go off once connected. 3 - 8 Arrow IoT Seminar - ThingFabric Lab...
► On the toolbar click the Terminate button . This properly terminates the debug session, disconnects you from the target CC3200 LaunchPad board, and returns you to CCS edit mode. ► Close CCS Arrow IoT Seminar - ThingFabric Lab 3 - 9...
Page 42
You should see the values that were published to the cloud server. That’s it. You’re done with this lab. 3 - 10 Arrow IoT Seminar - ThingFabric Lab...
Joystick X – the label would still say it is Joystick data, but you know that you sent the temperature value there. Arrow IoT Seminar - ThingFabric Lab 3 - 11...
Page 45
1883. (If you’re licensed for SSL, use port 8883). Any client connected is sandboxed within their “domain” level topic. Only clients with authorization are allowed to connect to the broker. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 1...
Page 46
Stream ............................4-8 Publishing and Subscribing ....................4-8 Topic and Namespace ......................4-8 A little about the Payload ....................4-10 Rules ............................4-11 Panels ............................. 4-14 Simulators ..........................4-17 4 - 2 Arrow IoT Seminar - The ThingFabric Portal Lab...
So, how does this apply to HTTP, and how can it be implemented in practice? HTTP is oriented around verbs and resources. The two verbs in mainstream usage are GET and POST, which I Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 3...
Page 48
DELETE. These verbs are then applied to resources, according to the instructions provided by the server. Note: Domain is synonymous (or interchangeable) with Project Group is synonymous (or interchangeable) with Stuff Thing is synonymous (or interchangeable) with Device 4 - 4 Arrow IoT Seminar - The ThingFabric Portal Lab...
If this is your first time using the portal, sign up here. You can also link other accounts here, such as Github, Google or Salesforce.com and use them to log in. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 5...
ThingFabric ID, you can use that to invite them to your project, otherwise you can use their email address. General You can always return to the Project menu by clicking ThingFabric at the top of the page. 4 - 6 Arrow IoT Seminar - The ThingFabric Portal Lab...
If you choose the Devices tab from the Project Menu you will see anything that is 3rd level on a 3 level topic. project/stuff/thing These can even be system generated in the case of project/$SYS/connect and project/$SYS/disconnect There is also a simulator example that has been created for you. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 7...
If you don’t follow the 3 level namespace pattern described above, your messages will still be passed by the broker to subscribers as long as the users have rights to publish/subscribe on the given topic. 4 - 8 Arrow IoT Seminar - The ThingFabric Portal Lab...
Page 53
Now if the data was published in proper JSON it will be automatically stored. We can onboard custom protocols or translate binary, xml or whatever to JSON, but that needs to be pre-defined for a given customer. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 9...
This is an example of a valid payload that would be stored in the platform datastore: "report": { "gps": { "latitude": "39.702610038220882", "longitude": "-104.97231300920248" "temp": { "celsius": "252", "fahrenheit": "76" 4 - 10 Arrow IoT Seminar - The ThingFabric Portal Lab...
Group because we have published data to this group already. We are going to choose device1. Again, it already exists in our device list for this group because we published data using this device in the Stream. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 11...
Page 56
Next you need to select the marker next to temp in order to enter the info We are going to choose > ‘greater than’ and leave the default value there of 100. 4 - 12 Arrow IoT Seminar - The ThingFabric Portal Lab...
Page 57
Next lets fire the rule using the Stream tool. Click Tools. Change the publish to include CC3200/device1 after the project id. Message {“temp”:101} Should look something like this. Publish and get your SMS Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 13...
Drag Table Stream (Devices) block to a Widget Slot free location. And drag Table Past to an available location Next you see the Widget Editor. Give the Widget a Name and a Credential. Choose a Device or Simulator in this Project Choose CC3200 Choose device1 4 - 14 Arrow IoT Seminar - The ThingFabric Portal Lab...
Page 59
Right click the link and open in a new tab. Next go to Tools and we will publish some data to the Panel.Click Tools. Change the publish to include CC3200/device1 after the project id. Message {“temp”:101} Should look something like this. Publish and go to your Panel URL see data. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 15...
Click Simulators. Now you will see a list of your simulators (note: an example has been created for you) , and an Add Simulator button. Click here to begin creating a simulator. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 17...
Page 62
Simulators Give the simulator a • Name • Description • Credential • Stuff • Thing • Frequency 4 - 18 Arrow IoT Seminar - The ThingFabric Portal Lab...
Page 63
Simulators Go to the Advanced tab and enter {“temp”:100} Click Save. Now go into your Simulator and click Start. Open your Panel and see the data flow. Arrow IoT Seminar - The ThingFabric Portal Lab 4 - 19...
Page 65
Use an online MD5 hash utility to generate the proper password • Run the application to observe the device publishing mqtt messages to your account • Display the temperature values being published from your CC3200 LaunchPad device Arrow IoT Seminar - Personalize ThingFabric Application Lab 5 - 1...
Page 67
Connect your LaunchPad board to an available USB port on your computer Open Code Composer Studio (CCS) Select the thingfabric project in Project Explorer to make it the [Active] project Ensure that TI-RTOS build configuration is selected Arrow IoT Seminar - Personalize ThingFabric Application Lab 5 - 3...
Page 68
Don’t use the values shown here. You need to find your own account login credentials to make these modifications to the source code. That is the next step in the lab. 5 - 4 Arrow IoT Seminar - Personalize ThingFabric Application Lab...
Page 69
► Using your web browser, go to http://md5hasher.net to get the MD5 hash value for your password. It’s probably easiest to copy your password using Ctrl-C on the thingfabric page, then paste it into the md5hasher page. Click the “Hash It ->” button. Arrow IoT Seminar - Personalize ThingFabric Application Lab 5 - 5...
Page 70
► Click the “bug” icon in the toolbar to build the project and start the debugger ► If you encounter any build errors, examine them, fix the problems, and re-build 5 - 6 Arrow IoT Seminar - Personalize ThingFabric Application Lab...
Page 71
MQTT connecting...connected. If you do NOT get this message, make sure to check that the Username and MD5 Password strings are correct in your code Arrow IoT Seminar - Personalize ThingFabric Application Lab 5 - 7...
Page 72
► On the toolbar click the “Terminate” icon . This properly terminates the debug session, disconnects you from the target CC3200 LaunchPad board, and returns you to CCS edit perspective. 11. Close CCS 5 - 8 Arrow IoT Seminar - Personalize ThingFabric Application Lab...
Need help?
Do you have a question about the Arrow IoT and is the answer not in the manual?
Questions and answers