diff options
author | Raspberry Pi <raspberrypi@umn.edu> | 2019-12-02 18:35:39 -0600 |
---|---|---|
committer | Raspberry Pi <raspberrypi@umn.edu> | 2019-12-02 18:35:39 -0600 |
commit | b5b061b679fa3fd239cc85e9824d1e2c443273a2 (patch) | |
tree | 461e25fc4348ff5daa8f967ae9d9a7b491c6823f | |
parent | final styling? (diff) | |
download | ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar.gz ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar.bz2 ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar.lz ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar.xz ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.tar.zst ee4511w-b5b061b679fa3fd239cc85e9824d1e2c443273a2.zip |
Minor tweaks to PI.py to get working seamlessly with web server - tested and working as expected. Most files touched because permissions were modified to allow PI.py to run on startup. Everything should be ready now.
-rwxr-xr-x[-rw-r--r--] | .gitignore | 0 | ||||
-rwxr-xr-x | PI.py | 64 | ||||
-rwxr-xr-x[-rw-r--r--] | README.md | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/__init__.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/encoder.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/homework8.ipynb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/initialize_system.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/motor.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/swingUp.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/system.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/system_swingup_test.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/system_swingup_test_2.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/test_Encoder.py | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | System/test_Motor.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/test_Return_Home.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | System/test_System.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/PI/PI.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/PI/Results/PLACEHOLDER.txt | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/PI/Uploads/PLACEHOLDER | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/PI/test2.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/Results/PLACEHOLDER | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/Results/results.csv | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/Server.py | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/static/Server.css | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/static/Server.js | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/templates/base.html | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/templates/index.html | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/Server/templates/results.html | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/requirements.txt | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Web/test.py | 0 |
30 files changed, 65 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index 3a96937..3a96937 100644..100755 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,64 @@ +#handle a POST request +from flask import Flask, render_template, request, url_for, jsonify +import subprocess +import os +import RPi.GPIO as GPIO +app = Flask(__name__) + +UPLOAD_DESTINATION = "Uploads/" +SYSTEM_DESTINATION = "System/" +RESULTS_DESTINATION = "Results/" + +INITIALIZE_SYSTEM = "initialize_system.py" + +@app.route('/') +def home(): + return "ANDI'S PIE" + +@app.route('/tests/endpoint', methods=['POST']) +def my_test_endpoint(): + # Receive post + input_json = request.get_json(force=True) + + # Put file content into a file caled upload.py + filename=input_json['filename'].encode("ascii") + file_content=input_json['file_content'].encode("ascii") + filename=input_json['filename'] + file_content=input_json['file_content'] + upload = open(UPLOAD_DESTINATION + filename, "w+") + upload.write(file_content) + upload.close() + + # Run python script + process = subprocess.Popen(["python3", UPLOAD_DESTINATION + filename]) + try: + process.wait() + print("Program exited normally!\n") + except: + print("Exception occurred running program!\n") + process.terminate() + finally: + GPIO.cleanup() + + # Get results file + results_filename = filename.split(".")[0] + results_filename = results_filename + "_results.csv" + with open(RESULTS_DESTINATION + results_filename, 'r') as results: + results_content = results.read() + results.close() + + # Remove test file and results file now that were done with them + os.remove(UPLOAD_DESTINATION + filename) + os.remove(RESULTS_DESTINATION + results_filename) + + # Return results file content + dictToReturn = {'results_filename':results_filename, 'results_content':results_content} + return jsonify(dictToReturn) + +# This will run on system bootup. +if __name__ == '__main__': + os.chdir('/home/pi/pendulum') + # Initialize the system before accepting any files. + subprocess.call(["python3", SYSTEM_DESTINATION + INITIALIZE_SYSTEM]) + # Run the web client to start receiving files. + app.run(host="192.168.1.10", port=8000) diff --git a/README.md b/README.md index 301b702..301b702 100644..100755 --- a/README.md +++ b/README.md diff --git a/System/__init__.py b/System/__init__.py index e69de29..e69de29 100644..100755 --- a/System/__init__.py +++ b/System/__init__.py diff --git a/System/encoder.py b/System/encoder.py index ece7fd1..ece7fd1 100644..100755 --- a/System/encoder.py +++ b/System/encoder.py diff --git a/System/homework8.ipynb b/System/homework8.ipynb index a9c28c9..a9c28c9 100644..100755 --- a/System/homework8.ipynb +++ b/System/homework8.ipynb diff --git a/System/initialize_system.py b/System/initialize_system.py index 4eb287a..4eb287a 100644..100755 --- a/System/initialize_system.py +++ b/System/initialize_system.py diff --git a/System/motor.py b/System/motor.py index b22dbe2..b22dbe2 100644..100755 --- a/System/motor.py +++ b/System/motor.py diff --git a/System/swingUp.py b/System/swingUp.py index f14ef37..f14ef37 100644..100755 --- a/System/swingUp.py +++ b/System/swingUp.py diff --git a/System/system.py b/System/system.py index 8dd9f38..8dd9f38 100644..100755 --- a/System/system.py +++ b/System/system.py diff --git a/System/system_swingup_test.py b/System/system_swingup_test.py index e13c7ca..e13c7ca 100644..100755 --- a/System/system_swingup_test.py +++ b/System/system_swingup_test.py diff --git a/System/system_swingup_test_2.py b/System/system_swingup_test_2.py index cb646ef..cb646ef 100644..100755 --- a/System/system_swingup_test_2.py +++ b/System/system_swingup_test_2.py diff --git a/System/test_Encoder.py b/System/test_Encoder.py index 9a2119a..b667cc1 100644..100755 --- a/System/test_Encoder.py +++ b/System/test_Encoder.py @@ -3,7 +3,7 @@ import time # Decide which pins to hook up to on the Pi before running clk_pin = 2 -cs_pin = 14 +cs_pin = 4 data_pin = 3 e = Encoder(clk_pin, cs_pin, data_pin) diff --git a/System/test_Motor.py b/System/test_Motor.py index 80cff1e..80cff1e 100644..100755 --- a/System/test_Motor.py +++ b/System/test_Motor.py diff --git a/System/test_Return_Home.py b/System/test_Return_Home.py index 244f99f..244f99f 100644..100755 --- a/System/test_Return_Home.py +++ b/System/test_Return_Home.py diff --git a/System/test_System.py b/System/test_System.py index c05affc..c05affc 100644..100755 --- a/System/test_System.py +++ b/System/test_System.py diff --git a/Web/PI/PI.py b/Web/PI/PI.py index a6a597b..a6a597b 100644..100755 --- a/Web/PI/PI.py +++ b/Web/PI/PI.py diff --git a/Web/PI/Results/PLACEHOLDER.txt b/Web/PI/Results/PLACEHOLDER.txt index e69de29..e69de29 100644..100755 --- a/Web/PI/Results/PLACEHOLDER.txt +++ b/Web/PI/Results/PLACEHOLDER.txt diff --git a/Web/PI/Uploads/PLACEHOLDER b/Web/PI/Uploads/PLACEHOLDER index e69de29..e69de29 100644..100755 --- a/Web/PI/Uploads/PLACEHOLDER +++ b/Web/PI/Uploads/PLACEHOLDER diff --git a/Web/PI/test2.py b/Web/PI/test2.py index a5eb806..a5eb806 100644..100755 --- a/Web/PI/test2.py +++ b/Web/PI/test2.py diff --git a/Web/Server/Results/PLACEHOLDER b/Web/Server/Results/PLACEHOLDER index e69de29..e69de29 100644..100755 --- a/Web/Server/Results/PLACEHOLDER +++ b/Web/Server/Results/PLACEHOLDER diff --git a/Web/Server/Results/results.csv b/Web/Server/Results/results.csv index 82b0137..82b0137 100644..100755 --- a/Web/Server/Results/results.csv +++ b/Web/Server/Results/results.csv diff --git a/Web/Server/Server.py b/Web/Server/Server.py index 6070406..6070406 100644..100755 --- a/Web/Server/Server.py +++ b/Web/Server/Server.py diff --git a/Web/Server/static/Server.css b/Web/Server/static/Server.css index 10d8b23..10d8b23 100644..100755 --- a/Web/Server/static/Server.css +++ b/Web/Server/static/Server.css diff --git a/Web/Server/static/Server.js b/Web/Server/static/Server.js index 6c2be18..6c2be18 100644..100755 --- a/Web/Server/static/Server.js +++ b/Web/Server/static/Server.js diff --git a/Web/Server/templates/base.html b/Web/Server/templates/base.html index a1bc09b..a1bc09b 100644..100755 --- a/Web/Server/templates/base.html +++ b/Web/Server/templates/base.html diff --git a/Web/Server/templates/index.html b/Web/Server/templates/index.html index 6f7e738..6f7e738 100644..100755 --- a/Web/Server/templates/index.html +++ b/Web/Server/templates/index.html diff --git a/Web/Server/templates/results.html b/Web/Server/templates/results.html index dd32d87..dd32d87 100644..100755 --- a/Web/Server/templates/results.html +++ b/Web/Server/templates/results.html diff --git a/Web/requirements.txt b/Web/requirements.txt index f0cc7a5..f0cc7a5 100644..100755 --- a/Web/requirements.txt +++ b/Web/requirements.txt diff --git a/Web/test.py b/Web/test.py index 8c15f58..8c15f58 100644..100755 --- a/Web/test.py +++ b/Web/test.py |