In this part, we add the CPU temperature ID of the Raspberry Pi to the MQTT stream.   Open a new terminal and create a new script by the name of py and add the following content to it.   import paho.mqtt.client as mqtt import time from subprocess import check_output from re import findall   def get_temp():     temp = check_output(["vcgencmd","measure_temp"]).decode("UTF-8")     return(findall("\d+\.\d+",temp)[0])   def on_connect(client, userdata, flags, rc):     print("Connected with result code "+str(rc))       client.subscribe("etec224_mqtt_test/")     global Connected     Connected = True   Connected = False client = mqtt.Client() client.on_connect = on_connect client.connect("broker.emqx.io", 1883, 60) client.loop_start()   while Connected!= True:        #Wait Here     time.sleep(0.1)   try:     while True:         value = get_temp()         client.publish('etec224_mqtt_test/', value)         time.sleep(1)   except KeyboardInterrupt:     client.disconnect()     client.loop_stop()   Run the script using the command: Python3 mqtt_temp_send.py   In the window running py, you should be able to see the temperature readings. Change the topic name to your serial number such that the communications do not mix

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

 

In this part, we add the CPU temperature ID of the Raspberry Pi to the MQTT stream.

 

  1. Open a new terminal and create a new script by the name of py and add the following content to it.

 

import paho.mqtt.client as mqtt

import time

from subprocess import check_output

from re import findall

 

def get_temp():

    temp = check_output(["vcgencmd","measure_temp"]).decode("UTF-8")

    return(findall("\d+\.\d+",temp)[0])

 

def on_connect(client, userdata, flags, rc):

    print("Connected with result code "+str(rc))

 

    client.subscribe("etec224_mqtt_test/")

    global Connected

    Connected = True

 

Connected = False

client = mqtt.Client()

client.on_connect = on_connect

client.connect("broker.emqx.io", 1883, 60)

client.loop_start()

 

while Connected!= True:   

    #Wait Here

    time.sleep(0.1)

 

try:

    while True:

        value = get_temp()

        client.publish('etec224_mqtt_test/', value)

        time.sleep(1)

 

except KeyboardInterrupt:

    client.disconnect()

    client.loop_stop()

 

  1. Run the script using the command:

Python3 mqtt_temp_send.py

 

  1. In the window running py, you should be able to see the temperature readings.

Change the topic name to your serial number such that the communications do not mix 

Expert Solution
steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Files and Directory
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education