Stap 8: Beheersing van de lamp
Voor deze opstelling werd de seriële poort gebruikt om de code van het bot en de Arduino interface. De code stuurt het teken 'Y' aan de Arduino voor het inschakelen van het Relais module en "N" uitschakelen van de Relais module uitzetten van het licht.
Zodra de Arduino is goed geprogrammeerd en aangesloten is het tijd om te trainen de code voor de 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)
De seriële module moet worden geïmporteerd om te communiceren de python-code met de seriële poort van de Arduino. Het is belangrijk op te merken dat de regel #3 is specifiek voor de poort die de Arduino is aangesloten en deze lijn moet worden aangepast aan de noodzaak.
Sla de code en het zal klaar om te worden getest!