119 lines
2.4 KiB
Python
119 lines
2.4 KiB
Python
import machine
|
|
from machine import Pin, ADC
|
|
import DS18B20 as dsb
|
|
import time
|
|
import ne555 as ne
|
|
import math
|
|
import display
|
|
import sys
|
|
|
|
def dane(vpr='Potrdi(d/n)->'):
|
|
str=input(vpr)
|
|
if str=='d':
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
|
|
try:
|
|
display.init()
|
|
from display import oled
|
|
except:
|
|
print('Napaka OLED!')
|
|
if dane('Resetiram(d/n)->'):
|
|
machine.reset()
|
|
|
|
|
|
oled.text('OLED deluje!',0,0)
|
|
oled.show()
|
|
#Offline firmware za Vremensko postajo PTIT FE 2017
|
|
try:
|
|
svet=ADC(0) #svetloba
|
|
pin12=tipka=Pin(12, Pin.IN) #tipka
|
|
pin13=statusled=Pin(13, Pin.OUT) #status LED
|
|
pin15=alertled=Pin(15, Pin.OUT ) #alert LED
|
|
except:
|
|
print('Napaka I/O!')
|
|
if dane('Resetiram(d/n)->'):
|
|
machine.reset()
|
|
|
|
oled.text('I/O postavljen!',0,10)
|
|
oled.show()
|
|
try:
|
|
dsb.setup(0)
|
|
except:
|
|
print('Napaka Temp. senzorja!')
|
|
if dane('Resetiram(d/n)->'):
|
|
machine.reset()
|
|
|
|
oled.text('TS postavljen!',0,20)
|
|
oled.show()
|
|
time.sleep(1)
|
|
|
|
oled.fill(0)
|
|
oled.text('<-------------->', 0, 15)
|
|
oled.text('<NodeMCU Senzor>', 0, 25)
|
|
oled.text('<-------------->', 0, 35)
|
|
oled.text(' !Pozdravljeni! ', 0, 50)
|
|
oled.show()
|
|
|
|
time.sleep_ms(750)
|
|
oled.show()
|
|
|
|
time.sleep(2)
|
|
oled.fill(0)
|
|
oled.show()
|
|
|
|
statusled.value(1)
|
|
alertled.value(0)
|
|
|
|
def konec(p):
|
|
exit=1
|
|
|
|
exit=0
|
|
temp=0
|
|
svetloba=0
|
|
while tipka.value():
|
|
oled.text('BUSY...',70,55)
|
|
alertled.value(1)
|
|
oled.show()
|
|
oled.fill(0)
|
|
try:
|
|
temp=dsb.read_temp()
|
|
except:
|
|
print('Napaka v branju temperature!')
|
|
temp='NAPAKA'
|
|
finally:
|
|
oled.text('T: ' + str(temp) + 'C',15,10)
|
|
|
|
try:
|
|
svetloba=svet.read()
|
|
except:
|
|
print('Napaka v branju svetlobe!')
|
|
svetloba='NAPAKA'
|
|
finally:
|
|
oled.text('S: ' + str(svetloba) + ' enot',15,20)
|
|
|
|
try:
|
|
vlaga=ne.main()
|
|
except:
|
|
print('Napaka v branju vlage!')
|
|
vlaga='NAPAKA'
|
|
finally:
|
|
oled.text('RH: ' + str(vlaga) +' Hz', 15, 30)
|
|
oled.text('NodeMCU Senzor',0,0)
|
|
oled.text('Uptime: ' + str(time.time()) + 's',5,45)
|
|
oled.show()
|
|
alertled.value(0)
|
|
time.sleep(2)
|
|
|
|
|
|
oled.fill(0)
|
|
oled.text('<-------------->', 0, 15)
|
|
oled.text('<NodeMCU Senzor>', 0, 25)
|
|
oled.text('<-------------->', 0, 35)
|
|
oled.text(' !Nasvidenje! ', 0, 50)
|
|
oled.show()
|
|
time.sleep(1.5)
|
|
oled.poweroff()
|