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

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter13: File Input And Output
Section: Chapter Questions
Problem 4RQ
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
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT