Python Halt command - Raspberry Pi Forums


i looking little code have been working on. have written little control script runs on pi , allows me switch off, switch on/off service runs on lcd screen on pi, , play video. done on udp , works nicely. have been trying extend functionality can have button connected gpio 1(3) halt pi, , when halted can reboot pi, amazing. anyway when call function shutdown after udp request pi halts , can restart button press. when press button pi halts not leaves text on screen "reboot: system halted" screen stays on , can't use button restart pi.

wondering doing wrong calling function gpio event detect.
appreciated.

have 2 functions in code same thing in different ways , used testing.

here code

code: select all

# simple script shutting down raspberry pi @ press of button. # inderpreet singh   import time import os import socket import rpi.gpio gpio import subprocess  udp_ip = "0.0.0.0" udp_port = 5005  gpio.setmode(gpio.bcm)  gpio.setup(3, gpio.in, pull_up_down = gpio.pud_down)  gpio.setup(24, gpio.in, pull_up_down = gpio.pud_up)  sock = socket.socket(socket.af_inet, # internet                      socket.sock_dgram) # udp sock.bind((udp_ip, udp_port))  # our function on when button pressed def shutdown(*args):     os.system("sudo halt") def halt(*args):     subprocess.call("halt", shell=true, stdout=subprocess.pipe, stderr=subprocess.pipe) def sysinfooff():     os.system("sudo service pifacecadsysinfo stop") def sysinfoon():     os.system("sudo service pifacecadsysinfo start") def play():     os.system("omxplayer -b /home/pi/desktop/gc40.mov")        def ack():     sock.sendto("ack", (addr[0], addr[1]))  def fail():     sock.sendto("fail", (addr[0], addr[1]))       gpio.add_event_detect(3, gpio.rising, callback=shutdown, bouncetime=300)      while true:     message, addr = sock.recvfrom(1024) # buffer size 1024 bytes     print len(message)     data = message.strip()     print data     if data == 'pioff':         ack()         shutdown()     elif data =='play':         ack()         play()     elif data =='pihalt':         ack()         halt()     elif data == 'sysinfooff':          sysinfooff()     elif data == 'sysinfoon':         sysinfoon()     else:         fail() 

try changing "sudo halt" "sudo reboot" ;)


raspberrypi



Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62