Comments: Using AT&T's M2X With the CC3000


Comments 10 comments

  • One more thing – the “required materials” section links to an Arduino uno board, which just enough memory to do the proof-of-concept sketch, but not much else. I’d recommend at least upgrading to Mega 2560 ( even though that will add $25 to the total parts list. oh, and also add some headers for the temp/humidity board, e.g.

  • Great guide, thanks for putting it together! As of Dec 2014, AT&T has deprecated the v1 api for M2X (see Data Source Blueprints are gone, replaced by Devices.

    I took the main M2XStreamClient libs from github, and updated the code accordingly, and now I’m up and running. Would you like help updating this tutorial? Hit me up!

    And thanks again –Rob

    • Sure! If you have updated code and corrections to the write-up, I’ll be happy to update the guide and give you credit.

  • I want to share a NOOB error just in case someone does the same thing and lands here.

    I was following this tutorial to post temperature readings from a DHT11 temperature sensor to a M2X stream, and much like the issue described by Member #616581 my sketch would hang after the response was sent; I was getting no success/fail response.

    the DHT11 data pin was connected to UNO pin 13. You can’t do this; pin 13 is used for something else. Moved the sensor to pin 8 on the UNO and all is fine in the world.

  • cannot make connection for this sketch, getting error “could not connect to AP”. Using same SSID and password (copy and pasted password) as the ping test, which is successful. Device is UNO. Any help with this would be appreciated… thanks.

    *ping test only sucessful when running from “examples” in Arduino, test fails in atmel studio when opening .ino from a copy and paste in my_documents. Compiler thinks it’s trying to upload to a YUN.

    edit: changing the network info (ssid/password etc) and changing the #define to char has gotten me connected to the network. However, the program is hanging up at the section where it should be posting to m2x g_response = m2xclient etc etc.

    Feed id and master key are all copy and pasted and feed name is the name that i chose for the feed.

    • Using an adafruit CC3000 and changing the pins to match their examples, i was able to get a signal out but am getting a 401 error in response. I have still been unable to get my SparkFun CC3000 to do more than get a ping…

      • That’s odd, because the hardware is almost the exact same between the SparkFun and Adafruit models. If you think the hardware is at fault, definitely contact our Customer Service for a replacement.

        Have you tried the WebClient example from the SparkFun CC3000 library using the SparkFun CC3000? If you can get that to work, talking to M2X is an easy next step.

        • For a single post i was actually able to get everything to work using the adafruit - i found my mistake for the 401 error. I had set the sparkfun cc3000 aside, but to doublecheck i ran it up again. It failed again with the adafruit examples. however, i ran their ping test again which shows firmware version and saw (as did their code - it wouldnt complete the test) that it was 1.1. I ran adafruit’s update routine to v1.4, and now it seems to be working fine.

          My next problem, however, is getting m2x to do multiple feeds with the spakrfun library (or adafruit library). for multiple streams, m2x requires a time stamp. Since there is no example from SF for that gathering NTP time i tried to integrate the adafruit library, but i cannot get them to play nicely… Unfortunately the adafruit libraries dont seem to play nicely with the m2x libraries, so i cant use them on their own. I got one successful post out of many attempts and a lot of hours of trying to get complies etc with the adafruit. When i could get a compile, i usually got “-2” errors (aside from one 202 in the middle of 202’s). I also tried to integrate both wifi libraries with the default WiFi examples, but the UDP stuff is beyond my level.

          • There is a known incompatibility with Time.h, as it’s been discussed on the product page:]( If I get a chance to update the library, I will give it a shot. Or if you want to give it a go, let me know if you have any success, and I can merge the changes into the library.

If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!