Classify an image using an IoT Edge based image classifier - Wio Terminal
In this part of the lesson, you will use the Image Classifier running on the IoT Edge device.
Use the IoT Edge classifier
The IoT device can be re-directed to use the IoT Edge image classifier. The URL for the Image Classifier is http://<IP address or name>/image
, replacing <IP address or name>
with the IP address or host name of the computer running IoT Edge.
Task - use the IoT Edge classifier
-
Open the
fruit-quality-detector
app project if it's not already open. -
The image classifier is running as a REST API using HTTP, not HTTPS, so the call needs to use a WiFi client that works with HTTP calls only. This means the certificate is not needed. Delete the
CERTIFICATE
from theconfig.h
file. -
The prediction URL in the
config.h
file needs to be updated to the new URL. You can also delete thePREDICTION_KEY
as this is not needed.const char *PREDICTION_URL = "<URL>";
Replace
<URL>
with the URL for your classifier. -
In
main.cpp
, change the include directive for the WiFi Client Secure to import the standard HTTP version:#include <WiFiClient.h>
-
Change the declaration of
WiFiClient
to be the HTTP version:WiFiClient client;
-
Select the line that sets the certificate on the WiFi client. Remove the line
client.setCACert(CERTIFICATE);
from theconnectWiFi
function. -
In the
classifyImage
function, remove thehttpClient.addHeader("Prediction-Key", PREDICTION_KEY);
line that sets the prediction key in the header. -
Upload and run your code. Point the camera at some fruit and press the C button. You will see the output in the serial monitor:
Connecting to WiFi..
Connected!
Image captured
Image read to buffer with length 8200
ripe: 56.84%
unripe: 43.16%
💁 You can find this code in the code-classify/wio-terminal folder.
😀 Your fruit quality classifier program was a success!