Tag Archives: IoT

The Voice-Controlled, Face Recognizing, Drone Journey – Part 7

Introduction to the Drone Journey

Text to Speech

This post is the eighth post in documenting the steps I went through on my journey to build an autonomous, voice-controlled, face recognizing drone. There are 7 other posts building up to this one which you can find at the end of this post.

Focus of this post

This post is going to make use of another of the APIs offered by Microsoft Cognitive Services – the Bing Speech API. Back in post 4, seems a long time ago now, I explained how to sign up for the various services and get the API key.

You will need to go back now and ensure you copy the BING Speech API key as we will use that in our next steps.

By the end of this post we will have the drone speaking to us when it lands.

Continue reading The Voice-Controlled, Face Recognizing, Drone Journey – Part 7

The Voice-Controlled, Face Recognizing, Drone Journey – Part 6

Introduction to the Drone Journey

Face Recognition

This post is the seventh post in documenting the steps I went through on my journey to build an autonomous, voice-controlled, face recognizing drone. There are 6 other posts building up to this one which you can find at the end of this post.

Focus of this post

In this post I am going to pick-up where we left off and look at :

  • How to use the Microsoft Cognitive Services Face API to recognize a specific face. Specifically we will explore the face.identify approach.
  • How to build the identify approach into your DroneWebServer.js file such that the drone will land when it sees a named person.

My issues

I have to admit to facing quite some challenges getting face.identify to work. Using the face.identify capability requires a large number of things to be completed, in a very specific order, before it will work.

Node.js does not make doing things in a specific order easy without nested functions, callbacks and other things.  The truth is that I wasted a large number of hours before I realized that the asynchronous nature of node.js was a major source of many of  the issues I was  running into rather than me misusing the Cognitive Services APIs o any issue with the APIs themselves.

I also found that the online examples sometimes do not really give you the step by step help you might need. this looked to mostly be the case in the Node.JS world as other programming languages  seemed much more comprehensive. In the node.js world you essentially get the code to look at and try to understand which does not help with “ordering” issues.

When you add to that it is entirely possible to create things, people for example, with the same name multiple times (without realizing it) you can see where my issues came from.

I did speak with Lukas again at this stage. He told me that he set up his target faces using the SDK console rather than through code so I hit a dead end there as I was determined to try avoid that (I must admit I thought about it ;)..).

This is where my first outreach to someone at Microsoft came. I contacted Chris Thrasher who very kindly sent me some code samples he had worked on. He too found the challenge of things not being called in order which he solved using the “bluebird” package.

Thanks to his pointer and his sample code I identified a spot I was not doing something right which allowed me to move forwards.  I want to be sure to say thanks to Chris because without his help I would have stopped at face.similar.

A warning: This is a monster blog post. I decided to put it all in one rather than break it up. Grab a coffee, give yourself sometime and enjoy the ride!

Continue reading The Voice-Controlled, Face Recognizing, Drone Journey – Part 6

The Voice-Controlled, Face Recognizing, Drone Journey – Part 5

Introduction to the Drone Journey

Part 5

This post is the sixth post in documenting the steps I went through on my journey to build an autonomous, voice-controlled, face recognizing drone. There are 5 other posts building up to this one which you can find at the end of this post.

Focus of this post

In this post I am going to pick-up where we left off and look at :

  • How we can make use of the Microsoft Cognitive Services Face API to recognize a specific face.  We will explore one of the approaches to doing that which reflects the journey I went through in this blog and the next blog will look at another approach.

Continue reading The Voice-Controlled, Face Recognizing, Drone Journey – Part 5

The Voice-Controlled, Face Recognizing, Drone Journey – Part 1

Introduction to the Drone Journey

Laying The Groundwork

This post is the first one covering my step-by-step journey to build an autonomous, voice-controlled, face recognizing drone. It is inspired by the post from Lukas Biewald I referenced in my introduction blog post. If you follow this entire series (warning – there are 10 more pots coming up) you will be able to completely replicate what I have built.

As a hacker I am sure there are better and more efficient ways to do some of the coding I will show. If you make things better let me know and I am happy to create a “making things better” blog!

Assumptions

My starting point in this post assumes a few things:

  1. That you have bough a Parrot AR drone 2.0. This is the one I bought.
  2. That you have checked the drone works using one of the supplied apps and that you can see its wireless network from your windows computer.
  3. That you have got a machine running the anniversary edition of windows. Most people have that by now but if you are not sure this post might help.
  4. You have access to a wireless network
  5. You know the name and password of your secured wireless network (I assume WPA2 security).
  6. You can assign a static IP address for your wireless network.

Focus of this post

In this “long” post I am going to cover:

  • The basics of getting node.js installed on your windows computer.
  • Getting the BASH shell installed on your windows computer.
  • Installing a node.js library to interact with the drone
  • Connecting our computer to the wireless network of the drone and control it via an interactive session of node.js.

Continue reading The Voice-Controlled, Face Recognizing, Drone Journey – Part 1

Building an autonomous, voice-controlled face recognizing drone

The inspiration

Our world, and the technology landscape that is helping to fuel it, are changing at a staggering pace. With nearly 20 years in the IT industry the only constant I have had to handle is change.

Many years ago I resolved to ensure I was learning on all levels and, while possible, that includes keeping my hands near the tools of the transformation. The technology!

The quote above really sums up why twice a year I try to find a side project that lets me dive deep into selective technology I have not used much previously. I do that so that I can “touch” it. That in turn enables me understand it, and how it might be useful, better.

I value such periods. The time spent on such projects helps me when it comes to my day to day job of helping steer the business and helping companies transform through the use of new technologies.

With that in mind, in the run up to Christmas, I was looking around for my next project.  It was then I stumbled across a blog post from October 2016 by Lukas Biewald. The blog post was entitled “How to build an autonomous, voice-controlled, face recognizing drone for $200“. I knew immediately I had found my next project.

Drone Intro

Continue reading Building an autonomous, voice-controlled face recognizing drone