We have our own Freescale K60 microcontroller board running MQX RTOS. We can POST (and most likely GET) data to Xively via TCP but our data plan is limited and TCP resends and chews up a ton of overhead. I have heard that UDP seems to be our best solution. We are having difficulty knowing how to GET and POST via UDP to Xively. We know we would have to write our own layer, any get tips? Also, are there any tricks to getting Xively to ack back to the microcontroller client?
Send 500 bytes to Xively via UDP (low data plan), using C on an MCU
384 Views Asked by Stephen West At
1
There are 1 best solutions below
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in TCP
- having spring integration tcpserver to manage clients and send them messages
- psuedo TCP multicast with os.dup2() in python?
- Retrieve Data From EOC(Eithernet Over coxial) device
- Connecting a web client to a c++ server with TCP
- ECONNRESET on node.js RabbitMQ consumer in Azure
- how to respond from plain tcp client to MessagingTemplate's sendAndReceive
- Java Socket - how does the read() method know if the end of stream has been reached?
- Scala - TCP Packet frame using Akka
- Re-transmission concept in TCP
- Issues regarding multiplayer networking: input
- Getting and Sending Data between a Server and Client
- Jamod Slave Example, can not connect to slave
- Android Phone not sending data over TCP/ip
- Lot of TIME_WAIT connections while using RestTemplate?
- How do I use the windows service and WCF to update some record in database?
Related Questions in UDP
- UDP congestion control in NS2
- Packet drops in multicast when multiple instance of listner are running
- Netty loses udp packets at the beginning of the communication
- iOS "NSLocalizedDescription=Broken pipe" Error For UDP
- lua udp not working between computers
- Issues regarding multiplayer networking: input
- Implementing VOIP over udp, what is the approach to take when the player cannot cope up with received packet's speed
- Detecting incoming port for TFTP data?
- Is Winsock error 10054 (WSAECONNRESET) "normal" with UDP to/from localhost?
- PHP UDP socket memory leak
- What is the effect of the pseudo header in UDP?
- can we open an UDP conection in javascript
- UDP sending and receiving lists
- using Visual Basic 2013 and simple tcp client/server to implement lan game
- Manually send to iperf via UDP socket? (C++)
Related Questions in EMBEDDED
- PHP don't use temp file for upload
- Sparkfun SC16IS750 does not work on Raspberry Pi
- Reserve memory space in m_text memory region of FLASH on embedded target
- SAE J1939 Standards Collection -- How much is necessary?
- How to call multiple slaves for Spi data transmission?
- Deployment over GPRS to embedded devices
- Changing just one byte in SD card sector
- Comparion of values won't work without delay
- Better to pass struct, or pointer to struct?
- STM32F4 Handling peripheral error while making a DMA Transfer (RX)
- USB programming, transfer file from iOS device to Embedded os device?
- using Diab, dcc 5.9.4 to compile a windows executable
- does b64_pton() work if input contains special characters? I am using it in C code
- u-boot select boot partition based on GPIO state
- Why is a write to a memory-mapped peripheral register not actioned (LPC43xx)?
Related Questions in XIVELY
- How to pull data from Xively without authentication?
- Xively data in a spreadsheet
- Copy range of historical datapoints between xively channels
- Can I rename an Xively stream ID
- Device’s Activation Code best practice
- Xively ParserUtil API
- Xively read data in Python
- Arduino+WiFly shield failing to communicate to xively
- debugging error in xively tutorial for raspberry pi
- how to use Xively API Library on Ruby?
- Send 500 bytes to Xively via UDP (low data plan), using C on an MCU
- how to Get&Put xively data with android 2.3.6
- xively status:400 with arduino and sim900 gprs shield
- Is there a Xively Development Server in Europe?
- Xively: sending commands to devices - how to mark commands as read?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Xively currently supports only TCP-based protocols, which are:
You should try using HTTP with CSV data format first, it's very likely that the TCP payload will end up being small enough. For this purpose you can use Xively C library which is very portable. I have checked Freescale Application Note AN3907 and it looks lik porting of C library should be trivial, as "MQX RTCS sockets are compatible with Unix BSD 4.4". So you should be able to use existing POSIX communication layer, although you might need to include some different headers and make sure you have initialised the stack as well as configured the device either with a static IP or using DHCP. To account for amount of data being sent, please refer to the RX/TX counters provided by RTCS.
You could, however opt to use MQTT instead. You will end-up sending much smaller packets. Basic functionality for MQTT should be added to the Xively C library pretty soon.
If you are saying that you need a way of what you call "ack back to our controller", then MQTT is what you need for this. It's a publish/subscribe protocol, although you will need to keep a persistent connection.