aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-12-19 01:00:45 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-12-19 01:00:45 +0100
commitb5588b20d8e0bb2a29ac5a656b9b9338090a46e4 (patch)
tree424ef82ed749c2b76362df5eafbb1fbb62990979
parent08b5737e0bf88a44a5d966e5bab4fc33bad058a3 (diff)
wip
-rwxr-xr-xcmd/anki/ankibin0 -> 1881148 bytes
-rw-r--r--cmd/anki/anki.go53
-rw-r--r--vehicle_gatt.go8
3 files changed, 57 insertions, 4 deletions
diff --git a/cmd/anki/anki b/cmd/anki/anki
new file mode 100755
index 0000000..9d18400
--- /dev/null
+++ b/cmd/anki/anki
Binary files differ
diff --git a/cmd/anki/anki.go b/cmd/anki/anki.go
new file mode 100644
index 0000000..33799e7
--- /dev/null
+++ b/cmd/anki/anki.go
@@ -0,0 +1,53 @@
+package main
+
+import (
+ "log"
+
+ "github.com/dim13/goble"
+)
+
+func main() {
+ ble := goble.New()
+ ble.SetVerbose(true)
+ ble.On(goble.ALL, func(ev goble.Event) (done bool) {
+ log.Printf("ALL: %+v", ev)
+ return
+ })
+ ble.On("stateChange", func(ev goble.Event) (done bool) {
+ log.Println("State:", ev.State)
+ switch ev.State {
+ case "poweredOn":
+ ble.StartScanning(nil, false)
+ default:
+ ble.StopScanning()
+ done = true
+ }
+ return
+ })
+ ble.On("discover", func(ev goble.Event) (done bool) {
+ log.Printf("Discover: %+v", ev)
+ for _, sid := range ev.Peripheral.Advertisement.ServiceUuids {
+ if sid == "be15beef6186407e83810bd89c4d8df4" {
+ ble.Connect(ev.DeviceUUID)
+ }
+ }
+ return
+ })
+ ble.On("connect", func(ev goble.Event) (done bool) {
+ log.Println("Connect:", ev.DeviceUUID)
+ log.Println("SUIDs:", ev.Peripheral.Advertisement.ServiceUuids)
+ ble.DiscoverServices(ev.DeviceUUID, nil)
+ return
+ })
+ ble.On("servicesDiscover", func(ev goble.Event) (done bool) {
+ for sid, service := range ev.Peripheral.Services {
+ log.Printf("SID: %+v", sid)
+ ble.DiscoverCharacterstics(ev.DeviceUUID, service.Uuid, nil)
+ }
+ return
+ })
+ ble.Init()
+
+ done := make(chan bool)
+ <-done
+}
diff --git a/vehicle_gatt.go b/vehicle_gatt.go
index a4e6bff..accb09c 100644
--- a/vehicle_gatt.go
+++ b/vehicle_gatt.go
@@ -1,7 +1,7 @@
package anki
-const (
- ServiceUUID = "BE15BEEF-6186-407E-8381-0BD89C4D8DF4"
- ChrReadUUID = "BE15BEE0-6186-407E-8381-0BD89C4D8DF4"
- ChrWriteUUID = "BE15BEE1-6186-407E-8381-0BD89C4D8DF4"
+var (
+ ServiceUUID, _ = ParseUUID("BE15BEEF-6186-407E-8381-0BD89C4D8DF4")
+ ChrReadUUID, _ = ParseUUID("BE15BEE0-6186-407E-8381-0BD89C4D8DF4")
+ ChrWriteUUID, _ = ParseUUID("BE15BEE1-6186-407E-8381-0BD89C4D8DF4")
)