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
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
Step by step
Solved in 4 steps with 1 images