Skip to content

Commit

Permalink
Basic completion of AnyShake Observer docs
Browse files Browse the repository at this point in the history
  • Loading branch information
bclswl0827 committed Dec 17, 2023
1 parent 7b5e704 commit fb18560
Show file tree
Hide file tree
Showing 7 changed files with 245 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
sidebar_position: 1
---

# Requirements

# Overview
29 changes: 29 additions & 0 deletions docs/AnyShake Observer/Development/library.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
sidebar_position: 1
---

# Library

During the development process of AnyShake Observer, some seismological data processing libraries are developed, which are used by AnyShake Observer to read and write seismological data.

## mseedio

> [github.com/bclswl0827/mseedio](https://github.com/bclswl0827/mseedio)
`mseedio` is a Go library for reading and writing MiniSEED data. It is used by AnyShake Observer to read and write MiniSEED data, this library is maintained by [@bclswl0827](https://github.com/bclswl0827).

For documentation, please visit [pkg.go.dev/github.com/bclswl0827/mseedio](https://pkg.go.dev/github.com/bclswl0827/mseedio).

## sacio

> [github.com/bclswl0827/sacio](https://github.com/bclswl0827/sacio)
`sacio` is a Go library for reading and writing SAC data. It is used by AnyShake Observer to read and write SAC data, this library is maintained by [@bclswl0827](https://github.com/bclswl0827).

For documentation, please visit [pkg.go.dev/github.com/bclswl0827/sacio](https://pkg.go.dev/github.com/bclswl0827/sacio).

## slgo

> [github.com/bclswl0827/slgo](htts://github.com/bclswl0827/slgo)
`slgo` is a Go library for SEEDLink server. It's used by AnyShake Observer to run a SEEDLink server, this library is maintained by [@bclswl0827](https://github.com/bclswl0827), but it's not finished yet.
19 changes: 19 additions & 0 deletions docs/AnyShake Observer/cli-interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sidebar_position: 3
---

# CLI Interface

AnyShake Observer has the following commandline parameters:

```
observer [-version] [-config=config.json]
```

## -version

Print version information and exit.

## -config

Specify the configuration file path. If not specified, AnyShake Observer will try to load `config.json` in the current directory.
18 changes: 18 additions & 0 deletions docs/AnyShake Observer/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
sidebar_position: 5
---

# FAQ

## How to upgrade

To update AnyShake Observer, you can always get the latest version from [github.com/anyshake/observer/releases/latest](https://github.com/anyshake/observer/releases/latest)

## AnyShake Observer crashes

If you encounter a crash, please copy the log and [open an issue](https://github.com/anyshake/observer/issues/new/choose) on GitHub.

## Backward compatibility

1. For configuration files, backward compatibility applies to at least one major version. For example, AnyShake Observer v1.x.x supports configuration files from v2.x.x.
2. For data (Database, MiniSEED, SAC, etc.), backward compatibility applies to at least one minor version. For example, AnyShake Observer v2.1.x supports data from v2.0.x.
80 changes: 80 additions & 0 deletions docs/AnyShake Observer/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
sidebar_position: 1
---

# Installation

## Platform

AnyShake Observer is available on the following platforms:

- Windows 7 and later (x86 / amd64)
- Linux 2.6.23 and later (x86 / amd64 / arm / arm64 / ppc64le / riscv64 / mips / mips64le / mips64 / mipsle / loong64 / s390x)

## Download

Pre-built packages can be found here:

- [GitHub Release](https://github.com/anyshake/observer/releases)

All packages are in ZIP format. Download and unzip corresponding packages to your system.

## Verify

Each .zip file has a corresponding .dgst file, which contains MD5, SHA1, SHA2-256 and SHA2-512 digests of the corresponding .zip file.

For example, if you downloaded the file `linux_amd64.zip`, the corresponding SHA digest file is `linux_amd64.zip.dgst`, you can verify the integrity of the downloaded file with the following command:

```bash
$ cat linux_amd64.zip.dgst
MD5= dd3a79d4baf00bcf09ad3b325d5d516b
SHA1= 2ca729cb62c1b8c86d1a45873da6ebced729ba17
SHA2-256= 57e031589fa2b5f8c079cc6e66fa2d570b583856da4d2684b9620d1f5dc02807
SHA2-512= 2eec353ba16a183bc7c557cf8e57f5b55cb754438e5d8b08c860b32c703004acb7a42d84c99d578a43d9b590b85caeb5b7656da626a6aa1d1abdf486df9a640d
$ echo "dd3a79d4baf00bcf09ad3b325d5d516b linux_amd64.zip" | md5sum -c
linux_amd64.zip: OK
```

# Installation

After unzip the package, you get the following files:

- `config.json`: AnyShake Observer configuration file
- `observer.service`: systemd service file (Linux only)
- `observer`: AnyShake Observer executable file (Linux only)
- `observer.exe`: AnyShake Observer executable file (Windows only)

## Install on Linux

These steps work on most Linux distributions, but for some embedded Linux systems, you may need to make some changes.

To use AnyShake Observer without root privileges, you need add current user to `dialout` group:

```bash
$ sudo usermod -a -G dialout $USER
```

Create a directory in `/usr/local/etc` to store AnyShake Observer configuration file, copy `config.json` to it:

```bash
$ sudo mkdir -p /usr/local/etc/anyshake
$ sudo cp config.json /usr/local/etc/anyshake
```

Then copy `observer` to `/usr/local/bin`:

```bash
$ sudo cp observer /usr/local/bin
```

Finally, copy `observer.service` to `/lib/systemd/system`, reload and enable the service:

```bash
$ sudo cp observer.service /lib/systemd/system
$ sudo systemctl daemon-reload
$ sudo systemctl enable observer
```

## Install on Windows

Copy `config.json` and `observer.exe` to the same directory.
91 changes: 91 additions & 0 deletions docs/AnyShake Observer/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
sidebar_position: 2
---

# Quick Start

You need to configure AnyShake Observer after installing it. Here is a quick configuration for a demo run. You may need modify it according to your environment.

## Configuration

The configuration file is in JSON format. You can use any text editor to edit it. The demo configuration is taken from [v2.2.6p](https://github.com/anyshake/observer/releases/tag/Release_v2.2.6p-0b9335e6).

```json
{
"station_settings": {
"uuid": "a373e39c-8e15-44ae-a1ad-6fb622bc49e6", // UUID of the station, you can generate it with `uuidgen` command, or pick one from uuidgenerator.net
"name": "Test Station", // Name of the station, will be displayed on the web page
"latitude": 39.9, // Latitude of the station
"longitude": 116.3, // Longitude of the station
"altitude": 0 // Altitude of the station
},
"geophone_settings": {
"ehz": {
"sensitivity": 0.288, // Sensitivity of the geophone, in V/cm/s, can be found in the datasheet of the geophone
"damping": 0.56, // Damping rate of the geophone, can be found in the datasheet of the geophone
"frequency": 4.5 // Natural frequency of the geophone, can be found in the datasheet of the geophone
}, // Geophone settings for EHZ channel
"ehe": {
"sensitivity": 0.288,
"damping": 0.56,
"frequency": 4.5
}, // Geophone settings for EHE channel
"ehn": {
"sensitivity": 0.288,
"damping": 0.56,
"frequency": 4.5
} // Geophone settings for EHN channel
},
"adc_settings": {
"resolution": 27, // ADC resolution, in bits
"fullscale": 5.0 // ADC full scale, in V
},
"serial_settings": {
"packet": 4, // Channel packet length, must be same with AnyShake Explorer
"baud": 19200, // Serial baud rate, must be same with AnyShake Explorer
"device": "/dev/ttyUSB0" // Serial device, in Linux, it is usually starts with /dev/tty, in Windows, it is usually starts with COM
},
"ntpclient_settings": {
"host": "0.pool.ntp.org", // NTP server host
"port": 123, // NTP server port
"timeout": 3, // NTP client timeout, in seconds
"interval": 5 // NTP client update interval, in seconds
},
"archiver_settings": {
"enable": true, // Enable archiver
"engine": "postgresql", // Archiver engine, support PostgreSQL, MySQL, SQLite, MSSQL
"host": "127.0.0.1", // Archiver host, leave it empty if you're using SQLite
"port": 5432, // Archiver port, leave it empty if you're using SQLite
"username": "postgres", // Archiver username, leave it empty if you're using SQLite
"password": "passw0rd", // Archiver password, leave it empty if you're using SQLite
"database": "observer" // Archiver database, set it to the path of SQLite database file if you're using SQLite
},
"server_settings": {
"host": "0.0.0.0", // Web server host
"port": 8073, // Web server port
"cors": true, // Enable CORS
"debug": false // Enable debug mode, /api/v1/devel endpoint will be available
},
"miniseed_settings": {
"enable": false, // Enable MiniSEED archiver
"path": "/data/miniseed", // MiniSEED archive path
"station": "TEST", // MiniSEED station code
"network": "XX", // MiniSEED network code
"lifecycle": 10 // MiniSEED lifecycle, in days
},
"seedlink_settings": {
"enable": false,
"host": "0.0.0.0",
"port": 18000,
"station": "TEST",
"network": "XX",
"buffer": "/data/seedlink",
"size": 1000
} // Ignore this section due to it is not supported yet
}
```

## Runnning

- On Windows, configuration file is located in the same directory as AnyShake Observer binary. You may run `observer.exe` without additional parameters.
- On Linux, configuration file is usually located at /usr/local/etc/observer/config.json. Run `observer --config=/usr/local/etc/observer/config.json` in foreground or use other tools such as systemd to run AnyShake Observer as background process.
8 changes: 7 additions & 1 deletion src/pages/donation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,10 @@ description: Donate to the AnyShake project, your donation is highly appreciated
hide_table_of_contents: true
---

# TO BE DONE
## Donate to the AnyShake project

AnyShake is an open source project, your donation is highly appreciated, it will help the project development and maintenance.

## Donate via Patreon

You can donate to the AnyShake project via [Patreon](https://www.patreon.com/AnyShake/shop/buy-me-cup-of-coffee-84363).

0 comments on commit fb18560

Please sign in to comment.