We have developed a new ThingSpeak App and it is available now to all ThingSpeak Users.
The new TalkBack App allows devices to check ThingSpeak for commands to execute. TalkBack is perfect for battery-powered devices that need to sleep most of the time and wake up to see if there is anything to do and then go back to sleep, like a door lock for example. The lock is mostly going to be asleep to save battery power, but it can wake up periodically and check TalkBack or be woken up by a button press to see if it should be opened or not.
Devices powered by ThingSpeak and now with TalkBack will be able to both push sensor data to the ThingSpeak Cloud and check TalkBack if any commands are available all in one request. To get started, we have the complete TalkBack API Documentation and an Arduino Yún Tutorial available now.
Atmel-powered Arduino Yún Tutorial
With the release of TalkBack, we created a tutorial for the Arduino Yún. The “Yún” is a special combination of easy-to-program Arduino with an additional processor, an Atheros AR9331, running Linux and the OpenWrt wireless stack. Programming the Arduino via USB is identical to the Arduino Leonardo. Once the Arduino Yún is connected to Wi-Fi, the Arduino has full access to ThingSpeak Cloud Services and the TalkBack App and API. Check out the Controlling the Arduino Yún with TalkBack tutorial for a step-by-step way of controlling the Arduino Yún via TalkBack and the ThingSpeak Cloud.
TalkBack is available now to all ThingSpeak Users and to new users by Sign Up for Free at ThingSpeak.com! Please feel free to share with us and the ThingSpeak Community with the awesome ways you use TalkBack with your ThingSpeak Projects!
8 CommentsOldest to Newest
There is a great deal of potential here, especially for people getting older like me. Add cameras and microphones and possibly medical monitors that a family member could securely monitor and communicate.
Security is and always will be the weak point. A strong challenge and response on an independent connection is really needed before I could feel good about this type of setup.
Has anyone got this working on the Yun when just using Wifi and not tethered to a computer having the serial monitor open, it only seems to work for me when i’ve got the IDE open and the serial monitor open as well, any clues on this one?
Try removing line 62 of the sketch: while(!Serial);
I think this while waits until the serial monitor opens before continuing through the Arduino sketch.
Perfect! Worked as you say, this was the last hurdle of many for me, do you know why: while(!Serial); is used in some sketches but not others in terms of MAKING the code wait for the Serial Monitor? Thanks so much for your help 🙂
The why might be since the Yun can deploy serial over Wi-Fi and it is waiting for the serial port to be established. Not completely sure though. Glad it works!
This is a great extension to the ThingSpeak channel handling. I have implemented support for “get next command” and “add command” in Cosa, an object-oriented platform for Arduino.
Below is a link to the example sketches; https://github.com/mikaelpatel/Cosa/tree/master/examples/IoT/ThingSpeak
There is also an update on the Arduino forum about this implementation.
Now for a question: I am considering using the command string to identify “object” and also pass parameters. Are there any restrictions on the “syntax” of the command string?
The demo channels are tagged Cosa.
The only restrictions on the syntax of the TalkBack command is that they are UTF8 strings with max length of 255.
Hi Lee. Thanks for the swift reply.
My guess is that, for instance, space would not be a very good character to use as the command string is passed in a HTTP POST request.
It would be nice to come to some convention on formatting the command string with and without parameters and possible object reference.
Following the HTTP convention we could use plus(+) as a replacement for space or ampersand(&) and parameter names.
There is also a need for a syntax for commands where there might be several instances and an object reference (or index) is used.
Using an instance references helps reduce the command dispatch. The parameter notation with ampersand might not be a good idea as the whole string is the command to be added. It is actually the add command usecase that need most attention as the execute next command returns the string in the body of the reply.