Это старая версия документа.
Содержание
Настройка Raspberry Pi для jrobo
Проверено на оборудовании:
- Raspberry Pi 2 Model B
- Raspberry Pi 3 Model B
комплектующие
- Корпус
- Часы
- поиск на ali:
rtc ds3231 raspberry pi
- Порт rs-232
- поиск на ali:
max3232 rs232 db9
(китайские провода не брать!)
power
sdcard
Скачать образ Raspbian Lite https://www.raspberrypi.org/downloads/raspbian/
Установка образа:
df -h sudo umount /dev/sdc1 sudo dd if=pi-jrobo.img of=/dev/sdc bs=4M conv=fsync status=progress sync
Сохранение образа:
sudo dd of=pi-jrobo.img if=/dev/sdc bs=4M conv=fsync status=progress
Имя образа и диска заменить на свои!
raspi-config
user: pi pass: raspberry
sudo raspi-config
- Change User Password / jradmin
- Network Options / Hostname / jrobo
- Boot Options / Wait for Network at Boot / No
- Localization Options
- Change Locale / Select:
- en_US.UTF-8 UTF-8 (default)
- ru_RU.UTF-8 UTF-8
- Change Timezone/ Asia-Barnaul
- Change Keyboard Layout/ American US
- Interfaciong Options
- SSH / Yes
- I2C / Yes
- Serial
- NO - login over serial disabled
- Yes - serial port enabled
Для дистрибутива stretch (апрель 2019) также требуется отключить блютус и поиграть с частотами в /boot/config.txt - говенное решение пользовать последовательный порт на raspberry, также последовательные порты мапятся на /dev/serial0, и /dev/serial1 - добро пожаловать к танцу с бубном Алексей, сделай своё решение, раз тебе это говенное.
sudo apt-get install mc telnet dos2unix nmap minicom rsync
sudo mcedit /etc/default/keyboard XKBLAYOUT="us"
sudo mcedit /etc/ssh/sshd_config UseDNS no
static ip
sudo mcedit /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
static ip (debian 12)
sudo cp /etc/network/interfaces /etc/network/interfaces.bak sudo mcedit /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.1.210 netmask 255.255.255.0 gateway 192.168.1.210 dns-nameservers 8.8.4.4 8.8.8.8
static ip (debian 12 via nmtui)
$ nmcli device status DEVICE TYPE STATE CONNECTION eth0 ethernet connected Wired connection 1 lo loopback connected (externally) lo wlan0 wifi disconnected -- $ sudo nmtui edit "Wired connection 1" $ sudo systemctl restart NetworkManager
serial port
Подключение адаптера RS-232
Raspberry Pi | Адаптер |
---|---|
4: +5V | VCC |
6: GND | GND |
8: TXD | RXD |
10: RXD | TXD |
У адаптера микросхема с ножками: 11 - RX 12 - TX
обычно порядок такой: VCC TXD RXD GND
rtc ds3231
В общем-то, можно и не использовать часы, если настроить синхронизацию времени с windows-компом
sudo apt-get install python-smbus i2c-tools sudo apt-get purge fake-hwclock ntp sudo apt-get install ntpdate
Add at the end:
sudo mcedit /boot/config.txt dtoverlay=i2c-rtc,ds3231
Add the line (above “exit 0”):
sudo mcedit /etc/rc.local /sbin/hwclock -s
Change:
sudo mcedit /etc/init.d/hwclock.sh HWCLOCKACCESS=no
reboot
sudo date -s "10 OCTOBER 2016 10:00:00" sudo hwclock -w
java
Скачать JDK 8 (Linux ARM v6/v7 Hard Float ABI) здесь и скопировать в /data
. Номер версии (101) заменить на нужный.
sudo su mkdir /usr/lib/jvm mv /data/jdk-8u101-linux-arm32-vfp-hflt.tar.gz /usr/lib/jvm cd /usr/lib/jvm tar xzvf jdk-8u101-linux-arm32-vfp-hflt.tar.gz rm jdk-8u101-linux-arm32-vfp-hflt.tar.gz ln -s jdk1.8.0_101 java-8-oracle
sudo mkdir /data sudo chmod 777 /data sudo mkdir /usr/lib/jvm sudo chmod 777 /usr/lib/jvm # скопировать дистрибутив с другого компа при помощи mc/Shell Link... пример адреса: denis@192.168.1.44/home/denis/Public/1 cd /usr/lib/jvm # перенести дистрибутив и распаковать tar -xzvf jdk-8u391-linux-aarch64.tar.gz sudo ln -s jdk1.8.0_391 java-8-oracle
temperature
- temperature.sh
#!/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)