Add pattern library info and GitHub repo icon links

This commit is contained in:
mycognosist
2020-05-13 14:40:04 +01:00
parent fe31184f1f
commit 0cb68c50e3
8 changed files with 61 additions and 4 deletions

BIN
src/assets/github_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,5 +1,9 @@
# peach-buttons
[![Build Status](https://travis-ci.com/peachcloud/peach-buttons.svg?branch=master)](https://travis-ci.com/peachcloud/peach-buttons)
[![GitHub logo](/assets/github_logo.png "peach-buttons GitHub repository")](https://github.com/peachcloud/peach-buttons)
GPIO microservice module for handling button presses. `peach-buttons` implements a JSON-RPC server with [Publish-Subscribe extension](https://docs.rs/jsonrpc-pubsub/11.0.0/jsonrpc_pubsub/). Each button press results in a JSON-RPC request being sent over websockets to any subscribers. A button code for the pressed button is sent with the request to subscribers, allowing state-specific actions to be taken by the subscriber.
In the case of PeachCloud, the `peach-menu` microservice subscribes to `peach-buttons` in order to update the state of the menu after each button press.

View File

@ -2,6 +2,8 @@
[![Build Status](https://travis-ci.com/peachcloud/peach-menu.svg?branch=master)](https://travis-ci.com/peachcloud/peach-menu)
[![GitHub logo](/assets/github_logo.png "peach-menu GitHub repository")](https://github.com/peachcloud/peach-menu)
OLED menu microservice module for PeachCloud. A state machine which listens for GPIO events (button presses) by subscribing to `peach-buttons` over websockets and makes [JSON-RPC](https://www.jsonrpc.org/specification) calls to relevant PeachCloud microservices (`peach-network`, `peach-oled`, `peach-stats`).
_Note: This module is a work-in-progress._

View File

@ -2,6 +2,8 @@
[![Build Status](https://travis-ci.com/peachcloud/peach-network.svg?branch=master)](https://travis-ci.com/peachcloud/peach-network)
[![GitHub logo](/assets/github_logo.png "peach-network GitHub repository")](https://github.com/peachcloud/peach-network)
Networking microservice module for PeachCloud. Query and configure device interfaces using [JSON-RPC](https://www.jsonrpc.org/specification) over HTTP.
Interaction with wireless interfaces occurs primarily through the [wpactrl crate](https://docs.rs/wpactrl/0.3.1/wpactrl/) which provides "a pure-Rust lowlevel library for controlling wpasupplicant remotely". This approach is akin to using `wpa_cli` (a WPA command line client).
@ -14,18 +16,28 @@ _Note: This module is a work-in-progress._
| --- | --- | --- |
| `activate_ap` | | Activate WiFi access point (stop `wpa_supplicant` and start `hostapd` and `dnsmasq`) |
| `activate_client` | | Activate WiFi client connection (stop `hostapd` and `dnsmasq` and start `wpa_supplicant`) |
| `add_wifi` | `ssid`, `pass` | Connect to WiFi with given SSID and password |
| `add_wifi` | `ssid`, `pass` | Add WiFi credentials to `wpa_supplicant.conf` |
| `disable_wifi` | `id`, `iface` | Disable connection with AP represented by given id |
| `disconnect_wifi` | `iface` | Disconnect given interface |
| `get_id` | `iface`, `ssid` | Return ID of given SSID |
| `get_ip` | `iface` | Return IP of given network interface |
| `get_rssi` | `iface` | Return average signal strength for given interface |
| `get_rssi` | `iface` | Return average signal strength (dBm) for given interface |
| `get_rssi_percent` | `iface` | Return average signal strength (%) for given interface |
| `get_ssid` | `iface` | Return SSID of currently-connected network for given interface |
| `get_state` | `iface` | Return state of given interface |
| `get_status` | `iface` | Return status parameters for given interface |
| `get_traffic` | `iface` | Return network traffic for given interface |
| `if_checker` | | Run AP / client-mode configuration script |
| `list_networks` | | List all networks saved in wpasupplicant config |
| `new_password` | `id`, `iface`, `password` | Set a new password for given network id and interface |
| `ping` | | Respond with `success` if microservice is running |
| `scan_networks` | `iface` | List all networks in range of given interface |
| `reconnect_wifi` | `iface` | Disconnect and reconnect given interface |
| `reassociate_wifi` | `iface` | Reassociate with current AP for given interface |
| `reconfigure_wifi` | | Force wpa_supplicant to re-read its configuration file |
| `reconnect_wifi` | `iface` | Disconnect and reconnect given interface |
| `remove_wifi` | `id`, `iface` | Remove WiFi credentials for given network id and interface |
| `save_config` | | Save configuration changes to `wpa_supplicant.conf` |
| `scan_networks` | `iface` | List SSID, flags (security), frequency and signal level for all networks in range of given interface |
| `select_network` | `id`, `iface` | Disable other networks and attempt connection with AP represented by given id |
### Directory Tree

View File

@ -2,6 +2,8 @@
[![Build Status](https://travis-ci.com/peachcloud/peach-oled.svg?branch=master)](https://travis-ci.com/peachcloud/peach-oled)
[![GitHub logo](/assets/github_logo.png "peach-oled GitHub repository")](https://github.com/peachcloud/peach-oled)
OLED microservice module for PeachCloud. Write to a 128x64 OLED display with SDD1306 driver (I2C) using [JSON-RPC](https://www.jsonrpc.org/specification) over HTTP.
### JSON-RPC API

View File

@ -2,6 +2,8 @@
[![Build Status](https://travis-ci.com/peachcloud/peach-stats.svg?branch=master)](https://travis-ci.com/peachcloud/peach-stats)
[![GitHub logo](/assets/github_logo.png "peach-stats GitHub repository")](https://github.com/peachcloud/peach-stats)
System statistics microservice module for PeachCloud. Provides a JSON-RPC wrapper around the [probes](https://crates.io/crates/probes) and [systemstat](https://crates.io/crates/systemstat) crates.
### JSON-API

View File

@ -1 +1,34 @@
# peach-patterns
[![GitHub logo](/assets/github_logo.png "peach-patterns GitHub repository")](https://github.com/peachcloud/peach-patterns)
A pattern library for building and maintaining PeachCloud user interfaces.
`index.html` currently serves as the primary aggregator and displayer of patterns in the form of atoms and molecules (see [Atomic Design by Brad Frost](http://atomicdesign.bradfrost.com/) for more information on this approach to building design systems).
`css/css_class_names` contains a simple list of all the custom css class names used in the PeachCloud design system. This list builds on `css/_variables.css`, which contains css variables drawn from the [Tachyons](http://tachyons.io/) library. The content of `css/_variables.css` will be pruned of unneeded code once the design system stabilizes.
`css/peachcloud.css` contains all the custom css class definitions used in the PeachCloud design system.
_Note: This is a work-in-progress._
### Directory Tree
```
.
├── css
│   ├── css_class_names // list of all custom class names
│   ├── peachcloud.css // custom css class definitions and styles
│   └── _variables.css // css variables from Tachyons
├── icons // all icon files (svg & png)
├── index.html // markup of pattern library
├── README.md
```
### Setup
For now you can simply clone the repo and open the `index.html` file in your browser to view the pattern library.
### Licensing
AGPL-3.0

View File

@ -1,5 +1,7 @@
# Web Interface
[![GitHub logo](/assets/github_logo.png "peach-buttons GitHub repository")](https://github.com/peachcloud/peach-buttons)
[peach-web](https://github.com/peachcloud/peach-web) provides a web interface for monitoring and interacting with the PeachCloud device. This allows administration of the single-board computer (ie. Raspberry Pi) running PeachCloud, as well as the ssb-server and related plugins.
### Design