Skip to content

14. Interface & Application programming

This week I learnt that there are many different software tools and languages available for interfacing with our embedded systems.
For my final project, I made an interactive application to enable the user to retrieve data about my shelf status via Google Sheets.

This week’s assignments:

Group assignment: - Compare as many tool options as possible. - Document work

Individual assignment:
- Write an application for the embedded board that I made, that interfaces a user with an input and/or output device(s)

Groupwork: Compare Tool options

Link to Project tab

Individual learnings:

Final Project work: Write an application

I wrote a code for my XiaoESP32 board, to enable the user to interface with the spice shelf and spice bottles.

According to BoHeatherBowman’s documentation, it was possible to enable an ESP32 microcontroller to reading / communicating with a Google Sheets File. So this week, I decided to try this myself.

These were the steps I took; 1. Create Google Sheets 1. make 2 duplicate tables; ““Sensor Data Logger” and “Latest Sensor Data”. 2. Update the table headers. 2. Create AddScript 1. Update the info with above GoogleSheets Filename/Sheet name and link. 2. Add below codes 3. Test 1. Deploy GoogleSheets (make it public for the time being) 2. Deploy the URL with test parameter values 3. Check GoogleSheets to see that data has been added 4. Connect ESP32 and test that the Input signals are reflected

Reflections:

This week I learnt to… - Implement a User Interface (UI) using programming and explore protocols to communicate with a microcontroller board that you designed and made.

I need to try make the code more organised. Also need to connect this program to the master/slave relationship I deployed in Week11.

Assignment Checklist:

  • [] Linked to the group assignment page
  • [] Documented my process
  • [] Explained the UI that I made and how I did it
  • [] Explained how my application communicates with my embedded microcontroller board
  • [] Explained any problems I encountered and how I fixed them
  • [] Included original source code (or a screenshot of the app code if that’s not possible)
  • [] Included a ‘hero shot’ of my application running & communicating with my board