
Build an attendance tracking system using a Raspberry Pi, Parse backend, and a Kotlin Android app, wiring an LCD, keypad, and RFID reader, with Python-driven cloud backend and push notifications.
Download the official raspbian image from the Raspberry Pi website, extract the image file, and burn it to a microSD card using the desktop version for beginners.
Start Raspberry Pi as a standalone desktop by connecting a monitor, keyboard, and mouse, and configure the display resolution. Open the terminal and Chromium, and explore Python and Scratch.
Learn how to download and install the SSH client Putty on Windows by selecting the correct version, installing, and creating a desktop shortcut for quick access.
Enable ssh on a fresh raspbian to securely remotely run commands over an unsecured network. Learn two methods to activate the ssh server and verify connectivity via the host IP.
Learn how to find the Raspberry Pi's IP address on your local network by using a terminal command for network adapters or the free Advanced IP Scanner to identify devices.
Access Raspberry Pi desktop via VNC by enabling VNC service, using the Pi’s IP address with a VNC viewer, and logging in with the default username and password.
Activate the I2C interface on a Raspberry Pi, connect devices with the SDA and SCL lines, enable I2C in interfacing options, reboot, and prepare Python libraries to use I2C.
Connect an I2C LCD display to a Raspberry Pi using a breakout kit, wire ground and power, identify each pin by name, and verify the display works via I2C.
Install and configure the LCD controller for a Raspberry Pi attendance project, navigating the project directory, running setup commands, and validating the LCD display output.
Learn how to drive an lcd display from external scripts using named pipes, sending commands to write and align text, clear content, and control lines on a Raspberry Pi setup.
Configure the Raspberry Pi to automatically start the LCD controller after reboot by adding a cron entry and locating the absolute path to the controller.
Schedule tasks with cron by configuring the five fields (minute, hour, day of month, month, day of week) and the command to run, using values, ranges, lists, and steps.
Edit the script to print the current date and time to the lcd display, test it via a terminal, and set up automatic updates every minute.
Navigate the project folder on the raspberry pi, copy and paste the script, and set the absolute path to update the timer every minute on the lcd display.
Connect a 4x4 keypad to a Raspberry Pi by wiring the keypad to specific GPIO pins, outlining the necessary pin mappings and setup for keypad control.
Install and configure a 4x4 keypad controller on a Raspberry Pi, run the Python keypad controller script, and verify button presses are captured and printed.
Learn to write text to an LCD display from the keypad controller, updating the display with pressed keys using a Python example and controller activity.
Build, implement, and test a Raspberry Pi attendance system using a keypad and lcd display, using Python file handling and dynamic name display.
Connect the RFID RC522 chip to a Raspberry Pi by wiring the pins, including pin 25 and ground, to enable the attendance system setup.
Activate the SPI interface on the Raspberry Pi and enable it through the interface settings, then verify the enablement with a command to ensure the SPI shows as enabled.
Install the SPI python library on the Raspberry Pi, then use the terminal to run commands, clone the repository, and configure the setup for the attendance system.
Explore cloning an RFID controller with MFC 520 and RFID LC 520 tools, and set up the project workflow to integrate into a Raspberry Pi attendance system.
Write data to an RFID tag using a Python script, set up libraries, interact with the reader, collect user input, and provide feedback for an attendance system.
Learn to read data from an RFID tag using a Raspberry Pi, by running a Python script to capture the tag's data and print it to the console.
Learn to run the RFID controller from a different directory by updating the Python script to append the controller's path, enabling the module import and successful execution.
Learn how the Parse platform simplifies backend development by connecting apps to backend cloud storage. Compare self-hosting and hosted options and acknowledge MongoDB storage and the open-source community.
Introduce Back4App as an open-source, fully managed backend platform built on Parse for rapid, scalable app development, featuring push notifications, dashboard, automatic emails, and permissions management.
Learn to manage data with the Parse dashboard by creating classes, adding columns, and performing create, update, and delete operations on objects with ACL controls.
Learn to create an object in a parse class using python and the rest api by configuring domain and app id, posting json data, and verifying in the parse dashboard.
Learn how to query data with Python for the attendance system by sending get requests to fetch employee records, apply constraints, and handle json results.
Update data in a parse-backed system using Python by querying the REST API to fetch an object ID, then sending a patch request to update fields.
Delete data in your attendance system by scripting in python to call the rest api, removing entire objects or individual fields by their object id.
Add a salary to an employee using their SSN and set the amount to two thousand dollars. Retrieve the employee by SSN and update the salary with the update object.
Learn to update an employee's salary in a Parse-based Raspberry Pi attendance system by retrieving staff by SSN, configuring the application id and REST key, and applying the salary change.
Explore Android operating system architecture from Linux kernel to applications layer, and learn how Kotlin, Android Studio, and the Android SDK enable building and testing apps with Android virtual devices.
Download Android Studio for Windows, agree to the terms, run the installer, keep the default path, finish the setup, and launch Android Studio to begin development.
Install android studio on ubuntu by downloading the installer, extracting it, and running setup; then add the bin folder to path and create a desktop launcher for easy access.
Install and set up the Genymotion emulator on Windows by downloading it, signing into or creating an account, and completing the installation steps.
Install Genymotion emulator on Ubuntu by downloading from the site, logging in, running the setup via terminal, accepting the license agreement, and granting permissions to complete the installation.
Create and run a Genymotion virtual device, including license setup and starting the emulator. Connect to your Genymotion account, rename the device, and deploy it for testing.
Create your first android application hello world by setting up Android Studio, configuring the project name, package, minimum SDK, and activity, and inspecting the default layout.
learn how to deploy and run an Android application on the Genymotion emulator, start the device, and view the app running on the simulated Android environment.
Learn to deploy an Android app to a real device by mirroring your phone screen to your computer, connecting the device via USB, and running the app from Android Studio.
Master building a simple Android UI with Kotlin. Create an activity with two edit texts, text views, and a button to display the sum of two numbers.
Navigate between Android activities with explicit intents in Kotlin, using login input and a log in button, handle errors with toast, and pass a name as extra to welcome back.
Create and display a list of strings in Android using Kotlin by configuring a ListView with an ArrayAdapter, binding data, and handling item clicks with a toast.
Learn to implement a RecyclerView in Android with Kotlin to display an employee list with image, name, and position using a custom item layout, an adapter, and a view holder.
Learn to implement a date picker in Android using Kotlin by wiring a button to show the date picker dialog and display the date in a text view using calendar.
Learn how to capture a photo in Android using Kotlin by launching the camera with an intent, handling onActivityResult, and displaying the bitmap in an image view.
Learn how to open the Android gallery from a Kotlin app, pick a photo, display it as a bitmap in an image view, rotate for correct orientation, and handle permissions.
Learn to prepare an Android app to interact with a Parse Server by configuring dependencies, updating the manifest for internet access, and initializing Parse in the app class.
Learn how to retrieve Parse server data from Android by querying the Employee class, handling results and errors, and displaying employee names.
Apply query constraints in a parse-based attendance system to filter salary. Use equal to, greater than, and less than operators to show 2000, greater than 1000, or less than 1000.
Learn to retrieve and display employee photos and names in an android app using Kotlin, by configuring a layout, checking for available pictures, and loading images with the Picasso library.
Learn to implement a one-to-many relationship in an Android app by creating an attendance times class with date, entry time, and an employee pointer to relate records.
Learn how to handle pointers in Android to query the attendance times class, include related employee data, and display today’s employee names with entry and leaving times in Android list.
Learn to save employee objects to Parse from Android by creating a form for name, SSN, salary, and picture, then use save in background with progress feedback.
Retrieve employee data from the cloud with a query and display it in a recycler view, transforming retrieved items into an interactive list for the app.
Integrate the pass sdk into the recycler view project, configure the pass server and permissions, query employees, and update the adapter with Picasso-powered photos to display the results.
Learn to implement android push notifications with Firebase Cloud Messaging. Set up the Firebase project, connect your Android app, add the google-services.json, and configure the dashboard to send notifications.
Learn to implement android push notifications with Parse by updating the manifest and metadata, integrating the push service and installation object, and testing via the push dashboard.
Learn to use channels for fast push notifications and target audiences through a publish-subscribe model. Configure installations with channel memberships and send messages to specific channels.
Learn to subscribe and unsubscribe from push channels in an Android app by wiring four buttons to manage entry and living channels, including background subscription calls and UI setup.
In this course, we will guide you step by step to build your own real time attendance tracking system using Raspberry Pi, Android, Kotlin and Parse server.
We will start by introducing the used technologies to build the real time attendance tracking system.
We will teach you how to use Raspberry Pi to control I/O devices like LCD display, 4x4 Keypad and RFID Chip.
We will teach you as well, how to create android applications using Kotlin, and we will see together how to use basic concepts in Android, like TextViews, Buttons, EditTexts, RecyclerView, Date picker, Camera, Gallery, etc.
You will learn also, in this course, how to use Parse server to create a cloud backend for your applications, and you will be able at the end of this course, to manage your stored data in Parse, using either the Raspberry Pi through the REST API and Python, or using Android Kotlin through the Parse client API.
Also, you will learn how to implement push notifications in your Application, and how to send notifications from the Raspberry Pi using the REST API.
Finally, the capstone project consists of building a real time attendance tracking system using the learned features, this project will be composed of three sides, the first one will be the Raspberry Pi based device which will be used by the employees to mark their attendance using the RFID tags, and the second side will be the Kotlin based Android Application which will be used by the admin to track the attendance of his employees in real time.
These two sides will connect together using Parse backend App.