This project is created for a Data-Enabled Design project. The project is mainly about sugar tracking with ESP32 platform.
Refer to the circuit diagram to create your own prototype for your own project. The prototype is built to collect data from the participant in a deployed user study. The data requires the participant to report manually by pressing a upload button on the prototype. The data would be uploaded into and finally stored at the Data Foundry platform.
The diagram is drawn by Ting Miao.
You can build a box to house your circuit. A 3D printed box is shown below.
The concept is designed by Joris Zandbergen.
Download LCD IIC library from Arduino library manager. If you search the LCD IIC library, you will see many different librariies. I recommend to use the "LiquidCrystal I2C" library developed by Frank de Brabander.
Download a OOCSI-ESP library to call the OOCSI and Data Foundry API in your Arduino project. The OOCSI and Data Foundry API would help you manage the data uploading and data retrieval to/from the Data Foundry platform. For more information and how to install the OOCSI-ESP library, please refer to its GitHub link (https://github.com/iddi/oocsi-esp#readme). For more information about the Data Foundry platform, please refer to here.
- When you downloaded the source code, open it with Arduino IDE, then you will see several tabs, go to tab "Credential", update the constant variables of WIFI_SSID and WIFI_PIN with your own WiFi credential, then update the variable IOT_DATASET_1_TOKEN and IOT_DATASET_1_ID with your own Data Foundry IoT dataset credential, and finally update the variable SUGAR_TRACKER_DEVICE_ID to your prototype reference ID which will be automatically generated by the Data Foundry when you add a device for a participant in your Data Foundry project.
- To ensure that the Arduino code receive notification successfully whenever new data uploaded into your Data Foundry (IoT) dataset, you need to create a OOCSI channel that would send data out from the dataset first, and update the constant variable SUGAR_TRACK_2_NOTIFY_CHANNEL with that channel name as it is. This variable is located at the main project file. If you don't find it, use search function to quickly locate it.
You can customize the circuit and update the code by adding/removing component libraries .h and .cpp files. Make use of the source code to build a working prototype for your own project.
The project is initially developed by Ting Miao, and the concept for designing the prototype were brainstormed by Anika Kok, Yueying Shi, Ting Miao, Joris Zandbergen and Yulin Su. The source code is one of the deliverable for a Data-enabled design graduate course.