In the earlier post MKR1000 Azure IoT Hub Interface using HTTP, I wrote about how to get the MKR1000 ready for Azure IoT Hub and start receiving data from Azure IoT. You might have noticed the following when running the sketch in the earlier post: After using the Device Explorer to send a single message, the MKR1000 would have blinked its LED after the first receive. If you continue to let the sketch run with out sending any new message, after about 60 seconds you will notice that MKR1000 receiving the same message and blinking again. This is due to the way a message’s life cycle works on the Azure IoT Hub. In this post I will address how the devices should send any one of Complete/Reject/Abandon message back to the Azure IoT Hub so that the message is not replayed again. This is essential if you are to interface with Azure IoT Hub correctly with HTTP.
This MKR1000 Windows Remote Arduino with Firmata WiFi guide lays out how I got my new MKR1000 working with Windows Remote Arduino. This guide will walk through:
- Setting up the latest Firmata Version with the WiFi support
- Verifying with the Windows Remote Arduino Experience App
- Controlling MKR1000 with Universal Windows App
After getting my hands on the pre-release version of the MKR1000 as part of the Worlds Largest Arduino Maker Challenge yesterday, I was trying to get it running with the Azure IoT Hub. This guide lays out some of the things that I learned that might help out others out there trying to get their projects running with Azure IoT.
This guide doesn’t use AMQP or MQTT. This uses the simple HTTP interfaces available for Azure IoT Hub. This assumes that you have already signed up for the Azure IoT Hub and created it. This guide will walk you through the following steps to get you going.
I wanted to be able to program the ESP8266 based NodeMCU board with the Arduino IDE. This is how I setup the environment and had the NodeMCU blinking.
Installing NodeMCU Board
- Install latest version of Arduino IDE
- Add the Esp8266 board manager. Here is a list of all the unofficial board managers that can be used with Arduino IDE.
- Start Arduino and open Preferences
- Look for “Additional Board Managers” field and enter <code>http://arduino.esp8266.com/stable/package_esp8266com_index.json</code>
- Open Tools>Boards>Board Manager
- Choose “esp8266 by Esp8266 Community” and install. Its about 160 MB install.
After Installation these are the boards I could see in Boards menu under ESP8266:
You should now be able to connect your NodeMCU to the PC and verify. Be aware of two things:
a) You might have to install the Silicon Labs CP210x Serial Driver if you can not see any COM Port listed on the Ardunio> Tools> Ports menu
b) It might a silly thing. But make sure you use the right USB cable. There are too many USB cables in my toolbox. Once in my ignorance about USB cables I used a power only USB charging cable (one that has only the two wires for power connected and no data wires) and struggled a while on COM port not appearing.
Once the Port appears in the Arduino IDE menu, choose the right board. In my case its NodeMCU 0.9 board.
Choose File>Examples>ESP8266>Blink sketch. Press Upload. The blue led on the ESP8266 should blink rapidly indicating communication status. Once sketch is successfully uploaded I could see the on board red LED connected to GPIO 16 blink (D0 on the board).. Pin out below.
Now that my Arduino IDE is setup to be used for NodeMCU programming, time to explore further.
In an earlier post i explained how i exposed Arduino Yun Serial Port over TCP. This allowed me to control an Arduino Yun with Windows Remote Arduino over WiFi. This project is a further extension of it in exploring what is possible with Windows Remote Arduino. This time i connected a LED strip (TM1803 based three wire LED strip from Radioshack) to my Yun and controlled its color through an Universal Windows App that uses Windows Remote Arduino. Here is the lamp in action.
This article contains instructions on how to expose the Arduino Yun Serial Port over TCP.
Few days back, the Windows IOT challenge dropped in my twitter feed. While the challenge was very interesting, after poking around the web, I quickly realized that there is no Windows IoT Core for Arduino. Hopefully, sometime soon, Microsoft and Arduino will give us one.
Until then we will have to make do with Windows Remote Arduino. It is essentially a Firmata client library wrapped in a Windows Runtime Component. I had both an Arduino Uno and an Arduino Yun and I wanted to check out the Windows Remote Arduino interfacing.
In Dec 2014, I was one of the finalist for the Holiday Lights Road Test challenge conducted by element14.com.I chose to build an Interactive WiFi Christmas Tree . I wrote several blog posts on element14.com to share my build process with the community. I am cross posting most of those blogs from element14.com to my blog. The following is the introductory post for what my project is about.