How would I go about creating such a system? State which knowledge, hardware, and software is required, and the individual steps that one must take in order to receive a good result.