

Raspbot adalah server REST API ringan, dirancang untuk Raspberry Pi , serta aplikasi web klien yang memungkinkan Anda mengontrol perangkat dengan mudah.
Dibangun dengan NodeJS & Express 4 dan Vue 2 & Webpack.
Raspbot masih dalam proses .
Fitur:
Lihat demonya di sini (masuk dengan nama pengguna admin dan kata sandi secret ).
Opsional (-ish):
Kloning repositori ini di Raspberry Pi Anda:
$ git clone https://github.com/pkrll/Raspy Dan jalankan make install di folder root proyek untuk menginstal dan menyiapkan server:
$ cd Raspy
$ make install Folder dist di dalam ./raspbot sudah berisi klien versi terbaru. Menjalankan server akan menggunakan file di sana. Anda juga dapat membuat aplikasi klien secara manual, dengan mengetikkan make build di folder root. Ini mungkin memakan waktu cukup lama, jadi ambillah camilan dan tunggu hingga proses instalasi dan pembuatan selesai.
Setelah menginstal semua dependensi dan menyiapkan server, Anda dapat menjalankan server dengan make server di folder root.
Namun disarankan untuk menggunakan manajer proses untuk menjalankan server.
Untuk melakukan daemonisasi aplikasi, Anda dapat menggunakan PM2 yang merupakan manajer proses untuk aplikasi NodeJS. Jika Anda belum memiliki PM2 , instal:
$ sudo npm install -g pm2 Gunakan make start untuk menjalankan server di latar belakang. NODE_ENV akan secara otomatis disetel ke "produksi" saat menggunakan aturan start .
$ make start
[PM2] Applying action restartProcessId on app [server](ids: 0)
[PM2] [server](0) ✓
[PM2] Process successfully started
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬───────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼───────┼──────────┤
│ Raspbot │ 0 │ fork │ 13141 │ online │ 0 │ 0s │ 66% │ 13.9 MB │ pkrll │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴───────┴──────────┘
Use ` pm2 show < id | name > ` to get more details about an app
Gunakan make stop untuk menghentikan server.
Ikuti langkah-langkah berikut untuk membuat PM2 berjalan saat startup.
make start (jika belum berjalan).pm2 save .pm2 startup systemd dan salin dan tempel perintah yang dihasilkan oleh skrip.Contoh
$ make start
$ pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /home/pkrll/.pm2/dump.pm2
$ pm2 startup systemd
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH= $PATH :[...] startup systemd -u USER --hp /home/USER
$ sudo env PATH= $PATH :[...] startup systemd -u USER --hp /home/USERUntuk informasi lebih lanjut tentang cara menggunakan PM2, lihat dokumentasi resmi atau panduan memulai cepat ini .
Secara default, Raspbot berjalan pada port 5000 dan dapat diakses melalui http://ip-to-your-pi:5000 . Nama pengguna default adalah admin dengan kata sandi secret . Pastikan untuk mengubahnya.
Opsi konfigurasi dapat ditemukan di file index.js di dalam direktori ./raspbot/config :
| Pilihan | Keterangan |
|---|---|
oauth.id | Kunci OAuth Github untuk membuat permintaan yang diautentikasi saat memeriksa pembaruan (opsional) |
oauth.secret | Rahasia Github OAuth untuk membuat permintaan yang diautentikasi saat memeriksa pembaruan (opsional) |
port | Port server ( default: 5000 ) |
httpsPort | Port yang digunakan untuk HTTP ( default: 5443 ) |
databasePath | Jalur ke database kredensial pengguna ( default: config/db.json ) |
httpsOpts.cert | Jalur ke sertifikat SSL ( default: config/.sslcert/fullchain.pem ) |
httpsOpts.key | Jalur ke kunci sertifikat SSL ( default: config/.sslcert/privkey.pem ) |
Catatan: Opsi httpsOpts digunakan saat mengaktifkan HTTP (Lihat Mengaktifkan HTTP di bawah).
Untuk melayani Raspbot melalui HTTPs , Anda perlu meletakkan file sertifikat SSL Anda ( fullchain.pem dan privkey.pem ) di folder config/.sslcert .
Berikut ini panduan tentang cara membuat sertifikat menggunakan Certbot dan Let's encrypt. Untuk informasi lebih lanjut lihat artikel ini.
Pertama, pastikan Anda telah menginstal Certbot dan Let's encrypt , dan port 80 dan 443 diteruskan ke 5000 dan 5443 (atau, jika diganti, port khusus yang Anda gunakan).
Arahkan ke folder raspbot di direktori proyek dan jalankan perintah berikut ( CATATAN: Ingatlah untuk mengubah example.com ke URL Anda):
$ certbot certonly --webroot -w ./dist -d example.com --config-dir ~ /.certbot/config --logs-dir ~ /.certbot/logs --work-dir ~ /.certbot/workIkuti instruksinya, dan tunggu sampai selesai.
Jika Anda menggunakan konfigurasi default, kini Anda dapat menghubungkan sertifikat ke folder config/.sslcert di folder raspbot/raspbot ( CATATAN: Ingatlah untuk mengubah example.com ke URL Anda):
$ cd /path/to/raspbot
$ ln -s ~ /.certbot/config/live/example.com/fullchain.pem raspbot/config/.sslcert/fullchain.pem
$ ln -s ~ /.certbot/config/live/example.com/privkey.pem raspbot/config/.sslcert/privkey.pemMulai ulang servernya.
Raspbot memungkinkan Anda untuk mematikan atau mem-boot ulang perangkat Anda dari jarak jauh dan memasang/melepas perangkat yang terhubung ke Raspberry Pi, tetapi agar perintah ini berfungsi, pengguna yang menjalankan server harus memiliki izin untuk menjalankan sudo /sbin/reboot dan sudo /sbin/shutdown , ( didefinisikan dalam Makefile ), serta sudo mount dan sudo umount .
Hal ini dapat dilakukan dengan menambahkan baris
USERNAME ALL=NOPASSWD: /sbin/reboot,/sbin/shutdown,/bin/mount,/bin/umount ke /etc/sudoers menggunakan sudo visudo , di mana USERNAME harus diganti dengan nama pengguna pengguna yang menjalankan server. Pastikan untuk menambahkannya setelah konfigurasi sebelumnya untuk pengguna tersebut.
Raspbot diciptakan oleh Ardalan Samimi . Ikon robot dibuat oleh FontAwesome dan dilisensikan di bawah lisensi CC by 4.0.