You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/hardware/04.pro/boards/portenta-x8/tutorials/02.x8-fundamentals/portenta-x8-fundamentals.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,11 @@ software:
13
13
14
14
## Overview
15
15
16
-
The **Portenta X8** is one of the most advanced boards available from Arduino, introducing new concepts not typically found in other Arduino boards. In this article, we will cover the foundations of the Portenta X8, helping you understand how it works and how you can leverage its advanced features. You will learn about FoundriesFactory® and how containers on the Portenta X8 work.
16
+
The **Portenta X8** is one of the most advanced boards available from Arduino, introducing new concepts not typically found in other Arduino boards.
In this article, we will cover the foundations of the Portenta X8, helping you understand how it works and how you can leverage its advanced features. You will learn about FoundriesFactory® and how containers on the Portenta X8 work.
Copy file name to clipboardExpand all lines: content/hardware/04.pro/boards/portenta-x8/tutorials/04.python-arduino-data-exchange/content.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,8 @@ hardware:
12
12
13
13
## Overview
14
14
15
+

16
+
15
17
The container infrastructure provided by Arduino contains a pre-built Python® image that you can use to run Python® applications on the Portenta X8. In this tutorial, we are going to build a container based on a provided one.
16
18
17
19
While all the peripherals are accessible from the iMX8 processor running the Linux environment, it can be useful to let the onboard microcontroller take care of certain peripheral handling and exchange only the required data between the microcontroller and the Python® application.
Log into the X8 shell with `adb shell` and navigate into the `serialrpc` folder. Build the container using
136
138
137
139
```bash
138
-
sudo docker build . -t py-serialrpc`
140
+
docker build . -t py-serialrpc
139
141
```
140
142
141
143
The `-t` flag assigns a tag to the container. Then run the container by executing `cd..` and then:
142
144
143
145
```bash
144
-
sudo docker compose up -d
146
+
docker compose up -d
145
147
```
146
148
147
149
The `-d` flag detaches the container so it runs in the background. Note that this will run the docker compose app and have the container built persistently across reboots by registering it as a systemd service.
148
150
149
151
To stop the container, run:
150
152
151
153
```bash
152
-
sudo docker compose stop
154
+
docker compose stop
153
155
```
154
156
155
157
Check if the container is running by executing:
156
158
157
159
```bash
158
-
sudo docker ps
160
+
docker ps
159
161
```
160
162
161
163
You can then access the log of its service at any time by using following command from the **same directory**:
162
164
163
165
```bash
164
-
sudo docker compose logs -f --tail 20
166
+
docker compose logs -f --tail 20
165
167
```
166
168
167
169
If you do not wish to run the container in the background, skip the `-d` flag, you will get the console output directly in the executing shell. Once the container is running, you will see the messages being sent from the M4.
Log into the X8 via `adb shell`. Then navigate into the `python-sensor-rpc` folder and execute:
188
190
189
191
```bash
190
-
sudo docker build . -t python-sensor-rpc
192
+
docker build . -t python-sensor-rpc
191
193
```
192
194
193
195
When it has finished, you can run the container with:
194
196
195
197
```bash
196
-
sudo docker compose up
198
+
docker compose up
197
199
```
198
200
199
201
After a few seconds, you should see the output from the Python application featuring the sensor readings on the M4 that exchanges through the RPC mechanism. The output should look similar to the following:
Alternatively, you could modify the files directly on the X8 using an editor such as **VIM**, so you do not need to upload the files every time. Rebuilding the container will be necessary in any case though.
In this tutorial, you will learn how to build an image for the Portenta X8 with the source code provided at our [GitHub repository for lmp-manifest](https://github.com/arduino/lmp-manifest/). It is an ideal approach for debugging system elements like the bootloader or kernel support by building images locally.
18
20
19
21
***Images built locally cannot register with FoundriesFactory and will not be OTA compatible, but this is a good alternative for those who do not have a FoundriesFactory subscription.***
Copy file name to clipboardExpand all lines: content/hardware/04.pro/boards/portenta-x8/tutorials/09.image-flashing/content.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,8 @@ hardware:
13
13
14
14
## Overview
15
15
16
+

17
+
16
18
In this tutorial, you will learn the different methods to update your Portenta X8 with the image provided by Arduino. By the end, you will be able to update your Portenta X8 to the latest version, ensuring optimal performance and security.
0 commit comments