Project Implementation and Coding: 6.1 Overview of Project Modules
Project Implementation and Coding: 6.1 Overview of Project Modules
Project Implementation and Coding: 6.1 Overview of Project Modules
Continuous monitoring of the sensors in the system so that any burglary attempt is detected.
Informing the controller that the sensors have been triggered and necessary safety actions are
due.
Project is divided into the three Parts:
Sensing and Buzzer: The controller then activates the alarm system through the driver to
dissuade the burglary attempt.
Shutter locking: The controller then activates the motor locking down the kiosk and the
culprits are locked inside. Electrical hazards can be monitored and controlled.
IOT enabled control operations: The ESP8266 microprocessor processes all the input
data and activates the output devices according to the input. Sensors like temperature,
Sound, vibration and accelerometer are connected to the input pins of the ESP8266. The
relay and Buzzer are connecting to the output pins. The apply voltage for all the sensor
and output devices are 5V. All the values are sends to the dashboard with the help of
IOT.
MQTT:
MQTT (Message Queuing Telemetry Transport) is a publish/subscribe messaging protocol that
works on top of the TCP/IP protocol. The first version of the protocol was developed by Andy
Stanford-Clark of IBM and Arlen Nipper of Cirrus Link in 1999. What makes MQTT faster than
say sending HTTP requests with your IoT device is MQTT messages can be as small as 2 bytes,
whereas HTTP requires headers which contains a lot of information that other devices might not
care about. Also, if you have multiple devices waiting for a request with HTTP, you'll need to
send a POST action to each client. With MQTT, when a server receives information from one
client, it will automatically distribute that information to each of the interested clients.
Why MQTT?
MQTT has unique features you can hardly find in other protocols, like:
It’s a lightweight protocol. So, it’s easy to implement in software and fast in data
transmission.
It’s based on a messaging technique. Of course, you know how fast your
messenger/WhatsApp message delivery is. Likewise, the MQTT protocol.
Minimized data packets. Hence, low network usage.
Low power usage. As a result, it saves the connected device’s battery.
It’s real time! That’s is specifically what makes it perfect for IoT applications.
o HTML
Hypertext Markup Language (HTML) is the standard markup language used to
create web pages. A markup language is your way of making notes in a digital
document that can be distinguished from regular text. It’s the most basic building
block you’ll need for developing websites.
o CSS
CSS (Cascading Style Sheets) is the language used to present the document you
create with HTML. Where HTML comes first and creates the foundation for your
page, CSS comes along next and is used to create the page’s layout, color, fonts,
and…well, the style!
o JavaScript
Another MAJOR tool in your front-end developer toolbox is going to be
JavaScript (JS). Where HTML is a markup language and CSS is a style sheet
language, JS is the first language I’ve mentioned that’s a Bonafede programming
language. What’s the difference? Where HTML and CSS determine the
presentation of a page, JS determines the function.
Arduino Ide
Arduino IDE is an open source software that is mainly used for writing and compiling the
code into the Arduino Module. It is an official Arduino software, making code
compilation too easy that even a common person with no prior technical knowledge can
get their feet wet with the learning process. It is easily available for operating systems
like MAC, Windows, Linux and runs on the Java Platform that comes with inbuilt
functions and commands that play a vital role for debugging, editing and compiling the
code in the environment. A range of Arduino modules available including Arduino Uno,
Arduino Mega, Arduino Leonardo, Arduino Micro and many more.
6.3 Project Code
Controller Code
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include <WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
WiFiClient client;
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME,
AIO_KEY);
Adafruit_MQTT_Publish ld = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME
"/atm/ld");
Adafruit_MQTT_Publish ms = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME
"/atm/ms");
Adafruit_MQTT_Publish gy = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME
"/atm/gy");
Adafruit_MQTT_Publish fx = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME
"/atm/fx");
Adafruit_MQTT_Publish lm = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME
"/atm/lm");
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("IOT BASED ATM SAFETY &");
lcd.setCursor(0,1);
lcd.print("MONITORING SYSTEM ");
lcd.setCursor(0,2);
lcd.print(“SAPKAL COLLEGE,");
lcd.setCursor(0,3);
lcd.print("-OF ENGINEERING");
delay(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PLEASE WAIT");
lcd.setCursor(0,1);
lcd.print("CONNECTING TO WI-FI");
lcd.setCursor(0,2);
lcd.print("GETTING READY ...");
lcd.setCursor(0,3);
lcd.print("IT TAKES 10-15 SEC. ");
Serial.begin(9600);
scale.set_scale();
scale.tare();
WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi connected");
Serial.println("IP address: "); Serial.println(WiFi.localIP());
lcd.clear();
lcd.setCursor(0,0);
lcd.print("CONNECTED SUCESSFULLY");
lcd.setCursor(0,1);
lcd.print("TO NETWORK (WI-FI)");
lcd.setCursor(0,2);
lcd.print("CONNECTING TO CLOUD");
lcd.setCursor(0,1);
lcd.print("~~~~~~~~~~~~~~~~~~~");
delay(5000);
}
void loop()
{
MQTT_connect();
int a = analogRead(36);
int b = analogRead(39);
int c = analogRead(34);
int d = analogRead(35);
ld.publish(scale.get_units(), 3);
Serial.println(a);
ms.publish(a);
Serial.println(b);
gy.publish(b);
Serial.println(c);
fx.publish(c);
Serial.println(d);
lm.publish(d);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SOUND :");
lcd.setCursor(15,0);
lcd.print(scale.get_units(),2);
lcd.setCursor(0,1);
lcd.print("GYRO- LEVEL :");
lcd.setCursor(15,1);
lcd.print(b);
lcd.setCursor(0,2);
lcd.print("TEMPERATURE:");
lcd.setCursor(15,2);
lcd.print(a);
lcd.setCursor(0,3);
lcd.print("VIBRATION:");
lcd.setCursor(15,3);
lcd.print(d);
delay(5000);
void MQTT_connect() {
int8_t ret;
if (mqtt.connected()) {
return;
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("NOW CONNECTING TO");
lcd.setCursor(0,1);
lcd.print("CLOUD PLEASE WAIT");
Serial.print("Connecting to MQTT... ");
uint8_t retries = 3;
while ((ret = mqtt.connect()) != 0) {
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection in 5 seconds...");
mqtt.disconnect();
delay(5000);
retries--;
if (retries == 0) {
while (1);
}
}
Serial.println("MQTT Connected!");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("CONNECTED");
lcd.setCursor(0,1);
lcd.print("SUCCESSFULLY... ");
}
Chapter 7
Software Testing
6.1 Types of Testing
Testing is the process of evaluating a system or its component(s) with the intent to find whether
it satisfies the specified requirements or not. Testing is executing a system in order to identify
any gaps, errors, or missing requirements in contrary to the actual requirements.
Mastering the domain of a system always gives the tester an edge over someone with limited
domain knowledge. Unlike black-box testing, where the tester only tests the application's user
interface; in grey-box testing, the tester has access to design documents and the database. Having
this knowledge, a tester can prepare better test data and test scenarios while making a test plan.
Chapter 8
Result
8.1 Outcomes and Results
Chapter 9
Conclusion
9.1 Conclusion
From the above proposed system, various techniques are available to avoid robbery in ATM. We
have proposed different approaches by different researches for ATM monitoring and security.
Generally, in all other papers they use the sensors to monitor the unusual activities by GSM, but
in our project, we update the unusual activities by using IOT. The proposed method reduces the
cost and increases the efficiency with the wide use of internet this system is focused to
implement the internet technology to establish a system which would communicate through
internet for ATM secure monitoring system. Internet of things is expected to rule the world in
various fields.
In future we will be adding features such as metal detection like gun, knife, gas cutter etc. at the
entrance door. Whenever the theft occurs at that time our dashboard user-interface will be
consisting of button by clicking on it. ISP/Telecom company will be receiving the request and it
will send us the information regarding the mobile users and calls made by them.
9.2 Future enhancement
We will use biometric authentication for ATM like iris or fingerprint scan.
We will use Raspberry Pi and image processing techniques to detect fraudulent activities
in ATM machine room.
We will use various scanners to detected tools and weapon carrying by persons