Advertisement
Stefan1999

kidamo

May 25th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.51 KB | None | 0 0
  1. from flask import Flask,render_template,redirect,url_for,request
  2. import RPi.GPIO as GPIO
  3. GPIO.setmode(GPIO.BCM)
  4. GPIO.setwarnings(False)
  5.  
  6. ad = Flask(__name__)
  7. pinVentil2 = 20
  8. pinVentil1 = 21
  9. prvi="Ugaseno"
  10. drugi="Ugaseno"
  11. GPIO.setup( pinVentil2 , GPIO.OUT)
  12. GPIO.setup( pinVentil1 , GPIO.OUT)
  13. GPIO.output(pinVentil1, 0)
  14. GPIO.output(pinVentil2, 0)
  15.  
  16. @ad.route('/toAdmin' , methods=['POST'])
  17. def toAdmin():
  18.     ip = request.remote_addr
  19.     textime = request.form['ime']
  20.     textsifra = request.form['sifra']  
  21.     if(textime == "savic" and textsifra=="stojanov"):
  22.         fil = open("user_id.txt", "r+")
  23.         citaj = fil.readlines()
  24.         fil.close()
  25.         fil = open("user_id.txt", "w")
  26.         for line in citaj:
  27.             if line != (ip + " 0" +"\n"):
  28.                 fil.write(line)
  29.         fil.write(ip + " 1" + "\n")
  30.         fil.close()    
  31.  
  32.         return redirect(url_for('admin'))
  33.     else:
  34.         return render_template('login.html', pr="Nes palit ventilatore!")  
  35.  
  36. @ad.route('/login' , methods=['POST'])
  37. def login():
  38.     ip = request.remote_addr
  39.     idfile = open("user_id.txt" , "r+")
  40.     read = idfile.read()
  41.     response = read.find(ip)
  42.     response2 = read.find(ip + " 1" + "\n")
  43.  
  44.     if response == -1:
  45.         idfile.write(ip + " 0" + "\n")
  46.         idfile.close()
  47.         return render_template('login.html')
  48.     if response2 != -1:
  49.         idfile.close()
  50.         return redirect(url_for('toAdmin'))
  51.     else :
  52.         idfile.close()
  53.         return render_template('login.html')
  54.    
  55.  
  56. @ad.route('/admin')
  57. def admin():
  58.     ip = request.remote_addr
  59.     idfile = open("user_id.txt" , "r+")
  60.     read = idfile.read()
  61.     response = read.find(ip)
  62.     response2 = read.find(ip + " 1" + "\n")
  63.     if response2 != -1:
  64.         idfile.close()
  65.     elif response == -1:
  66.         idfile.write(ip + " 0" + "\n")
  67.         idfile.close()
  68.         return render_template('login.html')   
  69.     else:
  70.         idfile.close()
  71.         return render_template('login.html')
  72.     return render_template('admin.html')
  73.  
  74. @ad.route('/admin' , methods=['POST'])
  75. def logout():
  76.     ip = request.remote_addr
  77.     idfile = open("user_id.txt" , "r+")
  78.     read = idfile.readlines()
  79.     idfile.close()
  80.     idfile = open("user_id.txt" , "w")
  81.     for line in read:
  82.         if line != (ip + " 1" +"\n"):
  83.             idfile.write(line)
  84.     idfile.write(ip + " 0" + "\n")
  85.     idfile.close() 
  86.     return redirect(url_for('admin'))
  87.  
  88. @ad.route('/')
  89. def main():
  90.     print"Sine neko ti je usao na sajt"
  91.     return render_template("login.html")
  92. @ad.route('/upaliprvi')
  93. def ventil2upali():
  94.     global prvi
  95.     if prvi == "Ugaseno":
  96.         GPIO.output(pinVentil2, 1)
  97.         prvi = "Upaljeno"
  98.     return redirect(url_for('admin'))
  99.  
  100.  
  101. @ad.route('/ugasiprvi')
  102. def ventil2():
  103.     global prvi
  104.     if prvi == "Upaljeno":
  105.         GPIO.output(pinVentil2, 0)
  106.         prvi = "Ugaseno"
  107.     return redirect(url_for('admin'))
  108.  
  109. @ad.route('/upalidrugi')
  110. def ventil1():
  111.     global drugi
  112.     if drugi == "Ugaseno":
  113.         GPIO.output(pinVentil1, 1)
  114.         drugi = "Upaljeno"
  115.     return redirect(url_for('admin'))
  116.  
  117. @ad.route('/ugasidrugi')
  118. def ventil1ugasi():
  119.     global drugi
  120.     if drugi == "Upaljeno":
  121.         GPIO.output(pinVentil1, 0)
  122.         drugi = "Ugaseno"
  123.     return redirect(url_for('admin'))
  124.  
  125. @ad.route('/upalioba')
  126. def upalioba():
  127.     global prvi,drugi
  128.     if drugi == "Ugaseno":
  129.         GPIO.output(pinVentil1, 1)
  130.         drugi = "Upaljeno"
  131.     if prvi == "Ugaseno":
  132.         GPIO.output(pinVentil2, 1)
  133.         prvi = "Upaljeno"
  134.     return redirect(url_for('admin'))
  135.  
  136. @ad.route('/ugasioba')
  137. def ugasioba():
  138.     global prvi,drugi
  139.     if drugi == "Upaljeno":
  140.         GPIO.output(pinVentil1, 0)
  141.         drugi = "Ugaseno"
  142.     if prvi == "Upaljeno":
  143.         GPIO.output(pinVentil2, 0)
  144.         prvi = "Ugaseno"
  145.     return redirect(url_for('admin'))
  146.  
  147. if __name__ == '__main__':
  148.     ad.run(debug=True , host='0.0.0.0' , port=5000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement