In the last episode we’ve built a custom
LED strip controller and programmed its arduino to do different animations. If you missed
this episode you can find its link in the description below.
We’ve also seen how frustrating it can be to change the arduino sketch because we need
to connect the arduino to the laptop every time using a USB cable. This is why today
I will show you 5 different methods to control an arduino over wifi and compare them so you
can find the best one for you. Also make sure to stick till the end of the video because
we will also cover methods that support using voice commands. In the coming weeks, I will be diving deeper
in every method and show you how to implement every one of them. So if you don't want to
miss those episodes make sure to subscribe! The first method consists of setting the arduino
as an HTTP server, which means we can send and receive data from any device connected
to the same network as the Arduino. And to do so we simply need to create custom URLs
for every new command. The only tricky part here is that you will need to create your
own user interface, or GUI for short, such as a mobile or web application.
But on the
bright side, this method is completely free. The second method consist of using the Blynk
app, which is a mobile app that you can download on IOS and Android devices. Blynk also uses
the HTTP protocol. However, it makes the part of creating a user interface much easier,
thanks to its widgets that you can move and resize to create your own custom dashboard.
Also programming the Arduino is very easy, thanks to the large library of sample codes
available online. Another advantage of the Blynk app over the HTTP method we talked about
earlier, is that with the Blynk app the Arduino is not a Server, instead, it is a client that
connects to the Blynk server on the internet, and this allows you to control your arduino
remotely. However, all those benefits come at a cost. Initially get 2000 free energies
to create your dashboard however if you need to add more widgets you will need to buy additional
energies. The third method consists of using the Cayenne
app which is a very similar application to Blynk, however, instead of using HTTP, Cayenne
uses MQTT which is a protocol optimized for IoT devices to be lighter and more power-efficient.
Currently Cayenne is available as a Web application only, so you can access it from your pc or
Up until May of 2020 you could also download the IOS and Android mobile application,
but unfortunately, the Cayenne team removed them from the app stores, and are currently
working on a progressive web app, but unfortunately there is no roadmap whatsoever so we don’t
know if it might come out anytime soon. Also similarly to the Blynk app, it is very easy
to configure and program thanks to the large library of sample sketches available online.
The Cayenne server is also available on the internet which allows you to control the arduino
remotely. The dashboard is really neat and looks really nice, and would be ideal for
a control and monitoring station.
Finally, the main advantage of Cayenne is that it is
completely free. Now the next 2 methods are aimed towards apple
users which intend to use the apple home app to control their arduinos, and are only compatible
with IOS and MacOS devices. The first method requires setting up a Home-bridge
server. You can do that on a windows, max, linux, docker device, as well as raspberry
pies, which in most cases is the preferred option because your server will need to stay
connected to your network at all times. Configuring the home bridge server is quite complicated
because you will need a different plug-in for every new feature .You also need to modify
your arduino sketch to be compatible with all those plugins simultaneously. If you want
to control your arduino remotely you will need to setup a homekit hub, and to do so
you need a homepod, an apple TV, or an IPad. Personally I find the homekit to be the most
responsive and nice looking user interface out there.
Additionally, homekit allows you
to use Siri voice commands to control your Arduino. Another advantage of homebridge is
that it will also allow you to control smart devices that are not homekit ready, such as
ring or nest devices. Finally, homebridge is open-source, so it is completely free.
However, keep in mind that if you want to buy the latest model of the raspberry pi,
it is currently selling for $35. The last method is an alternative to the complicated
home bridge method. Here we are ditching the home bridge server completely and instead
we are setting up the arduino to be its own server that will directly communicate with
the apple devices using the Homekit Accessory Protocol or HAP for short.
This method is
very easy to configure, thanks to an arduino library that will take care of all the complicated
background processes. However you will still need to read some sections of the Apple HAP
documentation in order to customize your device. If you want to control your Arduino remotely,
as stated earlier, you will need to setup a homekit hub, using an AppleTV, a HomePod
or an IPad. This method is completely free and will allow you to control your Arduino
from the Apple HomeApp and using the awesome SIRI voice commands. Now, depending on your needs, you should be
able to choose the best method for you. However, if you are still confused or need further
clarification concerning any method let me know in the comment section below. We will
also be diving deeper into every method in the coming episodes where I will explain to
you how they work and show you step by step how to implement them. So if you don’t want
to miss those episodes make sure to subscribe.
We are starting next week with the HTTP server
method. Now, you should probably watch one of the
videos on the screen right now, and leave like if you found this video useful. And i can’t wait to see you next week!.