diff --git a/img/ESP32_BT_Code.png b/img/ESP32_BT_Code.png new file mode 100644 index 0000000..317084f Binary files /dev/null and b/img/ESP32_BT_Code.png differ diff --git a/img/ESP32_BT_Output.png b/img/ESP32_BT_Output.png new file mode 100644 index 0000000..edd89c0 Binary files /dev/null and b/img/ESP32_BT_Output.png differ diff --git a/img/ESP32_BT_Output2.png b/img/ESP32_BT_Output2.png new file mode 100644 index 0000000..edba526 Binary files /dev/null and b/img/ESP32_BT_Output2.png differ diff --git a/img/ESP32_Storage_Error.png b/img/ESP32_Storage_Error.png new file mode 100644 index 0000000..c23c5f2 Binary files /dev/null and b/img/ESP32_Storage_Error.png differ diff --git a/index.html b/index.html index 59d5a50..2dff49b 100644 --- a/index.html +++ b/index.html @@ -146,32 +146,32 @@

- Week 2 -

- Week 3 -


- Finally, after a week of waiting, I was finally able to get my hands on the ESP32 NodeMCU, a breadboard, and + Finally, after a week of waiting, I was finally able to get my hands on the ESP32 Nodemcu, a breadboard, and a couple of jumper wires. This mark the start and beginning of my journey to create the SEER GPS Tracker. Despite not having the GPS Tracker device yet, i have initiated the process of conducting and testing the - evaluation of the ESP32 NodeMCU's functionality to ensure that it is in a proper working condition. + evaluation of the ESP32 Nodemcu's functionality to ensure that it is in a proper working condition.

- Arduino Board Manager -

- Blink Start Code -


- To begin testing the functionality of the ESP32 NodeMCU development board, I utilized the Arduino IDE, + To begin testing the functionality of the ESP32 Nodemcu development board, I utilized the Arduino IDE, an open-source integrated development environment that enables users to write, compile, and upload code to - Arduino boards. Since the ESP32 NodeMCU board is compatible with the Arduino IDE, I decided to use this + Arduino boards. Since the ESP32 Nodemcu board is compatible with the Arduino IDE, I decided to use this application to test its functionality.

- Secondly, to ensure that my ESP32 NodeMCU board is properly supported by the Arduino IDE, I installed both + Secondly, to ensure that my ESP32 Nodemcu board is properly supported by the Arduino IDE, I installed both the Arduino and Espressif Systems board packages for the ESP32. These packages contain all of the necessary files for the Arduino IDE to compile and upload code to ESP32 boards. This is important because different Arduino boards use different microcontrollers, and the Arduino IDE needs to know which microcontroller it is generating code for in order to produce the correct machine code.

- Lastly, i made use of an online simple testing blink start.ino file for testing. Since the ESP32 NodeMCU + Lastly, i made use of an online simple testing blink start.ino file for testing. Since the ESP32 Nodemcu has a built-in LED that can be controlled using the same digital pin as the Arduino board. To test the - functionality of the ESP32 NodeMCU, i uploaded the blink start code to the ESP32 NodeMCU and observe the - behavior of the built-in LED. If the LED blinks on and off every second, then the ESP32 NodeMCU is + functionality of the ESP32 Nodemcu, i uploaded the blink start code to the ESP32 Nodemcu and observe the + behavior of the built-in LED. If the LED blinks on and off every second, then the ESP32 Nodemcu is functioning properly.


@@ -198,7 +198,7 @@

- Week 4 -

Website link: https://makersportal.com/blog/portable-gps-tracker-with-arduino

