Это старая версия документа.


Raspberry Pi

install raspbian

https://www.raspberrypi.org/documentation/installation/installing-images/linux.md

df -h
sudo umount /dev/sdb1
sudo dd bs=4M if=2015-11-21-raspbian-jessie.img of=/dev/sdb
sudo dd bs=4M if=/dev/sdb of=from-sd-card.img
truncate --reference 2015-11-21-raspbian-jessie.img from-sd-card.img
diff -s from-sd-card.img 2015-11-21-raspbian-jessie.img
sync

initial setup

sudo raspi-config

user: pi
pass: raspberry

static ip

/etc/dhcpcd.conf:

interface eth0
static ip_address=192.168.2.210/24
static routers=192.168.2.1
static domain_name_servers=192.168.2.1

src

xserver start/stop

sudo startx
sudo /etc/init.d/lightdm stop

keyboard

/etc/default/keyboard:

XKBLAYOUT="us"

temperature

#!/bin/bash
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))
 
echo CPU temp"="$cpuTemp1"."$cpuTempM"'C"
echo GPU $(/opt/vc/bin/vcgencmd measure_temp)

wifi

sudo iwlist wlan0 scan|more

sudo nano /etc/network/interfaces

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="YOURSSID"
  psk="YOURPASSWORD"
}
sudo ifdown wlan0
sudo ifup wlan0

jdk

http://www.rpiblog.com/2014/03/installing-oracle-jdk-8-on-raspberry-pi.html

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

download jdk-8-linux-arm-vfp-hflt.tar.gz for Linux ARM v6/v7 Hard Float ABI

sudo tar zxvf jdk-8-linux-arm-vfp-hflt.tar.gz -C /opt
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1
sudo update-alternatives --config javac
sudo update-alternatives --config java
java -version
javac -version

rtc ds3231

1. Enable I2C:

sudo raspi-config
"Advanced Options" / "A6 I2C"

2. Sort out packages:

  sudo apt-get install python-smbus i2c-tools
  sudo apt-get purge fake-hwclock
  sudo apt-get purge ntp
  sudo apt-get install ntpdate # TODO: not found
 
  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get dist-upgrade

3. Check Pi starts I2C automatically in /etc/modules:

i2c-dev

4. Check user has group (change pi to required):

  sudo adduser pi i2c

5. Add at the end of /boot/config.txt:

dtoverlay=i2c-rtc,ds3231

6. Add the line in /etc/rc.local (above “exit 0”):

/sbin/hwclock -s

7. Change in /etc/init.d/hwclock.sh:

HWCLOCKACCESS=no

8. reboot

9. Set date/time:

  sudo dpkg-reconfigure tzdata
  sudo date -s "2 SEPTEMBER 2016 10:00:00"
  sudo hwclock -w  

Done!

14. Other info commands:

  sudo i2cdetect -y 1
  sudo dmesg | grep rtc
  sudo cat /proc/driver/rtc

Compiled from: src1 src2

shutdown

/home/pi/softshut/softshut.py:

#!/usr/bin/python
import time
from subprocess import call
import RPi.GPIO as gpio
 
acShutdownDelay = 60 # delay before shutdown in seconds after AC failed
 
pinButton=19
pinAC=21
pinLed=23
 
ledDelayNormal = 1
ledDelayFast = 0.1
 
stateAC = True
timeACfailed = 0
ledDelay = ledDelayNormal
shutdownCompleted = False
 
def loop():
  global ledDelay
  global stateAC
  global timeACfailed
 
  while not shutdownCompleted:
    if gpio.input(pinAC)==0  and  stateAC==False:
      print "AC OK"
      stateAC = 1
      ledDelay = ledDelayNormal
 
    if gpio.input(pinAC)>0:
      if stateAC==True:
        print "AC failed"
        stateAC = 0
        ledDelay = ledDelayFast
        timeACfailed = time.time()
      else:
        if time.time() - timeACfailed > acShutdownDelay:
          print "AC shutdown"
          doShutdown()
          break
 
    gpio.output(pinLed, True)
    time.sleep(ledDelay)
    gpio.output(pinLed, False)
    time.sleep(ledDelay)
 
def eventButton(pin):
  print "Button shutdown"
  doShutdown()
 
def doShutdown():
  call('halt', shell=False)
  global shutdownCompleted
  shutdownCompleted = True
 
gpio.setmode(gpio.BOARD)
gpio.setup(pinButton, gpio.IN)
gpio.setup(pinAC, gpio.IN)
gpio.add_event_detect(pinButton, gpio.RISING, callback=eventButton, bouncetime=200)
gpio.setwarnings(False)
gpio.setup(pinLed, gpio.OUT)
loop()
gpio.cleanup()

/etc/rc.local:

# add this line before "exit 0"
/home/pi/softshut/softshut.py
dev/pi/main.1475735935.txt.gz · Последние изменения: 2016/10/06 09:38 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0