Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

159.236 Embedded Programming Assignment 3

2022

Option 1

Make a simple alarm clock for the TTGO T-Display Board (or the emulator). The alarm clock should  run in landscape mode and should display the current time as hours, minutes and seconds + am/pm in  any format and layout you like. The time must be set from an sntp server in the same way as the           time_demo() function of the demo code. You should use the demo wifi code to connect to an access    point named MasseyWifi” with no password. Use the same mqtt server as used by the demo to get an alarm time by subscribing to the topic /a159236/alarm. The alarm time must be in the format: YYYY- MM-DD HH:MM, e.g “2021-09-30 13:00” (without quotes). When an alarm is set, the alarm time    should be displayed on the screen. When an alarm goes off, the screen must flash between red and       green every 300ms and a GPIO output must be set to 1 until one of the buttons is pressed. Use the        same graphics library as assignment 2. Use mqtt explorer (http://mqtt-explorer.com/) to test your alarm clock.

Option 2

Write a program for the TTGO T-Display Board or the emulator. You can do anything you like but   you may want to do something useful. You can write another game if you like but try to make it        reasonably different from your assignment 2. You can use Wifi or Bluetooth on the board and can     connect it to any other sensors or I/O devices. You can use third party libraries but the main program should be your own work. Do not just copy all the code from github!

You can use features of the board that haven’t been covered in the course, for some ideas about what is possible see the esp-idf examples here:                                                                                               https://github.com/espressif/esp-idf/tree/master/examples

You are allowed to work in groups of up to 3 people (only for option 2). If you work in a group, I will expect the program to be proportionally more work than a single person would do.  If your program   does something which will be hard for me to test, you should also submit a video of it working. Your program should be at least as many lines of code as option 1. If you don’t know whether your idea is  enough work, send me an email.

You must use the esp idf framework and PlatformIO for both options

This assignment is worth 20% of the final marks

Your assignment will be judged on how well it works. Use comments to document your code. Submit a zip of your project folder (without the files in the .pio, .git and .cache directories)     electronically from stream.