Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Python Robotics Projects

You're reading from  Python Robotics Projects

Product type Book
Published in May 2018
Publisher Packt
ISBN-13 9781788832922
Pages 340 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Prof. Diwakar Vaish Prof. Diwakar Vaish
Profile icon Prof. Diwakar Vaish

Table of Contents (24) Chapters

Title Page
Packt Upsell
Contributors
Preface
1. Robotics 101 2. Using GPIOs as Input 3. Making a Gardener Robot 4. Basics of Motors 5. Making a Pet Feeding Robot 6. Bluetooth-Controlled Robotic Car 7. Sensor Interface for Obstacle Avoidance 8. Making Your Own Area Scanner 9. Vision Processing 10. Making a Guard Robot 11. Basic Switching 12. Recognizing Humans with Jarvis 13. Making Jarvis IoT Enabled 14. Giving Voice to Jarvis 15. Gesture Recognition 16. Machine Learning 17. Gesture-Controlled Robotic Vehicle 18. Making a Robotic Arm 1. Other Books You May Enjoy Index

Making an IoT-based intrusion detector


Now that Raspberry Pi is set up and we are ready to make it IoT enabled let's see how we are going to connect the system to the internet and make things work. Firstly, we need to connect Raspberry Pi to the devices, which we want to control using the IoT technology. So go ahead and use the following diagram to make the connection:

Once you have set up all the components, let's go ahead and upload the following code:

import time
import paho.mqtt.client as mqtt
import RPi.gpio as gpio
pir = 23
gpio.setmode(gpio.BCM)
gpio.setup(pir, gpio.IN)
client = mqtt.Client()
broker="broker.hivemq.com"
port = 1883
pub_topic = "IntruderDetector_Home"
def SendData():
  client.publish(pub_topic,"WARNING : SOMEONE DETECTED AT YOUR PLACE")

def on_connect(client, userdata, flag,rc):
  print("connection returned" + str(rc))
SendData()
while True:
  client.connect(broker,port)
  client.on_connect = on_connect
if gpio.output(pir) == gpio.HIGH :
    SendData()
  client.loop_forever...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}