I already like where Nucleo is going. Looks very promising for the more complex tasks where a simple Arduino performs several parallel tasks!
The above post was the initial increments of Nucleo, the multi-tasking support in Cosa. It will be integrated with the Cosa watchdog, timers and drivers in coming updates. There will also be more support for message passing, thread synchronization and priority. Also I need to work though the ISR integration so that it at least becomes possible to signal a thread from an ISR. Nucleo is right now a very simple straight forward implementation and very much in the prototyping phase.
I also checked the examples for MQTT. I see that you are using the LAN interface. Is it possible for remote nodes to send MQTT rmessages over an RF connection (nRF24, RFM69), to a central node that puts the message on the LAN?
It is unclear to me that the RFconnection can send large messages.
Yes, the Cosa MQTT client implementation uses Sockets and the Cosa W5100 device driver. There is no support for MQTT over the Wireless interfaces (MQTT-SN?). Right now the Wireless device drivers do not handle large payloads or streams. The interface is not connection oriented as TCP/IP. It is possible to bridge the Wireless interface to MQTT. Basically a central node that receives wireless messages with sensor data and then translates and transmitts them to a MQTT server.
The Wireless interface will later on support message acknowledgement and retransmission (as the NRF24L01+ has builtin). And after that extended to allow routing nodes. Then on top of that it is better suited to implement MQTT-SN.
Anyway this is all about the architecture and infra-structure for small sensor networks. And what I want to point out is that the local sensor network may use very cheap RF technology and transmit to a bridge instead of forcing a heavy weight TCP/IP socket level protocol onto the sensor nodes.
I am considering adding support for Exosite, Xively, ThingSpeak and XMPP. The two first are commerical protocols so I need to work out the details if promoting them and their server/cloud services. The challenge will be to abstract them (including MQTT and SNMP) to a single interface so that applications may move between them.
I recently got hold of a SIM900 GSM / GPRS Shield development board and plan to write a Socket driver for that. All the Cosa Ethernet (INET) classes such as MQTT can then be used with this transport layer.