английский | 简体中文
Служба BLE для настройки Wi-Fi через Bluetooth для Raspberry Pi. Ты можешь:
Протестировано на Raspberry Pi 3B/3B+/zero w (модели с Bluetooth) с Raspbian.
Чтобы получить доступ к клиентскому приложению, используйте приложение Wechat для сканирования приведенного выше QR-кода. Исходный код клиентской части находится в папке /sugar-wifi-miniapp.
Если у вас нет WeChat, вы можете использовать Bluetooth для подключения к вашему компьютеру. Убедитесь, что ваше устройство и браузер поддерживают API веб-Bluetooth, посетите https://www.pisugar.com/sugar-wifi-conf для подключения. (Протестировано на MacOS и Android с браузером Chrome, iOS WebBLE) Исходный код веб-клиента Bluetooth находится в папке /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&
Редактируя пользовательский файл конфигурации, вы можете позволить pi транслировать пользовательские данные, получать и выполнять пользовательские сценарии оболочки. Примечание. Убедитесь, что файл конфигурации доступен для программы.
пример 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"
}
]
}
На основе этой таблицы вы можете создать собственную базу клиентских приложений.
Сервисный uuid: FD2B-4448-AA0F-4A15-A62F-EB0BE77A0000
характерный | uuid | характеристики | примечание |
---|---|---|---|
СЕРВИС_ИМЯ | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0001 | читать | имя службы |
УСТРОЙСТВО_МОДЕЛЬ | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0002 | читать | информация о модели пи |
WIFI_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0003 | уведомить | текущее имя Wi-Fi |
IP_АДРЕСС | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0004 | уведомить | внутренние IP-адреса |
ВХОД | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0005 | писать | вход для настройки Wi-Fi (устарело) |
NOTIFY_MESSAGE | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0006 | уведомить | ответ по настройке Wi-Fi |
INPUT_SEP | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0007 | писать | вход для настройки Wi-Fi (субподряд) |
CUSTOM_COMMAND_INPUT | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0008 | писать | ввод для пользовательских команд (субподряд) |
CUSTOM_COMMAND_NOTIFY | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0009 | уведомить | ответ на пользовательские команды (субподряд) |
CUSTOM_INFO_LABEL | 0000-0000-0000-0000-0000-FD2BCCCAXXXX | читать | ярлык с пользовательской информацией |
CUSTOM_INFO | 0000-0000-0000-0000-0000-FD2BCCCBXXXX | уведомить | ценность пользовательской информации |
CUSTOM_COMMAND_LABEL | 0000-0000-0000-0000-0000-FD2BCCCCXXXX | читать | метка пользовательской команды |
характерный | формат |
---|---|
INPUT_SEP | формат: ключ%&%ssid%&%пароль&#& (субподряд за 20 бит), например pisugar%&%home_wifi%&%12345678&#& |
CUSTOM_COMMAND_INPUT | формат: key%&%last_4_digit_uuid&#& (субподряд в 20 бит), например, pisugar%&%1234&#& выполнит пользовательскую команду с меткой uuid, заканчивающейся на "1234" |
CUSTOM_COMMAND_NOTIFY | субподряд на 20 дней, заканчивается на "&#&" |
CUSTOM_INFO_LABEL | пользовательская информационная метка (FD2BCCCA1234) будет иметь соответствующее значение (FD2BCCCB1234). |
CUSTOM_COMMAND_LABEL | все пользовательские команды транслируются в uuid «FD2BCCCCXXXX» |