- At the current moment, my team and i are limited to only ESP32 NodeMCU and the python script guide (from + At the current moment, my team and i are limited to only ESP32 Nodemcu and the python script guide (from makersportal) that is available to be worked and improved on. Hence, I decided to fill in randomly generated latitude & longtitude around Ngee Ann Polytechnic in a csv file to try and test if the python script is capable of plotting @@ -238,13 +238,13 @@

- Week 5 (Hackathon) -


-->

- Day 1 -

- The first day of the hackathon, the long-awaited GPS Tracker finally arrived. I quickly got to work and connected it to my ESP32 NodeMCU to set the integration of the C++ code to bring the entire GPS Tracker system up. However, upon executing my first code sketch, the GPS Tracker failed to function as intended. + The first day of the hackathon, the long-awaited GPS Tracker finally arrived. I quickly got to work and connected it to my ESP32 Nodemcu to set the integration of the C++ code to bring the entire GPS Tracker system up. However, upon executing my first code sketch, the GPS Tracker failed to function.

- The root cause of the malfunctioning GPS Tracker came from an error in referencing the wrong version of the ESP32 NodeMCU pin layout. Thus, leading to an incorrect pin configuration for the GPS Tracker. This mismatch between the expected and actual pin connections prevented the ESP32 NodeMCU from effectively establishing a connection and communicating with the GPS Tracker, rendering the entire system inoperable. + The root cause of the malfunctioning GPS Tracker came from an error in referencing the wrong version of the ESP32 Nodemcu pin layout. Thus, leading to an incorrect pin configuration for the GPS Tracker. This mismatch between the expected and actual pin connections prevented the ESP32 Nodemcu from effectively establishing a connection and communicating with the GPS Tracker, rendering the entire system inoperable.

After some alterations, the output initially showed "unknown" location but displayed the correct date. However, rerunning the code caused a glitch, and the date reverted to 2001. Suspecting that there might be a CMOS battery issue, i researched more about the GPS device. The online research revealed that the Neo-M6 GPS HAT with Antenna for Raspberry Pi lacks a CMOS battery for date maintenance. It relies on the Raspberry Pi's power supply, losing date and time information when the Raspberry Pi is turned off.


-

- ESP32 NodeMCU C++ Code -

+

- ESP32 Nodemcu C++ Code -




@@ -291,7 +291,7 @@

- Week 5 (Hackathon) -




- Updated Technical Solutions Explanation -

- Firstly, the ESP32 NodeMCU with its built-in WiFi capabilities can effectively communicate with web servers and send data. In this scenario, the ESP32 will be used to collect the GPS coordinates, which will then be transmitted to a MySQL database via an HTTP POST request to the PHP Webpage. PHP, a scripting language, will handle the server-side processing of receiving the data from the ESP32, and storing it in the MySQL database. Next, a python script with multiple libraries such as matplotlib and cartopy will be used to plot out the entire route and pathway of the security guard to visualise for areas of improvements. + Firstly, the ESP32 Nodemcu with its built-in WiFi capabilities can effectively communicate with web servers and send data. In this scenario, the ESP32 will be used to collect the GPS coordinates, which will then be transmitted to a MySQL database via an HTTP POST request to the PHP Webpage. PHP, a scripting language, will handle the server-side processing of receiving the data from the ESP32, and storing it in the MySQL database. Next, a python script with multiple libraries such as matplotlib and cartopy will be used to plot out the entire route and pathway of the security guard to visualise for areas of improvements.





@@ -418,12 +418,25 @@

- Week 13 -

- Week 14 -

-

- ... + For week 14, to enhance security and enable tracking of the assigned security guard, a bluetooth feature is implemented on the ESP32 Nodemcu. This feature requires the security guard to establish a bluetooth connection with the ESP32 Nodemcu using their mobile phone before the seer tracking device can begin its pathway tracking. +

+ This bluetooth feature will capture the bluetooth mac address of the security guard's mobile phone. Since bluetooth mac addresses are unique, it allows the benefit to be used for the identification of the security guard. The captured bluetooth mac address will be stored in the database records along with the GPS coordinates and altitude data. +

+ However, after integrating the bluetooth code into the main GPS Tracker, an error occurred due to the storage space being exceeded. This was caused by multiple libraries with initialised objects that consumed a significant amount of storage space. +

+ After some online research to find solutions for this issue, I came across some potential solutions that involves using older versions of the libraries to reduce storage space. However, implementing these older versions may result in the loss of some functionalities. As a result, I have decided to test and explore alternative solutions in the following weeks.


+

- ESP32 Bluetooth Code -

+
+

- ESP32 Bluetooth Output -

+
+ +

- ESP32 storage exceeded error -

+
+

+
Back to top