Bahasa Inggris | 简体中文
Layanan BLE untuk mengkonfigurasi wifi melalui bluetooth untuk Raspberry Pi. Anda dapat:
Diuji pada Raspberry Pi 3B/3B+/zero w (model dengan bluetooth) dengan Raspbian.
Untuk mengakses aplikasi sisi klien, silakan gunakan aplikasi WeChat untuk memindai kode QR di atas. Kode sumber sisi klien ada di folder /sugar-wifi-miniapp.
Jika Anda tidak memiliki WeChat, Anda dapat menggunakan web-bluetooth untuk terhubung ke pi Anda. Pastikan perangkat dan browser Anda mendukung api web-bluetooth, kunjungi https://www.pisugar.com/sugar-wifi-conf untuk terhubung. (Diuji pada MacOS dan Android dengan Chrome, browser iOS WebBLE) Kode sumber klien web-bluetooth ada di folder /web-bluetooth-client.
curl https://cdn.pisugar.com/PiSugar-wificonfig/script/install.sh | sudo bash
# the script will add sugar-wifi-conf to /etc/rc.local so that it can run on startup
# edit /etc/rc.local to append parameters to execute path
# param 1: key
# param 2: path to custom config file
# example:
sudo bash /opt/sugar-wifi-config/run.sh pisugar /opt/sugar-wifi-config/build/custom_config.json&
Dengan mengedit file konfigurasi khusus, Anda dapat membiarkan pi menyiarkan data khusus, menerima dan menjalankan skrip shell khusus. Catatan: harap pastikan bahwa file konfigurasi dapat diakses oleh program.
contoh custom_config.json
{
"note": {
"info" : {
"label": "name of the item, within 20 bytes",
"command": "the command to get value of the item, within 20 bytes",
"interval": "run command to get data in every X seconds"
},
"commands": {
"label": "name of the item, within 20 bytes",
"command": "the command to execute"
}
},
"info": [
{
"label": "CPU Temp",
"command": "vcgencmd measure_temp | cut -d = -f 2 | awk '{printf "%s ", $1}'",
"interval": 5
},
{
"label": "CPU Load",
"command": "top -bn1 | grep load | awk '{printf "%.2f%%", $(NF-2)}'",
"interval": 1
},
{
"label": "Memory",
"command": "free -m | awk 'NR==2{printf "%s/%sMB", $3,$2 }'",
"interval": 5
},
{
"label": "UP Time",
"command": "uptime -p | cut -d 'p' -f 2 | awk '{ printf "%s", $0 }'",
"interval": 10
}
],
"commands": [
{
"label": "ls",
"command": "ls"
},
{
"label": "shutdown",
"command": "shutdown"
},
{
"label": "cancel shutdown",
"command": "shutdown -c"
},
{
"label": "reboot",
"command": "reboot"
}
]
}
Anda dapat membuat aplikasi sisi klien Anda sendiri berdasarkan lembar data ini.
Layanan uuid: FD2B-4448-AA0F-4A15-A62F-EB0BE77A0000
karakteristik | uuid | properti | catatan |
---|---|---|---|
SERVICE_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0001 | membaca | nama layanan |
PERANGKAT_MODEL | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0002 | membaca | info model pi |
WIFI_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0003 | memberitahu | nama wifi saat ini |
IP_ADDRESS | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0004 | memberitahu | alamat ip internal |
MASUKAN | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0005 | menulis | masukan untuk mengkonfigurasi wifi (tidak digunakan lagi) |
NOTIFY_MESSAGE | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0006 | memberitahu | respons untuk mengkonfigurasi wifi |
INPUT_SEP | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0007 | menulis | masukan untuk mengonfigurasi wifi (subkontrak) |
CUSTOM_COMMAND_INPUT | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0008 | menulis | masukan untuk perintah khusus (subkontrak) |
CUSTOM_COMMAND_NOTIFY | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0009 | memberitahu | respons untuk perintah khusus (subkontrak) |
CUSTOM_INFO_LABEL | 0000-0000-0000-0000-0000-FD2BCCCAXXXX | membaca | label info khusus |
KUSTOM_INFO | 0000-0000-0000-0000-0000-FD2BCCCBXXXX | memberitahu | nilai info khusus |
CUSTOM_COMMAND_LABEL | 0000-0000-0000-0000-0000-FD2BCCCCXXXX | membaca | label perintah khusus |
karakteristik | format |
---|---|
INPUT_SEP | format: key%&%ssid%&%password&#& (subkontrak dalam 20 btyes) misalnya pisugar%&%home_wifi%&%12345678&#& |
CUSTOM_COMMAND_INPUT | format: key%&%last_4_digit_uuid&#& (subkontrak dalam 20 btyes) misalnya pisugar%&%1234&#& akan menjalankan perintah khusus dengan label uuid yang diakhiri dengan "1234" |
CUSTOM_COMMAND_NOTIFY | subkontrak dalam 20 btyes, diakhiri dengan "&&" |
CUSTOM_INFO_LABEL | label info khusus (FD2BCCCA1234) akan memiliki nilai yang sesuai (FD2BCCCB1234) |
CUSTOM_COMMAND_LABEL | semua perintah khusus dengan disiarkan di uuid "FD2BCCCCXXXX" |