Project showcase

Smart Cash TransitBox © MIT

Smart Cash Box guard to secure ATM cash during transit which gives emergency alert with a live tracking features.

  • 1,087 views
  • 0 comments
  • 4 respects

Components and supplies

Necessary tools and machines

3drag
3D Printer (generic)

Apps and online services

About this project

We built this IoT prototype as part of ICICI Lombard InsureTech Hackathon for category: Smart cash-transit boxes for theft prevention.

This guide showcase working features of prototype.

To make it simple, we took a generic tool box and fitted with electronics hardware design to enable it with IoT.

Thereby making it smart with features of:

1. Remote Monitoring and Control

2. Theft Detection and Alert System

3. Live Tracking

Hardware Components

  • MediaTekLinkIt ONE

All-in-one connectivity: Based on MediaTek MT2502A SoC, offering comprehensive communications and media options, with support for GSM, GPRS, GPS, Bluetooth2.1 and 4.0, SD Cards, and MP3/AAC Audio, as well as Wi-Fi and GNSS (hardwaredependent). Used in this prototype to check whether the device has reached the destination via Haversine Formula and GPS co-ordinates. Also used to track the box in real time and control the door lock accordingly. To check the tampering and door status.

  • ATmega328p (Arduino Nano): 8-bit microcontroller for controlling the solenoid lock, to check tampering andcheck the door status. It is connected to the LinkIt ONE via serially.
  • Solenoid door: Lock with a MOSFET control circuit Placed inside the device and can be only opened via the authorized NFC card.
  • LIS3DH accelerometer: To detect tampering so as to notify the authorities.
  • Magnetic door sensor: To detect the door status so as to notify the authorities.
  • 12V battery: To control the solenoid lock and 3.7V Lithium ion battery for powering the electronics.

Cloud and Software Service

It powers real-time communication for this Internet of Things device and is used due to their secure global Data Stream Network. It provides the infrastructure and APIs for communication for any size IoT deployment.

Helps to establish bi-directional communication i.e. Send and receive data between devices.

Monitor and track device status in Realtime, like online/offline status or consumption levels.

Can be used to build Mobile apps with HTML, CSS & JS. Target multiple platforms with one code base Free and open source.

We used it to built a WebApp(for windows and mac) and android app for the demo.

App screenshots

Service used to show pinpoint location of cash box and selected ATM machine location on Maps.

Construction

  • Solenoid Lock is attach to one side of wall with arrangement shown in below images
  • Lock socket is design using Fusion 360 and 3d printed. Arrangement made such that extension of solenoid passes from socket making box locked from inside only. 3d STL file is available in below cad section.

Working and Demo

  • Accelerometer used for tampering detection so that if someone tries to tamper with the cash box the necessary authority would be notified via GPRS if internet is working or via SMS if internet is too slow.
  • Solenoid door lock is controlled using the NFC tags and the door status is uploaded in real time.
  • The door can be opened only when the cash transit box is at the receiver location which can be entered into the MCU via the application at the start of the journey.
  • Battery level is notified in real time and the authorities can check it via the app over cloud server remotely. Also the door lock can be opened via the app using the authorized code.
  • Also in real time the authorities can track the cash box remotely and have geofence set so that they can be notified via notifications or SMS if the device moves out of the geofence.
Working Demo

Code

