Compare commits
4 Commits
d309db1c5c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| d4897bd995 | |||
|
|
81eec97760 | ||
|
|
d359f0756f | ||
|
|
9bd1c54c0c |
@@ -1,6 +1,7 @@
|
||||
import utime
|
||||
import gc
|
||||
import machine
|
||||
_DEBUG = True
|
||||
|
||||
ss = machine.Pin(15,machine.Pin.OUT) # Chip select / HCS
|
||||
so = machine.Pin(12) # HMISO
|
||||
@@ -412,9 +413,9 @@ class CC1101(object):
|
||||
self.lqi = self.readLQI()
|
||||
freqEst = self.readStatus(self.CC1101_FREQEST)
|
||||
freqError = self.calcFreqError(freqEst)
|
||||
if DEBUG:
|
||||
if _DEBUG:
|
||||
print(b"FERROR: {} (EST: {})".format(freqError, freqEst))
|
||||
print(b"FCOMP: {}".format(davis.freqComp))
|
||||
print(b"FCOMP: {}".format(self.freqComp))
|
||||
if self.freqComp[self.hopIndex] + freqEst <= 255:
|
||||
self.freqComp[self.hopIndex] = self.freqComp[self.hopIndex] + freqEst
|
||||
else:
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import urequests
|
||||
import machine
|
||||
|
||||
try:
|
||||
_DEBUG = DEBUG
|
||||
except:
|
||||
_DEBUG = False
|
||||
_DEBUG = True
|
||||
|
||||
def send_to_influx(host, port, db, user, password, davis_unit_id, wind, measurement, name, value, tags):
|
||||
def send_to_influx(host, port, db, user, password, davis_unit_id, wind, measurement, name, value, tags, rssi, lqi):
|
||||
post = "http://{}:{}/write?db={}".format(host, port, db)
|
||||
if _DEBUG:
|
||||
print(b"SENDING TO: {}".format(post))
|
||||
@@ -22,40 +21,25 @@ def send_to_influx(host, port, db, user, password, davis_unit_id, wind, measurem
|
||||
else:
|
||||
for tag in tags.keys():
|
||||
measurement = "{},{}={}".format(measurement, tag, tags[tag])
|
||||
data = "{_measure},davis_id={_davis_id} {_name}={_value}\n wind,type=speed,davis_id={_davis_id} value={_speed}\n wind,type=direction,davis_id={_davis_id} value={_direction}".format(
|
||||
data = "{_measure},davis_id={_davis_id} {_name}={_value}\n wind,type=speed,davis_id={_davis_id} value={_speed}\n wind,type=direction,davis_id={_davis_id} value={_direction}\n signal,type=rssi,davis_id={_davis_id} value={_rssi}\n signal,type=lqi,davis_id={_davis_id} value={_lqi}".format(
|
||||
_measure=measurement,
|
||||
_name=name,
|
||||
_value=value,
|
||||
_davis_id = davis_unit_id,
|
||||
_speed=wind['speed'],
|
||||
_direction=wind['direction'])
|
||||
_direction=wind['direction'],
|
||||
_rssi=rssi,
|
||||
_lqi=lqi)
|
||||
if _DEBUG:
|
||||
print(b"POST_DATA: {}".format(data))
|
||||
try:
|
||||
return (True, urequests.post(post, data=data))
|
||||
except Exception as e:
|
||||
if e.args[0] == 103:
|
||||
machine.reset()
|
||||
return (False, b"ERROR sending data to influx: {}".format(e.args))
|
||||
else:
|
||||
return (False, b"ERROR sending data to influx: {}".format(e))
|
||||
|
||||
def raw_send_to_influx(host, port, db, user, password, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, rssi, lqi):
|
||||
post = "http://{}:{}/write?db={}".format(host, port, db)
|
||||
if _DEBUG:
|
||||
print(b"SENDING TO: {}".format(post))
|
||||
data = "data b0={_b0},b1={_b1},b2={_b2},b3={_b3},b4={_b4},b5={_b5},b6={_b6},b7={_b7},b8={_b8},b9={_b9},rssi={_rssi},lqi={_lqi}".format(
|
||||
_b0=b0, _b1=b1, _b2=b2, _b3=b3,
|
||||
_b4=b4, _b5=b5, _b6=b6, _b7=b7,
|
||||
_b8=b8, _b9=b9, _rssi=rssi, _lqi=lqi)
|
||||
if _DEBUG:
|
||||
print(b"POST_DATA: {}".format(data))
|
||||
try:
|
||||
return (True, urequests.post(post, data=data))
|
||||
except Exception as e:
|
||||
if e.args[0] == 103:
|
||||
machine.reset()
|
||||
else:
|
||||
return (False, b"ERROR sending RAW data to influx: {}".format(e))
|
||||
return (False, b"ERROR sending data to influx: {}".format(e.args))
|
||||
return (False, b"ERROR - well fuck me, daisy")
|
||||
|
||||
def reverseBits(data):
|
||||
data = "{:08b}".format(data)
|
||||
@@ -66,11 +50,10 @@ def reverseBits(data):
|
||||
|
||||
|
||||
class davisDecoder(object):
|
||||
def __init__(self, weather_db, stat_db, raw_db):
|
||||
def __init__(self, weather_db, stat_db):
|
||||
__name__ = 'Davis value decoder class'
|
||||
self.weather_influx_db = weather_db
|
||||
self.stat_influx_db = stat_db
|
||||
self.raw_influx_db = raw_db
|
||||
|
||||
def byte_split(self, data):
|
||||
msb = data >> 4
|
||||
@@ -242,4 +225,3 @@ class davisDecoder(object):
|
||||
self.name = 'value'
|
||||
self.tags = {'type': 'rain_bucket_tips'}
|
||||
self.value = rain
|
||||
|
||||
|
||||
36
main.py
36
main.py
@@ -16,7 +16,6 @@ ips = wifi_con.connectInfra(
|
||||
|
||||
if DEBUG:
|
||||
print("IPCONF: {}".format(ips))
|
||||
|
||||
gc.collect()
|
||||
|
||||
davis = cc1101_davis.CC1101()
|
||||
@@ -24,8 +23,7 @@ davis.setRegisters()
|
||||
davis.setFrequency(davis.hopIndex)
|
||||
decoder = davis_decode.davisDecoder(
|
||||
wifi_con._INF_DB_WEATHER,
|
||||
wifi_con._INF_DB_STATUS,
|
||||
wifi_con._INF_DB_RAW)
|
||||
wifi_con._INF_DB_STATUS)
|
||||
|
||||
gc.collect()
|
||||
|
||||
@@ -35,7 +33,7 @@ while True:
|
||||
try:
|
||||
data_int = davis.rxPacket()
|
||||
except Exception as e:
|
||||
raise e
|
||||
#raise e
|
||||
print(b"Rx EXCEPTION: {}".format(e))
|
||||
continue
|
||||
if data_int:
|
||||
@@ -80,38 +78,22 @@ while True:
|
||||
decoder.measurement,
|
||||
decoder.name,
|
||||
decoder.value,
|
||||
decoder.tags)
|
||||
except Exception as e:
|
||||
raise e
|
||||
print(b"ERROR: Data send 'urequest': {}".format(e))
|
||||
try:
|
||||
(raw_sent_ok, raw_data_sent) = davis_decode.raw_send_to_influx(
|
||||
wifi_con._INFLUX_HOST,
|
||||
wifi_con._INFLUX_PORT,
|
||||
decoder.raw_influx_db,
|
||||
wifi_con._INFLUX_USER,
|
||||
wifi_con._INFLUX_PASS,
|
||||
data_int[0],
|
||||
data_int[1],
|
||||
data_int[2],
|
||||
data_int[3],
|
||||
data_int[4],
|
||||
data_int[5],
|
||||
data_int[6],
|
||||
data_int[7],
|
||||
data_int[8],
|
||||
data_int[9],
|
||||
decoder.tags,
|
||||
davis.rssi,
|
||||
davis.lqi)
|
||||
except Exception as e:
|
||||
raise e
|
||||
print(b"ERROR: Data send 'urequest': {}".format(e))
|
||||
#raise e
|
||||
if _DEBUG:
|
||||
print(b"ERROR: Data send 'urequest': {}".format(e))
|
||||
gc.collect()
|
||||
|
||||
if DEBUG:
|
||||
if sent_ok:
|
||||
print(b"DATA SEND: {}".format(data_sent.status_code))
|
||||
else:
|
||||
print(b"DATA SEND FAIL: {}".format(data_sent))
|
||||
#if data_sent[0] == -2:
|
||||
machine.reset()
|
||||
interpacket_time = 0
|
||||
else:
|
||||
interpacket_time += 1
|
||||
|
||||
Reference in New Issue
Block a user