aelveborn / Wii-Scale

Turns your Wii Balance Board into a scale and presents your weight on a responsive website. Runs Linux and works on your Raspberry Pi.
http://aelveborn.github.io/Wii-Scale/
GNU General Public License v2.0
116 stars 27 forks source link

Bind-setup.py fails to pair device (../scripts/xwiibind.sh: not found) #25

Closed garbit closed 6 years ago

garbit commented 6 years ago

Hi there,

I'm just trying to get around having to pair each time I use the device by running the bind-setup.py script however I'm getting a script not found on the xwiibind.sh (see below).

pi@raspberrypi:~/Development/Wii-Scale $ sudo python wii-scale/bind-setup.py 
Press the red sync button under the battery hatch
Searching for Wii Balance Board...
Found Wiiboard at address [xx:xx:xx:xx:xx:xx]
/bin/sh: 1: ../scripts/xwiibind.sh: not found
Finishing up..
All done!

The result of this script not being found causes node to crash immediately when you click the connect button (see below).

pi@raspberrypi:~/Development/Wii-Scale $ npm start

> wii-scale@0.0.4 start /home/pi/Development/Wii-Scale
> node scripts/start.js

Listening on 0.0.0.0:8080
^[[A/home/pi/Development/Wii-Scale/scripts/start-python.js:42
        if (error) throw error;
                   ^

Error: lost sys.stderr
    at PythonShell.parseError (/home/pi/Development/Wii-Scale/node_modules/python-shell/index.js:131:17)
    at ChildProcess.<anonymous> (/home/pi/Development/Wii-Scale/node_modules/python-shell/index.js:67:28)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    ----- Python Traceback -----
    File "wii-scale/wii-scale.py", line 222, in <module>
      main(sys.argv[1:])
    File "wii-scale/wii-scale.py", line 184, in main
      board.connect(address)
    File "/home/pi/Development/Wii-Scale/wii-scale/wiiboard.py", line 87, in connect
      self.receivesocket.connect((address, 0x13))
    File "<string>", line 5, in connect
  bluetooth.btcommon.BluetoothError: (112, 'Host is down')
  Exception in thread Thread-3 (most likely raised during interpreter shutdown):
  Traceback (most recent call last):
    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    File "/usr/local/lib/python2.7/dist-packages/socketIO_client-0.6.1-py2.7.egg/socketIO_client/heartbeats.py", line 26, in run
    File "/usr/local/lib/python2.7/dist-packages/socketIO_client-0.6.1-py2.7.egg/socketIO_client/__init__.py", line 25, in wrap
    File "/usr/local/lib/python2.7/dist-packages/socketIO_client-0.6.1-py2.7.egg/socketIO_client/__init__.py", line 163, in _ping
    File "/usr/local/lib/python2.7/dist-packages/socketIO_client-0.6.1-py2.7.egg/socketIO_client/transports.py", line 61, in send_packet
  <type 'exceptions.TypeError'>: 'NoneType' object is not callable
  Unhandled exception in thread started by 
  sys.excepthook is missing

npm ERR! Linux 4.9.24-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! wii-scale@0.0.4 start: `node scripts/start.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the wii-scale@0.0.4 start script 'node scripts/start.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the wii-scale package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/start.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs wii-scale
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls wii-scale
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/Development/Wii-Scale/npm-debug.log

I've also tried calling the script manually through ./xwiibind.sh [wii-board-mac-address]

pi@raspberrypi:~/Development/Wii-Scale/scripts $ ./xwiibind.sh [xx:xx:xx:xx:xx:xx]
Cannot find bluez 'bluez-test-device', 'bluez-simple-agent' or 'bluez-test-input' scripts

Just to make sure I'm not going insane I also ran:

pi@raspberrypi:~/Development/Wii-Scale $ sudo apt-get install bluez
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bluez is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 106 not upgraded.

Update [1]

I've modified bind-setup.py on line 39 to now use a different directory (removed ../) Previous: cmd_wiibind = "../scripts/xwiibind.sh " + address Edit: cmd_wiibind = "scripts/xwiibind.sh " + address

This changing of directory string seems to now call the scripts/xwiibind.sh script however I still have the issue of: Cannot find bluez 'bluez-test-device', 'bluez-simple-agent' or 'bluez-test-input' scripts

Update [2]

Got slightly excited that I could add the device as a paired device using the bluetoothctl command line however this doesn't seem to have worked.

sudo bluetoothctl
scan on
trust [xx:xx:xx:xx:xx:xx]

OS & Hardware

Running on Raspberry Pi 3 model B Raspbian GNU/Linux 8.0 (jessie) Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux

Don't know if it's useful to know but it seems that the pi is currently running blueman 1.99.alpha1 as the bluetooth gui.

diabl0w commented 6 years ago

do you have any more updates on this?

aelveborn commented 6 years ago

If you have any further issues, please try and install the new version of wii-scale. Closing issue.