1---释放一个什么样的形式 看它的readme
2--简单的代码 从机+广播+服务 不要本地代码
3--封装bash 它的shell很不错
4--怎么沟通的
样子
GitHub - DiscreteTom/ble-raspi-manager: Manage Raspberry Pi using Bluetooth Low Energy
它没有放在里面 全局DiscreteTom
我们是
module mcubemems.com/m_izar_rpi_gw
go 1.16
require (
github.com/GKoSon/zip v0.0.0-20220308064853-0b4e26cbe649
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/fsnotify/fsnotify v1.5.1
github.com/gorilla/websocket v1.4.2
github.com/spf13/viper v1.9.0
tinygo.org/x/bluetooth v0.3.0
)
replace tinygo.org/x/bluetooth v0.3.0 => ./bluetooth_mcube
replace github.com/GKoSon/zip v0.0.0-20220308064853-0b4e26cbe649 => ./zip
它其实是自己fork了项目!!
说一下万能搞 痛点已经说过
Go 项目 小程序守护DNS_GKoSon的博客-CSDN博客
Go 项目 小程序守护DNS
package main
import (
"bytes"
"fmt"
//"github/DiscreteTom/ble-raspi-manager/internal/shell"
"os/exec"
)
/*
shell.go
&
package shell
import (
"bytes"
"os/exec"
)
*/
func RunCommand(command string) (stdout string, err error) {
var stdoutBuf bytes.Buffer
var stderrBuf bytes.Buffer
cmd := exec.Command("bash", "-c", command)
cmd.Stdout = &stdoutBuf
cmd.Stderr = &stderrBuf
if err := cmd.Run(); err != nil {
return "", err
}
stdout = stdoutBuf.String()
return stdout, nil
}
func MustRunCommand(command string) string {
out, err := RunCommand(command)
if err != nil {
panic(err)
}
return out
}
/*
调用.go
wifi.go
&
*/
func getCommandOutput(command string) string {
//out, err := shell.RunCommand(command)
out, err := RunCommand(command)
if len(out) == 0 || err != nil {
return ""
}
return out[:len(out)-1] // remove suffix `\n`
}
func getCurrentIP() string {
return getCommandOutput("ifconfig wlan0 | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\\.){3}[0-9]*).*/\\2/p'")
}
func getCurrentWIFI() string {
return getCommandOutput("iwgetid -r")
}
func getStaticIP() string {
return getCommandOutput("cat /etc/dhcpcd.conf | grep -Eo '^static ip_address=.*' | cut -d'=' -f 2")
}
func getRouter() string {
return getCommandOutput("netstat -nr | awk '$1 == \"0.0.0.0\"{print$2}'")
}
func main() {
fmt.Println("getCurrentIP() ", getCurrentIP())
fmt.Println("getCurrentWIFI() ", getCurrentWIFI())
fmt.Println("getStaticIP() ", getStaticIP())
fmt.Println("getRouter() ", getRouter())
}