Skip to content

Update content.md #490

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 19, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ With the Ethernet version of the Arduino Portenta Vision Shield it is possible t
- Ethernet cable
- USB-C cable

***If you want to know about the ethernet connection please go to the [Arduino IDE ethernet tutorial](https://docs.arduino.cc/tutorials/portenta-vision-shield/ethernet-with-ide#ethernet-connection)***
***If you want to know more about the ethernet connection please go to the [Arduino IDE ethernet tutorial](https://docs.arduino.cc/tutorials/portenta-vision-shield/ethernet-with-ide#ethernet-connection)***

## Instructions

Expand All @@ -44,17 +44,17 @@ Connect the Portenta Vision Shield Ethernet to the Portenta H7. Now connect the

### Programming the Board

After everything is connected, connect the board to OpenMV to install the latest firmware. Once it is connected, we can open the example we are going to upload. In OpenMV go to: **File > Examples > Arduino > Portenta H7 > Ethernet > http_client.py**.
After everything is connected, connect the board to OpenMV to install the latest firmware. Once it is connected, you can open the example we are going to upload. In OpenMV go to: **File > Examples > Arduino > Portenta H7 > Ethernet > http_client.py**.

![Where to find the example in OpenMV](assets/vs-eth-openmv-example.png)

Next we will look at some of the code in the example script.
Next you can have a look at some of the code in the example script.

### Testing It Out

Now lets take a look at some important parts of the code.
Now let's take a look at some important parts of the code.

First we are making use of some micropython libraries, [network](http://docs.micropython.org/en/latest/library/network.html) and [usocket](http://docs.micropython.org/en/v1.14/library/usocket.html).
First you are making use of some micropython libraries, [network](http://docs.micropython.org/en/latest/library/network.html) and [usocket](http://docs.micropython.org/en/v1.14/library/usocket.html).

```arduino
import network, usocket
Expand All @@ -67,7 +67,7 @@ PORT = 80
HOST = "www.google.com"
```

The `usocket.getaddrinfo(HOST, PORT)[0][4]` function will translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. Then we can create a socket object with `usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)`. We can combine these variables we have created, allowing us to connect the socket to our desired address.
The `usocket.getaddrinfo(HOST, PORT)[0][4]` function will translate the host/port argument into a sequence of 5-tuples that contains all the necessary arguments for creating a socket connected to that service. Then, you can create a socket object with `usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)`. You can combine these variables you have created to connect the socket to your desired address.

```arduino
addr = usocket.getaddrinfo(HOST, PORT)[0][4]
Expand All @@ -83,20 +83,20 @@ This will print the websites content in the serial terminal in OpenMV. The argum
print(client.recv(1024))
```

After the board has printed all of the websites content it will automatically disconnect with a simple `close()` call. Now lets take a look at what the output should look like if everything went correctly.
After the board has printed all of the websites content, it will automatically disconnect with a simple `close()` call. Now let's take a look at what the output should look like if everything went correctly.

### Sketch Result

After uploading the sketch, open the serial terminal. The board will connect to a website. Then print the websites content in the serial terminal. If everything went correctly your serial terminal should look like the image below.
After uploading the sketch, open the serial terminal. The board will connect to a website. Then print the websites content in the serial terminal. If everything went correctly, your serial terminal should look like the image below.

![Serial monitor showing the result of the sketch](assets/vs-eth-openmv-serial.png)

After the connection has been made, the html code of the website entered into the sketch will be printed in the serial monitor.
After the connection has been made, the html code of the website entered into the sketch will be printed in the Serial Monitor.

## Conclusion

This tutorial showed how to connect the Portenta H7 with a Vision Shield Ethernet to the Internet, with an example script in the OpenMV. The sketch allowed the board to connect to a website and print it's content. The Portenta H7 and Vision Shield can also be used with the Arduino IDE, have a look at the [Arduino IDE Ethernet tutorial](https://docs.arduino.cc/tutorials/portenta-vision-shield/ethernet-with-ide) if you want to see a similar example.
This tutorial showed how to connect the Portenta H7 with a Vision Shield Ethernet to the Internet, with an example script in the OpenMV. The sketch allowed the board to connect to a website and print its content. The Portenta H7 and Vision Shield can also be used with the Arduino IDE, have a look at the [Arduino IDE Ethernet tutorial](https://docs.arduino.cc/tutorials/portenta-vision-shield/ethernet-with-ide) if you want to see a similar example.

### Next Steps

Now that you know the basics of how to establish a connection to the Internet with Ethernet, you can try to create more advanced scripts with this connection. An Ethernet connection allows you to send HTTP methods to another device, communicate with another device, API, or even another Portenta. A good next step would be to take a look at the other examples listed under Ethernet in OpenMV, or take a look at the library documentation.
Now that you know the basics of how to establish a connection to the Internet with Ethernet, you can try to create more advanced scripts with this connection. An Ethernet connection allows you to send HTTP methods to another device, communicate with another device, API, or even another Portenta. A good next step would be to take a look at the other examples listed under Ethernet in OpenMV, or take a look at the library documentation.