VioletS87 commited on
Commit
cfee78c
·
verified ·
1 Parent(s): 44edc9c

Upload 6 files

Browse files
Files changed (6) hide show
  1. 0and2.py +40 -0
  2. 1_first.py +24 -0
  3. 2_update_data.py +31 -0
  4. 3_get_data_from_database.py +31 -0
  5. 4_send_to_st.py +76 -0
  6. ard.py +23 -0
0and2.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request
2
+ from supabase import create_client, Client
3
+ import os
4
+ import pandas as pd
5
+
6
+ app = Flask(__name__)
7
+ data="0_0_On_0.00_0.00_Dry_0"
8
+
9
+ @app.route('/receive_data', methods=['POST'])
10
+ def receive_data():
11
+ data = request.form['data']
12
+ print("Received data:", data)
13
+ return "Data received by Python"
14
+
15
+ if __name__ == '__main__':
16
+ app.run(host='0.0.0.0', port=80, debug=True)
17
+
18
+
19
+ data_list = data.split('_')
20
+ #750_ON_0.00_0.00_Dry_356
21
+ data_list = [int(data_list[0]),int(data_list[1]),(data_list[2]),data_list[3],float(data_list[4]),float(data_list[5]),data_list[6],int(data_list[7])]
22
+
23
+
24
+
25
+ key= "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Impxd3VtcHVucmV6aHF0ZHJ1cWJzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTM5NTY5MTEsImV4cCI6MjAyOTUzMjkxMX0.0U4LdChmGtXxWnCODTWzQ8JgAgffkRcPhJ78x9s9rao"
26
+ url= "https://jqwumpunrezhqtdruqbs.supabase.co"
27
+ supabase: Client = create_client(url, key)
28
+
29
+
30
+
31
+ #response = (
32
+ # supabase.table("colic")
33
+ # .insert({"id": 1, "name": "Denmark"})
34
+ # .execute()
35
+ #)
36
+
37
+ def update(ky037,speaker,light,wet,hum,temp):
38
+ data = supabase.table("sensors").update({"ky037": ky037, "speaker": speaker,"light": light, "Wet": wet, "humidity": hum, "Temp": temp}).eq("id", 18).execute()
39
+
40
+ update(ky037,data_list[1],light,wet,hum,temp)
1_first.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from supabase import create_client, Client
2
+ import os
3
+ import pandas as pd
4
+
5
+ key= "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Impxd3VtcHVucmV6aHF0ZHJ1cWJzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTM5NTY5MTEsImV4cCI6MjAyOTUzMjkxMX0.0U4LdChmGtXxWnCODTWzQ8JgAgffkRcPhJ78x9s9rao"
6
+ url= "https://jqwumpunrezhqtdruqbs.supabase.co"
7
+ supabase: Client = create_client(url, key)
8
+ #response = (
9
+ # supabase.table("colic")
10
+ # .insert({"id": 1, "name": "Denmark"})
11
+ # .execute()
12
+ #)
13
+
14
+ ky037=0
15
+ speaker=0
16
+ light=0
17
+ wet=0
18
+ hum=0
19
+ temp=0
20
+
21
+ data = supabase.table("sensors").insert({"ky037": "1", "speaker": "2","light": "3", "Wet": "4", "humidity": "5", "Temp": "6"}).execute()
22
+
23
+ # Assert we pulled real data.
24
+ assert len(data.data) > 0
2_update_data.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from supabase import create_client, Client
2
+ import os
3
+ import pandas as pd
4
+
5
+ key= "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Impxd3VtcHVucmV6aHF0ZHJ1cWJzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTM5NTY5MTEsImV4cCI6MjAyOTUzMjkxMX0.0U4LdChmGtXxWnCODTWzQ8JgAgffkRcPhJ78x9s9rao"
6
+ url= "https://jqwumpunrezhqtdruqbs.supabase.co"
7
+ supabase: Client = create_client(url, key)
8
+
9
+ # receiver.py
10
+
11
+ def process_data_and_return(data):
12
+ # Process the received data
13
+ processed_data = data.upper() # Example processing
14
+ return processed_data
15
+
16
+ #response = (
17
+ # supabase.table("colic")
18
+ # .insert({"id": 1, "name": "Denmark"})
19
+ # .execute()
20
+ #)
21
+ ky037="crying"
22
+ speaker="on"
23
+ light=0
24
+ wet=0
25
+ hum=27
26
+ temp=24
27
+
28
+ def update(ky037,speaker,light,wet,hum,temp):
29
+ data = supabase.table("sensors").update({"ky037": ky037, "speaker": speaker,"light": light, "Wet": wet, "humidity": hum, "Temp": temp}).eq("id", 18).execute()
30
+
31
+ update(ky037,speaker,light,wet,hum,temp)
3_get_data_from_database.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from supabase import create_client, Client
2
+ import pandas
3
+
4
+ # Initialize Supabase client
5
+ key= "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Impxd3VtcHVucmV6aHF0ZHJ1cWJzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTM5NTY5MTEsImV4cCI6MjAyOTUzMjkxMX0.0U4LdChmGtXxWnCODTWzQ8JgAgffkRcPhJ78x9s9rao"
6
+ url= "https://jqwumpunrezhqtdruqbs.supabase.co"
7
+ supabase: Client = create_client(url, key)
8
+
9
+ response = supabase.table('sensors').select('*').execute()
10
+
11
+ list_data=["id", "time", "ky037", "speaker", "light", "wet", "hum","temp"]
12
+
13
+ for res in response:
14
+ #print(res[0])
15
+ if res[1] is not None:
16
+ for dict_res in res[1]:
17
+ #data_list=dict_res
18
+ i=0
19
+ for k,v in dict_res.items():
20
+ list_data[i]=v
21
+ i+=1
22
+ #print(f"{k} is {v}")
23
+ #print(list_data)
24
+
25
+ ky037=list_data[2]
26
+ speaker=list_data[3]
27
+ light=list_data[4]
28
+ wet=list_data[5]
29
+ hum=list_data[6]
30
+ temp=list_data[7]
31
+ #print(ky037,speaker,light,wet,hum,temp)
4_send_to_st.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ from ard import data_list
4
+
5
+ st.markdown("<h1 style='text-align: center;'> گهواره‌ی هوشمند </h1>", unsafe_allow_html=True)
6
+
7
+ st.markdown("<p style='text-align: center; font-size: 30px;'>:وضعیت</p>", unsafe_allow_html=True)
8
+
9
+
10
+ # Create a slider with two discrete values (0 and 1)
11
+ #on_off = st.slider("Speaker", 0, 1, step=1)
12
+
13
+
14
+ # Display the state based on the slider value
15
+ #if on_off:
16
+ # st.markdown("<p style='text-align: right; font-size: 20px;'>.بلندگو روشن است</p>", unsafe_allow_html=True)
17
+ # speaker="on"
18
+ #else:
19
+ # st.markdown("<p style='text-align: right; font-size: 20px;'>.بلندگو خاموش است</p>", unsafe_allow_html=True)
20
+ # speaker="off"
21
+ #750_ON_0.00_0.00_Dry_356
22
+ ky037="ON"
23
+ speaker="ON"
24
+ print(ky037)
25
+ light=600
26
+ if light>= 1000:
27
+ light="تاریک"
28
+ else:
29
+ light='روشن'
30
+
31
+ if ky037=="ON" and light=="روشن":
32
+ st.markdown("<p style='text-align: center; font-size: 15px;'>.پیشنهاد می‌شود نور محیط را کم کنید</p>", unsafe_allow_html=True)
33
+ #st.text(".پیشنهاد می‌شود نور محیط را کم کنید")
34
+ #if ky037=="cry" and speaker=="off":
35
+ # st.markdown("<p style='text-align: center; font-size: 15px;'>.پیشنهاد می‌شود بلندگو را روشن کنید</p>", unsafe_allow_html=True)
36
+
37
+
38
+ if ky037=="ON":
39
+ ky037=".کودک گریه می‌کند"
40
+ else:
41
+ ky037=".کودک گریه نمی‌کند"
42
+
43
+
44
+
45
+ wet=0
46
+ if wet==0:
47
+ wet="Wet"
48
+ st.markdown("<p style='text-align: center; font-size: 15px;'>.زیرانداز کودک را عوض کنید</p>", unsafe_allow_html=True)
49
+ else:
50
+ wet="Dry"
51
+
52
+ hum=36.00
53
+ temp=22.00
54
+ if temp<20:
55
+ st.markdown("<p style='text-align: center; font-size: 15px;'>.اتاق سرد است</p>", unsafe_allow_html=True)
56
+ elif temp>24:
57
+ st.markdown("<p style='text-align: center; font-size: 15px;'>.اتاق گرم است</p>", unsafe_allow_html=True)
58
+
59
+ data = {
60
+ 'وضعیت': [ky037,light,wet,hum,temp],
61
+ 'سنسور': ['صدا', 'نور','تخت کودک','(%)رطوبت محیط','(^C)دمای محیط']
62
+ }
63
+
64
+ df = pd.DataFrame(data)
65
+
66
+
67
+ # Customize the table height using CSS
68
+ st.markdown("""
69
+ <style>
70
+ .stTable tr {
71
+ height: 50px; # Adjust this value to change the row height
72
+ }
73
+ </style>
74
+ """, unsafe_allow_html=True)
75
+
76
+ st.table(df)
ard.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+
3
+ app = Flask(__name__)
4
+
5
+ # Initialize global variable
6
+ data = "755_0_ON_36.00_21.00_Dry_8"
7
+ data_list = data.split('_')
8
+
9
+ @app.route('/receive_data', methods=['POST'])
10
+ def receive_data():
11
+ global data_list # Reference the global variable
12
+ data = request.form['data']
13
+ print("Received data:", data)
14
+ data_list = data.split('_')
15
+ data_list = [data_list[0], data_list[1], data_list[2], data_list[3], data_list[4], data_list[5],data_list[6]]
16
+ return "Data received by Python"
17
+
18
+ @app.route('/get_data', methods=['GET'])
19
+ def get_data():
20
+ return jsonify(data_list)
21
+
22
+ if __name__ == '__main__':
23
+ app.run(host='0.0.0.0', port=80, debug=True)