gobot.io/x/gobot@v1.16.0/examples/neurosky.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 package main 6 7 import ( 8 "fmt" 9 10 "gobot.io/x/gobot" 11 "gobot.io/x/gobot/platforms/neurosky" 12 ) 13 14 func main() { 15 adaptor := neurosky.NewAdaptor("/dev/rfcomm0") 16 neuro := neurosky.NewDriver(adaptor) 17 18 work := func() { 19 neuro.On(neuro.Event("extended"), func(data interface{}) { 20 fmt.Println("Extended", data) 21 }) 22 neuro.On(neuro.Event("signal"), func(data interface{}) { 23 fmt.Println("Signal", data) 24 }) 25 neuro.On(neuro.Event("attention"), func(data interface{}) { 26 fmt.Println("Attention", data) 27 }) 28 neuro.On(neuro.Event("meditation"), func(data interface{}) { 29 fmt.Println("Meditation", data) 30 }) 31 neuro.On(neuro.Event("blink"), func(data interface{}) { 32 fmt.Println("Blink", data) 33 }) 34 neuro.On(neuro.Event("wave"), func(data interface{}) { 35 fmt.Println("Wave", data) 36 }) 37 neuro.On(neuro.Event("eeg"), func(data interface{}) { 38 eeg := data.(neurosky.EEGData) 39 fmt.Println("Delta", eeg.Delta) 40 fmt.Println("Theta", eeg.Theta) 41 fmt.Println("LoAlpha", eeg.LoAlpha) 42 fmt.Println("HiAlpha", eeg.HiAlpha) 43 fmt.Println("LoBeta", eeg.LoBeta) 44 fmt.Println("HiBeta", eeg.HiBeta) 45 fmt.Println("LoGamma", eeg.LoGamma) 46 fmt.Println("MidGamma", eeg.MidGamma) 47 fmt.Printf("\n\n") 48 }) 49 } 50 51 robot := gobot.NewRobot("brainBot", 52 []gobot.Connection{adaptor}, 53 []gobot.Device{neuro}, 54 work, 55 ) 56 57 robot.Start() 58 }