Brijesh SinghAmol Disale
Published © MIT

Smart Cash TransitBox

Carry ATM cash with safely and securely with this smart IoT cash transit box.

AdvancedShowcase (no instructions)3 days20
Smart Cash TransitBox

Things used in this project

Hardware components

LinkIt ONE
MediaTek Labs LinkIt ONE
×1
Arduino Nano R3
Arduino Nano R3
×1
SparkFun Triple Axis Accelerometer Breakout - LIS3DH
SparkFun Triple Axis Accelerometer Breakout - LIS3DH
×1
Solenoid Door Lock
×1
Li-Ion Battery 1000mAh
Li-Ion Battery 1000mAh
×1
12V 2Amps battery
×1
magnetic door switch sensor
×1
Generic Box
×1
NFC module
×1

Software apps and online services

PubNub Publish/Subscribe API
PubNub Publish/Subscribe API
Apache Cordova Platform
Fusion 360
Autodesk Fusion 360
Google Maps
Google Maps

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)

Story

Read more

Custom parts and enclosures

Lock Socket

Schematics

Working Block Diagram

Working block diagram evyrhlpamj

Hardware Block Diagram

Block diagram c6hbiba9vq

Code

Index.html file

HTML
<!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>

Credits

Brijesh Singh

Brijesh Singh

4 projects • 13 followers
Maker and Electronics Engineer likes to Make and share DIY, open source Hardware projects.
Contact
Amol Disale

Amol Disale

7 projects • 62 followers
I am passionate about the idea of open-source hardware and software. I am ready to help in prototyping IoT, Smart Home, and other products.
Contact

Comments

Add projectSign up / Login