Paso 8: Control de la lámpara
Para esta configuración del puerto serie se utilizó para la interfaz el código del bot y el Arduino. El código deberá enviar el carácter "Y" para el Arduino para encender el módulo de relés y "N" para desactivar el módulo de relé que apague la luz.
Una vez que el Arduino está correctamente programado y conectado es hora de entrenamiento el código para el bot.
#!/usr/bin/python import telepot, time, serial ser = serial.Serial('/dev/ttyACM0', 9600) def handle(msg): userName = msg['from']['first_name']+" "+msg['from']['last_name'] content_type, chat_type, chat_id = telepot.glance(msg) if (content_type == 'text'): command = msg['text'] print ('Got command: %s' % command) if '/hello' in command: bot.sendMessage(chat_id, "Hello "+userName+", how are you doing today?") if '/lamp_on' in command: ser.write(b'Y') bot.sendMessage(chat_id, "Lamp ON") if '/lamp_off' in command: ser.write(b'N') bot.sendMessage(chat_id, "Lamp OFF") # Create a bot using the token given by BotFather bot = telepot.Bot('16843XXXX:AAGGq99MLWOknqCx66V5s2XXXXXXXXXXXXXX') # Add handle function to be called every received message. bot.message_loop(handle) # Wait for new messages while 1: time.sleep(20)
El módulo serie tiene que ser importado con el fin de comunicar el código de python con el puerto serie de Arduino. Es importante tener en cuenta que la línea #3 es específica para el puerto que está conectado el Arduino y esta línea debe modificarse en consecuencia a la necesidad.
Guardar el código y estará listo para ser probado!