Debugging code is often one of the biggest headaches that a programmer can encounter. This is especially true in the embedded systems world, where issues can live anywhere between the lowest level of hardware, to the highest level of application code. Code regressions that are the result of an unknown change in your commit history are especially difficult to track down. However, thanks to the simplicity and magic of "Git bisect", it will quickly become one of your favorite scenarios to debug. In particular, Git bisect is used to track down the exact commit that led to your broken repository state.
Imagine you have to deploy a dozen various devices throughout a factory floor. These consist of Linux PCs, low power embedded devices, a mobile phone app, simple sensors, and a remote database. Some devices are connected through Ethernet, while other more remote devices utilize a cell network to occasionally phone home. The problem you now have is, how do I get these devices communicating with each other in real time? MQTT is an ISO standard protocol used to solve this problem.
Stack overflows can be one of the most difficult bugs to squash. An overflow is often hidden in a cryptic, non-static error state. Sometimes the application runs without issue. Sometimes it may hard fault and reset the hardware without warning. It may be overwriting data unbeknown to application designer. The worst error state is the dreaded heisenbug: an error that seems to vanish when you go looking for the cause.
Last week Sparkfun Electronics announced a new, open source cloud server application called Phant. Phant acts as a logging tool which allows any device to read and write data to and from the service. Additionally, Sparkfun also created data.sparkfun.com, which is a free service running phant. This service allows anyone to save up to 50MB worth of data to the cloud, allowing 100 pushes over 15 minutes, which averages out to a push every 10 seconds or so.
To send data to and from the service, you just need to register a new stream. Registering gives you a private key and public key for accessing the data. A private key is required to update that stream, while a public key grants access to any other stream on the service.
In this video watch a live coding session on how to connect to a TSL2561 light meter via I2C, dump that data to serial, and then send the reading to the cloud. Also, don't forget to check out the new Internet of Things (IoT) Cloud Kit!
This is part one of a multi-part series of articles in exploration of the Xively platform and the libxively C API. Additional articles will be referenced here when they are posted.
Most applications at boot will get a DHCP or static IP address and not dynamically change between them. Once network configuration settings have been assigned, typically they remain until the device is reset. But sometimes the network configuration settings need to be configured and modified at run time. This article describes several ways to manipulate the network configuration at run time.
In modern times, everyone carries a powerful computer in their pocket. Smart phone technology gives your eyes and fingers an easy way to manipulate data. This intuitive interface is not restricted to your smart phone. Touch screen displays are also available for your own embedded creations. A touchscreen and display allows the device to be controlled and used without a PC interface.