sugar wifi conf
1.0.0
영어 | 简体中文
Raspberry Pi의 블루투스를 통해 Wi-Fi를 구성하는 BLE 서비스입니다. 다음을 수행할 수 있습니다.
Raspbian을 사용하여 Raspberry Pi 3B/3B+/zero w(블루투스 지원 모델)에서 테스트되었습니다.
클라이언트 측 앱에 액세스하려면 Wechat 앱을 사용하여 위의 QR 코드를 스캔하세요. 클라이언트 측 소스 코드는 /sugar-wifi-miniapp 폴더에 있습니다.
wechat이 없으면 웹 블루투스를 사용하여 파이에 연결할 수 있습니다. 장치와 브라우저가 웹 블루투스 API를 지원하는지 확인하고 https://www.pisugar.com/sugar-wifi-conf를 방문하여 연결하세요. (Chrome, iOS WebBLE 브라우저를 사용하여 MacOS 및 Android에서 테스트) 웹 블루투스 클라이언트의 소스 코드는 /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 | 속성 | 메모 |
---|---|---|---|
SERVICE_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0001 | 읽다 | 서비스 이름 |
DEVICE_MODEL | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0002 | 읽다 | 파이 모델 정보 |
WIFI_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0003 | 통지하다 | 현재 Wi-Fi 이름 |
IP_ADDRESS | 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 | 형식: key%&%ssid%&%password&#&(20바이트 하도급 계약) 예: pisugar%&%home_wifi%&%12345678&#& |
CUSTOM_COMMAND_INPUT | 형식: key%&%last_4_digit_uuid&#&(20btyes의 하도급 계약) 예를 들어 pisugar%&%1234&#&는 "1234"의 uuid end 라벨을 사용하여 사용자 정의 명령을 실행합니다. |
CUSTOM_COMMAND_NOTIFY | 20btys의 하도급 계약, "&#&"로 끝남 |
CUSTOM_INFO_LABEL | 사용자 정의 정보 라벨(FD2BCCCA1234)에는 해당 값(FD2BCCCB1234)이 있습니다. |
CUSTOM_COMMAND_LABEL | 모든 사용자 정의 명령은 uuid "FD2BCCCCXXXX"로 브로드캐스트됩니다. |