Introduction

  • This page dedicated to bringing up and validation of Webpa functionality in R-Pi Zero.
  • WebPA is the communication channel from Cloud to RDK based home gateway devices. It helps to manage devices from Cloud. WEBPA protocol provides functionality of read/write access to device management parameters.

Environment Setup

Refer below link for RPI-0 Environment setup

RDK-C Environment Setup

Build Procedure

Refer below link to build camera image

RDK-C Build Instructions for R-Pi

Image Flash Procedure

Refer below link for Image flash Procedure.

Image Flash Procedure

WEBPA Validation Procedure

STEP 1:

Add require SSID and PSK in /etc/wpa_supplicant.conf file in below format

network={

ssid="username"

psk="password"

}

Console output
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
ssid="RDK"
psk="Comcast1"
}


STEP 2:

Reboot the Target

After Reboot don't do step 1 and 2.

Note : Step 1 & 2 is only applicable for fresh target boot-up with new image.


STEP 3:

WiFi connection is must needed for WEBPA validation.

Check WiFi connection by using below command.

ifconfig

Console output
root@raspberrypi0-rdk-camera:~# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:87 errors:0 dropped:0 overruns:0 frame:0
          TX packets:87 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4552 (4.4 KiB)  TX bytes:4552 (4.4 KiB)

wlan0     Link encap:Ethernet  HWaddr B8:27:EB:2E:72:2B  
          inet addr:192.168.43.246  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2893 (2.8 KiB)  TX bytes:5887 (5.7 KiB)



STEP 4:

check Parodus binary running status in RPI by using below command

ps -Af | grep parodus


STEP 5:

check Webpacamera binary running status in RPI by using below command

ps -Af | grep webpacamera


STEP 6:

Parameter fetching from client( RPI ) device

Fetch device or feature parameter detail from client( RPI ) device through parodus by using webpa server.

Command :

curl -H ’ Authorization:Basic <AUTH_TOKEN>’ -i http://<WEBPA_URL>/api/v2/devices

Example : 

curl -H 'Authorization:Basic dXNlcjp3ZWJwYQo=' -i 'http://192.168.2.75:9003/api/v2/device/mac:b827eb2e722b/config?names=Device.DeviceInfo.X_RDKCENTRAL-COM_IMAGENAME'

Output :

{"parameters":[{"name":"Device.DeviceInfo.X_RDKCENTRAL-COM_IMAGENAME","value":"RPI-CAM_stable2_20200318070913","dataType":0,"parameterCount":1,"

message":"Success"}],"statusCode":200}


Able to fetch below list of parameter from client( RPI ) device.

Sl#WebPA ParameterWebPA Output ( Example )
1Device.DeviceInfo.X_RDKCENTRAL-COM_IMAGENAMERPI-CAM_stable2_20200318070913
2Device.DeviceInfo.ManufacturerRPI
3Device.DeviceInfo.X_RDKCENTRAL-COM_MACb8:27:eb:2e:72:2b
4Device.DeviceInfo.UpTime477 sec
5Device.DeviceInfo.MemoryStatus.Total309732.000000 KB
6Device.DeviceInfo.MemoryStatus.Free276588.000000 KB
7Device.WiFi.X_RDKCENTRAL-COM_IPv4Address192.168.43.246
8Device.WiFi.X_RDKCENTRAL-COM_PublicIP157.46.55.67
9Device.WiFi.X_RDKCENTRAL-COM_HostNameraspberrypi0-wifi-camera
10Device.WiFi.X_RDKCENTRAL-COM_NetMask168.109.28.0
11Device.WiFi.X_RDKCENTRAL-COM_Gateway192.168.43.218
12Device.WiFi.X_RDKCENTRAL-COM_UserNameroot
13Device.DeviceInfo.ModelNameRPIMC
14Device.DeviceInfo.DescriptionRPIMC Home Security Device
15Device.DeviceInfo.SerialNumber000000009e7b277e
16Device.X_RDKCENTRAL-COM_Camera.LiveStream.EvoStream.ServerIP192.168.0.107
17Device.X_RDKCENTRAL-COM_Camera.LiveStream.EvoStream.ServerPort81
18Device.X_RDKCENTRAL-COM_Camera.LiveStream.EvoStream.RoomNamerpi0


Limitations

  • Validated only the above get parameters mentioned.

Troubleshooting

  • Error Message

         Following are the error message that user may taken into considerations:

  1. "message":"Invalid parameter value"}],"statusCode":520

    For Invalid parameter value, check for correct parameter name and the unwanted space in the command.

  2. "message":"Error unsupported namespace","statusCode":520

    For Unsupported namespace, check for the respective services that are essential to fetch tha data. For example, WiFi related information can be accessed only if ccspwifiagent service is active.

  3. "message":Service Unavailable", "statusCode":531

    For this error, ensure the network connection and the server and client-side services are up.

Special Considerations

         Since different services are involved in the communication, port-number specification should be taken into account.

  1. In Client-side, along with ServerURL Port number of Talaria should be specified.
  2. From user-end, while requesting for information Tr1d1um's Port number should be given.
  • No labels