Index.html fileHTML
<!DOCTYPE html>
<html>
    <head>
        <title>Smart Cash Box</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

        <link rel="stylesheet" href="css/w3.css">


        <!-- Widget support Js files-->
        <script src="webfiles/raphael-2.1.4.min.js"></script>
  		  <script src="webfiles/justgage.js"></script>

        <!-- Widget support Js files-->
        <script type="text/javascript"  src="js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript" src="js/pubnub.4.20.1.js"></script>
        <script type="text/javascript"  src="js/index.js"></script>

        <style>
          .w3-myfont {
                font-family: Helvetica;
                font-weight: bold;
                text-shadow:2px 2px 0 #444;
            }
        </style>
    </head>
    <body>
        <div>
            <div class="w3-container w3-teal" style="text-align: center;">
                <h2 class="w3-myfont">Smart Cash Box</h2>
            </div>

            <div class="w3-row" style="text-align: center; margin-top: 5px;">
                <p id="msgId"></p>
                <div class="w3-row" style="text-align: center;font-size: 2px;">
                  <div class="w3-mobile w3-col s4 m4 l4" id="motionId" ></div>
                  <div class="w3-mobile w3-col s4 m4 l4"><p></p></div>
                  <div class="w3-mobile w3-col s4 m4 l4" id="doorId" ></div>
                </div>
                <div class="w3-row" style="text-align: center bottom;">
                  <div class="w3-mobile w3-col s4 m4 l4"><p></p></div>
                  <div class="w3-mobile w3-col s4 m4 l4" id="batId" ></div>
                  <div class="w3-mobile w3-col s4 m4 l4"><p></p></div>
                </div>
                <br>
            </div>

            <div class="w3-container" style="text-align: center;">
                <span><b>Device GPS Co-ordinates</span></b><br>
                <span id="gpsValue"></span><br><br>
                <button class="w3-btn w3-round-large w3-medium w3-blue" id="mapBtn" onclick="window.location='mapView.html'" style="width:120px">Show Map</button>
                <button class="w3-btn w3-round-large w3-medium w3-green" id="devArmBtn" onclick="deviceArmFn()" style="width:120px">DeviceArm</button>
                <p id="updatesId"></p>
            </div>
            <p id="updatesId"></p>
            <br><br>

            <div class="w3-container w3-teal" style="text-align: right;">
                <h5 style="text-shadow:1px 1px 0 #444">By Insfire Team</h5>
            </div>
        </div>

        <script>
          window.onload = function() {
            gBattery.refresh(batteryVal);
          };
          var min = 0;
          var max = 100;

          var gMotion = new JustGage({
                id: 'motionId',
                value: 0,
                min: 0,
                max: 1,
                title:"Motion Alert",
                donut: true,
                pointer: false,
                gaugeWidthScale: 3,
                pointerOptions: {
                  toplength: 10,
                  bottomlength: 10,
                  bottomwidth: 8,
                  color: '#000'
                },
                customSectors: [{
                  color: "#ff0000",
                  lo: 50,
                  hi: 100
                }, {
                  color: "#00ff00",
                  lo: 0,
                  hi: 50
                }],
                counter: true
            });

            var gDoor = new JustGage({
                  id: 'doorId',
                  value: 0,
                  min: 0,
                  max: 1,
                  title:"Door Alert",
                  donut: true,
                  pointer: false,
                  gaugeWidthScale: 3,
                  pointerOptions: {
                    toplength: 10,
                    bottomlength: 10,
                    bottomwidth: 8,
                    color: '#000'
                  },
                  customSectors: [{
                    color: "#ff0000",
                    lo: 50,
                    hi: 100
                  }, {
                    color: "#00ff00",
                    lo: 0,
                    hi: 50
                  }],
                  counter: true
              });


          var gBattery = new JustGage({
            id: "batId",
            value: 0,
            min: min,
            max: max,
            title: "BatteryLevel",
            symbol: '%',
            levelColorsGradient: true,
            levelColors: ["FF0000","FF6103","FFFF00","00FF00","FFFF00","FF00FF"],
            shadowSize: 2,
            shadowVerticalOffset: 12,
            relativeGaugeSize:true,
            gaugeWidthScale: 0.5
          });

          function deviceArmFn(){
                  if($("#devArmBtn").text() === "DeviceArm"){
                    app.publish({"deviceArm":1});
                    $("#devArmBtn").html('DisArm');
                    $('#devArmBtn').removeClass('w3-green').addClass('w3-red');

                  }
                  else {
                    app.publish({"deviceArm":0});
                    $("#devArmBtn").html('DeviceArm');
                    $('#devArmBtn').removeClass('w3-red').addClass('w3-green');
                  }
                }

          app.initialize();
          app.subscribe();
        </script>
    </body>
</html>

Custom parts and enclosures

Lock Socket

Schematics

Working Block Diagram
Working block diagram evyrhlpamj
Hardware Block Diagram
Block diagram c6hbiba9vq

Comments

Similar projects you might like

Smart BT Lock with Custom Number

Project tutorial by jegatheesan

  • 4,436 views
  • 2 comments
  • 22 respects

Smart Home - Smart Rules using ARTIK Cloud & Photon

Project tutorial by Raghavendra Ponuganti

  • 3,864 views
  • 2 comments
  • 12 respects

Octopod: Smart IoT Home/Industry Automation Project

Project tutorial by Saksham Bhutani

  • 7,021 views
  • 8 comments
  • 30 respects

Smart Parking System

Project in progress by Md. Khairul Alam

  • 43,049 views
  • 32 comments
  • 104 respects

Zoned Climate Control with MediaTek's LinkIt™ Smart 7688

Project tutorial by BuddyC

  • 7,716 views
  • 5 comments
  • 18 respects
Add projectSign up / Login