In the first week, we had a brainstorming session, and each one of us went away with several topics to research about, so we can make decisions about our choice of platform and system architecture, and the steps required to make it work with the general application that we have in mind.
The topics I got were viabilities for using Microsoft Azure, CCTV integration, and fingerprint scanning.
After everyone got their information, we went through them so each one of us knows what is viable and what is not, so we can narrow down our application's viable feature set and choose which ones to work on first.
This is my condensed report:
- Introduction to Azure
- Poster of Azure architecture and features
- Built-in HTTP caching. No need to use varnish or equivalent, but we probably don't need it either.
- Provides SQL databases as a service.
In order to use Azure, first we need to decide the language and backend the application runs on. First, head to overview of Azure:
- Get the SDK of the language of our choice
- Follow the deployment tutorial
Viability: It is the Microsoft offering of cloud services, hence if we require any form of cloud, it is one of our choices.
- Purely for monitoring purposes. Facial recognition and dynamic object tracking are beyond our means, due to much of the Raspberry Pi's processing capacity already being used to stream multiple video feeds, as well as time constraints.
- We either use USB cameras powered by external sources, feeding into the RPi, or Gadgeteer cameras feeding into the Fez mainboard.
- Get Zoneminder and install it on Debian. If we are stripping down Debian as part of our course then we need to make sure ZoneMinder still runs properly on it.
- Follow the setup guide for RPi about setting up ZoneMinder specifically on an RPi
- Alternatively, if we are only using a single video in, we can use motion instead of ZoneMinder.
Viability: Integral part of our system. How we choose to do it depends on what hardware we can get and what type of architecture we want to use. We will probably end up choosing Gadgeteer/Fez though.
I could not find an API for scanning fingerprints. Folks on Stack Overflow seem to think the same - No standard API, hardward standard or implementation of scanning fingerprints. My opinion is in line with the lab assistants' - either skip this or relegate this to a stretch goal. If we require some kind of security measure for opening doors instead of using keys, we can use try security cards or door hobs instead.