En el previo artículo se describió la instalación de Zephyr OS en la Raspberry Pico 2 (Linux) Parte 1. Hay que completar esos pasos primeramente antes de continuar con este artículo. Aquí está un sencillo breadboard disponible en Digikey y la Raspberry Pico 2 W para conectar al network WiFi como se muestra en la siguiente foto,
Se procede a compilar y programar como sigue,
(venv) $ west build -p always -b rpi_pico2/rp2350a/m33/w -S cdc-acm-console ../samples/net/wifi/shell -DCONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y -DCONFIG_SENSOR_INFO=y -DCONFIG_I2C_SHELL=y -DCONFIG_I2C=y -DCONFIG_NET_STATISTICS_WIFI=y -DCONFIG_NET_STATISTICS_USER_API=y
(venv) $ west flash --runner uf2
Luego en el terminal minicom de Zephyr OS se usa el siguiente comando,
uart:~$ wifi scan
Scan requested
Num | SSID (len) | Chan (Band) | RSSI | Security | BSSID | MFP
1 | WLED-AP 7 | 1 (2.4GHz) | -89 | WPA2-PSK | B0:81:84:04:A3:B1 | Disable
2 | WLED-AP 7 | 1 (2.4GHz) | -88 | WPA2-PSK | B0:81:84:04:A3:B1 | Disable
3 | Content_Dev1 12 | 10 (2.4GHz) | -49 | WPA2-PSK | 5A:7E:1C:89:42:53 | Disable
Scan request done
Ahora el sistema operativo Zephyr dentro del Raspberry Pico 2 W muestra el resultado de un rastreo de WiFi aplicable al area donde se encuentre. Los resultados muestran los canales correspondientes, la banda, el nivel de señal (RSSI) en dBm (-89 dBm, -88 dBm and -49 dBm en este caso Content_Dev1 tiene el nivel mas potente de -49 dBm), el tipo de seguridad y otros parámetros correpondientes. Se puede conectar al WiFi que se requiera de esta manera,
uart:~$ wifi connect -s "Content_Dev1" -p password
Passphrase provided without security configuration
Connected
Connection requested
[00:14:02.929,000] <inf> net_dhcpv4: Received: 192.168.157.37
el nombre del WiFi se define en este caso “Content_Dev1” y donde la palabra “password” es sustituido por el “password” real aplicable al WiFi. Ahora la Raspberry Pico 2 W que está corriendo el sistema operativo Zephyr, se ha conectado a la red WiFi ya que el “router” le asigno una direción del area internet local “IP address” de 192.168.157.37 via el protocolo dinámico de control conocido como “Dynamic Host Control Protocol (DHCP)” en sus siglas en inglés.
Luego del proceso de conección, las estádisticas se pueden mostrar en el terminal minicom de Zephyr de la siguiente forma,
uart:~$ wifi statistics
Statistics for Wi-Fi interface 0x20000b10 [1]
Bytes received : 1032
Bytes sent : 631
Packets received : 3
Packets sent : 3
Receive errors : 0
Send errors : 0
Bcast received : 0
Bcast sent : 0
Mcast received : 0
Mcast sent : 0
Beacons received : 0
Beacons missed : 0
Unicast received : 0
Unicast sent : 0
Overrun count : 0
En el previo terminal de minicom, los paquetes “packets” de data en bytes que se han recibido y transmitido por la Raspberry Pico 2 W corriendo el sistema operativo Zephyr OS se pueden observar claramente.
Este artículo muestra como el sistema operativo Zephyr de tiempo real puede ser utilizado dentro de un “shell” en la Raspberry Pico 2 W disponible en Digikey. Que tenga un buen día.
Este artículo está disponible en idioma ingles aquí.
This article is also available in english language here.
