This is some information to help me remember what I’m doing with a BeagleBone Black Wireless. This is intended to be the core of a custom piece of battery powered hardware and as such we need fast boot time, low power consumption, no X-Windows, no HDMI, etc.
Sources of information
I’m basing this work on https://jumpnowtek.com/beaglebone/BeagleBone-Systems-with-Yocto.html but also needed https://subscription.packtpub.com/book/hardware_and_creative/9781785289736/1/ch01lvl1sec11/let-s-build-for-beaglebone since the JumpNowTek instructions didn’t quite work. I wanted to use Yocto because this https://embexus.com/2017/05/16/embedded-linux-fast-boot-techniques/ implies I should be able to get the resulting image to boot in under 1 second.
Build Host and Process
My normal development host is a MacBook Pro but that doesn’t have an SD-Card slot so for this project I’ve taken an older Intel i5 HP laptop and installed Ubuntu 18.04 on that. I then use XQuartz on the Mac to run X-Terms on the Ubuntu system. The Beaglebone is connected to that laptop by FTDI serial cable for the console and USB for power.
- Support Ethernet over USB since a colleague uses that to update the app.
- Get a BootP server running so I can try different Root OS setups without using the SD Card.
One of the problems with setting up a blog area is I rarely want to broadcast anything. Also a lot of the real work I am doing at the moment is covered by enough NDAs that it doesn’t seem right to publish anything about it. However something I have done for a number of years is contribute to the SquirrelSQL java-based SQL client. That client is shipped with a number of templates for JDBC connections and the mailing list was asked to incorporate the Infiniflux db into that list.
In principle fine, they have a standard jdbc url format of jdbc:iflux://<server>:<port>/<database>, however I also downloaded the standard edition of the database to test that. Installing their DB server didn’t work initially using their .deb install package into a new build of Ubuntu 16.10 server running in VirtualBox. Eventually I found their manual install instructions which worked perfectly, so if anyone else feels the need to install Infiniflux, that would be my recommendation.
Given this is a new venture for me I thought I’d start trying to keep a blog of what I am doing. Throughout my career I have taken the view that if you understand what you want to achieve and why then you can normally work out how to do things. Applying that to IT, I’ve not yet found a problem I cannot work out the answer to. Anything run-of-the-mill I’m sure a specialist will fix quicker, however anything unusual I believe I can sort out better than most.
Over the last month and a half since I started this phase in my career, I have
- Sorted out the ethernet connectivity from an embedded microcontroller – a client has some custom hardware based around the Atmel SAM9XE being managed through TCP connectivity back to a windows host. The microcontroller ethernet drivers were unreliable under heavy network load.
- Significantly upgraded the Windows GUI application used for managing the above.
- Advised a client on how to use the PostgreSQL C++ client libraries from WPF applications.
- Started working with a client on the design and development of Apple HomeKit devices.
A wide and varied range of technologies however the common theme is the technical element of the solution isn’t the difficult piece. Understanding the outcome the client wishes to achieve is much more difficult but much more important.