Building a complex application is no easy task, especially a connected IoT solution using hardware. It's a crazy world of options out there right now which can induce analysis paralysis. I've worked through the plethora of services to come up with what I believe are some of the best available today. This list covers a variety of different components involved in building a solution.
Tessel 2
Starting at the top of list is a hardware provider that is great for prototyping and building basic solutions.
The Tessel 2 is a great way to take advantage of a variety of different sensors and modules. The board supports over a dozen different modules including accelerometer, GPS, RFID, camera and more. One of the best features of the Tessel is that it can programmed using Node.js. This means you can take advantage of your JavaScript skills to create both the hardware firmware and the server solutions.
The Tessel hardware has two processors on it - a 580MHz Mediatek MT7620n and 48MHz Atmel SAMD21 coprocessor. One is running your firmware application at high speed and the enables better I/O control and power management. If you're looking for more of DIY hardware solution, a NodeMCU will be worth a look.
See also: Getting Started with Tessel 2.
Platformio
The second tool I'd recommend taking a look at will make your life easier when programming the hardware itself.
PlatformIO is a cross-platform IoT development environment that includes an IDE, build system, and library manager. The IDE is built on top of the Atom editor or can be installed as a plugin. It has very nice debugging integration and serial port monitor. The platform itself has support for over 200 different boards. The bottom line is that PlatformIO can really speed up your time to delivering your IoT application.
See also: Getting Started with PlatformIO.
IBM Watson
Next up is a tool you can use to predict the future or understand if people like you in the social world.
One of the areas that is going to become increasily important is using predicitive analysis on IoT data. IBM Watson has a set of APIs that help make this simple for developers. The APIs include a host of different services. You can recongize objects in images, understand conversation sentiment, and more. You can check out the entire range here. They've done a great job of continuing to expand useful service for the Internet of Things.
Twilio Programmable Wireless
The fourth tool is a brand new service from one of best developer tool companies out there.
Just launched this week at Twilio's Signal Conference is a brand new service for adding cellular connectivity to IoT projects. Twilio Progammable Wireless service includes the ability to provision devices on the fly and control them from anywhere. This is a perfect for a wide range of applications including vehicle tracking and more. The whole thing is pretty cheap as well. SIM cards are $5 to buy and then just $2 per month plus $.10 per MB of data used. If you're looking for something a bit more beefy then they have a larger plan for consuming GBs of data. Note that this service is still in preview mode.
This is a space that is heating up as well. There are a number of other options for cellular connectivity including Hologram.
See also: How to Build a Smart SMS Bot with Twilio.
Losant
I'm a bit biased on this next one - I'm co-founder.
Losant is an IoT platform for building IoT solutions quickly, easily, and securely. Using the platform you can connect a wide range of abstract hardware, manage tons of devices, store and analyze the data, and take action in real-time. This means you can easily build complex applications on top of the Losant platform.
See also: Getting Started with Losant.
Dronesmith
Drones are evolving into one of the most important subjects in the Internet of Things space. They have the potential to change nearly every industry in the world. This next service is aimed at making it so much easier to use drones to solve hard problems.
There are several real challenges with utilizing drones to create business solutions. Dronesmith is helping tackle these challenges one by one. Their airborne computer, Luci, makes it easier to create and customize your own drones.
IFTTT
The last service lets you combine a variety of different applications out there.
There are ton of random services out in the world and IFTTT tries to make it easy to make use of them in simple ways. In the smart home world IFTTT has a wide array of support for Wemo, Phillips Hue, Nest, and more. This turns them in to the goto place to easily connect and control those devices. One of my favorite mechanisms for combining IFTTT with other applications is using their webhook support.
This rounds up some of my favorite services in the IoT development space right now. If you have any others please drop them in the comments.