猫言猫语

严以律己·宽以待人·自强不息·知行合一

FriendlyARM NanoPi A64 插公对公 USB

| FriendlyARM NanoPi A64 插公对公 USB已关闭评论

想用 sunxi-fel 刷机,还得用这种 usb 线,MicroUSB 线只能供电用

插之前

# lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 8087:0aa7 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

插之后

# lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 8087:0aa7 Intel Corp. 
Bus 002 Device 005: ID 1f3a:efe8 Onda (unverified) V972 tablet in flashing mode
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

多了一行

Bus 002 Device 005: ID 1f3a:efe8 Onda (unverified) V972 tablet in flashing mode

PHP WebSocket Server Demo

| PHP WebSocket Server Demo已关闭评论

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($socket, "0.0.0.0", 9501);
socket_listen($socket, 5);
for(;;) {
    $client = socket_accept($socket);
    if (!pcntl_fork()) {
        $buffer = socket_read($client, 2048);
        $headers = explode("\r\n", $buffer);
        foreach($headers as $header) {
            if (strstr($header, "Sec-WebSocket-Key:")) {
                $key = trim(str_replace("Sec-WebSocket-Key:", "", $header));
                $accept = base64_encode(sha1($key . "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true));
            }
        }
 
        socket_write($client, "HTTP/1.1 101 Switching Protocols\r\n");
        socket_write($client, "Upgrade: websocket\r\n");
        socket_write($client, "Connection: Upgrade\r\n");
        socket_write($client, "Sec-WebSocket-Accept: $accept\r\n");
        socket_write($client, "\r\n");
 
        for ($i = 0;; $i++) {
            $buffer = socket_read($client, 2048);
            echo $buffer;
        }
        socket_close($client);
        exit(0);
    } else {
        socket_close($client);
    }
}
socket_close($socket);

树莓派 3B+ 使用串口终端输出

| 树莓派 3B+ 使用串口终端输出已关闭评论

USB2TTL 模块接树莓派 6、8、10 三个口

打开 /boot/config.txt 文件,在后面增加一行:dtoverlay=pi3-miniuart-bt

vim /boot/config.txt
dtoverlay=pi3-miniuart-bt

系统默认 serial1 链接 /dev/ttyAMA0,当配置这个 dtoverlay 后
serial1 链接到 /dev/ttyS0,serial0 链接到 /dev/ttyAMA0

更深层的动作触发原理,是在 udev 里搞的

使用 tuna 作为 repo 镜像

| 使用 tuna 作为 repo 镜像已关闭评论

Ubuntu 18.04 下 repo 安装很方便,但直接使用会由于网络问题被卡住,解决方法就是使用国内镜像站点

# apt install repo
$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

以上命令可以写在 ~/.bashrc 里以后就不用每次都手动执行了

利用 smbclient 扫描 Windows 共享目录

| 利用 smbclient 扫描 Windows 共享目录已关闭评论

# smbclient -L 192.168.1.2 -U Administrator
Enter SAMBA\Administrator's password:

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享
# smbclient -L 192.168.1.2 -U administrator%password

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享

使用 oh-my-zsh 及 gnzh 风格

| 使用 oh-my-zsh 及 gnzh 风格已关闭评论

CentOS系统:

# yum install zsh git curl

Ubuntu系统:

# apt install zsh git curl

然后访问:http://ohmyz.sh/,复制一键安装脚本

$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装后编辑文件:~/.zshrc,修改风格为 gnzh

ZSH_THEME="gnzh"

Ubuntu tftpd server 使用教程

| Ubuntu tftpd server 使用教程已关闭评论

1,安装

# apt-get install tftpd-hpa

2,配置

# vi /etc/default/tftpd-hpa
TFTP_OPTIONS="--secure --verbose"
# systemctl restart tftpd-hpa

3,测试

# apt-get install tftp
$ tftp localhost
tftp> get foo
tftp> quit
# tail -f /var/log/syslog

Ubuntu 下禁用 PHP xdebug 扩展

| Ubuntu 下禁用 PHP xdebug 扩展已关闭评论

vim /etc/php/7.1/mods-available/xdebug.ini

zend_extension=xdebug.so注释掉

;zend_extension=xdebug.so