#raspberry-pi #gpio-pin #gpio #raspberry #pi #networking #web-server

bin+lib raspberry-web

Raspberry Pi上GPIO引脚的控制Web服务器

1个不稳定版本

0.1.3 2019年4月15日
0.1.2 2019年3月10日
0.1.1 2019年3月3日
0.1.0 2019年1月15日

#1759 in 硬件支持

MIT 协议

54KB
1K SLoC

Rust 1K SLoC // 0.1% comments Python 94 SLoC // 0.3% comments SQL 61 SLoC // 0.1% comments Shell 21 SLoC // 0.3% comments

raspberry-web

Build status Build status Codecov dependency status crates.io

通过REST服务控制Raspberry Pi的GPIO输出

运行服务器并向https://127.0.0.1:2323/set/level/2/high 发送GET请求

{
    "gpio_id": 2,
    "in_use": 1,
    "gpio_mode": "output",
    "gpio_level": "high",
    "last_change": "2019-02-18 21:19:31.239669"
}

安装

Raspbian上的先决条件(除Rust外)

$ sudo apt-get update && sudo apt-get install build-essential libsqlite3-dev
$ cargo install cargo-deb

使用cargo deb 安装

$ git clone https://gitlab.com/bogeholm/raspberry-web && cd raspberry_web
$ cargo build --release
$ cargo deb
$ cargo deb --install

除非您只想以root身份运行程序,否则您的用户需要写入权限到 /usr/local/raspberry-web

sudo chown -R $(whoami) /usr/local/raspberry-web

使用方法

使用 cargo deb 安装会将二进制文件放置在 /usr/local/bin,并放置配置文件在 /usr/local/raspberry-web/configuration.toml,在使用前应编辑此文件。

例如,您想能够开关GPIO引脚1、2和3,从GPIO引脚1和2关闭(低电平)和引脚3打开(高电平)开始,您会在以下部分下放置以下内容:

[gpioconfig]
gpios_in_use = [1, 2, 3]
gpios_mode_output = [1, 2, 3]
gpios_level_low = [1, 2]
gpios_level_low = [3]

现在您可以从命令行运行服务器

rasbberry-web

您可以指定一个替代配置文件

rasbberry-web --config-file=/path/to/my/awesome/config.toml

您还可以使用 systemd(以此方式启动将读取 /usr/local/rasbberry-web/configuration.toml

sudo systemctl start raspberry-web.service

仓库

GitLab 仓库在 GitHub 上进行了镜像。

依赖项

~57MB
~1M SLoC