BeadaPanel

From eLinux.org
Revision as of 20:17, 1 October 2019 by Esky-sh (talk | contribs) (Features)
Jump to: navigation, search
BeadaPane Front View
BeadaPanel Rear View

What is BeadaPanel?

BeadaPanel is a versatile media display. It can playback images and videos in various common format.
BeadaPanel comes with a 7" LCD display with a resolution of 800x480 and a 4-wire resistive touch panel.
BeadaPanel has up to 16GB/32GB eMMC memory for media storage and playback.
BeadaPanel supports USB 2.0 High Speed standard and WiFi communication.
BeadaPanel consumes very low power and can be powered by a single Micro-USB cable.
BeadaPanel comes with its own ABS bezel, which is easy to integrate into customer products.


Features

CPU

NXP/Freescale ARM Cortex-A7 i.MX6ULL, at Frequency of 900MHz

RAM

512MB DDR3L

Storage

16GB/32GB eMMC

Connectivity

  • 1 x WIFI 802.11 b/g/n and Bluetooth 4.0 module
  • 1 x USB 2.0 Host(Type A)
  • 1 x USB 2.0 OTG(Micro-USB)

Display

7.0" TFT LCD: 800x480, w/ touch and bezel

5.0" TFT LCD: 800x480, w/ touch

Dimensions

188 x 118 x 35(mm)

121 x 76 x 25(mm)

Consumption

5V/350mA

5V/300mA

Block Diagram

BeadaPanel Block Diagram


Applications

BeadaPanel for Raspberry Pi

In this application, BeadaPanel is used as a monitor/display for Raspberry Pi mini PC.
Eenew.jpg

Architecture and Flow Chart

Bprpi.png

Supported Models and OS

Communication Protocol

Panel-Link v1.0

Supported Media Types

  • JPG, BMP, PNG, GIF, TIFF, etc
  • MPG2, MPG4, avi, quicktime, H.263/264/265
  • RGB in various pack
  • YUV in various pack

Supported Model

Raspberry Pi A/B/B+/Zero/Zero W/2B/3B/3B+

OS Support

  • Raspbian
  • RetroPie
  • Ubuntu MATE
  • Ubuntu Core
  • CentOS
  • Kali Linux


First time Setup

BeadaPanel will not work automatically when first time plugin to Raspberry Pi. Instead, A beadapanel deamon program should be running on Raspberry Pi to handle the data transmit between two USB peers. Below are procedures to setup this beadapanel deamon.

Pre-requirements
  • A Raspberry Pi mini PC
  • A BeadaPanel display kit
Procedures

1. Power on your Raspberry Pi mini PC
2. Connect BeadaPanel to Raspberry Pi by a Micro USB cable
3. BeadaPanel will be automaticaly recognized as a USB mass storage device by Raspberry Pi

pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  9.1G  0 disk
├─sda1        8:1    0 43.9M  0 part /media/pi/boot
└─sda2        8:2    0  4.9G  0 part /media/pi/rootfs
mmcblk0     179:0    0  7.4G  0 disk
├─mmcblk0p1 179:1    0 43.9M  0 part /boot
└─mmcblk0p2 179:2    0  7.4G  0 part /
pi@raspberrypi:~ $ ls /media/pi/boot/bpd
bpd

4. Locate and run beadapanel deamon in /media/pi/boot/bpd folder

pi@raspberrypi:~ $ sudo cp /media/pi/boot/bpd/bpd /usr/bin 
pi@raspberrypi:~ $ sudo chmod +x /usr/bin/bpd
pi@raspberrypi:~ $ sudo bpd
BeadaPanel Daemon Ver. 1.0

5. Run beadapanel deamon from booting

$ sudo nano /etc/rc.local -> add new line before "exit 0" with "/usr/bin/bpd &" without quote 
$ sudo reboot


Force Raspberry Pi display through HDMI

In order to let beadapanel deamon transmit HDMI video data to BeadaPanel, we have to force Raspberry Pi HDMI port work even if no HDMI monitor connected.

Procedures

1. To solve the problem, simply connect to your Raspberry Pi via SSH and modify with your favorite text editor (here we will use nano) the file /boot/config.txt.

