#!/usr/bin/env python
import subprocess, time, os, sys
import time
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("<Your MQTT Server>", 1883, 60)
cmdstr = "btmon"
cmdstr2 = "hcitool lescan"
cmd = cmdstr.split(" ")
cmd2 = cmdstr2.split(" ")
last_rssi = 0
p = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p2 = subprocess.Popen(cmd2,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
for line in iter(p.stdout.readline, b''):
g = 0
if("Address:" in line.rstrip()):
adar = line.rstrip().split()
adr = adar[1]
if("RSSI:" in line.rstrip()):
a = line.rstrip()
rssi = int(a.split("RSSI: ")[1].split("dBm")[0])
if abs(last_rssi - rssi) < 3:
continue
last_rssi = rssi
# print adr + "-" + str(last_rssi)
client.publish("beacon/kgga/" + adr, last_rssi)