Created
July 29, 2023 01:21
-
-
Save kjenney/3fc7f767054d933c04171aafae76fee5 to your computer and use it in GitHub Desktop.
send_to_api_arduino_uno_wifi_v2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
This example puts data to a secure API endpoint | |
*/ | |
#include <SPI.h> | |
#include <WiFiNINA.h> | |
#include "arduino_secrets.h" | |
char ssid[] = SECRET_SSID; // your network SSID (name) | |
char pass[] = SECRET_PASS; // your network password (use for WPA, or use as key for WEP) | |
int keyIndex = 0; // your network key Index number (needed only for WEP) | |
int status = WL_IDLE_STATUS; | |
char server[] = SERVER; | |
WiFiSSLClient client; | |
void setup() { | |
Serial.begin(9600); | |
while (!Serial) { | |
; // wait for serial port to connect. Needed for native USB port only | |
} | |
// check for the WiFi module: | |
if (WiFi.status() == WL_NO_MODULE) { | |
Serial.println("Communication with WiFi module failed!"); | |
// don't continue | |
while (true); | |
} | |
String fv = WiFi.firmwareVersion(); | |
if (fv < WIFI_FIRMWARE_LATEST_VERSION) { | |
Serial.println("Please upgrade the firmware"); | |
} | |
// attempt to connect to WiFi network: | |
while (status != WL_CONNECTED) { | |
Serial.print("Attempting to connect to SSID: "); | |
Serial.println(ssid); | |
// Connect to WPA/WPA2 network. Change this line if using open or WEP network: | |
status = WiFi.begin(ssid, pass); | |
// wait 10 seconds for connection: | |
delay(10000); | |
} | |
Serial.println("Connected to wifi"); | |
printWiFiStatus(); | |
Serial.println("\nStarting connection to server..."); | |
if (client.connect(server, 443)) { | |
Serial.println("connected to server"); | |
client.println("Content-Type: application/json"); | |
client.println("User-Agent: ArduinoWiFi/1.1"); | |
client.println("PUT / HTTP/1.1"); | |
client.println('{"id":"78918", "name":"Pizza", "price":"12.45"}'); | |
client.println("Connection: close"); | |
client.println(); | |
} | |
} | |
void loop() { | |
// if there are incoming bytes available | |
// from the server, read them and print them: | |
while (client.available()) { | |
char c = client.read(); | |
Serial.write(c); | |
} | |
// if the server's disconnected, stop the client: | |
if (!client.connected()) { | |
Serial.println(); | |
Serial.println("disconnecting from server."); | |
client.stop(); | |
// do nothing forevermore: | |
while (true); | |
} | |
} | |
void printWiFiStatus() { | |
// print the SSID of the network you're attached to: | |
Serial.print("SSID: "); | |
Serial.println(WiFi.SSID()); | |
// print your board's IP address: | |
IPAddress ip = WiFi.localIP(); | |
Serial.print("IP Address: "); | |
Serial.println(ip); | |
// print the received signal strength: | |
long rssi = WiFi.RSSI(); | |
Serial.print("signal strength (RSSI):"); | |
Serial.print(rssi); | |
Serial.println(" dBm"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment