import urequests
import network
# Function to record audio (simple approach)
def record_audio(duration_ms):
sampling_rate = 8000 # 8 kHz, you can adjust this
num_samples = (sampling_rate * duration_ms) // 1000
audio_data = bytearray()
for _ in range(num_samples):
# Read ADC value (0 to 65535) and convert to 8-bit value
mic_value = mic.read_u16() >> 8
audio_data.append(mic_value)
time.sleep(1 / sampling_rate) # Ensure proper sampling rate
return audio_data
# Function to send audio data via POST request
def send_audio(audio_data, url):
try:
headers = {'Content-Type': 'application/octet-stream'}
response = urequests.post(url, data=audio_data, headers=headers)
print("Response Code:", response.status_code)
print("Response Content:", response.text)
response.close() # Don't forget to close the response
except Exception as e:
print(f"Failed to send audio: {e}")
# Record 5 seconds of audio
audio = record_audio(5000)
# Send the audio via POST request
server_url = "https://posttestserver.dev/p/vrsmvxdb5v8riph8/post" # Replace with your server URL
send_audio(audio, server_url)