0

I found this script to show date an time on this site: http://www.circuitbasics.com/raspberry-pi-i2c-lcd-set-up-and-programming/

Once is running how can be it stoped? I like the idea of showing the hour when teh raspi is on, but I need to stop it at some point and I do not know hoy to do that. This raspi is runnig some scripts with cron and don´t use a keyboard so, ctrl+c is not an option. Maybe an script?

This is the script to show date and time

This is the script to show date and time

import I2C_LCD_driver import time mylcd = I2C_LCD_driver.lcd()

while True: mylcd.lcd_display_string("Time: %s" %time.strftime("%H:%M:%S"), 1) mylcd.lcd_display_string("Date: %s" %time.strftime("%m/%d/%Y"), 2)

Thanks in advance

5
  • So you only want the script to show the time at power on?
    – BantuTech
    Mar 9, 2017 at 16:34
  • Yes but I will like to run the script again in the middle of another process. But... If the script starts on startup with some method, how can be stopped? Mar 9, 2017 at 17:20
  • You are using and infinite while "loop". You need some sort of break statement to exit the loop. After startup, you could start a timer and check that time in the while loop. When it reaches lets say one minute after the start of the program, got to 'break' to get out of the while loop. Mar 9, 2017 at 18:29
  • If it is the only Python script running you can use sudo killall python.
    – joan
    Mar 9, 2017 at 19:47
  • Ok thanks! Will try both. Silly question, sudo killall python will stop all pythons scripts right? And the next second another script can star with no problem? Mar 9, 2017 at 20:21

1 Answer 1

1

Did it! Thank you all. sudo killall did what I needed. Then, you forced me to read some more and find the solution I need, to stop the loop when a GPIO is on "high state" :

    while (GPIO.input(22) == 0):
       mylcd.lcd_display_string("Time: %s" %time.strftime("%H:%M:%S"), 1)
       if (GPIO.input(22) == 1):
           break

Then the script to control GPIO 22 will send another message to the LCD. Thanks guys!

2
  • Well done for the research. I suggest you also add a time.sleep(0.1) to the while loop.
    – joan
    Mar 10, 2017 at 13:54
  • Please accept your own answer with a click on the tick on its left side. Only this will finish the question and it will not pop up again year for year.
    – Ingo
    Jan 24, 2020 at 10:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.