Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Rahul M, Prof. Shruthi. N
DOI Link: https://doi.org/10.22214/ijraset.2023.56921
Certificate: View Certificate
Ecommerce, also known as electronic commerce refers to the buying and selling of various goods and services online. In the recent days the word “Ecommerce “has become very familiar due to the internet boom and due to the kind of comfort (and other services) it provides to its users. Many companies have either established their business or have increased their profits with the help of Ecommerce. There are various studies which show that there is an exponential increase in the Ecommerce sales and services and it is very much evident that it will reach new heights in the upcoming years. Ecommerce businesses has seen a 265% growth rate, from $1.3 trillion in 2014 to $4.9 trillion in 2021also higher.With such a mass boom in Ecommerce people don’t prefer to buy goods offline since they receive more benefits by buying online. But unfortunately, there are a few problems that both the company and its customers are facing. And gradually such problems have been increasing and major issues were with regard to the faulty delivery system. Tohandle such situations, we propose a solution to avoid any delivery related problems that are caused during delivery and to put a stop to such problems by making sure every customer gets the products as it is by the dealer directly without any interference while delivering. This report discusses about the part of IoT in secured packaging solution, the proposed approach.
I. INTRODUCTION
A. Overview
The Intelligent Packaging solution aims to use an electronic packaging solution to combat the problem of opening packages during transportation as well as to measure the characteristics of the product, the inner and outer atmosphere of the package. The project IPS aims to use electronic packaging solutions to effectively trigger an alert when a package is opened. This is done by using many sensors in a failsafe system. The problem with single sensor-based systems is that they do not correlate data from different means. IPS uses many sensors that continuously track the physical parameters inside the package to ascertain if the package has been opened or there has been some rise in temperature (for pharmaceutical and temperature sensitive products). Once this alert has been sent to those concerned, they can take necessary action. If there is no alert and a normal delivery takes place, the customer uses his/her mobile phone to scan a QR code displayed on the IPS kit. This will result in an OTP that is received at the customer’s mobile and entering the OTP with the kit will reset the device. [1] The IPS kit is then removed from the box and given to the delivery executive to be reused again. Internet of thing (IoT) is not only an interesting research topic but also a booming industrial trend. Although the basic idea is to bring things or objects into the web, there are various approaches because an IoT system is highly application oriented. Some problems that always arise within the packaging of products are difficulty and inaccuracy in determining appropriate packaging options according to type and condition of the product to be packaged. Incorrect decision of packaging option can cause loss in quality, physical damage to product, packed products might get spoilt, especially perishable and time sensitive products. The smart locker may be a modular and expandable solution developed especially for parcel collection. The functionality are often managedlocally.
Security of knowledge is of primary concern and therefore the system is fully compliant with all data protection standards. No resident data is stored locally thanks to the enterprise level cloud-based control system. With the rise of ecommerce, there is an Intelligent packaging solution increasing need to manage online purchase deliveries effectively. Now here is this more apparent than within apartment complexes nationwide.
Today,Internet is migrating from connecting people to connecting things, leading to the new conceptof Internet of thing (IoT). This new trend brings things or objects into the Internet and generates new applications and business. It is predicted that 212 billion devices are going to be installed by 2020. These things, ranging from indoor wearable devices to outdoor environmental sensors, became new sources generating data on Internet, together making the entities on Internet more aware of the real world. This brings new applications or revolutions in many fields such as transportation, healthcare, home, industrial, agriculture automation freshness and extend shelf life during the distribution process (Yam et al, 2005).
Packaging design that combines elements and design guidelines are oriented to the environment, also play a crucial role in informing and directing consumers to keep buying. The increasing packaging types and options nowadays also necessitates more systematic and precise thanks to select the simplest packaging option for a certain type of product. [2] Decision makingprocesses are often faced with a good range of unique conditions, uncertain, dynamic, time consuming and sophisticated nature.
B. Problem Statement
Definition Increased customer experience expectations and product complexity are driving traditional packaging techniques obsolete. In addition to this, traditional packaging methods do notprovide the customer as well as the manufacturer with important information about the product during shipping Fig 1.1 shows delivery mishandling & Fig 1.2 shows damaged product received.
Toovercomethis,weneed to develop an intelligent packaging system that use the Internet of Things and Machine Learning for authenticating, securing, and tracking high value packages Fig 1.3 shows replacement of actual product with soap bar.
C. Objectives
II. LITERATURESURVEY
Following IEEE papers were surveyed for literature survey.here we have summarized the key points available in the papers.
A. Shahriar Rahman Fahim[1]
A security box is designed for safe transportation of important and confidential documents. In this proposed system, the state and the location of the security box is continuously monitored from a base station. The box is equipped with a biometric fingerprint sensor and a keypad for entering the passcode. An onboard display shows the current status of the box. In case of the accidental and unwanted opening of the box, a feedback system is provided for notifying the base station.
B. JiuWen,YanchunSun [2]
In express delivery, couriers will generate a mass of trajectory logs when delivering shipments. To analyze these logs is of great value for the promotion of express delivery service. For any research based on trajectory data, map-matching plays an important role. Existing map-matching algorithms are designed mainly for cars or walks, or ignoring means of transportation. Although these methods can be applied to courier trajectory map-matching and so in this article, we design a map-matching service especially for courier trajectories. As far as we know,existing map-matching algorithms are designed mainly for cars or walks, or ignoring means of transportation
C. Saipunidzam Mahamad, Suziah Sulaiman, WongYi Leng [3]
There are numerous courier services available locally or worldwide. However, the most services only applicable at their respective company's whereby the pricing information is often hidden and customers usually need to call the company or visit their respective website or application to get quote, then make a price comparison with other company's courier services quotes for them to get their preferable quotation.
D. Wei Tu[4]
This article presents an online crowd sourced delivery approach for on-demand food. Facilitated by Internet-of-Things and 3G/4G/5G technologies, public riders can be attracted to act as crowd sourced workers delivering food by means of shared bicycles or electric motorbikes. An online dynamic optimization framework comprising order collection, solution generation, and sequential delivery processes is presented.
E. Ge WangJinsong Han Chen [5]
Smart packaging adds sensing abilities to traditional packages. This paper investigates the possibility of using RF signals to test the internal status of packages and detect abnormal internal changes. Towards this goal, we design and implement a nondestructive package testing and verification system using commodity passive RFID systems, called Echoscope.
III. HARDWARE& SOFTWAREREQUIREMENTS
A. Hardware Requirements
1) ARM
ARM is a family of instruction set architectures for computer processors based on a reduced instruction set computing (RISC) architecture developed by British company ARM Holdings. A RISC-based ARM processor approach reduces costs, heat and power use.
Such reductions are desirable traits for light, portable, battery-powered devices— including smart phones, laptops, tablet and notepad computers, and other embedded systems. A simpler design facilitates more efficientmulti-core CPUs and higher core counts at lower cost, providing improved energy efficiency for servers.
a. LPC2148
The LPC2148 microcontrollers are based on a 32/16 bit ARM7TDMI-S CPU. ?16/32-bit ARM7TDMI-S microcontroller in a tiny LQFP64 package.
b. Architecture Overview
The ARM7TDMI-S is a general purpose 32-bit microprocessor, which offers high performance and very low power consumption. The ARM architecture is based on Reduced Instruction Set Computer (RISC) principles, and the instruction set and related decode mechanism are much simpler than those of microprogrammed Complex Instruction Set Computers (CISC). This simplicity results in a high instruction throughput and impressive real-time interrupt response from a small and cost-effective processor core Fig 3.1.1 shows ARM LPC2148 pin diagram.
The ARM7TDMI-S processor has two instruction sets:
The Thumb set’s 16-bit instruction length allows it to approach twice the density of standard ARM code while retaining most of the ARM’s performance advantage over a traditional 16-bit processor using 16-bit registers. This is possible because Thumb code operates on the same 32-bit register set as ARM code.Thumb code is able to provide up to 65 % of the code size of ARM, and 160 % of the performance of an equivalent ARM processor connected to a 16-bit memory system.The particular flash implementation in the LPC2141/42/44/46/48 allows for full speed execution also in ARM mode. It is recommended to program performance critical and short code sections (such as interrupt service routines and DSP algorithms) in ARM mode. The impact on the overall code size will be minimal but the speed can be increased by30% over Thumb mode.
c. On-chip Flash Memory
The LPC2141/42/44/46/48 incorporate a 32 kB, 64 kB, 128 kB, 256 kB and 512 kB flash memory system respectively. This memory may be used for both code and data storage. Programming of the flash memory may be accomplished in several ways. It may be programmed In System via the serial port. The application program may also erase and/or program the flash while the application is running, allowing a great degree of flexibility for data storage field firmware upgrades, etc.
d. On-Chip Static RAM
On-chip static RAM may be used for code and/or data storage. The SRAM may be accessed as 8-bit, 16-bit, and 32-bit. The LPC2141, LPC2142/44 and LPC2146/48 provide 8 kB, 16 kB and 32 Kb of static RAM respectively. In case of LPC2146/48 only, an 8 kB SRAM block intended to be utilized mainly by the USB can also be used as a general purpose RAM for data storage and code storage and execution.
2) IR sensor
An infrared sensor is an electronic device that emits in order to sense some aspects of the surroundings. An IR sensor can measure the heat of an object as well as detects the motion. These types of sensors measure only infrared radiation, rather than emitting it that is called a passive IR sensor. Usually, in the infrared spectrum, all the objects radiate some form of thermal radiation. These types of radiations are invisible to our eyes, that can be detected by an infrared sensor. The emitter is simply an IR LED (Light Emitting Diode) and the detector is simply an IR photodiode that is sensitive to IR light of the same wavelength as that emitted by the IR LED. When IR light falls on the photodiode, the resistances and the output voltages will change in proportion to the magnitude of the IR light received Fig 3.1.2 shows IR Sensor.
WorkingPrinciple - “An infrared sensor circuit is one of the basic and popular sensor module in an electronic device. This sensor is analogous to human’s visionary senses, which can be used to detect obstacles and it is one of the common applications in real- time.”
Specifications
VI. PHASE 2 PLANNER
With the basic study and understanding of various hardware components & software tools, The second phase shall deal with procuring the hardware, building the cloud, building the Dev-Kit and setting up the project. This will be achieved by integrating both hardware and software together to achieve the desired result.
Table1.2: Phase 2 Planner
|
VII. ACKNOWLEDGEMENT
It would be our privilege to express our heartfelt gratitude and respect to all those who guided us in the completion of this Project Work Phase 2. We are highly indebted to Rajya VokkaligaraSangha trust for introducing a great institution for education. We express our deep sense of gratitude to our Principal. Dr. Aswath M. U, for providing excellent academic environment which enabled us to complete the Project WorkPhase 2. Wewould like to express our heartfelt gratitude to our Head of Department, Department of Electronics and Telecommunication Engineering, Dr.Rajeswari M, for her constant support during the tenure of the Project Work Phase 2 and throughout the course of Engineering in the Institution. We would like to express our heartfelt gratitude to our Project coordinator, Prof. Sudha.B, Assistant Professor, Department of Telecommunication Engineering, for her constant support and guidance during the course of the Project Work. We would like to express our heartfelt gratitude to our Project Internal Guide, Prof. N. Shruthi, Assistant Professor, Department of Telecommunication Engineering, for her constant support and guidance during the course of the Project WorkPhase 2. Weare grateful to all the Teaching and Non-TeachingStaff, Department of Electronics and Telecommunication Engineering, who have been an inspirational support. Lastly, we would like to thank our parents and friends for their constant help and moral support throughout the completion of the Project WorkPhase 2.
VIII. PROGRAMME OUTCOMES
A. Course Outcomes
Project WorkPhase 2(18TEP83) After completion of the course, student will be able to
1. Understand, Identify and analyze a real world problem based on the societal/environmental requirements and work towards resolving it.
2. Make use of literature survey, compile project requirements, evaluate existing solutions and plan for a better solution.
3. Compile the applications of the project. Discuss the extent of objectives achieved and evaluate the overall impact on society and environment,
4. Collaborate with teammates and communicate effectively to manage all aspects of the project including finance, time and resources
5. Explain the project work and demonstrate results using appropriate ICT tools in oral and writen medium.
6. Understand the ethical and professional responsibility.
B. Programme Outcomes
PO1: Engineering Knowledge: Apply the knowledge of mathematics, science, engineering fundamentals and engineering specialization to the solution of complex engineering problems.
PO2: Problem Analysis: Identify, formulate, review research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles ofmathematics, natural sciences.
PO3: Design/Development of solution: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety,and the cultural, societal, and environmental considerations.
PO4: Conduct Investigation of Complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions
PO5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.
PO6: The Engineer and Society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
PO7: Environment and Sustainability: Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
PO8: Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
PO9: Individual and Teamwork: Function effectively as an individual, and as a member orleader in diverse teams, and in multidisciplinary settings.
PO10: Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and writeeffective reports and design documentation, make effective presentations, and give and receiveclear instructions.
PO11: Project Management Finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
PO12: Life-long Learning: Life-long learning: Recognize the need for, and have the preparation and abilityto engage in independent and life-long learning in the broadest context oftechnological change.
C. Programme Specific Outcomes (PSO)
PSO1: Analyze and Design Analog & Digital modules for a given specification and function.
PSO2: Implement functional blocks of hardware-software co-designs for Embedded Systems,Signal Processing, Communication and NetworkingApplications
D. CO-PO-PSO Mapping
CO/PO |
PO 1 |
PO 2 |
PO 3 |
PO 4 |
PO 5 |
PO 6 |
PO 7 |
PO 8 |
PO 9 |
PO 10 |
PO 11 |
PO 12 |
PSO 1 |
PSO 2 |
CO-1 |
3 |
3 |
3 |
2 |
- |
2 |
3 |
- |
2 |
3 |
- |
2 |
3 |
3 |
CO-2 |
2 |
2 |
- |
3 |
2 |
- |
2 |
2 |
3 |
- |
1 |
3 |
2 |
3 |
CO-3 |
2 |
2 |
2 |
2 |
- |
2 |
1 |
2 |
2 |
3 |
- |
- |
1 |
- |
CO-4 |
3 |
- |
- |
3 |
2 |
2 |
2 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
CO-5 |
- |
1 |
2 |
- |
3 |
- |
- |
1 |
3 |
2 |
- |
2 |
1 |
- |
CO-6 |
3 |
- |
2 |
3 |
2 |
3 |
3 |
- |
2 |
2 |
2 |
2 |
- |
2 |
IX. APPENDIX
#include
#include
#include "lcd.h"
#include "Serial.h"
#include "adc.h"
#define IR (1<<12)
#define IN1 (1<<13)
#define IN2 (1<<14)
void Lid_close();
void Lid_close();
void Temp_Read();
void sensor_Check();
void LDR_Check();
void Lid_open();
void Lid_close();
unsigned char keypad (void);
void WAITING_FOR_OTP();
void delay(int i);
int in=0,in1=0,in2=0;
int ldr=0,X,Y;
int gps;
int lo=0,lc=0;
int X_val,i;
int Y_val;
unsigned char x_buf[20];
unsigned char y_buf[20];
unsigned char msg_buff[100],keybuf[6],ch1;
//#define r1 (1<<16)
//#define r2 (1<<17)
//#define r3 (1<<18)
//#define r4 (1<<19)
//#define c1 (1<<20)
//#define c2 (1<<21)
//#define c3 (1<<22)
//#define c4 (1<<23)
unsigned char keyboard[] = {'0','4','8','C',
'1','5','9','D',
'2','6','A','E',
'3','7','B','$'
};
unsigned char keypressed = 0;
unsigned char key=0;
int key_num = 0,m=0,l=1,z=0;
int w=0, x=0, y=0;
int cnt1, cnt2;
#define LCD_KEY_DIR IO1DIR
#define LCD_KEY_SET IO1SET
#define LCD_KEY_CLR IO1CLR
#define SCAN_FINGER (1 << 12)
#define READ_FINGER (1 << 28)
#define WAIT_FINGER (1 << 10)
#define ROW1 (1 << 11)
#define ROW2 (1 << 10)
#define ROW3 (1 << 3)
#define ROW4 (1 << 2)
#define COL1 (1 << 7)
#define COL2 (1 << 6)
#define COL3 (1 << 5)
#define COL4 (1 << 4)
#define FIRST_ROW 0
#define SECOND_ROW 4
#define THIRD_ROW
#define FOURTH_ROW
#define KEY_OUTPUT
#define KEY_INPUT
void init_key();
8
12
(COL1 |COL2 |COL3 | COL4);
(ROW1 |ROW2 |ROW3 | ROW4);
void scan_row1();
void scan_row2();
void scan_row3();
void scan_row4();
unsigned char scan_key();
void scan_row(unsigned char i);
void putSLcd(unsigned char *st)
{
for( ;*st ;lcd_putchar(*st++) );
}
void init_key()
{
LCD_KEY_DIR = (ROW1 |ROW2 |ROW3 | ROW4); //rows as OUTPUT
LCD_KEY_DIR = ~(COL1 |COL2 |COL3 | COL4); //columns as INPUT
LCD_KEY_SET = (ROW1 |ROW2 |ROW3 | ROW4);
}
unsigned char scan_key()
{
scan_row1();
scan_row2();
scan_row3();
scan_row4();
return key;
}
void scan_row1()
{
LCD_KEY_CLR = ROW1;
delay(20);
scan_row(FIRST_ROW);
LCD_KEY_SET = ROW1;
delay(20);
}
void scan_row2()
{
LCD_KEY_CLR = ROW2;
delay(20);
scan_row(SECOND_ROW);
LCD_KEY_SET = ROW2;
delay(20);
}
void scan_row3()
{
LCD_KEY_CLR = ROW3;
delay(20);
scan_row(THIRD_ROW);
LCD_KEY_SET = ROW3;
delay(20);
}
void scan_row4()
{
LCD_KEY_CLR = ROW4;
delay(20);
scan_row(FOURTH_ROW);
LCD_KEY_SET = ROW4;
delay(20);
}
void scan_row(unsigned char i)
{
if(!(IO1PIN & COL1))
{
while(!(IOPIN1 & COL1))
{
continue;
}
key_num = keyboard[0+i];
key = keyboard[0+i];
keypressed = 1;
}
else if(!(IOPIN1 & COL2))
{
while(!(IOPIN1 & COL2))
{
continue;
}
key_num = keyboard[1+i];
key = keyboard[1+i];
keypressed = 1;
}
else if(!(IOPIN1 & COL3))
{
while(!(IOPIN1 & COL3))
{
continue;
}
key_num = keyboard[2+i];
key = keyboard[2+i];
keypressed = 1;
}
else if(!(IOPIN1 & COL4))
{
while(!(IOPIN1 & COL4))
{
continue;
}
key_num = keyboard[3+i];
key = keyboard[3+i];
keypressed = 1;
}
}
int main()
{
IO0DIR &=~ IR;
IO0DIR |= IN1;
IO0DIR |= IN2;
init_lcd();
init_adc0();
uart1_init();
lcd_clear();
lcd_putstring(0,0,"INTELLIGENT");
lcd_putstring(0,1,"PACKAGE SYSTEM");
delay(10000);
init_key();
while(1) // Repeat(loop) forever
{
// lcd_data_write(keypad());
sensor_Check();
Temp_Read();
}
}
void MESSAGE_RECEIVE_PERMISSION()
{
while(uart1_getkey()!='*');
i=0;
while((ch1=uart1_getkey())!='#')
{
msg_buff[i] = ch1;
i++;
}
msg_buff[i]='\0';
uart1_puts(msg_buff);
lcd_clear();
lcd_putstring(0,0,"OTP:");
lcd_putstring(1,0,msg_buff );
}
void WAITING_FOR_OTP(void)
{
unsigned char ch;
lcd_command_write(1); // Entry mode
l=1;
m=0;
z=1;
while(l)
{
lcd_clear();
lcd_putstring(0,0,"WAITING FOR:");
lcd_putstring(1,0,"OTP....." );
MESSAGE_RECEIVE_PERMISSION();
delay(10000);
m=0;
if(z==1)
{
while(l)
z=0;
lcd_clear();
lcd_putstring(0,0,"ENTER OTP:");
{
key = scan_key();
if(keypressed == 1)
{
lcd_putchar(key);
keypressed = 0;
keybuf[m++]=key;
delay(1000);
if(m==4)
{
keybuf[m]='\0';
l=0;
}
}
delay(1000);
}
while(1 )
{
if((strcmp((char *)msg_buff,keybuf))==0)
{
// bank_selection();
lcd_command_write(1); // Entry mode
lcd_putstring(0,0,"VALID OTP");
l=1;
m=0;
z=1;
Lid_open();
}
}
}
}
}
void Lid_open(){
IO0CLR |= IN1;
IO0SET |= IN2;
delay(10000);
IO0CLR |= IN1;
IO0CLR |= IN2;
delay(10000);
}
void Lid_close(){
IO0SET |= IN1;
IO0CLR |= IN2;
delay(10000);
IO0CLR |= IN1;
IO0CLR |= IN2;
delay(10000);
}
void sensor_Check()
{
if(lo==0)
{
lo=1;
lcd_clear();
lcd_putstring(0,0,"PLACE OBJECT");
lcd_putstring(1,0,"INSIDE");
delay(10000);
}
if((IO0PIN&IR)==0 && in==0)
{
in=1;
lcd_clear();
lcd_putstring(0,0,"OBJECT PLACED");
delay(10000);
lcd_clear();
lcd_putstring(0,0,"REMOVE HANDS");
delay(10000);
lcd_clear();
lcd_putstring(0,0,"LID CLOSING");
delay(10000);
Lid_close();
}
if(in==1 && in1==0)
{
LDR_Check();
}
if(in1==1)
{
gps++
X_val = adc_read(ADC0,CHANNEL_3);
sprintf(x_buf,"X:%d",X_val);
Y_val = adc_read(ADC0,CHANNEL_4);
sprintf(y_buf,"X:%d",Y_val);
delay(10000);
lcd_clear();
lcd_putstring(0,0,x_buf);
lcd_putstring(1,0,y_buf);
delay(10000);
if(gps==5 || gps==10 || gps==15 || gps==19)
{
Temp_Read();
LDR_Check();
// lcd_clear();
// lcd_putstring(0,0,"LDR VALUE:");
// lcd_putstring(1,0,Ldr_buf);
if(!(X_val>268 && X_val<268 && Y_val>340 && Y_val<350) )
{
// lcd_clear();
// lcd_putstring(0,0,X_val);
// lcd_putstring(1,0,Y_val);
lcd_clear();
lcd_putstring(0,0,"THE POSITION OF");
lcd_putstring(1,0,"PACKAGE CHANGING");
delay(1000);
}
}
uart1_puts("$OTP#");
WAITING_FOR_OTP();
}
}
void Temp_Read()
{
short Temp_val;
float Temp;
unsigned char Temp_buf[20];
Temp_val=adc_read(ADC0,CHANNEL_1);
Temp=Temp_val*3.3/1023;
Temp=Temp*10;
sprintf(Temp_buf,"Temp:%0.2f Deg.Celcius\n",Temp);
lcd_clear();
lcd_putstring(0,0,Temp_buf);
delay(10000);
}
void LDR_Check(){
// int Ldr_val;
//int ldr;
unsigned char Ldr_buf[20];
ldr = adc_read(ADC0,CHANNEL_2);
sprintf(Ldr_buf,"Ldr:%d PPM",ldr);
delay(10000);
lcd_clear();
lcd_putstring(0,0,Ldr_buf);
delay(10000);
if(ldr>=85)
{
lcd_putstring(0,0,"SOMEONE TRY TO");
lcd_putstring(1,0,"OPEN THE PACKAGE");
delay(10000);
}
// if(Ldr_val>850)
// {
// lcd_clear();
// lcd_putstring(0,0,"OPEN BOX");
// delay(10000);
// }
// else
// {
// lcd_clear();
// lcd_putstring(0,0,"SEALED BOX");
// delay(10000);
// }
}
//unsigned char keypad (void) // keypad operation function
// {
// unsigned char key;
// IOCLR1|=(c1|c2|c3|c4|r1|r2|r3|r4);
// while(1)
// {
// IOCLR1|=c1;
// IOSET1|=(c2|c3|c4); // first column = 0
// if((IOPIN1&r1)==0)
// {
// key='7';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r2)==0)
// {
// key='8';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r3)==0)
// {
// key='9';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r4)==0)
// {
// key='/';
// delay(10000);
// return key;
// }
// IOCLR1|=c2;
// IOSET1|=(c1|c3|c4); // second column = 0
//
// if((IOPIN1&r1)==0)
// {
// key='4';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r2)==0)
// {
// key='5';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r3)==0)
// {
// key='6';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r4)==0)
// {
// key='*';
// delay(10000);
// return key;
// }
// IOCLR1|=c3;
// IOSET1|=(c1|c2|c4); // third column = 0
// if((IOPIN1&r1)==0)
// {
// key='1';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r2)==0)
// {
// key='2';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r3)==0)
// {
// key='3';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r4)==0)
// {
// key='-';
// delay(10000);
// return key;
// }
// IOCLR1|=c4;
// IOSET1|=(c1|c2|c3); // forth column = 0
//
// if((IOPIN1&r1)==0)
// {
// lcd_command_write(0x01);
// delay(10000);
// }
// else if((IOPIN1&r2)==0)
// {
// key='0';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r3)==0)
// {
// key='=';
// delay(10000);
// return key;
// }
// else if((IOPIN1&r4)==0)
// {
// key='+';
// delay(10000);
// return key;
// }
// }
// }
void delay(int i)
{
int j,k;
for(j=0;j
for(k=0;k<1275;k++);
}
Lcd
#include /* LPC214x definitions */
#include "lcd.h"
#define LCD_BACK_LIGHT_TIMEOUT 1000
#define LCD_DATA_DIR IO0DIR
#define LCD_DATA_SET IO0SET
#define LCD_DATA_CLR IO0CLR
#define LCD_CTRL_DIR IO0DIR
#define LCD_CTRL_SET IO0SET
#define LCD_CTRL_CLR IO0CLR
#define LCDRS
#define LCDRW
#define LCDEN
(1 << 15)
(1 << 16)
(1 << 17)
#define LCD_D4 (1 << 18)
#efine LCD_D5 (1 << 19)
#define LCD_D6 (1 << 20)
#define LCD_D7 (1 << 21)
#define LCD_DATA_MASK
#define LCD_BUSY_FLAG
#define LCD_IO0PIN
/**
(LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7)
LCD_D7
IO0PIN
******************************************************************************1111
Function Name : delay()
Description :This function suspends the tasks for specified ticks.
Input : ticks:no of ticks in multiple of 1 usec
task: task to be suspended
Output : void
Note :
*******************************************************************************
*/
void delay_1(int count)
{
int j=0,i=0;
for(j=0;j
{
/* At 60Mhz, the below loop introduces
delay of 10 us */
for(i=0;i<35;i++);
}
}
/
****************************************************************************************** **
Function Name : wait_lcd()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void wait_lcd( void )
{
LCD_DATA_DIR &= ~LCD_BUSY_FLAG;
LCD_CTRL_CLR |= LCDRS;
LCD_CTRL_SET |= LCDRW |LCDEN;
while(LCD_IO0PIN & LCD_BUSY_FLAG); /* wait for busy flag to become low */
LCD_CTRL_CLR |= LCDEN | LCDRW;
LCD_DATA_DIR |= LCD_DATA_MASK;
delay_1(100);
}
/**
****************************************************************************************** **
Function Name : lcd_command_write()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void lcd_command_write( unsigned char command )
{
unsigned char temp=0;
unsigned int temp1=0;
temp=command;
temp=(temp>>4)&0x0F;
temp1=(temp<<18)&LCD_DATA_MASK;
LCD_CTRL_CLR = LCDRS;
LCD_CTRL_SET = LCDEN;
LCD_DATA_CLR = LCD_DATA_MASK;
LCD_DATA_SET = temp1;
delay_1(10000);
LCD_CTRL_CLR = LCDEN;
temp=command;
temp&=0x0F;
temp1=(temp<<18)&LCD_DATA_MASK;
delay_1(100*2);
LCD_CTRL_CLR |= LCDRS;
LCD_CTRL_SET |= LCDEN;
LCD_DATA_CLR = LCD_DATA_MASK;
LCD_DATA_SET = temp1;
delay_1(10000);
LCD_CTRL_CLR |= LCDEN;
wait_lcd();
}
/**
****************************************************************************************** **
Function Name : set_lcd_port_output()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void set_lcd_port_output( void
{
LCD_CTRL_DIR |= ( LCDEN | LCDRS | LCDRW );
LCD_CTRL_CLR |= ( LCDEN | LCDRS | LCDRW );
LCD_DATA_DIR |= LCD_DATA_MASK;
}
/* *
****************************************************************************************** **
Function Name : lcd_clear()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void lcd_clear( void)
{
lcd_command_write( 0x01 );
}
/**
****************************************************************************************** **
Function Name : lcd_gotoxy()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
int lcd_gotoxy( unsigned int x, unsigned int y)
{
int retval = 0;
if( (x > 1) && (y > 15) )
{
retval = -1;
} else {
if( x == 0 )
{
lcd_command_write( 0x80 + y );
} else if( x==1 ){
lcd_command_write( 0xC0 + y );
}
}
return retval;
/* command - position cursor at 0x00 (0x80 + 0x00 ) */
/* command - position cursor at 0x40 (0x80 + 0x00 ) */
}
/**
****************************************************************************************** **
Function Name : lcd_data_write()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void lcd_data_write( unsigned char data )
{
unsigned char temp=0;
unsigned int temp1=0;
temp=data;
temp=(temp>>4)&0x0F;
temp1=(temp<<18)&LCD_DATA_MASK;
LCD_CTRL_SET |= LCDEN|LCDRS;
LCD_DATA_CLR = LCD_DATA_MASK;
LCD_DATA_SET = temp1;
LCD_CTRL_CLR |= LCDEN;
temp=data;
temp&=0x0F;
temp1=(temp<<18)&LCD_DATA_MASK;
LCD_CTRL_SET |= LCDEN|LCDRS;
LCD_DATA_CLR = LCD_DATA_MASK;
LCD_DATA_SET = temp1;
LCD_CTRL_CLR |= LCDEN;
wait_lcd();
}
/**
****************************************************************************************** **
Function Name : lcd_putchar()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void lcd_putchar( int c )
{
lcd_data_write( c );
}
/**
****************************************************************************************** **
Function Name : lcd_putstring()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void lcd_putstring( unsigned char line,unsigned char pos, char *string )
{
unsigned char len = MAX_CHAR_IN_ONE_LINE; lcd_gotoxy
(line,pos);
while(*string != '\0' && len--)
{
lcd_putchar( *string);
string++;
}
}
/**
****************************************************************************************** **
Function Name : lcd_backlight_on()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
/**
****************************************************************************************** **
Function Name : turn_off_lcd_back_light()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
/**
****************************************************************************************** **
Function Name : init_lcd()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void init_lcd( void )
{
set_lcd_port_output();
delay_1(100*2);
lcd_command_write(0x28); /* 4-bit interface, two line, 5X7 dots. */
lcd_command_write(0x02);
lcd_command_write(0x06);
/* cursor home */
/* Entry mode */
lcd_command_write(0x0F) ; /* display on cursor blinking */
}
/**
****************************************************************************************** *
Function Name : test_cmd()
Description :
Input :
Output : Void
Note :
****************************************************************************************** **
*/
void test_cmd(void)
{
lcd_command_write(0x38);
lcd_command_write(0x08);
lcd_command_write(0x0C);
lcd_command_write(0x10);
lcd_command_write(0x14);
lcd_command_write(0x01);
}
// Interface length 8-bit 2 line
//Displayoff,cursor off
//Display on cursor off
//Move cursor left by 1 char
//Move cursor right by 1 char
//Clear display
We are designing and implementing the non-destructive package testing and verification solution using an electronic packaging solution called IPS development kit. The kit will be placed inside the package with enough space to work properly. The kit will travel within the box till the destination where it will be removed after the delivery If there is any tampering or intrusion during the delivery process an alert will be sent. By this we are maintaining the integrity of the product as well as the reputation of the companies that use this system and along with that, we are hoping to ensure customer satisfaction by getting them the product they requested without any problem. In the project phase 1 we have understood the hardware requirements and the methodology to implement them and integrate them to the ARM microcontroller. We will be using different kind of sensors and gaining knowledge about them and hence has given a different perspective on what else can be done using these sensors. We will be learning embedded C language in order to write the code for the working of the Dev-Kit. This will help us in future as we gain knowledge on how to write code.
[1] Authors:ShahriarRahman Fahim “Development ofaRemote TrackingSecurityBox with Multi-Factor Authentication System Incorporates with a Biometric Sensing Device” YearOf Publication: 2019 [2] Authors: JiuWen, Yanchun Sun “Map-Matching Service Designed for Courier Trajectories” Published In: 11September2017, IEEE Xplore. [3] Authors: SaipunidzamMahamad, SuziahSulaiman, WongYi Leng “An Integrated Courier Services Application: A New UserExperience.” Date Added to IEEE Xplore: 04 February2019 4 Authors: WeiTu“Online Crowd sourced Delivery for On-Demand Food” Published In: 03 september 2019 [4] Authors: Ge WangJinsong Han Chen “ VerifiableSmart Packaging with PassiveRFID” IEEE Xplore: September 2016 [5] http://en.wikipedia.org/wiki/Internet_of_Things
Copyright © 2023 Rahul M, Prof. Shruthi. N. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET56921
Publish Date : 2023-11-22
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here