All Projects → meinside → Rpi Configs

meinside / Rpi Configs

My personal config files for Raspbian on Raspberry Pi

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Rpi Configs

Spocon
SpoCon - A Spotify Connect Client for Debian , Ubuntu and Raspberry Pi based on librespot-java
Stars: ✭ 51 (-3.77%)
Mutual labels:  raspberry-pi, raspbian
Raspotify
Spotify Connect client for the Raspberry Pi that Just Works™
Stars: ✭ 3,623 (+6735.85%)
Mutual labels:  raspberry-pi, raspbian
Cattlepi
effortlessly boot, configure, update and monitor your raspberry pi ☁️
Stars: ✭ 250 (+371.7%)
Mutual labels:  raspberry-pi, raspbian
Pi Timelapse
Time-lapse app for Raspberry Pi computers.
Stars: ✭ 220 (+315.09%)
Mutual labels:  raspberry-pi, raspbian
Rpi Audio Receiver
Raspberry Pi Audio Receiver with Bluetooth A2DP, AirPlay, UPnP and Spotify Connect
Stars: ✭ 650 (+1126.42%)
Mutual labels:  raspberry-pi, raspbian
Berrylan
Raspberry Pi WiFi setup
Stars: ✭ 243 (+358.49%)
Mutual labels:  raspberry-pi, raspbian
Pi Apps
Raspberry Pi App Store for Open Source Projects
Stars: ✭ 277 (+422.64%)
Mutual labels:  raspberry-pi, raspbian
Piwheels
Python package repository providing wheels (pre-built binaries) for Raspberry Pi
Stars: ✭ 180 (+239.62%)
Mutual labels:  raspberry-pi, raspbian
Enclosure Picroft
Mycroft interface for Raspberry Pi environment
Stars: ✭ 649 (+1124.53%)
Mutual labels:  raspberry-pi, raspbian
Mobilenet Ssd Realsense
[High Performance / MAX 30 FPS] RaspberryPi3(RaspberryPi/Raspbian Stretch) or Ubuntu + Multi Neural Compute Stick(NCS/NCS2) + RealSense D435(or USB Camera or PiCamera) + MobileNet-SSD(MobileNetSSD) + Background Multi-transparent(Simple multi-class segmentation) + FaceDetection + MultiGraph + MultiProcessing + MultiClustering
Stars: ✭ 322 (+507.55%)
Mutual labels:  raspberry-pi, raspbian
Rpi Backlight
🔆 A Python module for controlling power and brightness of the official Raspberry Pi 7" touch display
Stars: ✭ 190 (+258.49%)
Mutual labels:  raspberry-pi, raspbian
Atomic Toolkit
AtoMiC Toolkit simplifies HTPC / Home Server setup and management on Ubuntu and Debian variants including Raspbian. It currently supports: Couchpotato, Deluged, Emby, FFmpeg, Headphones, Htpcmanager, Jackett, Kodi, Lazylibrarian, Madsonic, Mono, Mylar, Nzbget, Nzbhydra, NzbToMedia, Ombi, Plex, Plexpy, Pyload, qBittorrent, Radarr, Sabnzbd+, Sickgear, Sickrage, Sonarr, Subsonic, Transmission, Unrar, Watcher, and Webmin.
Stars: ✭ 747 (+1309.43%)
Mutual labels:  raspberry-pi, raspbian
Briarids
An All-In-One home intrusion detection system (IDS) solution for the Raspberry PI.
Stars: ✭ 187 (+252.83%)
Mutual labels:  raspberry-pi, raspbian
Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (-1.89%)
Mutual labels:  raspberry-pi, raspbian
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (+239.62%)
Mutual labels:  raspberry-pi, raspbian
My Pihole Blocklists
Create custom pi-hole blocklists
Stars: ✭ 269 (+407.55%)
Mutual labels:  raspberry-pi, raspbian
Sshdeploy
A command-line tool that enables quick build and run deployments over SSH.
Stars: ✭ 131 (+147.17%)
Mutual labels:  raspberry-pi, raspbian
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+181.13%)
Mutual labels:  raspberry-pi, raspbian
Pi Hole Unbound Wireguard
Turning your Raspberry Pi into an ad-blocking VPN with built-in DNS resolution using Pi-Hole, Unbound & WireGuard.
Stars: ✭ 302 (+469.81%)
Mutual labels:  raspberry-pi, raspbian
Raspberry Pi Turnkey
How to make a Raspberry Pi image that can be deployed anywhere and assigned to a WiFi network without SSH 👌
Stars: ✭ 682 (+1186.79%)
Mutual labels:  raspberry-pi, raspbian

dot/config files for Raspberry Pi

by Sungjin Han [email protected]

Description

My personal dot/config files for Raspberry Pi server, currently running on Raspbian Buster.

NOTE: these files are being maintained here since 2020-02-03.


0. Easy install

A. use prep script

$ cd ~
$ wget -O - "https://raw.github.com/meinside/rpi-configs/master/bin/prep.sh" | bash

then this repository will be cloned to the user's home directory.

1. Useful Configurations

A. Setting up watchdog

$ sudo modprobe bcm2708_wdog
$ sudo vi /etc/modules

then add following line:

bcm2708_wdog

Install watchdog and edit conf:

