All posts by jkridner

Co-founder of BeagleBoard.org Jason Kridner is the co-founder of the BeagleBoard.org Foundation, a US-based 501(c) non-profit corporation existing to provide education in and promotion of the design and use of open-source software and hardware in embedded computing. As a more than 20 year veteran of Texas Instruments and the semiconductor industry, Kridner has deep insights into future of electronics, pioneering both TI's and the semiconductor industry's open source efforts and engagements with open hardware. In his free time, Kridner uses BeagleBone Black to explore his creativity with creations like the StacheCam, which uses a webcam and computer vision to detect faces and superimpose fancy mustaches.

2017-03-19 BeagleBone Debian images published

Debian 8.7 (Jessie) 2017-03-19 images are now published on https://beagleboard.org/latest-images, but this version isn’t likely to live more than a few weeks before we push yet another. The big update here is eliminating the need to install drivers for any of Windows, Mac or Linux host users when working over USB networking. This was accomplished by updating the default RNDIS interface to use a USB class/subclass/protocol recommended by Microsoft for users of Windows Vista and newer. To support Mac OS X out of the box, we added a second virtual network interface supporting the CDC-ECM mode, rather than RNDIS.

Mac users are no longer recommended to install HoRNDIS, but man do we appreciate all that Joshua Wise did in supporting the BeagleBoard.org community by creating that product and continuing to resolve issues around it on subsequent OS X releases. Mac users should now be able to discover their boards using http://beaglebone.local as Bonjour/Avahi/mDNS is a standard service on OS X, but note that http://192.168.6.2 should be the new magic IP address for this new interface.

One issue I’ve seen on Macs with the latest image is the interface now shows itself as a gateway, encouraging you to drive traffic through this port—and that could mess up your connection to the Internet. Your BeagleBone should proxy the traffic fine if it is connected to the Internet, but the DNS proxy isn’t working the best, meaning you might not be able to look up the names of servers on the Internet. One quick work-around is to apply the Google DNS servers (8.8.8.8, 8.8.4.4) to your new network adapter. There are many alternatives to that, but those are ones I know off the top of my head. I think we should be able to address this whole experience issue by asking Joshua how he avoided the issue with HoRNDIS—and that is the next step.

The other big updates here are some fixes to BoneScript (0.6.1) and libroboticscape (0.3.4) for BeagleBone Blue, the new robotics-focused BeagleBone. Many feature gaps and bugs remain, but this fixes some of the immediate show-stoppers for people getting started. Now that the board is out there in 1,000s of users hands, I expect the bug reports to start rolling in and we can use that to drive immediate development to resolve issues.

So, long live 2017-03-19…. but not very long.

Advertisements

Beagle Entertainment System Cartridge Console

BeagleBoard.org Blog

screenshot-from-2017-01-04-23-19-02

Fresh off his PhD dissertation, Andrew Henderson decided turn his Beagle Entertainment System (BES) into a tiny SNES cartridge console!

Beagle Entertainment System Cartridge Console

The Beagle Entertainment System (BES) is a suite of emulators with a GUI front-end that makes retrogaming on the BeagleBone Black simple and straightforward. It provides two SNES controller ports that use a BBB programmable realtime unit (PRU) to bitbang the controller protocol using GPIOs. This provides very low-latency controller inputs to the emulators, no matter how busy the main CPU is.

I started with a design using some Adafruit component boards I had sitting around: the ILI9340 320×240 TFT LCD, a four-channel BSS138 FET line-level converter, and a DS1307 RTC breakout board. I spent some time breadboarding the setup, using Fritzing for planning. The plan was to provide a status screen for the console using the LCD, native SNES gamepad…

View original post 156 more words

Hackerboat

BeagleBone Black on an around-the-world voyage…

BeagleBoard.org Blog

Pierce Nichols and the Hackerbot Labs team are building an autonomous boat capable of doing sonar surveys of dive sites:

Hackerboat

An autonomous boat of unusual size

Pierce recently wrote about the latest news from the project:
screenshot-from-2016-08-26-18-48-39.png

Hackerboat Progress

View original post

Baby Monitor using BeagleBone and MIMO Smart Baby Monitor sensor (part 1)

