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  }