|
|
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() |