#!/usr/bin/python
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
import datetime
import socket
import sys
#import fcntl
#import struct
#def get_ip_address(ifname):
# s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]))[20:24])
#ip_addr = get_ip_address('eth0')
#print ip_addr
#socket_id = socket.gethostbyname(socket.gethostname())
#print socket_id
#curr_time = datetime.datetime.now()
#print curr_time.strftime("%Y-%m-%d %H:%M")
def on_connect(client, userdata, rc):
#mqtt.Client(client_id="REDHAT4", clean_session=True, userdata=None, protocol=mqtt.MQTTv31)
print("connected with result code "+str(rc))
client.subscribe("Heart")
client.will_set("Heart/Lwt", payload=str(datetime.datetime.now())+" Disconnected From Broker", qos=2, retain=False)
publish.single("Heart/Lwt", "It works!!! Connected With Broker ", hostname="10.1.1.2")
return rc
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
client = mqtt.Client(client_id="REDHAT")
client._on_connect_ = on_connect
curr_time = datetime.datetime.now()
client._on_message_ = on_message
client.connect("10.1.1.2", 2000, 30)
client.loop_forever()
|