[RPi] 树莓派添加samba文件共享服务

1. 安装Samba

sudo apt-get install samba samba-common-bin

2. 为samba添加用户,可以使用现有账户,也可以创建专属账户

添加专属账户(如果你只想要添加已存在的账户,可以跳过这一步)

# 添加账户,username即你想要添加的账户名
sudo useradd username
# 建立共享文件夹即修改用户组
sudo mkdir -p /home/username
sudo chown -R username:username /home/username/

为samba添加账户

# 添加账户,username是你想要添加到samba的账户,该步骤会要求设置密码,需要注意的是如果你samba下的用户名的密码区别于树莓派系统下的用户名的密码
sudo smbpasswd -a username

3. 修改配置文件

# 对原配置文件做一备份
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
# 创建一个新的配置文件
sudo nano /etc/samba/smb.conf

配置文件可以照如下修改,然后按 Ctrl+o 保存,Ctrl+x退出

[pi]
    comment= My Samba
    path = /home/username
    valid users = username
    browseable = yes
    writable = yes

部分参数解释:
pi: 显示的名称
comment: 显示名称下的注释
path: 共享的路径
vaild users: 具有操作权限的用户名
browseable: 是否可以浏览
writable: 是否可以写入

4. 重启samba服务

sudo service smbd restart

5. 使用samba服务

Windows用户: 打开计算机,在地址栏输入 ‘\\youripaddress\’(不含引号,youripaddress是你的树莓派IP地址)即可找到共享的文件夹
Linux用户: 打开文件浏览器,在地址栏 ‘smb://youripaddress/’(不含引号,youripaddress是你的树莓派IP地址)即可
输入对应的用户名和密码即可浏览操作拥有权限的文件及文件夹

[12864/SSD1306] Play Snake on Raspberry Pi

System Monitor for Raspberry Pi with 12864/SSD1306, and you can download all the files from GitHub.

Demo
Demo

Setting Up
Configure your 128464 by following this tutorial: https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black/usage?view=all

# Ports used for the Display. You may have to change them to yours
RST = 25
DC = 24
# Configurations of this game
# You may check the preference below and alter the values if you want
display_interval = 0.05                # Refresh display every 0.05 second => FPS = 20
size = 2                               # Size of a snake, 2 means one point occupies four pixels (2x2)
# Initialize the boundary of the gaming area
area = (0, 0, disp.width*2/3/size-1, (disp.height-2)/size-1)    # Gameing area in points with size
boundary = (0, 0, (area[2]+1)*size+1, (area[3]+1)*size+1)       # Gameing boundary
boundary_cross = True                  # snake is able to cross the boundary 
# Block setting
block_mode = False                     # Do not create blocks
# Initialize a snake
snake = []                             # snake
snake0 = (area[2]/2, area[3]/2)        # snake's head (first pixel)
snake1 = snake0                        # snake's tail (last pixel)
l = 4                                  # snake's length = 4
interval_max = 1
interval_min = 0.05
interval = interval_max                # move the snake every 1 second
direction = (1, 0)                     # direction = Right
food = snake0                          # normal food
food_score = 1                         # each food worth 1 score
sfood = ()                             # initialize a empty special food
sfood_lifetime = 10                    # special food exists for 10 seconds
sfood_count = 0                        # to count the time of the special food
sfood_interval = 0.25                  # refresh the special food every 0.25 second
sfood_time = 30                        # Possible to generate a special food every 30 seconds
sfood_score = 5                        # each special food worth 5 scores
blocks = []                            # blocks for blocking the snake
scores = [0, 10, 50, 100, 150, 250, 350, 550, 750, 950, 1200]
levels = [0, 1,  2,  3,   4,   5,   6,   7,   8,   9,   10]
score = 0
level = 0

How to Use

# Run directly with diffculity = 0
sudo python snake.py
# Run directly with diffculity = 1
sudo python snake.py 1
# Run directly with diffculity = 2
sudo python snake.py 2

How to Play
Control: Press ‘w’, ‘a’, ‘s’, ‘d’
Speed up/remove effect: Press ‘q’
Exit game: Press ‘x’

License
—-
MIT