159.236 Embedded Programming Assignment 3
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.
2022-10-07