16. IoT Case 07: Smart defense system

Level: level auto_fit

16.1. Goal


Make a smart defense system which emits sound and sends an email to the house owner if there are any suspicious movement near the door.

16.2. Background


What is IFTTT?

IFTTT can help connect all your different apps and devices which enables them to work together to do specific tasks.

Smart defense system operation

The motion sensor can deliver a motion signal to the micro:bit. When the micro:bit detects the signal, the buzzer will emit sound and send an email to specific email account through IFTTT. Also, a monstor icon will be shown on the micro:bit if there are suspicious people passes by.

auto_fit

16.3. Part List


auto_fit

16.4. Assembly step


Step 1

Attach the motion sensor to F1 model. auto_fit

auto_fit

Step 2

Put together all the cardboard parts (F1-F2) auto_fit

Step 3

Assembly completed! pic_60

16.5. Hardware connect


Connect the Motion Sensor to P1 port of IoT:bit

Turn on the Buzzer Switch on P0 port of IoT:bit

auto_fit

Pull the buzzer switch ’down’ to connect the buzzer in this execrise

16.6. IoT (IFTTT)


* For more details, please refer to Chapter 2: Send Email by IFTTT

Step 1

Go to https://ifttt.com , create applet (if webhooks then Email)

auto_fit

Step 2

Go to “My services” > “Webhooks”, select “Documentation” . Copy your Webhooks Key as follows:

auto_fit

16.7. Programming (MakeCode)


Step 1. Initialize OLED, IoT:bit and connect to WiFi

  • Snap Initialize OLED with width:128, height: 64 to on start

  • Snap Initialize IoT:bit TX P16 RX P8 from IoT:bit to on start

  • Snap Set Wi-Fi to ssid pwd from IoT:bit

  • Enter your Wi-Fi name and password. Here we set smarthon as SSID and 12345678 as password auto_fit

Step 2: Show icon “tick” after WiFi connection

  • Snap show icon from basic to On WiFi connected and select icon tick auto_fit

Step 3. Check motion sensor value

  • Snap if statement to block forever

  • If WiFi is connected,

  • If get motion (triggered or not) at Pin P1 = true then, that’s say someone is near the door. auto_fit

Step 4. Send notification when someone pass by

  • Snap if statement to block forever

  • If WiFi is connected, then snap play tone Middle C for 1 beat from music

  • Snap show icon from basic and select a monster icon

  • Snap Send IFTTT key… from IoT:bit > IoT Services, input your IFTTT key and input event name SendEmail auto_fit

Step 5. Show smile icon when no one pass by

  • Snap show icon into Else, and select icon smile

  • Snap Pause after if statement to the loop for 1 second delay for checking auto_fit

Full Solution

MakeCode: https://makecode.microbit.org/_H4uU8R3716xj auto_fit

16.8. Result


When WiFi is connected, if there are any suspicious movement near the door, the buzzer will emit sound and an email will be sent to the house owner. Also, a monster icon will be shown on the micro:bit.

auto_fit

auto_fit

16.9. Think


Q1. How to avoid sending duplicate emails? (tips: using variable)

Q2. How to distinguish suspicious people (e.g. password authentication)?