from machine import Pin, I2C, PWM, ADC
from utime import sleep, sleep_ms
import network, time, urequests
import ujson
from utelegram import Bot
from neopixel import NeoPixel
TOKEN = '5031163680:AAG45iFduorhunFrZs6GsGGBc7QUaegYGhE'
bot = Bot(TOKEN)
np= NeoPixel(Pin(4), 3)
ldr = ADC(Pin(33))
def map_value(value, in_min, in_max, out_min, out_max):
return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def conectaWifi (red, password):
global miRed
miRed = network.WLAN(network.STA_IF)
if not miRed.isconnected(): #Si no está conectado…
miRed.active(True) #activa la interface
miRed.connect(red, password) #Intenta conectar con la red
print('Conectando a la red', red +"…")
timeout = time.time ()
while not miRed.isconnected(): #Mientras no se conecte..
if (time.ticks_diff (time.time (), timeout) > 10):
return False
return True
if conectaWifi("Wokwi-GUEST", ""):
print ("Conexión exitosa!")
print('Datos de la red (IP/netmask/gw/DNS):', miRed.ifconfig())
@bot.add_message_handler('Hola')
def help(update):
update.reply('''Menu BoT:
\n Color Rojo: Rojo \U0001F601
\n Color Verde: Verde \U0001F643
\n Color Azul: Azul \U0001F609
\n Dia o Noche: Estado \U0001F607
''')
@bot.add_message_handler('Rojo')
def help(update):
np[0]=(255,0,0)
np[1]=(255,0,0)
np[2]=(255,0,0)
np.write()
update.reply('Encendiendo Rojo')
@bot.add_message_handler('Verde')
def help(update):
np[0]=(0,255,0)
np[1]=(0,255,0)
np[2]=(0,255,0)
np.write()
update.reply('Encendiendo Verde')
@bot.add_message_handler('Azul')
def help(update):
np[0]=(255,255,0)
np[1]=(0,255,255)
np[2]=(255,0,255)
np.write()
update.reply('Encendiendo Todos')
@bot.add_message_handler('Estado')
def help(update):
lux = ldr.read_u16()
nivel_luz = map_value(lux, 0, 65535, 100, 0)
if nivel_luz > 60:
update.reply('Esta de dia')
else:
update.reply('Esta de Noche')
bot.start_loop()
else:
print ("Imposible conectar")
miRed.active (False)