COMP7503
Multimedia Technologies
Programming Assignment
Preamble:
This assignment is composed of two parts: a) Programming Part, and b) Written Part. The purpose of this assignment is to get you familiar with the concepts of multimedia systems, through the realization of Smart City Use Case(s). In essence, you are required to acquire appropriate data streams from https://data.gov.hk/, and based on these data to craft up use cases and derive insights in relation to smart city initiatives. There is no fixed scope nor limit for the smart city use cases, you are free to choose appropriate use cases as you see fit.
The programming part requires you to implement an application that fetch data streams from https://data.gov.hk/, data analysis and correlation, as well as dashboards to present insights in relation to your selected smart city use cases. The written part, on the other hand, requires you to write a report, in which you explain in details your smart city use cases, and corresponding implementation details.
Please note that this is a group programming assignment. We expect two students working together to complete this assignment.
Overview:
To fulfil the programming part, you are required to do your programming works in the node-red environment. Please follow the AWS EC2 Instance Setup instructions to launch an EC2 instance for your programming environment. After successful launch, your EC2 instance will be configured with a node-red programming environment as well as a MongoDB instance for data storage.
Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click. Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range of nodes in the palette. Flows can be then deployed to the runtime in a single-click. JavaScript functions can be created within the editor using a rich text editor. A built-in library allows you to save useful functions, templates or flows for re-use.
An example has been provided in the file HKO.Flow.json, and you should be able to import it into your node-red environment as shown in Figure 1. This is essentially a demonstration of how to fetch temperature data from Hong Kong Observatory, and plots the
historical temperature of various Hong Kong locations up to the last 24 hours as illustrated in Figure 2.
Figure 1: Example Node-Red Flow for fetching weather data from Hong Kong Observatory.
Figure 2: Chart showing historical temperature data in various locations up to last 24 hours.
Programming Part:
The programming part requires you to implement an application that fetch data streams from https://data.gov.hk/, data analysis and correlation, as well as dashboards to present insights in relation to your selected smart city use cases. Be sure to start storing data earlier for your subsequent work as it takes time to accumulate enough data for your smart city use cases development.
Written Part:
You are required to write a report, in which you explain in details your smart city use cases, and corresponding implementation details, data storing approach, and explain how each dashboard present the corresponding smart city use case insights.
Assignment Submission:
Assignment must be submitted through the moodle course web. The following files have to be submitted as a one single zip file:
1. Exported flow file in your node-red environment.
2. The grader.pem.txt key-pair file.
3. An empty file with name that is the IP address of your EC2 instance.
Important Notes:
1. Late submission is subjected to the penalty of 5% deduction per day.
2. Submission late for more than one week will not be entertained.
3. Programs that cannot be compiled will NOT be graded.
4. Plagiarism will be heavily penalized.
Reference Resources:
[1] https://nodered.org
[2] https://www.mongodb.com
=== End ===