Reference no: EM132601667
ENGT5108 Programming and Software Engineering - De Montfort University
Fault Tolerant IoT Controller
PURPOSE
This laboratory test is summative. It contributes 100% of your total final mark for the module. Your final mark will be capped at 50% as this is a resit.
OPERATIONAL DETAILS
You should work individually for this coursework and you should have all the required hardware to build your prototype yourself. You will need to construct an Arduino + ESP8266 based prototype to implement an Internet of Things application which will perform as the system described in this specification document.
You will use 2 Arduino boards, one ESP8266 module, one LED, resistors, wires, diodes and opto-couplers to implement a prototype that
1. implements a WiFi soft-access point via the ESP8266 module and provides a webpage interface to the workings of the system.
2. The webpage has a button or a link that can toggle the LED's behaviour from stopped to started, reports on the health condition of the Arduino controllers and reports on the status of the LED itself. The system is initially in idle state where the LED is off. The system changes the state from idle to operational state on a click on the link/button on the webpage. The operational state is defined by feature 6. The system changes the state from operational to idle state on a click on the link/button on the webpage.
3. Makes sure the voltage interface between ESP8266 and Arduino is appropriate.
4. Keeps the LED operational as long as at least the ESP8266 and one of the Arduino boards are powered and a button on a webpage implemented by the ESP8266 is pressed by the user.
5. Only one Arduino can control the LED at any time.
6. The operation of the LED is given as per table 2.1. In other words, when the LED is operational, it has 12 states and it must continuously follow them from 0 to 11 and back to 0 again.
State
|
Duration in seconds
|
LED state
|
0
|
1
|
On
|
1
|
1
|
Off
|
2
|
0.5
|
On
|
3
|
0.5
|
Off
|
4
|
0.5
|
On
|
5
|
0.5
|
Off
|
6
|
0.333
|
On
|
7
|
0.333
|
Off
|
8
|
0.333
|
On
|
9
|
0.333
|
Off
|
10
|
0.334
|
On
|
11
|
0.334
|
Off
|
Table 2.1: LED states and durations
2.1 What should be submitted
You will need to write a report, build a prototype and write the software for the system that implements the here given specification. You must submit your report, schematic diagram, image or a video of the working breadboard prototype and the complete C code for all three µ-controllers via the corresponding submission journal on the Blackboard shell of the module.
Attachment:- PROGRAMMING & SOFTWARE ENGG.rar