mirror of
https://github.com/StefBuwalda/ProjectIOT.git
synced 2025-10-30 19:29:57 +00:00
Added Pico Files
Added the files used on the raspberry pi pico to send and receive data
This commit is contained in:
5
pico_files/config.py
Normal file
5
pico_files/config.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
port = 2222
|
||||||
|
server = "192.168.137.1"
|
||||||
|
data_path = "upload"
|
||||||
|
ssid = "STEF"
|
||||||
|
password = "TEST123123"
|
||||||
36
pico_files/connection.py
Normal file
36
pico_files/connection.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import config as c
|
||||||
|
import network
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
connection = network.WLAN(network.STA_IF)
|
||||||
|
|
||||||
|
|
||||||
|
def connect():
|
||||||
|
# Check for established connection
|
||||||
|
if connection.isconnected():
|
||||||
|
print("[connection.py]: Already connected")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Enable network interface
|
||||||
|
print("[connection.py]: Enabling network interface")
|
||||||
|
connection.active(True)
|
||||||
|
|
||||||
|
# Connect to configurated SSID
|
||||||
|
print(f"[connection.py]: Connecting to SSID {c.ssid}")
|
||||||
|
connection.connect(c.ssid, c.password)
|
||||||
|
|
||||||
|
retry = 0
|
||||||
|
while not connection.isconnected():
|
||||||
|
if retry == 10:
|
||||||
|
print("Could not establish connection, check your settings")
|
||||||
|
retry = 0
|
||||||
|
retry += 1
|
||||||
|
|
||||||
|
sleep(1)
|
||||||
|
|
||||||
|
# no exit, we have a connection!
|
||||||
|
print("[connection.py]: Connection established")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
connect()
|
||||||
44
pico_files/main.py
Normal file
44
pico_files/main.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import urequests as requests
|
||||||
|
import config
|
||||||
|
from connection import connection
|
||||||
|
from machine import Pin
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
# Path to the image
|
||||||
|
image_path = "car2.jpg"
|
||||||
|
pin = Pin(15, Pin.OUT)
|
||||||
|
|
||||||
|
# Prepare the image for sending (open as binary)
|
||||||
|
with open(image_path, "rb") as image_file:
|
||||||
|
img_data = image_file.read()
|
||||||
|
|
||||||
|
while connection.isconnected():
|
||||||
|
# Send as multipart/form-data
|
||||||
|
boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW"
|
||||||
|
headers = {"Content-Type": "multipart/form-data; boundary=" + boundary}
|
||||||
|
|
||||||
|
body = (
|
||||||
|
(
|
||||||
|
"--"
|
||||||
|
+ boundary
|
||||||
|
+ "\r\n"
|
||||||
|
+ 'Content-Disposition: form-data; name="image"; filename="image.jpg"\r\n'
|
||||||
|
+ "Content-Type: image/jpeg\r\n\r\n"
|
||||||
|
).encode("utf-8")
|
||||||
|
+ img_data
|
||||||
|
+ ("\r\n--" + boundary + "--\r\n").encode("utf-8")
|
||||||
|
)
|
||||||
|
|
||||||
|
# Send the POST request with the raw image data as the body
|
||||||
|
url = f"http://{config.server}:{config.port}/{config.data_path}"
|
||||||
|
print(url)
|
||||||
|
response = requests.post(url, headers=headers, data=body)
|
||||||
|
print(response)
|
||||||
|
print(response.status_code)
|
||||||
|
print(response.text)
|
||||||
|
if response.json()["status"]:
|
||||||
|
pin.high()
|
||||||
|
sleep(0.5)
|
||||||
|
pin.low()
|
||||||
|
response.close()
|
||||||
|
sleep(2)
|
||||||
Reference in New Issue
Block a user