$ sudo apt-get install watchdog
$ sudo vi /etc/watchdog.conf

uncomment following line:

watchdog-device = /dev/watchdog

and restart the service:

$ sudo systemctl restart watchdog

B. Setting up i2c

$ sudo modprobe i2c_dev
$ sudo vi /etc/modules

uncomment following line:

i2c-dev

edit blacklist:

$ sudo vi /etc/modprobe.d/raspi-blacklist.conf

and comment out following lines if exist:

blacklist spi-bcm2708
blacklist i2c-bcm2708

Then do the following:

$ sudo apt-get install i2c-tools
$ sudo usermod -a -G i2c USERNAME

2. Additional Configurations

A. WiFi Configuration

a. Add a file on the sdcard and reboot

Create a file named wpa_supplicant.conf with following content:

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="YOUR-SSID"
        psk=YOUR-PSK

        # Protocol type can be: RSN (for WP2) and WPA (for WPA1)
        proto=RSN

        # Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise)
        key_mgmt=WPA-PSK

        # Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
        pairwise=CCMP

        # Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used are SHARED and LEAP)
        auth_alg=OPEN

        # SSID scan technique (0 for broadcast, 1 for hidden)
        scan_ssid=1

        # Priority
        priority=1
}

Replace YOUR-SSID and YOUR-PSK to yours.

YOUR-PSK can be generated like this:

$ wpa_passphrase [SSID] [PASSWORD]

For example,

$ wpa_passphrase my_ssid 0123456789abc

Now put the file on the root of your Raspberry-Pi-ready sdcard and boot with it.

b. Edit conf file

Do the same on file: /etc/wpa_supplicant/wpa_supplicant.conf.

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

After that, turn the WLAN device off and on:

$ sudo ifdown wlan0
$ sudo ifup wlan0

Your WLAN device's name may be different from 'wlan0'.

You can list yours with following command:

$ ls /sys/class/net | grep wl

B. UTF-8 configuration for MySQL

Open conf:

$ sudo vi /etc/mysql/my.cnf

and add following lines:

[mysql]
default-character-set = utf8
 
[client]
default-character-set = utf8
 
[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci
 
[mysqldump]
default-character-set = utf8

C. AFP & Zero-conf DNS configuration

a. install netatalk and avahi-daemon

$ sudo apt-get install netatalk
$ sudo apt-get install avahi-daemon

b. add an avahi-daemon service

Create a service file:

$ sudo vi /etc/avahi/services/SERVICE_NAME.service

and add following lines:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_afpovertcp._tcp</type>
        <port>548</port>
    </service>
    <service>
        <type>_http._tcp</type>
        <port>80</port>
    </service>
    <service>
        <type>_ssh._tcp</type>
        <port>22</port>
    </service>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=Xserve</txt-record>
    </service>
</service-group>

3. Etc. Tips

A. set static dns server even when using DHCP

Open conf:

$ sudo vi /etc/dhcp/dhclient.conf

and add following line:

supersede domain-name-servers 8.8.8.8, 8.8.4.4;

B. when using bluetooth

1. with on-board bluetooth module

a. install required packages

Install pi-bluetooth:

$ sudo apt-get install pi-bluetooth

and reboot.

b. use bluetoothctl

After reboot, use bluetoothctl for turning up, scanning, and connecting.

$ sudo bluetoothctl

Type help for commands and options.

2. with dongle

a. make raspberry pi discoverable by other bluetooth devices
$ sudo hciconfig hci0 piscan
$ sudo bluetooth-agent 0000

Do as the screen says, and make Raspberry Pi hidden from other bluetooth devices again:

$ sudo hciconfig hci0 noscan
b. display bluetooth device (for checking proper installation)
$ hcitool dev
c. scan nearby bluetooth devices
$ hcitool scan
d. settings

Open conf:

$ sudo vi /etc/default/bluetooth

and add/alter following lines:

# edit
#HID2HCI_ENABLED=0
HID2HCI_ENABLED=1

# add static device information
device 01:23:45:AB:CD:EF {
    name "Bluetooth Device Name";
    auth enable;
    encrypt enable;
}

C. use logrotate.d

Create a file:

$ sudo vi /etc/logrotate.d/some_file

and add following lines:

  /some_where/*.log {
    compress
    copytruncate
    daily
    delaycompress
    missingok
    rotate 7
    size=5M
  }

D. mount external hdd on boot time

Open fstab:

$ sudo vi /etc/fstab

and add following lines:

/dev/some_hdd1  /some/where/to/mount1  ext4  defaults   0 0
/dev/some_hdd2  /some/where/to/mount2  vfat  rw,noatime,uid=7777,gid=7778,user   0 0

uid and gid can be retrieved with command 'id'.

E. run scripts periodically

$ crontab -e

and add following lines:

# every 5 minutes
*/1 * * * * bash -l /some/script_that_needs_login.sh
# every 1 hour
0 1 * * * bash -l -c /some/ruby_script_under_rvm.rb

999. Troubleshooting

Error message: 'smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped'

Append smsc95xx.turbo_mode=N to /boot/cmdline.txt file, and

add/alter following lines in /etc/sysctl.conf:

#vm.vfs_cache_pressure = 100
vm.vfs_cache_pressure = 300
#vm.min_free_kbytes=8192
vm.min_free_kbytes=32768
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].