Mac OS X 10.8.x obsahuje nativně instalaci ruby 1.8.x, kterou je nutné pro správnou funkčnost littlewire.rb povýšit na verzi minimálně 1.9.1. Nejprve ověříme instalovanou verzi ruby pomocí příkazu
$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
Pokud nemáme verzi 1.9.1 a vyšší provedeme upgrade ruby na vyšší verzi. Asi nejjednodušší cesta je použít RVM (“Ruby Version Manager”). Pokud rvm nemáme nainstalovaný, instalaci spustíme příkazem
$ \curl -L https://get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184 100 184 0 0 123 0 0:00:01 0:00:01 --:--:-- 206
100 15779 100 15779 0 0 6919 0 0:00:02 0:00:02 --:--:-- 42302
Downloading RVM from wayneeseguin branch master
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 124 100 124 0 0 148 0 --:--:-- --:--:-- --:--:-- 349
100 1082k 100 1082k 0 0 339k 0 0:00:03 0:00:03 --:--:-- 662k
Upgrading the RVM installation in /Users/test/.rvm/
RVM PATH line found in /Users/test/.bashrc /Users/test/.zshrc.
RVM sourcing line found in /Users/test/.bash_profile /Users/test/.zlogin.
Upgrade of RVM in /Users/test/.rvm/ is complete.
$ rvm list known
Nyní spustíme samotnou instalaci poslední (stable) verze Ruby.
$ \curl -L https://get.rvm.io | bash -s -- --version latest
Samotná instalace Ruby neobsahuje knihovnu littlewire. Pomocí gem si vypíšeme instalované knihovny a případně vyhledáme potřebnou knihovnu na serveru.
$ gem list
*** LOCAL GEMS ***
$ gem search -r littlewire
*** REMOTE GEMS ***
littlewire (0.9.10)
Pokud knihovnu littlewire nemáme v naší instalaci musíme ji nainstalovat.
$ sudo gem install littlewire
Fetching: ffi-1.9.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed ffi-1.9.0
Fetching: libusb-0.3.4.gem (100%)
Building native extensions. This could take a while...
Successfully installed libusb-0.3.4
Fetching: colorist-0.0.2.gem (100%)
Successfully installed colorist-0.0.2
Fetching: thor-0.18.1.gem (100%)
Successfully installed thor-0.18.1
Fetching: littlewire-0.9.10.gem (100%)
Successfully installed littlewire-0.9.10
Parsing documentation for colorist-0.0.2
Installing ri documentation for colorist-0.0.2
Parsing documentation for ffi-1.9.0
Installing ri documentation for ffi-1.9.0
Parsing documentation for libusb-0.3.4
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/libusb-1.0.0.dylib, skipping
unable to convert "\xA0" from ASCII-8BIT to UTF-8 for lib/libusb-1.0.a, skipping
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/libusb-1.0.dylib, skipping
Installing ri documentation for libusb-0.3.4
Parsing documentation for littlewire-0.9.10
Installing ri documentation for littlewire-0.9.10
Parsing documentation for thor-0.18.1
Installing ri documentation for thor-0.18.1
5 gems installed
Ruby library: littlewire.rb
Stručně řečeno littlewire.rb potřebuje minimálně Ruby verze 1.9.1 a instalovanou knihovnu littlewire. Nyní máme vše potřebné pro vyzkoušení přístupu z ruby na Little Wire. Pro oveření si uděláme malý testovací program vypisující verzi firmware Little Wire.
# program vypise verzi firmware Little Wire - bere prvni desticku zasunutou v USB portu
require 'littlewire'
puts "Inicializuji pripojeni na LittleWire!"
wire = LittleWire.connect
puts "Verze fw je : "+ wire.version
Pokud program uložíme do souboru test.rb, můžeme následujícím příkazem soubor spustit a podívat se na výstup.
$ ruby test.rb
Inicializuji pripojeni na LittleWire!
Verze fw je : 1.2
Takto vypadá úspěšné spuštění programu. V případě, že Litte Wire není detekován dostaneme následující výstup (stejně tak pokud program spustíme bez Little Wire v USB portu).
$ ruby test.rb
Inicializuji pripojeni na LittleWire!
test.rb:14:in `<main>': undefined method `version' for nil:NilClass (NoMethodError)
Odkazy
Ruby knihovna pro Little Wire
Installing RVM
https://www.ruby-lang.org/en/libraries/
Žádné komentáře:
Okomentovat