The main objective is to reduce loss in revenue due to delayed shelf-restocking (when product is in-stock in the store but not stocked on the shelf) and inaccurate forecasting (under-estimating future product sales) practices. The result is to demonstrate inventory automation using ECIS system by enabling the means to monitor and track store inventory in real-time, perform data analysis remotely in cloud, improve shopping experience for the consumers and increase revenue for the retailers in the retail industry. Machine Learning code can be found on my GitHub: https://github.com/priyankkalgaonkar

Dependencies:   mbed

ECE 53301: Wireless and Multimedia Computing Final Project Report – Group 1

Inventory Automation Using Electronically Connected Intelligent Shelves.

Code Developed by: Priyank Kalgaonkar.

Department of Electrical and Computer Engineering, Purdue School of Engineering and Technology at IUPUI.

Submitted as partial fulfillment for the requirement of Fall 2019 - ECE 53301-26877: Wireless and Multimedia Computing course.

Date of Submission: December 12, 2019.

Committer:
priyank12p
Date:
Thu Dec 12 01:04:52 2019 +0000
Revision:
0:b0c4c25d37ab
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
priyank12p 0:b0c4c25d37ab 1 /* mbed Microcontroller Library
priyank12p 0:b0c4c25d37ab 2 * Copyright (c) 2006-2013 ARM Limited
priyank12p 0:b0c4c25d37ab 3 *
priyank12p 0:b0c4c25d37ab 4 * Licensed under the Apache License, Version 2.0 (the "License");
priyank12p 0:b0c4c25d37ab 5 * you may not use this file except in compliance with the License.
priyank12p 0:b0c4c25d37ab 6 * You may obtain a copy of the License at
priyank12p 0:b0c4c25d37ab 7 *
priyank12p 0:b0c4c25d37ab 8 * http://www.apache.org/licenses/LICENSE-2.0
priyank12p 0:b0c4c25d37ab 9 *
priyank12p 0:b0c4c25d37ab 10 * Unless required by applicable law or agreed to in writing, software
priyank12p 0:b0c4c25d37ab 11 * distributed under the License is distributed on an "AS IS" BASIS,
priyank12p 0:b0c4c25d37ab 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
priyank12p 0:b0c4c25d37ab 13 * See the License for the specific language governing permissions and
priyank12p 0:b0c4c25d37ab 14 * limitations under the License.
priyank12p 0:b0c4c25d37ab 15 */
priyank12p 0:b0c4c25d37ab 16 #ifndef MBED_H
priyank12p 0:b0c4c25d37ab 17 #define MBED_H
priyank12p 0:b0c4c25d37ab 18
priyank12p 0:b0c4c25d37ab 19 #define MBED_LIBRARY_VERSION 133
priyank12p 0:b0c4c25d37ab 20
priyank12p 0:b0c4c25d37ab 21 #if MBED_CONF_RTOS_PRESENT
priyank12p 0:b0c4c25d37ab 22 // RTOS present, this is valid only for mbed OS 5
priyank12p 0:b0c4c25d37ab 23 #define MBED_MAJOR_VERSION 5
priyank12p 0:b0c4c25d37ab 24 #define MBED_MINOR_VERSION 3
priyank12p 0:b0c4c25d37ab 25 #define MBED_PATCH_VERSION 2
priyank12p 0:b0c4c25d37ab 26
priyank12p 0:b0c4c25d37ab 27 #else
priyank12p 0:b0c4c25d37ab 28 // mbed 2
priyank12p 0:b0c4c25d37ab 29 #define MBED_MAJOR_VERSION 2
priyank12p 0:b0c4c25d37ab 30 #define MBED_MINOR_VERSION 0
priyank12p 0:b0c4c25d37ab 31 #define MBED_PATCH_VERSION MBED_LIBRARY_VERSION
priyank12p 0:b0c4c25d37ab 32 #endif
priyank12p 0:b0c4c25d37ab 33
priyank12p 0:b0c4c25d37ab 34 #define MBED_ENCODE_VERSION(major, minor, patch) ((major)*10000 + (minor)*100 + (patch))
priyank12p 0:b0c4c25d37ab 35
priyank12p 0:b0c4c25d37ab 36 #define MBED_VERSION MBED_ENCODE_VERSION(MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION)
priyank12p 0:b0c4c25d37ab 37
priyank12p 0:b0c4c25d37ab 38 #if MBED_CONF_RTOS_PRESENT
priyank12p 0:b0c4c25d37ab 39 #include "rtos/rtos.h"
priyank12p 0:b0c4c25d37ab 40 #endif
priyank12p 0:b0c4c25d37ab 41
priyank12p 0:b0c4c25d37ab 42 #if MBED_CONF_NSAPI_PRESENT
priyank12p 0:b0c4c25d37ab 43 #include "netsocket/nsapi.h"
priyank12p 0:b0c4c25d37ab 44 #endif
priyank12p 0:b0c4c25d37ab 45
priyank12p 0:b0c4c25d37ab 46 #if MBED_CONF_EVENTS_PRESENT
priyank12p 0:b0c4c25d37ab 47 #include "events/mbed_events.h"
priyank12p 0:b0c4c25d37ab 48 #endif
priyank12p 0:b0c4c25d37ab 49
priyank12p 0:b0c4c25d37ab 50 #include "platform/toolchain.h"
priyank12p 0:b0c4c25d37ab 51 #include "platform/platform.h"
priyank12p 0:b0c4c25d37ab 52
priyank12p 0:b0c4c25d37ab 53 // Useful C libraries
priyank12p 0:b0c4c25d37ab 54 #include <math.h>
priyank12p 0:b0c4c25d37ab 55 #include <time.h>
priyank12p 0:b0c4c25d37ab 56
priyank12p 0:b0c4c25d37ab 57 // mbed Debug libraries
priyank12p 0:b0c4c25d37ab 58 #include "platform/mbed_error.h"
priyank12p 0:b0c4c25d37ab 59 #include "platform/mbed_interface.h"
priyank12p 0:b0c4c25d37ab 60 #include "platform/mbed_assert.h"
priyank12p 0:b0c4c25d37ab 61
priyank12p 0:b0c4c25d37ab 62 // mbed Peripheral components
priyank12p 0:b0c4c25d37ab 63 #include "drivers/DigitalIn.h"
priyank12p 0:b0c4c25d37ab 64 #include "drivers/DigitalOut.h"
priyank12p 0:b0c4c25d37ab 65 #include "drivers/DigitalInOut.h"
priyank12p 0:b0c4c25d37ab 66 #include "drivers/BusIn.h"
priyank12p 0:b0c4c25d37ab 67 #include "drivers/BusOut.h"
priyank12p 0:b0c4c25d37ab 68 #include "drivers/BusInOut.h"
priyank12p 0:b0c4c25d37ab 69 #include "drivers/PortIn.h"
priyank12p 0:b0c4c25d37ab 70 #include "drivers/PortInOut.h"
priyank12p 0:b0c4c25d37ab 71 #include "drivers/PortOut.h"
priyank12p 0:b0c4c25d37ab 72 #include "drivers/AnalogIn.h"
priyank12p 0:b0c4c25d37ab 73 #include "drivers/AnalogOut.h"
priyank12p 0:b0c4c25d37ab 74 #include "drivers/PwmOut.h"
priyank12p 0:b0c4c25d37ab 75 #include "drivers/Serial.h"
priyank12p 0:b0c4c25d37ab 76 #include "drivers/SPI.h"
priyank12p 0:b0c4c25d37ab 77 #include "drivers/SPISlave.h"
priyank12p 0:b0c4c25d37ab 78 #include "drivers/I2C.h"
priyank12p 0:b0c4c25d37ab 79 #include "drivers/I2CSlave.h"
priyank12p 0:b0c4c25d37ab 80 #include "drivers/Ethernet.h"
priyank12p 0:b0c4c25d37ab 81 #include "drivers/CAN.h"
priyank12p 0:b0c4c25d37ab 82 #include "drivers/RawSerial.h"
priyank12p 0:b0c4c25d37ab 83
priyank12p 0:b0c4c25d37ab 84 // mbed Internal components
priyank12p 0:b0c4c25d37ab 85 #include "drivers/Timer.h"
priyank12p 0:b0c4c25d37ab 86 #include "drivers/Ticker.h"
priyank12p 0:b0c4c25d37ab 87 #include "drivers/Timeout.h"
priyank12p 0:b0c4c25d37ab 88 #include "drivers/LowPowerTimeout.h"
priyank12p 0:b0c4c25d37ab 89 #include "drivers/LowPowerTicker.h"
priyank12p 0:b0c4c25d37ab 90 #include "drivers/LowPowerTimer.h"
priyank12p 0:b0c4c25d37ab 91 #include "drivers/LocalFileSystem.h"
priyank12p 0:b0c4c25d37ab 92 #include "drivers/InterruptIn.h"
priyank12p 0:b0c4c25d37ab 93 #include "platform/wait_api.h"
priyank12p 0:b0c4c25d37ab 94 #include "hal/sleep_api.h"
priyank12p 0:b0c4c25d37ab 95 #include "platform/rtc_time.h"
priyank12p 0:b0c4c25d37ab 96
priyank12p 0:b0c4c25d37ab 97 // mbed Non-hardware components
priyank12p 0:b0c4c25d37ab 98 #include "platform/Callback.h"
priyank12p 0:b0c4c25d37ab 99 #include "platform/FunctionPointer.h"
priyank12p 0:b0c4c25d37ab 100
priyank12p 0:b0c4c25d37ab 101 using namespace mbed;
priyank12p 0:b0c4c25d37ab 102 using namespace std;
priyank12p 0:b0c4c25d37ab 103
priyank12p 0:b0c4c25d37ab 104 #endif