树莓派系统的初始设置

下面是以安装了官方系统的树莓派系统为示例讲述的,这些内容可以作为更进一步玩转树莓派的基础。

设置登录 IP

按照树莓派官方的做法,树莓派需要一根网线直连路由器,通过路由器的 DHCP 分配到IP后,就可以远程登录了。但是如果手头没有路由器,我们需要用电脑直连树莓派进行远程登录。将制作好的树莓派 SD 卡插入电脑,会弹出一个名为Boot的磁盘,其中有一个cmdline.txt文件,打开之后,在最后的位置追加一个IP如下:

Read More

Nodejs对称加密

使用 aes 加密解密。

1
2
3
4
5
6
7
8
// 加密, key 加密key, iv 向量, data 需要加密的数据
var encrypt = function (key, iv, data) {
var cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
var crypted = cipher.update(data, 'utf8', 'binary');
crypted += cipher.final('binary');
crypted = Buffer.from(crypted, 'binary').toString('base64');
return crypted;
};

Read More

Nodejs使用TLS

CA机构的数字证书是整个TLS(SSL)协议的根证书,用于给服务器及客户端证书签名及验证其真伪。生成方法如下:

1
2
3
openssl genrsa -out ca-key.pem -des 1024
openssl req -new -key ca-key.pem -out ca-csr.pem
openssl x509 -req -days 3650 -in ca-csr.pem -signkey ca-key.pem -out ca-cert.pem

然后根据ca生成服务端证书:

1
2
3
openssl genrsa -out server-key.pem 1024
openssl req -new -key server-key.pem -out server-csr.pem
openssl x509 -req -days 730 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -in server-csr.pem -out server-cert.pem

为了避免出错,请给每个证书一个唯一的通用名称.例如,将您的CA证书“Foo CA”命名,您的服务器证书是您的主机名称(在这种情况下为“localhost”),您的客户端将其名称(例如“Foo Client 1”)命名.

Read More

树莓派上使用USB声卡

树莓派自带的声卡音质实在太差劲,你可以入手一个 USB 声卡来替代它。

查看声卡

执行 alsamixer,进入界面后,按 F6,会列出所有声卡及序号,其中声卡 0 为自带的,声卡 1 是我们添加的 USB 声卡。

或者执行命令 cat /proc/asound/modules 也可以查看。

Read More

自启动脚本的编写

下面以 node.js 应用的自启动为例介绍自启动服务脚本的编写。

假设目录 /root 下有一 Node.js 文件 deamon.js 需要设置为开机自启动。那么首先在目录 /etc/init.d 下建立一个名为 deamon 的文件,如下面所示。

Read More

frp 的使用

服务端配置文件

1
2
3
4
[common]
bind_port = 7000
vhost_http_port = 8084
log_level = error

默认端口 6000 为访问端口,如 ssh 应该等。端口 7000 与客户端相通。8084 为服务器本地 web 端口。

Read More