Ferramentas do usuário

Ferramentas do site


embarcados:raspberry_pi

Raspberry PI

How to install XRDP and have it working

http://c-nergy.be/blog/?p=5357
http://c-nergy.be/blog/?p=5874

sudo apt-get update
sudo apt-get install xrdp

Warnings Square

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=82373
Currently the symbols are:
Red square: over-temperature
Rainbow square: under-voltage

As usual you can override the behaviour in config.txt if you understand the risks:
avoid_warnings=1 removes the warning overlay.
avoid_warnings=2 additionally allows turbo when low-voltage is present.

Windows Emulador

config.txt

Basic Raspbian Setup

When you first turn on your Raspberry Pi with it's fresh Debian image on the SD card, you will likely want to tweak the system settings. Luckily, there's a tool called raspi-config which makes everything super-easy to set up. This automatically launches when you first boot Raspbian up, and (for the most part) it is in plain English.

If you want to access the setup screen again, just type:

 sudo raspi-config

in the terminal (LXTerminal in the desktop UI).

Manually resizing the SD card on Raspberry Pi

You can also resize the partitions of the SD card that your Pi is running on.

First you need to change the partition table with fdisk. You need to remove the existing partition entries and then create a single new partition than takes the whole free space of the disk. This will only change the partition table, not the partitions data on disk. The start of the new partition needs to be aligned with the old partition!

Start fdisk :

sudo fdisk /dev/mmcblk0

Then delete partitions with d and create a new with n. You can view the existing table with p.

  • p to see the current start of the main partition
  • d, 3 to delete the swap partition
  • d, 2 to delete the main partition
  • n p 2 to create a new primary partition, next you need to enter the start of the old main partition and then the size (enter for complete SD card). The main partition on the Debian image from 2012-04-19 starts at 157696, but the start of your partition might be different. Check the p output!
  • w write the new partition table

Now you need to reboot:

 sudo shutdown -r now

After the reboot you need to resize the filesystem on the partition. The resize2fs command will resize your filesystem to the new size from the changed partition table.

sudo resize2fs /dev/mmcblk0p2

This will take a few minutes, depending on the size and speed of your SD card.
When it is done, you can check the new size with:

df -h

vcgencmd usage

Epiphany Browser

https://git.gnome.org/browse/epiphany/

MODO ANTIGO

1. Install epiphany-browser, x11-xserver-utils and unclutter

sudo apt-get update && apt-get upgrade -y
sudo apt-get install epiphany-browser x11-xserver-utils unclutter

2. We need to prevent screen from going blank and disable screen saver. – edit /etc/xdg/lxsession/LXDE/autostart and comment # screen saver line and add those lines:

@xset s off
@xset -dpms
@xset s noblank
@epiphany-browser --profile=/home/pi/ephy -a http://some.web.

Done.

Raspbian Repository

http://www.raspbian.org/RaspbianRepository

The /etc/apt/sources.list file contains the information needed to install additional software packages on your Raspberry Pi from the Raspbian repository. This file should contain the following information:

deb http://archive.raspbian.org/raspbian wheezy main contrib non-free
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free

If needed, the Raspbian public key can be stored into your apt-get keyring using the following command:

wget http://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -

Raspberry PI kiosk mode with Chromium

http://lokir.wordpress.com/2012/09/16/raspberry-pi-kiosk-mode-with-chromium/
http://superuser.com/questions/873381/how-can-i-disable-the-chromium-didn-t-shut-down-correctly-message-when-my-brow
http://superuser.com/questions/237608/how-to-hide-chrome-warning-after-crash

MODO ANTIGO

1. Install chromium, x11-xserver-utils and unclutter

sudo apt-get update && apt-get upgrade -y
sudo apt-get install chromium x11-xserver-utils unclutter

2. Here they talk about running this command before starting Chrome to stop the Restore Bar from appearing:

/etc/rc.local
sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' \
    ~/.config/chromium/Default/Preferences

3. We need to prevent screen from going blank and disable screen saver. – edit /etc/xdg/lxsession/LXDE/autostart and comment # screen saver line and add those lines:

@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito --disable-infobars http://some.web.

Done.

fullscreen xinit

http://superuser.com/questions/538367/fullscreen-xinit-raspberry-pi
~/.config/chromium/Default/Preferences

"window_placement": {                                                      
     "bottom": 1080,
     "left": 0,
     "maximized": true,
     "right": 1920,
     "top": 0,
     "work_area_bottom": 1080,
     "work_area_left": 0,
     "work_area_right": 1920,
     "work_area_top": 0
  }

The maximized option may not work, since I suppose you are not using a Window Manager, but you can see that the properties bottom, left, right, top, work_area_bottom, work_area_left, work_area_right and work_area_top, refer to the size and position of the window. So play around with your own screen size and that should work.

Raspberry PI kiosk mode with Epigraphy Browser

http://blog.qruizelabs.com/2014/04/29/raspberrypi-kiosk-matchbox-uzbl/

