Inglês | 简体中文
Um serviço BLE para configurar wifi via bluetooth para um Raspberry Pi. Você pode:
Testado em Raspberry Pi 3B/3B+/zero w (modelos com bluetooth) com Raspbian.
Para acessar o aplicativo do lado do cliente, use o aplicativo Wechat para escanear o código QR acima. O código fonte do lado do cliente está na pasta /sugar-wifi-miniapp.
Se você não possui o wechat, pode usar o web-bluetooth para se conectar ao seu pi. Certifique-se de que seu dispositivo e navegador sejam compatíveis com API web-bluetooth, visite https://www.pisugar.com/sugar-wifi-conf para conectar. (Testado em MacOS e Android com Chrome, navegador iOS WebBLE) O código-fonte do cliente web-bluetooth está na pasta /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&
Ao editar o arquivo de configuração personalizado, você pode permitir que o pi transmita dados personalizados, receba e execute scripts de shell personalizados. Nota: certifique-se de que o arquivo de configuração esteja acessível para o programa.
exemplo 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"
}
]
}
Você pode criar sua própria base de aplicativos do lado do cliente nesta planilha de dados.
Uuid de serviço: FD2B-4448-AA0F-4A15-A62F-EB0BE77A0000
característico | uuid | propriedades | observação |
---|---|---|---|
SERVIÇO_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0001 | ler | nome do serviço |
DEVICE_MODEL | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0002 | ler | informações do modelo pi |
WIFI_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0003 | notificar | nome do wifi atual |
ENDEREÇO_IP | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0004 | notificar | endereços IP internos |
ENTRADA | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0005 | escrever | entrada para configurar wifi (obsoleto) |
NOTIFY_MESSAGE | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0006 | notificar | resposta para configurar wifi |
ENTRADA_SEP | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0007 | escrever | entrada para configuração de wifi(subcontratação) |
CUSTOM_COMMAND_INPUT | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0008 | escrever | entrada para comandos personalizados (subcontratação) |
PERSONALIZADO_COMMAND_NOTIFY | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0009 | notificar | resposta para comandos personalizados (subcontratação) |
CUSTOM_INFO_LABEL | 0000-0000-0000-0000-0000-FD2BCCCAXXXX | ler | rótulo de informações personalizadas |
CUSTOM_INFO | 0000-0000-0000-0000-0000-FD2BCCCBXXXX | notificar | valor das informações personalizadas |
PERSONALIZADO_COMMAND_LABEL | 0000-0000-0000-0000-0000-FD2BCCCCXXXX | ler | rótulo do comando personalizado |
característico | formatar |
---|---|
ENTRADA_SEP | formato: key%&%ssid%&%password&#& (subcontrato em 20 btyes) por exemplo pisugar%&%home_wifi%&%12345678&#& |
CUSTOM_COMMAND_INPUT | formato: key%&%last_4_digit_uuid&#& (subcontrato em 20 btyes) por exemplo, pisugar%&%1234&#& executará o comando personalizado com seu rótulo uuid final em "1234" |
PERSONALIZADO_COMMAND_NOTIFY | subcontrato em 20 anos, terminado em "&#&" |
CUSTOM_INFO_LABEL | um rótulo de informações personalizado (FD2BCCCA1234) terá um valor correspondente (FD2BCCCB1234) |
PERSONALIZADO_COMMAND_LABEL | todos os comandos personalizados serão transmitidos em uuid "FD2BCCCCXXXX" |