I’m a new dad and consider myself a technology innovator, so it is probably to be expected that I’d look for high-tech ways to monitor my baby, beyond the standard remote cameras. Of course, not all the ways I want to monitor are really easy to reproduce, but the folks at Rest Devices have done something scalable. They created the MIMO Smart Baby Monitor. It uses Bluetooth Low Energy to send data back from the sensor, making it very easy to connect to a BeagleBone Black (or SeeedStudio BeagleBone Green) using a BLE dongle (such as http://www.amazon.com/Plugable-Bluetooth-Adapter-Raspberry-Compatible/dp/B009ZIILLI as we did in https://jkridner.wordpress.com/2014/07/08/ibm-tutorial-on-using-ti-sensortag-with-beaglebone-black/).

The most critical reason I chose to do this is because I don’t want to rely on a cloud service to monitor my child. While I appreciate having the phone app and relatively reliable proxy of the Rest Devices provided cloud service, I really wanted to make sure I had reliable monitoring and notifications within the home, not depending on any network other than between my BeagleBone and the sensor itself. With this sort of setup, I am also looking at eventually automating the bottle warmer such that I have a warm bottle available right as he’s starting to stir. Of course, I still want to be able to visualize things on a web page, but this time just one served up in my private network on a BeagleBone.

For this part 1 article, I’m just going to show you how I started to extract the data. I’ll start looking at analyzing real-world data in part 2.

For my setup, I opted to use an inexpensive Chromebook so that I could hack and monitor via a local web interface. Eventually, I’ll plug the BeagleBone in to wall-wart power and wire it via Ethernet to my local LAN.

mimo_connect_1

I started with the ‘bluez’ tools and the ‘hcitool’ in particular. It took me a second to note that scanning for BLE devices mean using the ‘lescan’ argument.

root@beaglebone:/var/lib/cloud9# hcitool lescan
LE Scan ...
9C:20:7B:A2:1A:5F (unknown)
9C:20:7B:A2:1A:5F (unknown)
68:D9:3C:91:EA:80 (unknown)
7C:D1:C3:00:DA:1E (unknown)
68:D9:3C:91:EA:80 (unknown)
00:07:80:77:C4:5A (unknown)
00:07:80:77:C4:5A
7C:D1:C3:00:DA:1E (unknown)
C1:87:44:21:74:CD (unknown)
C1:87:44:21:74:CD fA7

To figure out which of these devices is actually the MIMO sensor, I opted to utilize a Python library called ‘bluepy’. I discovered it had some simple tools for reading BLE endpoints. Installing ‘bluepy’ was done trivially with ‘pip’. Other devices tended to show some identifying information. Some guesswork led me to believe this was the right sensor.

root@beaglebone:/var/lib/cloud9# python /usr/local/lib/python2.7/dist-packages/bluepy/btle.py 00:07:80:77:C4:5A
Connecting to: 00:07:80:77:C4:5A, address type: public
Service :
 Characteristic , supports NOTIFY READ
 -> '\xaa\xed\x18\x01\x01\x00\x00\x9d\x00R\x86Y'

At this point, I needed to adapt an example for ‘bluepy’ to read this data repeatedly. I called the Python code ‘readturtle.py’:

import binascii
import struct
import time
from bluepy.btle import UUID, Peripheral
uuid = UUID("d96a513d-a6d8-4f89-9895-ca131a0935cb")
 
p = Peripheral("00:07:80:77:C4:5A", "public")
 
try:
 ch = p.getCharacteristics()[0]
 if (ch.supportsRead()):
  while 1:
   val = binascii.b2a_hex(ch.read())
   print str(val) + ""
   time.sleep(1)
 
finally:
 p.disconnect()

Running ‘python readturtle.py’ gave me some results.

root@beaglebone:/var/lib/cloud9# python readturtle.py
 
aaed1800ab00000000000000000000d8e2ca9258
aaed1800a600000000000000000000d7f9ca9558
aaed1800a1000000000000000000001d380a9558

This looked interesting, but it wasn’t obvious to me what the data meant. I figured I could try to reverse-engineer it by applying various stimulus and looking at the changes, but I’ve also been monitoring the Quantified Self forums off and on for a while; I figured it wouldn’t hurt to ask if anyone was trying the same thing. Amazingly, an individual from Rest Devices hopped on and gave me a sufficient break down of the data format (respiration, motion, temperature, etc.) that I should be able to move forward quickly now.

https://forum.quantifiedself.com/t/tapping-into-mimo-smart-baby-monitor/1758

For the on-going work, keep a look out for my next blog post where I actually visualize some respiratory data from my baby. Also, check out my notes and code on my Github gist at:

BeagleBone Green Hands-On: Lower Price, Same Horsepower

Hackaday gets its hands on a @beagleboardorg compatible SeeedStudio #BeagleBoneGreen

Hackaday

Although the BeagleBone Green was announced at the Bay Area Maker Faire last May, there hasn’t been much said about it on the usual forums and IRC channels. Now, it’s finally out and I got my hands on one of them. Through a cooperation between the BeagleBoard foundation and Seeed Studios, the best small Linux board for doing real work with small Linux boards is now cheaper, a little more modern, and green.

The BeagleBone Green is an update to the venerable BeagleBone Black, the dev board based on a TI ARM Cortex-A8. It’s an extremely capable machine with a few interesting features that make it the perfect device for embedded applications. With the BeagleBone Green, the BB Black gets a small hardware refresh and a drastic reduction in price. If you want to do real work on a Linux board, this is the one to get. Check out the review…

View original post 708 more words