MODO ATUAL
Epigraphy Browser + matchbox

  1. Auto Log-in: nodm
  2. Auto X start: we use a simple .xsession file
  3. Window Manager: We’ll be using the full awesomeness of matchbox
  4. Browser: Epigraphy Browser
  5. Splash screen: fbi. Yea I know how that sounds. :P

1. Logging in automatically

This is optional. You can have a simple username/password prompt or nothing at all. But we’ll discuss automatically logging in without username and password. For this, we need nodm, which is a tool that does just that.

sudo apt-get install nodm -y

Now we need to start nodm at boot and configure the user that nodm will log in as. Edit /etc/default/nodm file

sudo nano /etc/default/nodm
/etc/default/nodm
NODM_ENABLED=true
NODM_USER=pi

It’s all self explanatory. First one says enable nodm at boot. Second one says log in as ‘pi’ user. Simple enough.

2. Installing the Window Manager

Window managers, well, manage windows. They take care of size, positioning and tiling of window objects on the screen. We’ll be using matchbox to get our kiosk web browser to open in a full screen window.

sudo apt-get install -y matchbox-window-manager

This will install the Matchbox window manager, which is a specialized window manager written for resource restricted hardware like – you guessed it – Raspberry Pi. It’s fast, it’s lightweight, it’s effective and it does its job without complaining. Perfect.

3. Installing the Web Browser

sudo apt-get install epiphany-browser

The most important part of the kiosk is the web browser. It makes our kiosk, a kiosk. And we are going to load only a single website. Therefore it’s wise to stick to something lightweight. Chromium-browser and Firefox are overkills for this kind of job since they devour a ton of system resources. Hence we use a browser called uzbl ( pronounced “usable”. Naming skills, yea? ). This little beast is very versatile and extremely configurable. It is also super lightweight and very forgiving towards system resources. So let’s install it:

sudo apt-get -y install uzbl

4. Putting it all together

Now we need to make sure 1. The system boots and pi user logs in automatically (we’ve done that already), 2. The Window manager starts and 3. The web browser starts in full screen. We’ll be using an xsession file to do that.

Note: You must have xinit installed. If not, install it

sudo apt-get -y install xinit

Create a new file ‘.xsession’ in the home directory /home/pi. That’s .xsession with a dot in the beginning (A hidden file in the UNIX world). Put the following content in it.

mkdir /home/pi/ephy
/home/pi/.xsession
#!/bin/bash
xset s off
xset -dpms
xset s noblank
epiphany-browser --profile=/home/pi/ephy -a file:///home/pi/www/index.html & exec matchbox-window-manager  -use_titlebar no
#uzbl -u http://google.com/ -c /home/pi/uzbl.conf & exec matchbox-window-manager  -use_titlebar no
#chromium-browser --use-gl=egl

That’s it. Save and close the file. What we have done is to start the uzbl browser during boot along with the Matchbox window-manager. The u stands for uri and the c stands for configuration file. uzbl uses the configuration file to lookup settings and apply them to itself. We are now going to create a configuration file to try and force uzbl to do two things 1. Not display it’s status bar and 2. Open in a maximized window.

Go ahead and create /home/pi/uzbl.conf and put the following content in it:

/home/pi/uzbl.conf
set show_status=0
set geometry=maximized

Save it and close it. If you need help with uzbl, check this out: https://wiki.archlinux.org/index.php/UZBL-Browser

To make the browser restart automatically if it crashes (it shouldn’t), put this in the .xsession file:
#!/bin/bash while true; do uzbl -u http://google.com/ -c /home/pi/uzbl.conf &; exec matchbox-window-manager -use_titlebar no; sleep 2s; done

The -use_titlebar no part is to make Matchbox window manager hide the titlebar.

Reboot and check if everything is working as it should. If you get stuck in the terminal, you’ve messed up with the .xsession file. Recheck it. Type ‘startx‘ to start the X Window to see if it works.

5. Splash screen

How can it be complete without a splash screen? So get a nice splash screen image – preferably in PNG fomat – and put it under /etc/ directory. Let’s call it mycoolimage.png. Then install fbi

sudo apt-get install -y fbi

Fbi is a FrameBuffer Image viewer. Basically it’s something that let’s you view images even before the nuts and bolts of the operating system that enables you to view images are actually loaded. So it’s kindofacoolthing. Now create a new file called aaa under /etc/init.d directory as root. (use sudo) We want it to begin with a so that it can load early on (no kidding). Put the following content in it.

#!/bin/sh
 
do_start () {
    /usr/bin/fbi -T 1 -noverbose -a /etc/mycoolimage.png    
    exit 0
}
 
case "$1" in
  start)
    do_start
    ;;
  restart|reload|force-reload)
    echo "You can't do that" >&2
    exit 3No-op
    ;;
  stop)
    # Nothing here. Move on.
    ;;
  status)
    exit 0
    ;;
  *)
    echo "Script to show splash screen " >&2
    exit 3
    ;;
esac
 
:

Make the file executable and make the system recognize it as an init script

sudo chmod a+x /etc/init.d/aaa
sudo insserv /etc/init.d/aaa

