Gobot – programowanie robotów w języku Go.

Język Go wymyślili pracownicy Google. Był on rozwinięciem języka C w nieco inną stronę niż C++. Czerpał raczej z języków dynamicznych jak JS i Python. Głównie dlatego, że miło, wygodnie i szybko realizujemy w nich nasze pomysły. Dodatkowymi możliwościami tego języka było silne wsparcie dla programowania wielowątkowego.
Jednym z większych sukcesów było włączenie języka Go do platformy AppEngine – hostingu usług internetowych w ramach chmury Google.

Język mimo tego, że jest stosunkowo młody zdołał zebrać dużo fanów. Pojawił się także projekt Gobot.io, który rozwija biblioteki pomocne w programowaniu płytek kontrolerów w tym języku.

Najnowszym osiągnięciem twórców biblioteki jest przystosowanie jej do płytki Intel Edison.

Przykładowy program na tą płytkę wygląda tak:

package main

import (
    "time"

    "github.com/hybridgroup/gobot"
    "github.com/hybridgroup/gobot/platforms/gpio"
    "github.com/hybridgroup/gobot/platforms/intel-iot/edison"
)

func main() {
    gbot := gobot.NewGobot()

    e := edison.NewEdisonAdaptor("edison")
    led := gpio.NewLedDriver(e, "led", "13")

    work := func() {
        gobot.Every(1*time.Second, func() {
            led.Toggle()
        })
    }

    robot := gobot.NewRobot("blinkBot",
        []gobot.Connection{e},
        []gobot.Device{led},
        work,
    )

    gbot.AddRobot(robot)

    gbot.Start()
}

Bibliotekę możesz znaleźć w serwisie Github

Jeśli preferujesz inne języki, jak C++, Python lub NodeJs, intel sam przygotował biblioteki pod nie.

sprae

Intel Edison

Podczas swoich targów IDF, pracownicy z firmy Intel zaprezentowali nowy klocek do budowy internetu rzeczy – Intel Edison. Tym razem jest on wielkości znaczka pocztowego.

image
Zdjęcie pochodzi z dokumentacji firmy Intel

Jego wymiary to 3,5 na 2,5 cm.

Jak przystało na Intela w środku znajdują się 32 bitowe procesory x86 znane z komputerów PC. Pierwszy z nich to 2-rdzeniowy Intel Atom pracujący z zegarem 500 MHz.
Dodatkowym procesorem jest Intel Quark działający z prędkością 100 MHz. Quark pełni rolę kontrolera, który zapewnia obsługę pinów w czasie rzeczywistym.
Procesory mają do dyspozycji 1 GB pamięci RAM i 4 GB pamięci Flash.

Płytka posiada jeszcze komunikację w standardzie WI-Fi oraz Bluetooth 4.0.

System operacyjny obsługujący ten komputer to Linux w dystrybucji Yocto 1.6. Działa on na procesorze Atom.
Na procesorze Quark działa RTOS – system czasu rzeczywistego.
Płytkę można programować za pomocą Arduino IDE, C, C++, Pythona, Nodejs i języka Wolfram.

Piny z płytki wyprowadzone są na bardzo małe 70-pinowe złącze. Podobne do tego w wyświetlaczach telefonów komórkowych. Na złączu znajduje się 40 pinów GPIO. Piny działają na poziomach napięć 1.8 V.
Ich dodatkowe funkcje to:

  • Obsług karty SD
  • Serial RS232
  • I2C
  • SPI
  • I2S
  • 4xPWM
  • USB 2.0 Host

Reszta pinów zapewnia jakieś inne funkcje interfejsów bez GPIO. Domyślam się, że jest to magistralą PCIe i porty USB.

Żebyśmy nie musieli się męczyć z tym maleńkim złączem. Twórcy płytki opracowali dwie płytki adapterów. Jedna do programowania ze złączami USB, a druga w formacie Arduino 1.0.

Pracownicy Sparkfun we współpracy z firmą Intel opracowali więcej płytek adapterów. Ich funkcje można poznać na poniższym filmie promocyjnym:

Sama płytka kontrolerów ma kosztować $50 USD. Na razie dostępna jest w przedsprzedaży.