- Notifications
You must be signed in to change notification settings - Fork0
Golang framework for robotics, physical computing, and the Internet of Things
License
bonly/gobot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Gobot (http://gobot.io/) is a framework using the Go programming language (http://golang.org/) for robotics, physical computing, and the Internet of Things.
It provides a simple, yet powerful way to create solutions that incorporate multiple, different hardware devices at the same time.
Want to use Javascript robotics? Check out our sister project Cylon.js (http://cylonjs.com/)
Want to use Ruby on robots? Check out our sister project Artoo (http://artoo.io)
Get the Gobot source with:go get -d -u github.com/hybridgroup/gobot/...
package mainimport ("time""github.com/hybridgroup/gobot""github.com/hybridgroup/gobot/platforms/firmata""github.com/hybridgroup/gobot/platforms/gpio")funcmain() {gbot:=gobot.NewGobot()firmataAdaptor:=firmata.NewFirmataAdaptor("arduino","/dev/ttyACM0")led:=gpio.NewLedDriver(firmataAdaptor,"led","13")work:=func() {gobot.Every(1*time.Second,func() {led.Toggle()})}robot:=gobot.NewRobot("bot",[]gobot.Connection{firmataAdaptor},[]gobot.Device{led},work,)gbot.AddRobot(robot)gbot.Start()}
package mainimport ("fmt""time""github.com/hybridgroup/gobot""github.com/hybridgroup/gobot/platforms/sphero")funcmain() {gbot:=gobot.NewGobot()adaptor:=sphero.NewSpheroAdaptor("sphero","/dev/rfcomm0")driver:=sphero.NewSpheroDriver(adaptor,"sphero")work:=func() {gobot.Every(3*time.Second,func() {driver.Roll(30,uint16(gobot.Rand(360)))})}robot:=gobot.NewRobot("sphero",[]gobot.Connection{adaptor},[]gobot.Device{driver},work,)gbot.AddRobot(robot)gbot.Start()}
Gobot has a extensible system for connecting to hardware devices. The following robotics and physical computing platforms are currently supported:
- Ardrone <=>Library
- Arduino <=>Library
- Beaglebone Black <=>Library
- Digispark <=>Library
- Intel Edison <=>Library
- Joystick <=>Library
- Leap Motion <=>Library
- MavLink <=>Library
- MQTT <=>Library
- Neurosky <=>Library
- OpenCV <=>Library
- Pebble <=>Library
- Raspberry Pi <=>Library
- Spark <=>Library
- Sphero <=>Library
Support for many devices that use General Purpose Input/Output (GPIO) havea shared set of drivers provided using the cylon-gpio module:
Support for devices that use Inter-Integrated Circuit (I2C) have a shared set ofdrivers provided using the gobot-i2c module:
More platforms and drivers are coming soon...
Gobot includes a RESTful API to query the status of any robot running within a group, including the connection and device status, and execute device commands.
To activate the API, require thegithub.com/hybridgroup/gobot/api
package and instantiate theAPI
like this:
gbot:=gobot.NewGobot()api.NewAPI(gbot).Start()
You can also specify the api host and port, and turn on authentication:
gbot:=gobot.NewGobot()server:=api.NewAPI(gbot)server.Port="4000"server.Username="Gort"server.Password="klaatu"server.Start()
You may access therobeaux React.js interface with Gobot by navigating tohttp://localhost:3000/index.html
.
We're busy adding documentation to our web site athttp://gobot.io/ please check there as we continue to work on Gobot
Thank you!
- Join our mailing list:https://groups.google.com/forum/#!forum/gobotio
- IRC:
#gobotio @ irc.freenode.net
- Issues:https://github.com/hybridgroup/gobot/issues
- twitter:@gobotio
For our contribution guidelines, please go tohttps://github.com/hybridgroup/gobot/blob/master/CONTRIBUTING.md.
Copyright (c) 2013-2015 The Hybrid Group. Licensed under the Apache 2.0 license.
About
Golang framework for robotics, physical computing, and the Internet of Things
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Go95.3%
- C4.5%
- Other0.2%