Hi, I have been playing around with the BBGW and I think it is a great board with many applications in the iot space. At the same time, I spend the last few weeks figuring things out and the lack of documentation is really frustrating. Actually it is not the lack of documentation, but also that some of the documentation is wrong! So if anyone from seedstudio is reading this, please correct the wiki
Here is some of my experiences: My project involves the control of a robot. I am using an orientational sensor (BNO055 from Adafruit), I am planning to use iBeacons for orientation, and I am interfacing to a simple Motor control module L298N. So I figured that all I need are a few GPIOs and the i2c. I am using the newest build for the iot debian: https://rcn-ee.net/rootfs/bb.org/testing/2016-08-07/seeed-iot/BBGW-blank-debian-8.5-seeed-iot-armhf-2016-08-07-4gb.img.xz I found that the BBGW wifi router is not always working. To connect to wifi, I used connmanctl. It is pretty well documented. For bluetooth LE I am using bluepy (https://github.com/IanHarvey/bluepy) this is working fine expect for that python2.7 has an error when excecuting "sudo blescan". It works really nicely on python3 which I wanted to use anyways. Orientational sensor: there is a tutorial on Adafruit on how to get the BNO055 working on the BBB so I thought I try that: https://learn.adafruit.com/bno055-absolute-orientation-sensor-with-raspberry-pi-and-beaglebone-black/software Unfortunately, python-smbus is currently not available as python3 module but I was able to compile it anyway. There is an example script simpletest.py that assumes that the BBB uses i2c-1 and that the reset for the sensor is driven by P9_12 or GPIO_60. The problem is that for newer BBB and BBGW debian distributions there is no i2c-1, there is i2c-0 and i2c-2. i2c-2 is the one that we should use, so I edited the script: bno = BNO055.BNO055(busnum=2, rst='P9_12') Notice that it is not bus=2 but busnum=2 that indicates the use of i2c-2 (Adafruit got that wrong) If you do that I noticed that when I use bluetooth LE, and i2c together then the script fails with I/O error. It took me a week to figure out that BBGW uses GPIO_60 as BLE enable pin (this is not in the BBGW wiki!!!!). Btw, if you want to use GPIO pins be very careful, the BBGW is using many GPIO pins for something and it is completely undocumented. I found that it works with P8_13. Here is the script that I using to get everything installed and compiled: sudo apt-get update # install bluepy python3 sudo apt-get install python3-pip libglib2.0-dev sudo pip3 install bluepy # install python-smbus (from: http://www.linuxcircle.com/2015/05/03/how-to-install-smbus-i2c-module-for-python-3/) sudo apt-get install python3-dev libi2c-dev wget http://http.debian.net/debian/pool/main/i/i2c-tools/i2c-tools_3.1.1.orig.tar.bz2 # download Python 2 source tar xf i2c-tools_3.1.1.orig.tar.bz2 cd i2c-tools-3.1.1/py-smbus/ mv smbusmodule.c smbusmodule.c.orig # backup wget https://gist.githubusercontent.com/sebastianludwig/c648a9e06c0dc2264fbd/raw/2b74f9e72bbdffe298ce02214be8ea1c20aa290f/smbusmodule.c # download patched (Python 3) source python3 setup.py build sudo python3 setup.py install sudo apt-get install -y python-smbus sudo pip3 install Adafruit_BBIO #install BNO055 library cd ~ git clone https://github.com/adafruit/Adafruit_Python_BNO055.git cd Adafruit_Python_BNO055 sudo python3 setup.py install Hope to hear from others and their experience Helmut Strey -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/b34d583c-49f4-4031-b452-adbf049ae6a3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
