|
|
import gradio as gr |
|
|
import requests |
|
|
|
|
|
def execute_get_request(token, virtual): |
|
|
"""Generates a GET request URL for Blynk API and executes the request.""" |
|
|
url = "https://blynk.cloud/external/api/get?token=" + token + '&' + virtual |
|
|
try: |
|
|
response = requests.get(url) |
|
|
response.raise_for_status() |
|
|
response_text = response.text |
|
|
except requests.exceptions.RequestException as e: |
|
|
response_text = f"์์ฒญ ์คํจ: {e}" |
|
|
return url, response_text |
|
|
|
|
|
def create_push_url(token, virtual,value): |
|
|
"""Generates a PUSH request URL for Blynk API.""" |
|
|
url = "https://blynk.cloud/external/api/update?token=" + token + '&' + virtual + '=' + str(value) |
|
|
try: |
|
|
response = requests.get(url) |
|
|
response.raise_for_status() |
|
|
response_text = response.text |
|
|
except requests.exceptions.RequestException as e: |
|
|
response_text = f"์์ฒญ ์คํจ: {e}" |
|
|
return url |
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
gr.Markdown("# Blynk ์ฝ๊ฒ ์ฌ์ฉํ๋ ์น์ฑ") |
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
gr.Markdown("### ๊ฐ ๊ฐ์ ธ์ค๊ธฐ (GET)") |
|
|
get_token_textbox = gr.Textbox(label='ํ ํฐ ๊ฐ (Token Value):') |
|
|
get_virtual_pin_radio = gr.Radio(['V0','V1','V2','V3','V4'], label='Virtual Pin ์ ํ (Virtual Pin Selection):') |
|
|
generate_get_url_button = gr.Button("GET ์์ฒญ ์คํ (Execute GET Request)") |
|
|
get_url_output_textbox = gr.Textbox(label='์์ฑ๋ GET URL (Generated GET URL):',show_copy_button=True) |
|
|
get_response_textbox = gr.Textbox(label='GET ์๋ต (GET Response):',show_copy_button=True) |
|
|
|
|
|
generate_get_url_button.click( |
|
|
fn=execute_get_request, |
|
|
inputs=[get_token_textbox, get_virtual_pin_radio], |
|
|
outputs=[get_url_output_textbox, get_response_textbox] |
|
|
) |
|
|
|
|
|
with gr.Column(): |
|
|
gr.Markdown("### ๊ฐ ์ค์ (PUSH)") |
|
|
push_token_textbox = gr.Textbox(label='ํ ํฐ ๊ฐ (Token Value):') |
|
|
push_virtual_pin_radio = gr.Radio(['V0','V1','V2','V3','V4'], label='Virtual Pin ์ ํ (Virtual Pin Selection):') |
|
|
push_value = gr.Slider(1, 255, label='Virtual Pin ๊ฐ ์ ํ') |
|
|
generate_push_url_button = gr.Button("PUSH URL ์์ฑ (Generate PUSH URL)") |
|
|
push_url_output_textbox = gr.Textbox(label='์์ฑ๋ PUSH URL (Generated PUSH URL):',show_copy_button=True) |
|
|
|
|
|
generate_push_url_button.click( |
|
|
fn=create_push_url, |
|
|
inputs=[push_token_textbox, push_virtual_pin_radio,push_value], |
|
|
outputs=push_url_output_textbox |
|
|
) |
|
|
|
|
|
demo.launch() |