Paige NiedringhausMichelle GarrettEthan Pierce
Published © MIT

Host-free Smart Parking Lot Help Request Device

Use cellular IoT to alert parking lot attendants when customers need assistance with an SMS message of their current location.

IntermediateFull instructions provided4 hours1,141
Host-free Smart Parking Lot Help Request Device

Things used in this project

Hardware components

Blues Wireless Notecard (Cellular)
Blues Wireless Notecard (Cellular)
×1
Blues Wireless Notecarrier-A
Blues Wireless Notecarrier-A
×1
Solderless Breadboard Half Size
Solderless Breadboard Half Size
×1
Twidec Momentary Push Button
×1
SparkFun RGB LED Breakout - WS2812B
SparkFun RGB LED Breakout - WS2812B
×1
Adafruit Lithium Ion Polymer Battery - 3.7v 2500mAh
×1
Small Solar Panel 138x160mm 3W
Seeed Studio Small Solar Panel 138x160mm 3W
×1
Male/Male Jumper Wires
×1
Plastic Enclosure, Clear Lid
×1

Software apps and online services

Blues Wireless Notehub.io
Blues Wireless Notehub.io
SMS Messaging API
Twilio SMS Messaging API

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
Solder Flux, Soldering
Solder Flux, Soldering
Wire Stripper & Cutter, 18-10 AWG / 0.75-4mm² Capacity Wires
Wire Stripper & Cutter, 18-10 AWG / 0.75-4mm² Capacity Wires
Heat Gun
Heat Shrink Tubing
Helping Hand Tool, with Magnifying Glass
Helping Hand Tool, with Magnifying Glass
Drill / Driver, Cordless
Drill / Driver, Cordless
Tape, Electrical
Tape, Electrical

Story

Read more

Code

Parking Lot Help Request JSONata Expression for Twilio

JSON
JSONata function to transform Notehub JSON data to integrate with Twilio SMS alerts. Paste this code into a Notehub route sending data to Twilio and replace the $from and $to variables with the Twilio number ($from) and your own phone number ($to) to receive the SMS alerts.
(
    $from := "+1800XXXXXXX";
    $to := "+1404XXXXXXX";
    $best_device_id := best_id ? best_id : device;
    $body := 
          $join([
              "Alert! ",
              $best_device_id,
              " requires assistance. Help requested at ",
              $fromMillis(when * 1000,
              "[M01]/[D01]/[Y0001] [h#1]:[m01][P]",
              "-0400"),
              " ET."
          ]);
    $result := "&Body=" & $body & "&From=" & $from & "&To=" & $to & "&";
)

Parking Lot Help Request Config Script

JSON
Notecard configuration JSON file. Replace the product and sn variables with your own Notecard product UID and a serial number that makes sense for your device, and upload these configs to the Notecard via the Blues Wireless Notecard Playground or the Notecard CLI.
# Tracking Device setup script version no. is published in an env var so
# that it is visible within the Notehub's Device Environment Variable UI
{"req":"env.default","name":"parking_lot_help_request_config_script_version","text":"1.1.1"}

# Set product UID to one that's registered to our product and give it a preferred serial number
{"req":"hub.set","product":"com.your-company.your-name:your_product", "sn":"preferred_device_name_here"}

# Set Notehub to minimum mode for battery conservation
{"req":"hub.set","mode":"minimum","outbound":1440,"inbound":10080}

# Turn on Notecard's neo-monitor mode
{"req":"card.aux","mode":"neo-monitor"}

# Tell the Notecard this project uses LiPo battery
{"req":"card.voltage","mode":"lipo"}

# Turn off accelerometer to further conserve battery life
{"req":"card.motion.mode","stop":true}

Parking Lot Help Request Reference Repo

Repository for the parking lot help request device's reference hardware and firmware.

Credits

Paige Niedringhaus

Paige Niedringhaus

6 projects • 22 followers
Staff Software Engineer @ Blues Wireless. In tech since 2016, but new to IoT and eager to learn.
Michelle Garrett

Michelle Garrett

1 project • 2 followers
Ethan Pierce

Ethan Pierce

0 projects • 0 followers

Comments

Add projectSign up / Login