-
Content Count
34 -
Joined
-
Last visited
-
Days Won
3
Reputation Activity
-
adrianF got a reaction from pine in TI and Temboo partner for IoT
Hi all!
Here's a quick video I put together to demonstrate the LaunchPad + CC3100 WiFi BoosterPack working with Temboo and one of the services that Temboo supports. Pretty slick!
https://www.youtube.com/watch?v=NStq1KB4FS8
In short, the service that I'm using is Nexmo. They provide a few REST APIs that our LaunchPad can interface with for triggering voice calls. In addition, Nexmo can also return back to the LaunchPad any user input on the keypad of the phone.
In this example, I trigger a phone call when my LaunchPad detects water with a moisture sensor. Through the Temboo site, I was able to generate the appropriate API call to have the LaunchPad call my cell phone & vocalize the following string: "Hello Adrian, your sensor changed value. Press 1 to take an action on your LaunchPad, or press 0 to ignore."
At that point, we can press 1 or 0 on the phone's numberpad. Nexmo returns the value back to the LaunchPad & I am able to turn an LED on when the number 1 is returned.
Cool stuff.
THANKS to the folks @ Temboo and to all of the contributors to the Energia project! It's pretty amazing what we can do with ~$30 of hardware...
-
adrianF reacted to bluehash in TI and Temboo partner for IoT
I did a quick test with the CC3200 Launchpad. Created a twitter "choreo" and ran the auto generated code from Temboo. Result.
Although twitter does not allow the same message to be posted as a duplicate.. errors out. It would be good to pass a string generated in Energia to Temboo's choreo.
So far I like it.. It will be awesome to join choreos together.
-
adrianF got a reaction from bluehash in TI and Temboo partner for IoT
Hi all!
Here's a quick video I put together to demonstrate the LaunchPad + CC3100 WiFi BoosterPack working with Temboo and one of the services that Temboo supports. Pretty slick!
https://www.youtube.com/watch?v=NStq1KB4FS8
In short, the service that I'm using is Nexmo. They provide a few REST APIs that our LaunchPad can interface with for triggering voice calls. In addition, Nexmo can also return back to the LaunchPad any user input on the keypad of the phone.
In this example, I trigger a phone call when my LaunchPad detects water with a moisture sensor. Through the Temboo site, I was able to generate the appropriate API call to have the LaunchPad call my cell phone & vocalize the following string: "Hello Adrian, your sensor changed value. Press 1 to take an action on your LaunchPad, or press 0 to ignore."
At that point, we can press 1 or 0 on the phone's numberpad. Nexmo returns the value back to the LaunchPad & I am able to turn an LED on when the number 1 is returned.
Cool stuff.
THANKS to the folks @ Temboo and to all of the contributors to the Energia project! It's pretty amazing what we can do with ~$30 of hardware...
-
-
adrianF reacted to spirilis in TI and Temboo partner for IoT
Energia sketches are really just C++, so, it's not THAT meta
-
adrianF reacted to Fred in TI and Temboo partner for IoT
So....Temboo generates an Energia sketch, which generates some C code, which generates machine code, which actually runs on the device. It's all getting a little bit too meta code for me!
-
adrianF got a reaction from bluehash in TI and Temboo partner for IoT
Temboo support on LaunchPad is one of the coolest things I've seen in a while! The Energia team & the TI LaunchPad team have been working closely with Temboo to bring this user experience to the low-cost LaunchPad family of kits!
Through the Temboo website, you can GENERATE (!!!) Energia sketches for interacting with hundreds of web services, which you can ultimately flash to your cloud-connected LaunchPad. Temboo currently supports the CC3200 WiFi LaunchPad as well as the CC3100 BoosterPack when paired with an Energia-supported LaunchPad (i.e. MSP430F5529 LaunchPad, TM4C123 LaunchPad, etc).
As an example, Temboo can generate code to do the following (among other things):
Enable your LaunchPad to append a new row in a google spreadsheet for datalogging sensor readings Let your LaunchPad know when a tracking number on Fedex.com is updated Get the number of steps you have taken with your fitbit Get weather information from yahoo.com Have your LaunchPad send you a text message/SMS using web services like Twilio Have your LaunchPad call you (along with text to speech) to vocalize sensor readings, strings, etc. You can even respond back to your LaunchPad by dialing a number
Powerful stuff! You can learn more @ www.temboo.com/hardware/ti
Adrian
-
adrianF reacted to JonnyBoats in TI and Temboo partner for IoT
From: http://e2e.ti.com/group/launchyourdesign/b/blog/archive/2014/09/10/ti-and-temboo-are-building-the-internet-of-things.aspx
-
adrianF reacted to roadrunner84 in print sensor reading on the LCD sharp memory BoosterPack ?
int a =analogRead(A0)/4; text_buffer[0] = '-'; text_buffer[1] = a + '0'; text_buffer[3] = '-'; You are using a trick to map a digit to an ASCII character. This trick works fine for single digit numbers, since they are in order in the ASCII table. If you need to write multiple digits, you will need to split those digits off first, before writing to the string buffer.
For example, the number 12 would need to be converted into the characters '1' and '2'. This cannot be achieved by simply adding '0' to 12, because '0' is the number 48, 48 + 12 = 60, which is the character '<'.
Now, to split the number 12 into 2 digits, we use simple division:
12 / 10 = 1
12 % 10 = 2
% is the remainder operator, so the remainder of 12/10 is 2.
Then, for each digit we can use the + '0' trick to take the correct ASCII character.
int a =analogRead(A0)/4; text_buffer[0] = '-'; if (a >= 10) { text_buffer[1] = (a/10) + '0'; text_buffer[2] = (a%10) + '0'; } else text_buffer[2] = a + '0'; text_buffer[3] = '-'; Note that this example is very crude and will only work for numbers < 100.
If you want numbers above 100 to work as well, just continue the division:
123 / 100 = 1
(123 % 100) / 10 = 2
123 % 10 = 3
or alternatively
123 / 100 = 1
123 - 100 * 1 = 23
23 / 10 = 2
23 - 10 * 2 = 3
this sequence can be extended to 1000 and 10000
-
adrianF reacted to HylianSavior in Robotics Boosterpack
We made a video describing the whole project- check it out!
-
adrianF reacted to HylianSavior in Robotics Boosterpack
Board all soldered up and working! Hopefully we'll have some demo videos out soon.
-
adrianF got a reaction from bluehash in Remotely Control Your LaunchPad with Firmata and Bluetooth
I know right!??!!
Each LaunchPad is defined here in the Firmata boards.h file --> https://github.com/energia/Energia/blob/master/libraries/Firmata/Boards.h
-
adrianF reacted to Rei Vilo in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
About the first point, you can use both CCS6 for breakpoints and debugging and the Energia framework for high level interface at the same time. This was the major novelty of CCS6 over previous releases.
Both are complementary and work well together. I use debugging on Xcode with the embedXcode plug-in.
?I agree with the scone point: the hardware abstraction layer may let the user ignore what's going on underneath. However, the other layers are very easy to call, for example for high performance routines: I'm using TivaROM and then, MSP430Ware or TivaWare.
?I don't know other platform with so large a choice of software interfaces, from high hardware independent level to low register level.
-
adrianF got a reaction from bluehash in Remotely Control Your LaunchPad with Firmata and Bluetooth
Sheng - soooo cool.
One thing to also note is that the Firmata GUI that Sheng created is dynamic --- this means that any LaunchPad that has the Firmata Energia sketch flashed to it will sort of do a "handshake" with the GUI to describe the pins & peripherals that are available. Then, the GUI dynamically populates with a list of the pins for that specific LaunchPad.
Pretty slick.
The Firmata Energia example sketches are in the Energia GitHub >> https://github.com/energia/Energia/tree/master/libraries/Firmata
-
adrianF got a reaction from szhao in Remotely Control Your LaunchPad with Firmata and Bluetooth
Sheng - soooo cool.
One thing to also note is that the Firmata GUI that Sheng created is dynamic --- this means that any LaunchPad that has the Firmata Energia sketch flashed to it will sort of do a "handshake" with the GUI to describe the pins & peripherals that are available. Then, the GUI dynamically populates with a list of the pins for that specific LaunchPad.
Pretty slick.
The Firmata Energia example sketches are in the Energia GitHub >> https://github.com/energia/Energia/tree/master/libraries/Firmata
-
adrianF got a reaction from dubnet in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Hi 43oh folks!
I wrote a quick blog post & tutorial on the www.energia.nu website. I wanted to walk through the process of setting up Code Composer Studio v6 to enable Energia sketch imports. This is a cool new feature that takes full advantage of the on-board hardware debugger that is available on our LaunchPad kits & allows developers to go beyond Serial.print().
This provides a nice migration path from Energia to CCS. Energia is great for rapid prototyping, but there are times when a true debugger could be helpful. With CCSv6, we can now import Energia sketches & get full debug features such as:
- Hardware breakpoints
- Watching variables
- Stepping through code line-by-line
- More!
You can see my blog post & tutorial @ http://energia.nu/go-beyond-serial-print-put-the-launchpads-on-board-debugger-to-work-import-energia-sketches-into-ccsv6/
Thanks!
Adrian
-
adrianF reacted to Fred in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
@ReiVilo @@adrianF I get what Arduino/Energia is and what it does. (I even tried Energia recently.) I understand the benefits and I'm all for making life and coding easier. For instance I find Grace a real timesaver and I'm not ashamed to admit getting some help setting up my peripherals. I always say "of course, that's obvious" when I see the Grace code but know I'd spend a while frustrated if I did it all from scratch myself.
However for Arduino I just think that the benefits are outweighed by the drawbacks. Breakpoints and debugging are so useful that it's too much of a loss. Also if you have a HAL that means you don't need to know the details of the device you're using, then you tend to lose access to what made that microcontroller better than the competition.
Getting back to the original post, I'm glad to see one of these points has been addressed.
-
adrianF got a reaction from bluehash in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Hi 43oh folks!
I wrote a quick blog post & tutorial on the www.energia.nu website. I wanted to walk through the process of setting up Code Composer Studio v6 to enable Energia sketch imports. This is a cool new feature that takes full advantage of the on-board hardware debugger that is available on our LaunchPad kits & allows developers to go beyond Serial.print().
This provides a nice migration path from Energia to CCS. Energia is great for rapid prototyping, but there are times when a true debugger could be helpful. With CCSv6, we can now import Energia sketches & get full debug features such as:
- Hardware breakpoints
- Watching variables
- Stepping through code line-by-line
- More!
You can see my blog post & tutorial @ http://energia.nu/go-beyond-serial-print-put-the-launchpads-on-board-debugger-to-work-import-energia-sketches-into-ccsv6/
Thanks!
Adrian
-
adrianF got a reaction from bluehash in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Just to echo what Rei Vilo says, the power of Energia is collection of abstracted APIs that enable developers to rapidly prototype a solution without having to worry about flipping bits at the underlying MCU-specific register level.
This is great for someone who wants to get something up and running quickly, completely skipping the step of learning the registers of a potentially new MCU device.
In addition, with Energia being based on the Wiring Framework, it allows a community to use a set of "known" functions for toggling I/O, PWM, I2C, SPI, etc, which allows libraries to be created and built upon using these core APIs. This means someone could write 1 library that leverages underlying Energia core APIs, and their library would port across many MCU platforms. This is why there is such a huge & growing collection of sensor libraries, display libraries, wireless libaries, etc in the Wiring/Energia/Arduino communities.
Lastly, the CCSv6 import capability is interesting because it provides a way for people to rapidly prototype in Energia, then once a rev 0.1 is up and running, they can import into CCSv6 & optimize towards version 1.0
Thanks!
Adrian
-
adrianF got a reaction from Rei Vilo in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Just to echo what Rei Vilo says, the power of Energia is collection of abstracted APIs that enable developers to rapidly prototype a solution without having to worry about flipping bits at the underlying MCU-specific register level.
This is great for someone who wants to get something up and running quickly, completely skipping the step of learning the registers of a potentially new MCU device.
In addition, with Energia being based on the Wiring Framework, it allows a community to use a set of "known" functions for toggling I/O, PWM, I2C, SPI, etc, which allows libraries to be created and built upon using these core APIs. This means someone could write 1 library that leverages underlying Energia core APIs, and their library would port across many MCU platforms. This is why there is such a huge & growing collection of sensor libraries, display libraries, wireless libaries, etc in the Wiring/Energia/Arduino communities.
Lastly, the CCSv6 import capability is interesting because it provides a way for people to rapidly prototype in Energia, then once a rev 0.1 is up and running, they can import into CCSv6 & optimize towards version 1.0
Thanks!
Adrian
-
adrianF reacted to szhao in Remotely Control Your LaunchPad with Firmata and Bluetooth
Programming a microcontroller for the first time can be a daunting task. What if you can remotely control your microcontroller by simply clicking few buttons on a PC GUI?
With Energia support, I was able to port existing Firmata code used for Arduino onto LaunchPads. Firmata is a serial communication protocol that allows a host (PC) sending commands to the microcontrollers (MSP430). You can use it to toggle pins and LEDs, or read digital and analog inputs without writing any C code. This makes it super easy to test out your new sensor or debug your circuit. Bluetooth simply creates a virtual serial port that emulates a physical serial port wire, so you can control and monitor your board remotely.
Here is a demo video:
The application GUI is written in NodeJS. The browser is connected to the Node server using web socket. Whenever the user clicks a button, a message is sent to the server and the server will send Firmata commands to the LaunchPad.
You can easily expand on top of the demo GUI I created by writing some javascript. Let's say you want to turn on an LED when the temperature is too high. You can let your Node server constantly check the temperature reading. Once it reaches the threshold, then set the LED pin to HIGH.
You can find out the source code of my project at my GitHub page: https://github.com/shengzhao91/FirmataGUI
-
adrianF reacted to Rei Vilo in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
In a nutshell, there's a big misunderstanding about Arduino and Energia.
Actually, they pack 2 different things:
-
adrianF reacted to HylianSavior in Robotics Boosterpack
Design is finished and sent to the fab! It's now been christened as "BoosterBot".
-
adrianF got a reaction from Fred in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Hi 43oh folks!
I wrote a quick blog post & tutorial on the www.energia.nu website. I wanted to walk through the process of setting up Code Composer Studio v6 to enable Energia sketch imports. This is a cool new feature that takes full advantage of the on-board hardware debugger that is available on our LaunchPad kits & allows developers to go beyond Serial.print().
This provides a nice migration path from Energia to CCS. Energia is great for rapid prototyping, but there are times when a true debugger could be helpful. With CCSv6, we can now import Energia sketches & get full debug features such as:
- Hardware breakpoints
- Watching variables
- Stepping through code line-by-line
- More!
You can see my blog post & tutorial @ http://energia.nu/go-beyond-serial-print-put-the-launchpads-on-board-debugger-to-work-import-energia-sketches-into-ccsv6/
Thanks!
Adrian
-
adrianF got a reaction from simpleavr in Import Energia sketches into Code Composer Studio v6 // enabling true debugging on a sketch
Hi 43oh folks!
I wrote a quick blog post & tutorial on the www.energia.nu website. I wanted to walk through the process of setting up Code Composer Studio v6 to enable Energia sketch imports. This is a cool new feature that takes full advantage of the on-board hardware debugger that is available on our LaunchPad kits & allows developers to go beyond Serial.print().
This provides a nice migration path from Energia to CCS. Energia is great for rapid prototyping, but there are times when a true debugger could be helpful. With CCSv6, we can now import Energia sketches & get full debug features such as:
- Hardware breakpoints
- Watching variables
- Stepping through code line-by-line
- More!
You can see my blog post & tutorial @ http://energia.nu/go-beyond-serial-print-put-the-launchpads-on-board-debugger-to-work-import-energia-sketches-into-ccsv6/
Thanks!
Adrian