I work for a security company that does a lot of customer work. We do things mainly with security cameras, perimeter detection and door access controls. I would like to use Mycroft as a kind of warning butler. Now i want to make a skill that incorporates tons of features including but not limited to letting me know when a cameras receives motion, doing a perimeter check and letting me know if everything is operational and not tripped, letting me know when a laser in a marked location is interrupted, motion sensors, and failed access attempts. This all seems like a lot to most be we already have a program that outputs all of this data. I would like to find a way to create a skill so that we can be alerted. I found a video on youtube relating to drones and how Mycroft states that something was triggered. I will put the video at the bottom. My question here for me who is not very familiar with coding is where can i get started to start creating this. I would like to be able to connect to a Picroft box via ip address and port then just upload the data. I would also need Mycroft to be able to translate whats its seeing and make sense of it to be able to put it into words. Are there any suggestions where i can start and any recommendations on the best way for me to take care of this? Any help would be much appreciated thank you!
Welcome to Mycroft.
A good place to start is here on the forums and documentation:
We’re still adding a lot there, but you should be able to use the websocket to pass messages.
Now Karl does Mycroft act as the initiator in the websocket or is it the listener? The only reasons i ask is because we want to send a constant stream of information to Mycroft and have it sort out the information once it gets there. We would like it to know evens are happening live.
It should be the initiator as it creates the websocket to pass messages between different services. I just suggested it as a known way to get information around. You could also do anything you would like within your own code, for instance, create a websocket and listen to events.
Right now we’re still adding services that listen to events, but should have a good example soon using GPIO.
That seems like a lot to do, but if the program for output already works it seems mostly like some tideous integration work you have to do. Good luck with that!
As I have invested quite some time in computer vision by now I can tell you that the second part (formulating what mycroft sees) will be a lot harder than the first part. The ad by/for dronecast was not a real application I guess as “detecting intruder and following by video input” is really tough. Not impossible though, I recommend to you the latest works of Google on deep neural networks for Image classification- that might give Mycroft a hint of what there is on the camera:
There even is work on automatically
remote controlling drones (at least for the parrot drone)