目标 | 在 Raspberry Pi 上,搭建 LINUX USB 串口服务器、高速 WEB 服务器,实现浏览器秒级监控 |
硬件 | Raspberry Pi 3B+ |
操作系统 | Raspberry Lite OS, Linux raspberrypi 5.10.17-v7+ |
环境搭建 | |
步骤 | 说明 |
1 | * 下载 Raspberry Pi OS Lite,刷入 SD 卡 * 下载地址: https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit * 于 SD 卡的根目录下,写入空文件 SSH (无后缀), 以支持远程 ssh |
2 | * 安装 FTP 文件服务器 vsftpd $sudo apt-get install vsftpd 修改 vsftpd 配置文件 (详细配置稍后贴出) $sudo vi /etc/vsftpd.conf |
3 | * 安装 git $sudo apt-get install git |
4 | * 安装 gcc $sudo apt-get install gcc |
5 | * 安装 Linux C cJSON 下载地址: https://github.com/DaveGamble/cJSON $git clone https://github.com/DaveGamble/cJSON.git $cd cJSON $make $sudo make install $sudo cp libcjson.so /usr/lib $sudo cp libcjson_utils.so /usr/lib $sudo /sbin/ldconfig gcc 编译时,加上 -lcjson 选项, 如: $gcc test.c -o test -lcjson |
6 | * 安装 RUST 开发环境 (计划串口通讯采用 RUST 编程语言处理,替代原来 C 开发代码) $sudo curl https://sh.rustup.rs -sSf | sh $source $HOME/.cargo/env |
* RUST redis 开源库 $rust-redis lib: https://github.com/mitsuhiko/redis-rs $git clone https://github.com/mitsuhiko/redis-rs.git | |
7 | * 安装 redis-server $sudo apt-get install redis-server $sudo service redis-server restart |
* 启动 redis client 客户端测试 $redis-cli | |
* redis linux C 库, hiredis, 地址: https://github.com/redis/hiredis * hiredis 安装 $git clone https://github.com/redis/hiredis.git $cd hiredis $make $sudo make install $sudo cp libhiredis.so /usr/lib $sudo /sbin/ldconfig gcc 编译时,加上 -lhiredis 选项, 如: $gcc test.c -o test -lhiredis | |
* redis json, rejson 地址 https://github.com/RedisJSON/RedisJSON, https://oss.redislabs.com/redisjson/ $git clone https://github.com/RedisJSON/RedisJSON.git $git checkout 1.0 <注: master 分支编译不成功,切换为 1.0 分支通过> $make $sudo cp ./src/rejson.so /usr/lib $sudo vi /etc/redis/redis.conf <于此配置文件中添加如下内容,加载 rejson.so> loadmodule /usr/lib/rejson.so $sudo service redis-server restart 通过 redis-cli 查看 ReJSON 模块是否加载 $redis-cli 127.0.0.1:6379>module list $cargo build --release (此步骤安装出错, rejson 尚未安装成功) | |
8 | * 安装 nginx $sudo apt-get install nginx * 启动 nginx 服务 $sudo service nginx start |
9 | * 安装 PHP $sudo apt-get install php7.3-fpm php7.3-cli php7.3-curl php7.3-gd php7.3-cgi php7.3-json php-redis php-dev php7.3-sqlite3 * 启动 php-fpm 服务 $sudo service php7.3-fpm restart |
php-redis 扩展 地址: https://github.com/phpredis/phpredis 测试php-redis 代码 | |
10 | php应用实现 webSocket 使用 workerman 或 swoole 框架. |
11 | * 安装 sqlite3 数据库 $sudo apt-get install sqlite3 |
12 | WEB-SOCKET PHP框架 workerman, 地址: https://www.workerman.net/ https://github.com/walkor/workerman |
swoole 框架, 地址: https://github.com/swoole/swoole-src $cd swoole-src && \ phpize && \ ./configure && \ make && sudo make install 于 /etc/php/7.3/fpm/php.ini 文件中,添加扩展 extension=swoole.so 安装方法二: pecl install swoole swoole redis server | |
13 | Smarty 框架 |