WeighingScale is an Android application developed to digitalize and optimize agricultural weighing processes, specifically for rice harvest management. By integrating with a digital weighing scale over Bluetooth, the app provides real-time, accurate measurements directly to a smartphone. The system uses the NodeMCU ESP32 microcontroller for reliable Bluetooth communication, with alternatives such as Arduino and HC-06 also considered for varying power and connectivity needs.
- Bluetooth Connectivity: The app connects to digital scales via NodeMCU ESP32 or other Bluetooth modules (e.g., HC-06, Arduino).
- Batch Management: Supports detailed data entry for each weighing session, including responsible personnel (PIC), destination, weight, and pricing.
- Real-Time Data Visualization: Displays batch summaries and weight statistics using MPAndroidChart.
- Data Export: Exports batch histories and reports in PDF format with iTextPDF, and supports data backup in CSV format for easy transfer and recovery.
- Customizable Units and Pricing: Adjusts units of weight and harvest pricing per kg for flexible data handling.
- Android Studio (version 4.0 or higher)
- Android SDK: Minimum SDK 21, Compile SDK 34
- Bluetooth-enabled Weighing Device with compatible microcontroller (e.g., NodeMCU ESP32)
To clone the repository:
git clone https://github.com/dikhimartin/WeighingScaleApp.git
- Open in Android Studio: Import the project directory (
WeighingScale
). - Sync Dependencies:
- MPAndroidChart (
v3.1.0
) for data charts - iTextPDF (
libs.itextpdf
) for report generation
- MPAndroidChart (
- Build: Click Build > Make Project or use
Ctrl+F9
to compile the project.
- Connect an Android device or start an emulator.
- Install the app by clicking Run > Run 'app' or pressing
Shift+F10
. - Begin using the app to manage and record weighing data directly from the Bluetooth-connected scale.
- Go to Build > Generate Signed Bundle / APK.
- Select APK and follow the prompts to create a signed release version.
- The APK will be saved in
/app/release
.
The following permissions are required for Bluetooth operations and file management:
- Bluetooth:
BLUETOOTH
,BLUETOOTH_ADMIN
,BLUETOOTH_CONNECT
,BLUETOOTH_SCAN
- Location:
ACCESS_FINE_LOCATION
,ACCESS_COARSE_LOCATION
- Storage:
READ_EXTERNAL_STORAGE
,WRITE_EXTERNAL_STORAGE
- MPAndroidChart: For live charting and visual data summaries.
- iTextPDF: For PDF report generation and export.
.
├── app
│ ├── build # Compiled code
│ ├── src # Source files (Java and XML layouts)
│ └── proguard-rules.pro # Proguard configuration for release
├── gradle # Gradle wrapper files
├── build.gradle # Module build file
├── settings.gradle # Project settings
└── README.md # Project documentation
Download the latest APK from the Releases page.