# hovhannisyan_hasmik — Project # README — Smart Asset Monitoring System ## Project Description The Smart Asset Monitoring System is an embedded IoT project built using an ESP32 microcontroller and an ePaper display. The system connects to the Snipe-IT inventory management platform through its REST API and displays currently borrowed assets in real time. The purpose of the project is to provide a dedicated low-power display for monitoring checked-out hardware assets. --- # Features The system includes the following functionality: * Displays the name of each borrowed item * Displays the borrowing status of each item * Displays the name of the borrower assigned to the item * Displays only checked-out assets * Displays a notification when no assets are borrowed * Displays multiple borrowed items simultaneously * Displays the current time and date * Automatically refreshes data periodically * Automatically reconnects to WiFi if the connection is lost --- # Hardware Requirements The following hardware components are required: * ESP32 development board * 4.2-inch ePaper display * USB cable * WiFi network connection --- # Software Requirements Required software and libraries: * Arduino IDE * ESP32 board package * GxEPD2 library * Adafruit GFX library * ArduinoJson library * WiFi library * HTTPClient library The system also requires access to a running Snipe-IT server with API access enabled. --- # Building and Running the Program ## 1. Install Arduino IDE Install the Arduino IDE from: [Arduino IDE Official Website](https://www.arduino.cc/en/software?utm_source=chatgpt.com) --- ## 2. Install ESP32 Board Support Inside Arduino IDE: * Open **Preferences** * Add the ESP32 board manager URL * Open **Boards Manager** * Install the ESP32 package --- ## 3. Install Required Libraries Install the following libraries using the Arduino Library Manager: * GxEPD2 * Adafruit GFX * ArduinoJson --- ## 4. Configure WiFi and API Access Inside the source code, modify the following variables: ```cpp const char* ssid = "YOUR_WIFI_NAME"; const char* password = "YOUR_WIFI_PASSWORD"; String url = "YOUR_SNIPEIT_API_URL"; String token = "YOUR_API_TOKEN"; ``` --- ## 5. Connect Hardware Connect the ePaper display to the ESP32 according to the pin configuration used in the project. Example pin configuration: ```cpp #define EPD_CS 5 #define EPD_DC 27 #define EPD_RST 26 #define EPD_BUSY 25 ``` --- ## 6. Upload the Program * Select the correct ESP32 board in Arduino IDE * Select the correct serial port * Upload the program to the ESP32 After startup, the device will connect to WiFi, retrieve asset data from the API, and display the information on the ePaper screen. --- # How to Use the System The system operates automatically after startup. ## Borrowing an Asset 1. Open the Snipe-IT platform 2. Assign an asset to a user 3. Wait for the ESP32 refresh interval 4. The borrowed asset will appear on the ePaper display --- ## Returning an Asset 1. Remove the asset assignment in Snipe-IT 2. Wait for the next refresh interval 3. The asset will disappear from the display --- ## No Borrowed Assets If no assets are currently assigned, the display will show: ```text No borrowed assets. ``` --- # System Behavior * The display updates automatically at fixed intervals * The system refreshes the display only when changes are detected * The current time and date are updated periodically * If WiFi disconnects, the ESP32 automatically attempts reconnection --- # Technologies Used * ESP32 * C++ * Arduino Framework * REST API communication * JSON parsing * ePaper display technology * WiFi networking --- # Author Hasmik Hovhannisyan Smart Asset Monitoring System Project