2. Note that you will need administrator rights and therefore sudo command (with nano this will give for example sudo nano /boot/config.txt).

3. You should then find within this file the following line (if not, add it at the end):

#hdmi_force_hotplug=1

4. To solve the problem you just have to uncomment (ie remove the sign # at the beginning) the line and save the file (Ctrl + o, Enter, Ctrl + x with nano). Restart your Raspberry Pi and you're done!
5. Further more, for best video performance and experience, we'd better to set Raspberry Pi HDMI port work under same resolution with BeadaPanel's native screen.

hdmi_group=2
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0


BeadaPanel Daemon Source Code

You can find source code here-->Github

Windows SDK

Front4.png

Architecture and Flow Chart

Bpwinusb640.png

Supported Models and OS

Communication Protocol

Panel-Link v1.0

Supported Media Types

  • JPG, BMP, PNG, GIF, TIFF, etc
  • MPG2, MPG4, avi, quicktime, H.263/264/265
  • RGB in various pack
  • YUV in various pack

Windows SDK

WinUSB

OS Support

  • Windows XP
  • Windows Vista
  • Windows Server 2008
  • Windows 7
  • Windows 8
  • Windows 10


VS2017 Sample Project

For programming on Windows platform, you can find a VS2017 sample project here-->Github

BeadaPanel for NVIDIA Jetson Dev. Board

In this application, BeadaPanel is used as an USB LCD Display + WiFi + Storage 3-IN-1 Companion Kit for NVIDIA Jetson Nano/Xavier/TX1/TX2 Board.
Jsmain800x600.jpg

Architecture and Flow Chart

Bp3in1 800.jpg

Supported Models and OS

Communication Protocol

  • USB RNDIS
  • USB Mass Storage Gadget

Supported Model

Jetson Nano/Xavier/TX1/TX2

OS Support

Ubuntu 18.04LTS


First time Setup

BeadaPanel has a resident VNC Viewer to connect to Jetson Dev. board as a remote desktop display. Below are procedures to setup VNC server on Jetson Dev. board side.
Bpvnc700.png

Pre-requirements
  • A NVIDIA Jetson Dev. board(Ubuntu 18.04LTS pre-loaded)
  • A HDMI/DP screen
  • A BeadaPanel display kit
  • USB keyboard and USB mouse
Procedures

1. Connect NVIDIA Jetson board with a HDMI/DP screen
2. Connect NVIDIA Jetson board with USB keyboard and USB mouse
3. Power on Jetson board
4. Login to Ubuntu desktop
5. Setup automatic login to current user
Autologin.jpg

6. Configure Vino VNC Server

jetson@jetson-desktop:~$ gsettings set org.gnome.Vino prompt-enabled false
jetson@jetson-desktop:~$ gsettings set org.gnome.Vino require-encryption false
jetson@jetson-desktop:~$ gsettings set org.gnome.Vino authentication-methods "['none']"

7. Verify config results in step 6

jetson@jetson-desktop:~$ gsettings list-recursively org.gnome.Vino
org.gnome.Vino notify-on-connect false
org.gnome.Vino alternative-port uint16 5900
org.gnome.Vino disable-background false
org.gnome.Vino use-alternative-port false
org.gnome.Vino icon-visibility 'client'
org.gnome.Vino use-upnp false
org.gnome.Vino view-only false
org.gnome.Vino prompt-enabled false
org.gnome.Vino disable-xdamage false
org.gnome.Vino authentication-methods ['none']
org.gnome.Vino network-interface ''
org.gnome.Vino require-encryption false
org.gnome.Vino mailto ''
org.gnome.Vino lock-screen-on-disconnect false
org.gnome.Vino vnc-password 'amV0c29u'
jetson@jetson-desktop:~$

8. Click on Startup Applications
Search.jpg

9. Add vino-server to Desktop Startup Applications
Startup.jpg

10. Click Shutdown to power off NVIDIA Jetson board
Shutdown.jpg

11. Disconnect HDMI/DP screen
12. Connect BeadaPanel USB screen with Micro USB cable
13. Power on NVIDIA Jetson board
NVIDIA Jetson board will automatically recognize BeadaPanel as a VNC Viewer and display to it as soon as Ubuntu desktop launches.

Connect to WiFi Hostspot

There is a NAT/iptables pre-configured inside BeadaPanel. So it will be an Internet router as soon as connected with a WiFi hotspot. Below are steps for how to connect to WiFi hotspot on Jetson Dev. Board side.
Bpwifi700.png

Pre-requirements
  • A NVIDIA Jetson Dev. board(Ubuntu 18.04LTS pre-loaded)
  • A BeadaPanel display kit
  • USB keyboard and USB mouse
Procedures

1. Connect NVIDIA Jetson board to BeadaPanel with a Micro USB cable
2. Connect NVIDIA Jetson board to USB Keyboard and USB Mouse
3. Power on Jetson board
4. Open a Terminal on Ubuntu desktop as soon as Jetson board boot up
5. ssh to BeadaPanel

jetson@jetson-desktop:~$ ssh debian@192.168.7.2
debian@192.168.7.2's password:

In this case, password is 'temppwd'
6. Open Connection Manager on BeadaPanel

debian@arm:~$ sudo connmanctl
[sudo] password for debian:
connmanctl>

7. Scan current services

connmanctl> scan wifi
Scan completed for wifi
connmanctl> services
*AR Wired                gadget_46103ab3afd9_usb
    Paulin               wifi_00904c112233_5061756c696e_managed_psk

8. Connect to your favorite hotspot

connmanctl> agent on
Agent registered
connmanctl> connect  wifi_00904c112233_5061756c696e_managed_psk
Agent RequestInput wifi_00904c112233_5061756c696e_managed_psk
  Passphrase = [ Type=psk, Requirement=mandatory ]
Passphrase?
Connected wifi_00904c112233_5061756c696e_managed_psk
connmanctl> services
*AO Paulin               wifi_00904c112233_5061756c696e_managed_psk
*AR Wired                gadget_46103ab3afd9_usb

9. Exit ssh session

connmanctl> quit
debian@arm:~$ exit
logout
Connection to 192.168.7.2 closed.
jetson@jetson-desktop:~$


Connect as Text Console

There is a Debian running on BeadaPanel board. So we can ssh to Jetson Dev. board to use BeadaPanel as a Text Console.

Pre-requirements
  • A NVIDIA Jetson Dev. board(Ubuntu 18.04LTS pre-loaded)
  • A BeadaPanel display kit
  • An USB keyboard
Procedures

1. Connect NVIDIA Jetson board to BeadaPanel with a Micro USB cable
2. Connect BeadaPanel with USB Keyboard
3. Power on Jetson board
4. Press "Ctrl"+"Q" to quit VNC Viewer running on BeadaPanel side
Bpctlq800.jpg

5. Login to Debian
User/Password pair is debian/temppwd

6. ssh to Jetson Dev. board
Bpconsole800.jpg

Install L4T Rootfs to BeadaPanel on board eMMC

Jetson Nano developer Kit comes without any on board storage media which means it can only operating software from Micro-SD card. Considering of speed, capacitance and reliability, most of us would prefer a HDD/SSD drive as storage media. Fortunately, Nano has four USB 3.0 ports and these USB 3.0 ports give us opportunity to use an external USB drive as main storage media.

Pre-requirements
Procedures

1. Put Micro-SD card into card reader and plug it into your Host PC
2. Start etcher to burn bootloader image into Micro-SD card
Etcher16g.jpg

3. Pull out Micro-SD card after programming success
Etcher25gf.jpg

4. Plug BeadaPanel into your Host PC
5. Again use etcher to burn L4T rootfs image into BeadaPanel on board eMMC
Etcher25g.jpg

6. Pull out BeadaPanel from Host PC after programming success
7. Plug Micro-SD card into Jetson Nano Micro-SD socket
8. Plug BeadaPanel into Jetson Nano USB 3.0 port
9. Connect Jetson Nano board with HDMI/DP screen
10. Connect Jetson Nano board with USB keyboard and mouse
11. Power on Jetson Nano board
12. Continue with Ubuntu Desktop first time startup procedures
Ubuntu desktop.jpg

Buy online

Resources

Community