Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import glob
- import random
- import time
- import sys
- import paho.mqtt.client as mqtt
- # Using the Python Device SDK for IoT Hub:
- # https://github.com/Azure/azure-iot-sdk-python
- # The sample connects to a device-specific MQTT endpoint on your IoT Hub.
- import iothub_client
- # pylint: disable=E0611
- from iothub_client import IoTHubClient, IoTHubClientError, IoTHubTransportProvider, IoTHubClientResult
- from iothub_client import IoTHubMessage, IoTHubMessageDispositionResult, IoTHubError, DeviceMethodReturnValue
- # The device connection string to authenticate the device with your IoT hub.
- # Using the Azure CLI:
- # az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyNodeDevice --output table
- CONNECTION_STRING = "HostName=tonystestiothub.azure-devices.net;DeviceId=SYO_Raspi;SharedAccessKey=if75jIezBHn7fqyjtIPrgGHH5NcHJvmS7Hx4BaV49Ws="
- # Using the MQTT protocol.
- PROTOCOL = IoTHubTransportProvider.MQTT
- MESSAGE_TIMEOUT = 10000
- os.system('modprobe w1-gpio')
- os.system('modprobe w1-therm')
- base_dir = '/sys/bus/w1/devices/'
- device_folder = glob.glob(base_dir + '28*')[0]
- device_file = device_folder + '/w1_slave'
- def read_temp_raw():
- f = open(device_file, 'r')
- lines = f.readlines()
- f.close()
- return lines
- def read_temp():
- lines = read_temp_raw()
- while lines[0].strip()[-3:] != 'YES':
- time.sleep(0.2)
- lines = read_temp_raw()
- equals_pos = lines[1].find('t=')
- if equals_pos != -1:
- temp_string = lines[1][equals_pos+2:]
- temp_c = float(temp_string) / 1000.0
- temp_f = temp_c * 9.0 / 5.0 + 32.0
- return temp_c
- def on_publish(client,userdata,result):
- print("data published \n")
- def send_confirmation_callback(message, result, user_context):
- print ( "IoT Hub responded to message with status: %s" % (result) )
- client= mqtt.Client("Tony's publisher")
- client.on_publish = on_publish
- client.connect("193.167.167.59",1883)
- iotHubClient = IoTHubClient(CONNECTION_STRING, PROTOCOL)
- while True:
- print(read_temp())
- # Lähetetään mosquitto brokerille
- client.publish("SYO_temperature",'Tony sensor: ' + str(read_temp()))
- # Lähetetään IoT hubille
- message = IoTHubMessage('Tony sensor: ' + str(read_temp()))
- iotHubClient.send_event_async(message, send_confirmation_callback, None)
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement