Page 1 of 1

Need help in creating IoT codes using Python and Arduino kit. Please see attached documents for info on objectives and r

Posted: Mon Jun 06, 2022 6:00 pm
by answerhappygod
Need help in creating IoT codes using Python and Arduino kit.
Please see attached documents for info on objectives and required
details to get the marks. Due date is 5 August 2022. Thanks!
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 1
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 1 (46.51 KiB) Viewed 35 times
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 2
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 2 (86.46 KiB) Viewed 35 times
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 3
Need Help In Creating Iot Codes Using Python And Arduino Kit Please See Attached Documents For Info On Objectives And R 3 (27.93 KiB) Viewed 35 times
Objectives - Design and develop IoT end-points hardware interfaces and software (in C) to control and monitor these hardware using Arduino Uno. Design and develop high-level software (in Python) that will communicate with the Arduino Uno. The high-level software should be able to control and collect data from the hardware, as well as perform basic data analytics, data visualization and predictive machine learning from the data collected.

Introduction Internet of Things (IoT) system are very diverse and can be complex depending on the extend and integration connectivity that is often lacking. On the lower spectrum, a simple wifi doorbell with camera or a connected lightbulb as shown in Figure 1 can be considered as an IoT device or endpoint with simple motion activation and remote viewing or control. On the other more extreme spectrum, you could have an entire nation network of cameras connected (perhaps hundreds of thousands to a million) as shown in Figure 2 where edge-analytics and AI-enabled facial recognition is possible.

While homogenous devices in a network will enable scaling and simpler management, the real- world deployment scenario is usually much more complex consisting of heterogenous devices such as the need to integrate camera, traffic light controller, ERP gantry record logging, bus transaction, and many others together. For this group project, each team will have to devise a real-world scenario or application where they design and integrate an end-to-end software 3 application. The end-to-end connectivity is as illustrated in Figure 3. For simplicity, the front- end of the system will consist of an Arduino Uno integrated with the appropriate transducers (sensors and actuators). This front-end processor will be programmed with a software written in C to communicate serially with a computer where the back-end software running Python is residing.

Front-end in C AUTO GA Major Components of loT Cloud Gateway Serial link Analytics ONE O Figure 3: IoT end-to-end connectivity While each of you have been provided with a number of basic transducers (LDR, temperature sensor, Infrared, potentiometer, servo motor, stepper motor, buzzer), you can propose to acquire other transducers for your project. Please let us know by week 6 if you have such request so that we can explore if the programme has adequate budget to support your proposed add-on. Below is an example of a possible IoT project. Please discuss your proposed idea during the lab on week 6. In an example (please do not use this example for your proposal), the idea is to develop an automated motorized electric blind as shown in Figure 4. On the front-end, the Arduino Uno will be interfaced to a number of push-button switches (up-down control, stop control), an LDR to sense the ambient light, a motor to control the blind (up-down control), a buzzer as a warning signal when the blind is about to move, a potentiometer to detect the blind position (so that the Thing or Device TT Back-end in Python ZE User Interface 900 (0) A ²

system know the two extreme end of the blind to stop the motor), and a 7-segment LED to display the average light intensity (level 1-9). On the Arduino, your team have to develop a C software to sense and control the various transducers as well as to communicate with the Python software serially. The motorized blind can also be programmed to be equip with intelligent features such as closing the blind automatically when the light intensity (measured from LDR) exceed a certain threshold. Likely, it can automatically open when the indoor light intensity is too low. While the move up and down control can be activated by the physical push-buttons connect to Arduino, these controls should also be replicated and made available via the software running on Python in the computer. Figure 4: A pictorial view of an automated electric blind Beside replicating and virtualizing all the physical controls so that the loT system can also be controlled by the software running Python on the computer, the Arduino front-end should log and send the sensory data to the Python software periodically. One possible setting is to update these sensory data once every 10 seconds. On the back-end software, these data can be collected, cleansed and visualized. Simple data analytics should be performed, for example, reporting the statuses of the sensors, the average number of blind motions in the last 24 hours, maximum and minimum blind positions, average light intensity and so on. The back-end

software can also perform some simple predictive machine learning. An example could be to predict if the blinds will be drawn given the current temperature and light intensity. With enough data, the software can then automate the drawing of blinds for the user. The software can also be programmed to support changing the reporting rate, setting of alarm to preset the time to open the blinds and many others. For those teams who are more adventures, you can also explore connection to the cloud to obtain the sunset/sunrise data from the weather portal to adjust the blind control. Do placed equal emphasis on the software developing on both front- end (in C) and back-end (in Python).

Assessment (30%) Each group will have to prepare a short video less than 5 minutes to showcase their project/product. On 5th August, each team will be given a 30-minute timeslot (5-min video, 15-min demonstration + 10-minute Q&A) to present a project demonstration on week 13 (5-Aug). Each member must be allocated at least 3 minutes of the presentation dedicated towards the components they have contributed the most. Questions will be posted to all members throughout the presentation where the team may have to make reference to the source code to explain their implementation. There is a requirement to submit your source codes (both Arduino and Python) and video as a single zip file C

Mark Range/ Assessment criteria Descriptor 10,9 Excellent Technical (Weighting = 3) Based on the technical objectives of the project: - to design and develop loT end points hardware interfaces and software (in C) to control and monitor these hardware using Arduino Uno. -Design and develop high-level software (in Python) that will communicate with the Arduino Uno (control or collect Exceeds expectation with data), with some data analytics, data visualizations and predictive ML from data collected regard to meeting the technical objectives of the project. The content of the project is new, unique and highly differentiable, and the innovation was clearly demonstrated by the team in their project demonstration. Innovation of project (Weighting =2) Well structured presentation which makes technical arguments exceptionally clear, Confident smooth Project Presentation (Weighting =2) delivery, able to hold attention of audience, easy to follow presentation Answered all questions clearly and confidently. Gave the impression of having an excellent grasp of the subject. Q&A (Weighting-3)