Components and supplies

Apps and online services

Mobile web browser

About this project

Motivation

After reading some articles about the fashion tends, i was surprised that the neck warmer is considered by some articles as one of the seven biggest trends for the Spring 2016. Like all self-respecting wearable maker, I highly was tempted to add an IoT touch to this fashion trend.

And there we are! I ended up with a wearable neck warmer as illustrated in the video bellow:

V

Architecture

The architecture is quite similar to the Bling Bra Project as they are both about wearable connected devices. However, In this project, an additional mode called rainbow mode is added.

Figure 1

As illustrated in Figure 1, The mobile device should enable the access point mode. Please refer to the Android and iPhone docs to enable that. Once the access point started, turn on the MKR1000. It will connect to your access point. It will blink on RED if there is an issue with the network. it will show a rainbow if get connected successfully.

In order to get the control web application from your mobile device, open your favorite web browser and type the IP address of your MKR1000. You may use one of those Android and iPhone applications to know what is the IP of the MKR1000 connected to your mobile device.

As illustrated in the screenshots Figure 2, you can choose a specific color to display on the neck warmer using the color picker. You can also click on the button to enable the rainbow mode.

Figure 2

Build and Flash the Code

The code source uses the Adafuit neopixel library. Make sure that you are using the latest version. the earlier versions did not have support for RGBW pixels rather than RGB pixels.

The code sources is composed from two main parts. First part handles the server interactions with the client. As illustrated bellow, the server embedded inside the MKR1000 listens on the port 80 and can serve three contents.

/ : the HTML/javascript content for the web application

/neo/R/G/B : display the (R,G,B) colors on the strip . where R, G, and B are values between 0 and 255.

/rainbow : enable the rainbow mode and display a colorful rainbow over the strip.

When the server receive a request to update the Neopixels strip behavior, it sets the variable bow to true to enable the rainbow mode or to false ti disable it. If the rainbow mode is disabled, the server set the new desired color on the strip.

The second part of the code handles the interactions with the Neopixels strip. As illustrated bellow, this second part is composed from some methods that display a specific color or a rainbow.

Wire the Device to the Strip

The wiring is straightforward as illustrated on the Figure 3. However, try to fix the alligator clips using some isolation material. Even better, sew on the MKR1000, the Neopixel strip to the neck warmer.

Figure 3

I used a circular neck warmer and i enrolled the MKR1000 and the Neopixel strip inside it. that is the simplest solution.

Conclusion

Who said that the fashion cannot be pushed by IoT maker? :D

Maybe we can see something close to this project on the next fashion week in New York, London or Paris ;)