MDR Presentation Team Frij Department of Electrical and Computer Engineering FRIJ Andrew Paisner - EE Shravan Nayak -CSE Carlton Jones - EE Amrit Khalsa – CSE Department of Electrical and Computer Engineering Adviser: Prof. David Irwin Improving the Refrigerator Currently a “dumb” appliance, with no interface with the food it holds. Owners are responsible for knowing what food is or is not in the refrigerator. Most people rely on handwritten lists for shopping. Goal: Create a smart refrigerator that knows what products it contains and can use that data to make prediction. Department of Electrical and Computer Engineering 3 The Frij – Goals Reiterated RFID and weight sensors keep status of food items in the Frij. Accurate and easy product identification via interface with UPC (barcode) database. Server/Database stores inventory for easy access and predicts grocery needs. App displays current inventory and accesses database-generated shopping list. Department of Electrical and Computer Engineering 4 Block Diagram from PDR Block Block Block Block 1: 2: 3: 4: Food Item (with RFID Tag) Carlton Jones - EE Andrew Paisner - EE Shravan Nayak -CSE Amrit Khalsa - CSE Mobile App User Interface Weight sensors Pattern recognition Raspberry Pi Server Product recognition RFID sensor Refrigerator Barcode scanner Department of Electrical and Computer Engineering Database UPC Database 5 Updated Block Diagram • Little change • Only the “Weight Sensors” block needs to be replaced Mobile App User Interface Food Item (with RFID Tag) USB scale Pattern recognition Raspberry Pi Server Product recognition RFID sensor Refrigerator Barcode scanner Department of Electrical and Computer Engineering Database UPC Database 6 Block 1: Carlton Jones – Weight Sensors Ordered 50kg rated weight sensors. Created Wheatstone Bridge and Instrumentation Amplifier. Tuned amplifier outputs to measurable range. With Andrew built ADC interface for reading via Raspberry Pi. For CDR: Scrap this setup in favor of a pre-built scale because of accuracy and tuning issues. Department of Electrical and Computer Engineering 7 Block 1: Carlton Jones – RFID Ordered UHF RFID reader. Ordered small adhesive UHF tags. With Amrit obtained the software that allows it to read the tags. Tested sensor inside refrigerator and with multiple and various tags. For CDR: Interface the RFID reader with Raspberry Pi (can’t run manufacturer’s program on Linux). Department of Electrical and Computer Engineering 8 Block 2: Andrew Paisner – Raspberry Pi Ordered and set up Raspberry Pi. Created program to read and send inputs from USB barcode reader. Added functionality to read and send voltages from weight sensors via ADC. With Amrit designed function to read and send serial data from RFID reader. Program sends barcode and weight data to server after it is scanned (not RFID as of now). For CDR: Connect to server via Wi-Fi. Department of Electrical and Computer Engineering 9 Block 2: Andrew Paisner – Barcodes/UPC Ordered USB barcode reader. Created program to read UPC tags on Pi. Researched publically available UPC databases and their API interfaces Using UPCDatabase.org API created lookup function that runs on server. For CDR: Add more precise product identification for better UI. And search multiple databases. Department of Electrical and Computer Engineering 10 Block 3: Amrit Khalsa – Server Server that will store and remove food items •Server receives information from Raspberry PI via HTTP POST •Stores translated item from barcode lookup into database •Sends and receives JSON objects •Has functionality to remove and link data to items PostgreSQL database •Two tables: frijdb.items and frijdb.systeminfo •Java code to connect to and update information in database Department of Electrical and Computer Engineering 11 Block 3: Amrit Khalsa – Server Communication App Web Server HTTP GET JSON Array JSON Object in HTTP POST Server responds to different types of data from Raspberry Pi: Department of Electrical and Computer Engineering •Barcode numbers •RFID numbers •Weight sensor data 12 Block 3: Amrit Khalsa – Database Department of Electrical and Computer Engineering 13 Block 4: Shravan Nayak – App Communicates with server • App sends an HTTP GET request to the url of Heroku server • Heroku server sends a JSON array containing the JSON object to the app which contains the product info. • App can also send data to the server using HTTP POST Message JSON Parser • App parses the JSON array and retrieves the name and weight of the product • The information is stored and displayed on the using the TextView class Department of Electrical and Computer Engineering 14 Block 4: Shravan Nayak – App Department of Electrical and Computer Engineering 15 Block 4: Shravan Nayak – Communication HTTP GET JSON Array CLIENT Department of Electrical and Computer Engineering SERVER 16 MDR Deliverables – Proposed RFID reader reading tags in refrigerator. RFID reader and weight sensors communicating with Raspberry Pi. Barcode scanner with UPC API lookup. Server that will store and remove food items, weights, and their barcode/RFID data. Develop the UI for the app and communicate with the server. Department of Electrical and Computer Engineering 17 MDR Deliverables – All Accomplished RFID reader reads tags inside refrigerator. RFID reader, weight sensors, and barcode scanner communicate with Raspberry Pi. Server does UPC API lookup of barcodes. Server database stores and remove food items, weights, and their barcode/RFID data. App has UI and receives database updates from server and can send items to database. Department of Electrical and Computer Engineering 18 Proposed CDR Deliverables Hardware features completed. Installed in refrigerator unobtrusively. USB (or other) weighing scale. Accurate weight sensing (can be compared to UPC). Integrated power supplies. Pi sends RFID data and is connected via Wifi. Accurate product description from UPC lookup. Server and database with product history and predictive algorithms. Android UI with complete functionalities. Incorporating shopping list generated by server. Department of Electrical and Computer Engineering 19