We’re done. Check everything and reboot. Does it work? Sweet!

Bonus tips: You can get rid of the crazy log tsunami that you get when you load the Pi for the first time. You can also make the fruit disappear. (Fruit lovers, please forgive). Open /boot/cmdline.txt and do the following changes: (without the quotes of course)

1. Locate the section that says console=tty1 and make it console=tty. This pushes the logs to the fourth virtual terminal
2. Add a space in the end and add loglevel=3. This sets the severity of the logging level to warning and above.
3. Add a space in the end of the line and add logo.nologo. That’s logo<dot>nologo that – you guessed it – hides the little raspberry fruit logo.
4. Set the following directives in the file /etc/kbd/config (This prevents the screen from going to sleep)

/etc/kbd/config
BLANK_TIME=0
POWERDOWN_TIME=0

6. Disable Black Screen

xset -dpms     # disable DPMS (Energy Star) features.
xset s off       # disable screen saver
xset s noblank # don't blank the video device

Custom boot up screen

http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/custom-boot-up-screen

MODO ATUAL

Displaying an image during boot instead of the default command line scrolling text
This is based on the guide here.
This solution works but there are a few seconds of text shown before the boot image appears.
Install fbi

sudo apt-get install fbi

Copy the splashscreen image to be used
Copy your custom splash image into: /etc/ and name it “splash.png”.
Presumably the resolution to use is 1920x1080px.
Create A Script

sudo nano

Paste the following into the text editor:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:      
# Default-Start:     S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Description:       Show custom splashscreen
### END INIT INFO
 
do_start () {
    /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png    
    exit 0
}
 
case "$1" in
  start|"")
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    # No-op
    ;;
  status)
    exit 0
    ;;
  *)
    echo "Usage: asplashscreen [start|stop]" >&2
    exit 3
    ;;
esac
:

IMPORTANT – If copying and pasting via SSH check it has pasted in correctly (pasting via FiseSSH for us caused the # lines and the esac line to be altered and need modifying back to be correct) Exit and save the file as: /etc/init.d/asplashscreen (using a name starting with 'a' will ensure it runs first) Finally make the script executable and install it for init mode:

sudo chmod a+x /etc/init.d/asplashscreen
sudo insserv /etc/init.d/asplashscreen

Thats it:

sudo reboot

.xsession-errors file is huge. How can I disable?

http://askubuntu.com/questions/177058/xsession-errors-file-is-huge-how-can-i-disable

There is a file called /etc/X11/Xsession. Which will create the symlink to a tmp file. IE. Starts on line number 61

ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

You can cp this Xsession file to Xsession.bak. Then go a head and point your ERRFILE to /dev/null IE. Line 83

exec >> /dev/null 2>&1

Raspberry Pi as Homeserver

http://www.stefan-seelmann.de/wiki/rasperrypi-homeserver Delete unused software packages, in reverse order of /var/log/apt/history.log, including automatically installed packages:

# apt-get purge --auto-remove scratch
# apt-get purge --auto-remove debian-reference-en dillo idle3 python3-tk idle python-pygame python-tk
# apt-get purge --auto-remove lightdm gnome-themes-standard gnome-icon-theme raspberrypi-artwork
# apt-get purge --auto-remove gvfs-backends gvfs-fuse desktop-base lxpolkit netsurf-gtk zenity xdg-utilse
# apt-get purge --auto-remove mupdf gtk2-engines alsa-utils  lxde lxtask menu-xdg gksu
# apt-get purge --auto-remove midori xserver-xorg xinit xserver-xorg-video-fbdev
# apt-get purge --auto-remove libraspberrypi-dev libraspberrypi-doc
# apt-get purge --auto-remove dbus-x11 libx11-6 libx11-data libx11-xcb1 x11-common x11-utils
# apt-get purge --auto-remove lxde-icon-theme gconf-service gconf2-common

Installing LIBCEC on Wheezy (tested on a Samsung TV, Panasonic Viera TV)

http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=70923 Step by step installation of the LIBCEC module on a Wheezy Rapberry.

Start in the home directory

cd /home

Install the necessary tools for compiling:

sudo apt-get install build-essential autoconf liblockdev1-dev libudev-dev git libtool pkg-config

Clone the git repository:

sudo git clone git://github.com/Pulse-Eight/libcec.git

Compile:

cd libcec
sudo ./bootstrap
sudo ./configure --with-rpi-include-path=/opt/vc/include --with-rpi-lib-path=/opt/vc/lib --enable-rpi
sudo make
sudo make install

Link the libraries so that cec-client can find them:

sudo ldconfig

Check that cec-client have found the device by running:

cec-client -l
Found devices: 1

device: 1
com port: RPI
vendor id: 2708
product id: 1001
firmware version: 1
type: Raspberry Pi

To send commands to for instance a connected TV:

Turn off TV:

echo “standby 0” | cec-client -s
embarcados/raspberry_pi.txt · Última modificação: 2022/05/25 16:24 por 127.0.0.1