sugar wifi conf
1.0.0
英语 | 简体中文
用于通过蓝牙为 Raspberry Pi 配置 wifi 的 BLE 服务。你可以:
使用 Raspbian 在 Raspberry Pi 3B/3B+/zero w(带蓝牙的型号)上进行测试。
如需访问客户端应用程序,请使用微信应用程序扫描上面的二维码。客户端源代码位于/sugar-wifi-miniapp文件夹中。
如果您没有微信,您可以使用网络蓝牙连接到您的树莓派。确保您的设备和浏览器支持 web-bluetooth api,访问 https://www.pisugar.com/sugar-wifi-conf 进行连接。 (在 MacOS 和 Android 上使用 Chrome、iOS WebBLE 浏览器进行测试) web-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 广播自定义数据、接收并执行自定义 shell 脚本。注意:请确保程序可以访问配置文件。
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 | 读 | 服务名称 |
设备型号 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0002 | 读 | pi 型号信息 |
WIFI_NAME | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0003 | 通知 | 当前的无线网络名称 |
IP_地址 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0004 | 通知 | 内部IP地址 |
输入 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0005 | 写 | 用于配置 wifi 的输入(已弃用) |
通知消息 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0006 | 通知 | 配置 wifi 的响应 |
输入_SEP | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0007 | 写 | 配置wifi的输入(分包) |
自定义命令输入 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0008 | 写 | 自定义命令输入(分包) |
自定义命令通知 | FD2B-4448-AA0F-4A15-A62F-EB0BE77A0009 | 通知 | 自定义命令响应(分包) |
自定义_信息_标签 | 0000-0000-0000-0000-0000-FD2BCCCAXXXX | 读 | 自定义信息标签 |
自定义_信息 | 0000-0000-0000-0000-0000-FD2BCCCBXXXX | 通知 | 自定义信息的价值 |
CUSTOM_COMMAND_LABEL | 0000-0000-0000-0000-0000-FD2BCCCCXXXX | 读 | 自定义命令的标签 |
特征性的 | 格式 |
---|---|
输入_SEP | 格式:key%&%ssid%&%password&#&(20字节分包)例如pisugar%&%home_wifi%&%12345678&#& |
自定义命令输入 | 格式:key%&%last_4_digit_uuid&#&(以 20 btyes 为单位的分包)例如 pisugar%&%1234&#& 将执行自定义命令,其标签 uuid 结尾为“1234” |
自定义命令通知 | 分包合同 20 字节,以“&#&”结尾 |
自定义_信息_标签 | 自定义信息标签 (FD2BCCCA1234) 将具有相应的值 (FD2BCCCB1234) |
CUSTOM_COMMAND_LABEL | 所有自定义命令均以 uuid“FD2BCCCCXXXX”广播 |