Embedded:Raspberry Pi

Aus Alexander's Wiki
Rasperberry Pi

Specification

  • 700 MHz ARM1176JZF-S Core (ARMv6)
  • Broadcom VideoCore IV, OpenGL ES 2.0
  • 512 MB RAM (Model B), 256 MB RAM (Model A)
  • HDMI, DSI, Composite VideoCore IV, 3,5mm Audio Jack
  • Model B: 2 x USB + 1 LAN, Model A: 1 x USB

Installation

Netzwerkspeicher einbinden

sudo mount -t cifs //192.168.1.50/Volume_1 /mnt/SAN_1/

Operating System

ToDo

Java

Diese Seite ist nicht mehr vollständig aktuell:

  • Es existiert eine neue Linux-Distribution mit Java 8
  • Java 7u21 ist aktuell

The Pi4J Project

sudo /opt/jdk1.8.0/bin/javac -classpath .:classes:/opt/pi4j/lib/'*' -d . Test
sudo /opt/jdk1.8.0/bin/java -classpath .:classes:/opt/pi4j/lib/'*' Test

In der aktuellen Debian-Linux Distribution Raspbian “wheezy” funktioniert Oracle Java auf Grund der Unterstützung des mathematischen Coprozessors nicht.
Man muss dann auf die Soft-float Debian “wheezy”-Version wechseln.

Download von JavaSE für ARM-Prozessoren

Java SE Embedded 7
ARMv6/7 Linux - Headless
EABI, VFP, SoftFP ABI, Little Endian

Nach der Zwangsregistrierung: ejre-7u6-fcs-b24-linux-arm-vfp-client_headless-10_aug_2012.tar.gz herunterladen

Ein Verzeichnis erstellen und die heruntergeladen Datei dorthin kopieren, z.B. so:

  ssh pi@rasp-ip mkdir -p /export/java
  scp ejre-7u6-fcs-b24-linux-arm-vfp-client_headless-10_aug_2012.tar.gz pi@rasp-ip:/export/java
  ssh pi@rasp-ip
  cd /export/java; tar -zxvf ejre-7u6-fcs-b24-linux-arm-vfp-client_headless-10_aug_2012.tar.gz

Man kann jetzt testen, ob Java funktioniert:

  /export/java/ejre1.7.0_04/bin/java -version

Glassfish

wget http://dlc.sun.com.edgesuite.net/glassfish/3.1.2.2/release/glassfish-3.1.2.2-web.zip
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page - PiTest</title>
    </head>
    <body>
      <h2>PiTest</h2>
        App Server : <%=getServletConfig().getServletContext().getServerInfo()%> <br>
        JVM : <%= System.getProperty("java.version")%> - <%=System.getProperty("java.vendor")%><br>
        Java home : <%= System.getProperty("java.home")%><br>
        OS : <%= System.getProperty("os.name")%> - <%= System.getProperty("os.version")%> <br>
        Architecture : <%= System.getProperty("os.arch")%> <br>
    </body>
</html>

Datenbanken

mySQL

sudo apt-get install mysql-server mysql-client php5-mysql

Die /etc/mysql/my.cnf durch /usr/share/doc/my-server-5.0/examples/my-small.cnf ersetzen. z.B.:

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
skip-bdb
skip-innodb

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

Reducing mysql memory usage for low end boxes

CouchDB

http://www.myraspberrypi.info/?p=315

node.js

node.js auf GitHub

Systembefehle

Konfigurationsoberfläche:

sudo raspi-config

Seriennummer für Lizenzen, die dann in /boot/config.txt hinterlegt werden

cat /proc/cpuinfo

Ein paar Systeminfos

# CPU Frequenz
vcgencmd measure_clock arm

# CORE Frequenz
vcgencmd measure_clock core

# CORE Spannung
vcgencmd measure_volts core

# CORE Temperatur
vcgencmd measure_temp

# Firmaware Version
vcgencmd version

# Codec Lizenzen
vcgencmd codec_enabled H264
vcgencmd codec_enabled MPG2
vcgencmd codec_enabled WVC1

Hardwareerweiterung

MCP3008 analog Signalaufzeichnung CMPS10 als Kompassmodul

Resourcen