News

V0.8.0 Release Announcement

Added by Michael J. Hammel 4 months ago

PiBox Development Platform / PiBox Media Server 0.8 Release Notes

Additional Information

General Status
------------------------------------------
The system boots cleanly and will properly mount/unmount SD cards with movies that it exports via Samba. The web interface provides a network configuration utility and a streaming web cam that uses mjpeg to easily pass through firewalls. Audio support is integrated. Most work to this point has focused on stabilizing the platform with respect to a reasonable kernel/rootfs and wifi support.

Where this is headed
------------------------------------------
The PiBox Media Server is now 1.0 is planned to support the TI Sensor Tag displayed in the web interface and on an attached 2.8" touch screen display. It will stream movies over Samba from USB-mounted flash sticks. It may be add analog line support for managing heating/cooling in my travel trailer. I have to find out what replacing the current control will entail. I would like to integrate BLE support of Arduino-based control for the window blinds as well.

Additional work is planned on improving boot times and integrating XBMC (or similar) package for the PiBox Media Player.

0.8 Development Summary:
------------------------------------------
  • Migrated to Crosstool-NG 1.19.0 w/gcc4.7
  • Migrated to Linux Kernel 3.10.y (3.10.31+ github.com/raspberrypi/linux)
  • Migrated to Buildroot 2013.11
  • Dropped WebKit and associated browsers (unstable)
  • Re-enabled Network Settings in web server for external browser access
  • Completed Network Settings Access Point configuration in web server
  • Improved USB device driver loading
  • Added minimal static Busybox rootfs build to test xcc/kernel rev's.
  • Added compiled RaspberryPi Userland tools to rootfs
  • Fixed X restart that was sometimes locking up with newer kernels
  • Rev'd xorg fbdev driver to 0.4.4.
  • Added fbturbo xorg driver (hardware accelerated X for RPi) but have not made it default yet.
  • Added some USB Wifi dongle support, but noted rt2800usb is probably broken
  • Improved and sped up SD card creation process
0.9 Plans
------------------------------------------
  • Implement authentication for web interface
  • Port RTL8188CUS driver to PiBox
  • Add kernel/userspace support for Bluetooth Low Energy (BLE)
  • Clean up default boot processing, including initial network config
  • Integrate 2.8" TFT LCD touchscreen
Development Status:
------------------------------------------
  • Total issues: 148
  • Closed/Resolved: 115
  • In Progress: 9
  • New since last release: 29
  • Closed/Resolved since last release: 30

-----------------------------------------------------
Repository: mjpg
-----------------------------------------------------
RM #293: Bump to 0.8.0
RM #277: Add Changelog removal to clobber target.

-----------------------------------------------------
Repository: monkey
-----------------------------------------------------
RM #293: Bump to 0.8.0.
RM #277: Add Changelog removal to clobber target.

-----------------------------------------------------
Repository: piboxd
-----------------------------------------------------
RM #293: Bump to 0.8.0.

-----------------------------------------------------
Repository: piboxwww
-----------------------------------------------------
RM #266: Move php setMode() call from javascript saveIt() to setNetMode() to fix switching between wifi client and access point configuraiton.
RM #284: Enable Settings page for external browsers.
RM #293: Bump to 0.8.0.
RM #277: Add Changelog removal to clobber target.

-----------------------------------------------------
Repository: psp
-----------------------------------------------------
RM #293: Bump to 0.8.0.
General: Cleanup build to remove unused Make variables and target dependencies.
RM #268: Cleaned up the MIOT logo. Added a specs file describing layout in XCF file. Updated README to reference "miot" prefix instead of "logo" prefix.
RM #267: Commented out creation of debug file.

-----------------------------------------------------
Repository: rpi
-----------------------------------------------------
RM #292: Remove unused sed replacement in busybox build when copying over saved config to build tree. RM #292: Replace hard coded path with tag in default saved configuration for busybox. RM #292: Replace hard coded path with tag in minimal saved configuration for busybox.
General: Bump to 1.19.0.
General: bump version to 0.8.0.
General: Code cleanup - tabs to spaces.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #288: Rev xorg fbdev driver to 0.4.4.
RM #291: Changed local kernel config name so it doesn't include git id. RM #287: Disabled NFS in the kernel and rootfs. RM #231: Disabled all unused filesystems.
RM #291: Change KERNEL_CFG to KERNEL_SAVECFG so its a little more obvious what the variable is being used for.
RM #291: Make saveconfig use KERNEL_CFG as the saved file name.
RM #291: Remove GIT ID from KERNEL_CFG, which is the name of the config file saved in our tree.
RM #288: Changed S90UI to killall -1 X instead of killall xinit and place a 1 second delay before restarting. This seems to alleviate the problem most of the time.
RM #289: Add notes about 8188CUS-based wifi dongles.
RM #286: Remove web submenu from default blackbox configuration.
RM #278: Note problems in usbhandler.conf with rt2800usb driver in 3.6+ kernels.
General: Fix rpifw to pull from the specified version but then checkout the specified git ID.
RM #172: Make Crosstool-NG v1.19.0 the default.
RM #286: Disabled surf, midori and webkit. RM #287: Disabled portmap.
RM #172: For ctng 1.19.0 - Bump kernel to 3.10.2, Bump GCC to 4.7.3 (non-Linaro).
General: Don't mount /proc/bus/usb with 3.10.y kernel and remove unused X startup in inittab.
General: Update build.help to discuss use of minimal Busybox build.
RM #282: Updated Busybox build to allow building a minimal rootfs that will boot to a shell prompt. This is only useful for testing new toolchains since a full rootfs can take hours to complete while this rootfs takes about 90 seconds. The resulting rootfs.ext3 will replace the one in the package directory when busybox-pkg is run so you need to be careful to save off your previous Buildroot-generated rootfs is you need to save it.
RM #282: Add -ext3 target and ability to make Busybox the rootfs for testing.
RM #282: Allow specifying an alternate configuration other than the default used by Buildroot.
General: Add RealTek rtl8192cu support.
General: Make sure kernel firmware repo gets a pull on each build to pick up new firmware.
General: change unavailable groups (video, rfkill) to root.
RM #279: Switched git archive repo to use KSRC name instead of creating a new archive for each branch.
RM #279: Add KSRC to top level showconfig target.
RM #278: Allow setting kernel branch/commit id on command line with KB.
RM #277: Enable XBMC and tinyxml so crtmpserver will compile.
RM #273: Make default kernel repo branch 3.10.y, using the 3.10.31 revision. This works with changes to the rootfs to load usb drivers.
RM #273: Add init script to load USB drivers on boot. Turn off debugging by default in blockhandler.sh.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #273: Add missing helper scripts. Only copy over mdev.conf if one doesn't already exist. Added mdevdebug.sh to tree.
RM #176: Rev'ed kernel configuration for latest 3.10.y tree. Fixed bug in kernel-git.cfg to KV works correctly. Merged mdev.conf with nldev.conf.
RM #273: Added nldev to package for Buildroot 2013.11.
RM #214: Added RPi Userland tools to rootfs.
RM #272: Port fbturbo X.org driver to 2013.11 release.
RM #271: Better use of blkid to find file system type. Fixes use with /dev/sda1 (inserted usb stick).
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #235: Add blkid with filesystem type support.
RM #271: Fixed blockhandler to work with Busybox 1.21.1 and Buildroot 2013.11. Change the way blkid is used because it's now Busybox's version instead of Buildroot's (which went away). Add special handling for mmc card when testing for "removable" fails.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox Merging Busybox 1.21.1 bump to Buildroot build.
RM #219: Removed references to uClibc from xcc build.
RM #270: Fixed mke2fs to use -F option to prevent prompting user.
RM #235, RM #269: Bump Busybox to 1.21.1, with mktemp added.
RM #235: Bump Busybox to 1.21.1 in Buildroot 2013.11
RM #235: Bump Buildroot to 2013.11 as the default build.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #265: Fix make target to generate rootfs.ext3 file instead of ramdisk.ext3 so it matches mkinstall.sh.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #235: Add support for building Buildroot 2013.11. This is not the default yet, however.
RM #243: Updated S00dev to recreate /var/lib (including missing alsa directory) on firstboot. This gets rid of the missing v4recovery directory message
RM #256: Change regex to for mountable devices to help with mounting system SD card on boot.
RM #242: Add missing group lp to remove extraneous error on boot from dbus.
RM #256: Updated blockhandler.sh to mount 1st sd card partition on boot.
RM #265: Switch to using rootfs.ext3 and dd to write to SD card during install.
Merge branch 'master' of ssh://gitorious.org/pibox/pibox
RM #128: Added hardware accelerated X.org driver to build. Driver is not stable so it's not being used yet.
RM #176: Add support for 3.10.y kernel tree. This is not the default yet, but it does boot. It needs to be tested with the rest of the rootfs and opkgs to make sure it has the right default kernel config.

-----------------------------------------------------
Repository: rtmp
-----------------------------------------------------
RM #293: Bump to 0.8.0.
General: Cleanup Changelogs on clobber.

V0.7.0 Release Announcement

Added by Michael J. Hammel 6 months ago

PiBox V0.7.0 is now available for download, both in source and SD card installation packages. This release has numerous bug fixes along with a new network configuration UI in the web interface.

The 0.7.0 release continues to focus on supporting the release of the PiBox Media Server.

Major changes for 0.7.0
  1. Added support for auto mounting flash-media devices, such as USB flash sticks.
  2. Add support for flipping webcam display (in case webcam is upside down)
  3. Fix webcam streaming to tablets over web interface
  4. Fix media streaming to tablets using SMB
  5. Updated web interface with localhost-only network configuration option
  6. Added boot splash opkg

See attached changelogs for PiBox and associated packages.

Upcoming for 0.8.0
  1. Complete Access Point migration from bui-network-config to web based UI
  2. Add hardware accelerated X.org driver
  3. Verify sound support
Future development plans
  1. Integrate touch screen for use with PiBox Media Server
  2. Add support for BLE (Bluetooth Low Energy) devices, such as weather and geolocation sensors
  3. Review integration process for Wifi Direct support
  4. Complete integration of XBMC opkg for Media Player
Additional Information

Notes on archive locations:
I'm currently using Ubuntu One which is fine for limited storage requirements. However, I find I'd rather have my own dropbox. Turns out there is an open source version that seems to work pretty good: ownCloud

I'm researching its setup and use for PiBox and related projects. More to come on this later.

V0.6.0 Release Announcement

Added by Michael J. Hammel 9 months ago

PiBox V0.6.0 is now available for download, both in source and SD card installation packages. This release marks the first version containing a collection of add-on packages whose purpose is to support one of the two target products being based on PiBox.

Since the 0.5.0 release, PiBox has been structured into a core release on which select products are being developed.
  1. PiBox Development Platform: A platform for custom development of embedded solutions based on the Raspberry Pi.
  2. PiBox Media Server: A media server that can stream webcams and video files or serve them up as NFS files.
  3. PiBox Media Player: A media player based on XBMC or other media players

PiBox Development Platform is ready. It can easily be modified to provide additional features in the core image at build time but is intended to be extended with opkgs.

PiBox Media Server's prototype is ready. It currently streams from a USB webcam and is initially intended for use in small trailers as a simple rear-view camera that can be monitored from the tow vehicle. Additional work is needed to provide support for streaming video files to tablets via USB mounted SD cards. Future development will include support for USB digital TV sticks that can be streamed to the Media Player. Support for temperature, humidity and air flow should be easy to add in the near term. A small touch screen will be integrated to display current configurations and sensor readings. A prototype touch screen is on order. The media server will utilize an externally powered USB hub. Plans are to integrate (and possibly custom design) a USB hub with external connectors that will allow installation in travel trailers to be more cleanly integrated with cabinetry.

PiBox Media Player is partially done but needs more work. XBMC is not properly tested and sound has not been tested. Additionally, playback with hardware accelerated media players needs to be integrated as opkgs. The media player is intended to work with lightweight DLP projectors via HDMI, with the intent that we display on the side of the trailer for a "personal Drive In Theater" experience (using headphones, to avoid annoying the neighbors). This work is waiting on the Media Server to be completed.

Both the Media Server and Media Player need work on the web server to support configuration of the devices. Currently this is done with bui-network-config, a GTK+ application. What should be done is to port the file configuration support from bui-network-config into piboxd and then use the web server to send commands and data to piboxd to perform the configuration.

The initial target market for these devices are travel trailers, as a replacement for overweight TVs and supporting video players. However, this is just an initial target audience and the applicability of these devices to other audiences needs to be explored.

The web site is fully updated to reflect these design changes and is (hopefully) more helpful to those wishing to try out PiBox.

Changes for 0.6.0
See attached changelogs for PiBox and associated packages.

Also:
Dropped development of DisplayLink support as that device was stolen. It will be replaced by a touch screen display that directly connects to the Raspberry Pi's GPIO pins, which will later serve as a sensor and monitor interface.

Upcoming for 0.7.0
  1. Fix streaming to tablets
  2. Add support for flipping display (in case webcam is upside down)
  3. Clean up web interface
  4. Add boot splash
  5. Add support for auto mounting USB connected media files
Future development plans
  1. Integrate touch screen for use with PiBox Media Server
  2. Port bui-network-config into piboxd and integrate into web interface
Additional Information

Notes on archive locations:
I'm currently using Ubuntu One which is fine for limited storage requirements. However, I find I'd rather have my own dropbox.
Turns out there is an open source version that seems to work pretty good: ownCloud
I'm researching its setup and use for PiBox and related projects. More to come on this later.

PiBox Media Server streams webcam as Flash

Added by Michael J. Hammel 10 months ago

PiBox Media Server 1.0 (beta 0.6.0) is about to be released. I need to do some packaging first, but that release is tested and working. I can stream from the USB webcam using flash to tablets or my desktop. So now I need a plan for where to take this next.

My goal is to create a kickstarter campaign to fund development of the 2.0 product, which I hope will be a financially self sustaining product, using the 1.0 release as the product for the kickstarter campaign. To do this I need a plan for what I'm creating and what I want to do next. I've created that as an issue (RM #226) to track my planning, but here it is again just to get the word out about what I'm planning.

PiBox is now multiple projects:
  1. PiBox: A platform for custom development
  2. PiBox Media Server: A media server that can stream webcams and video files or serve them up as NFS files.
  3. PiBox Media Player: A media player based on XBMC or other media players

Additionally, PiBox Media Server will include (over time) support for sensor management making it similar to a home monitoring system.

PiBox, the custom development platform, is essentially ready. It can easily be modified to provide additional features in the core but is intended to be extended with opkgs.

PiBox Media Server's prototype is ready. It currently streams from a USB webcam and is initially intended for use in small trailers as a simple rear-view camera that can be monitored from the tow vehicle. Additional work is needed to provide support for streaming video files as Flash to tablets via USB mounted SD cards. Future development will include support for USB digital TV sticks that can be streamed to the Media Player. Support for temperature, humidity and air flow should be easy to add in the near term. A small touch screen will be integrated to display current configurations and sensor readings. A prototype touch screen is on order. The media server will utilize an externally powered 10 port USB hub. Plans are to integrate (and possibly custom design) a 10 port USB hub with external connectors that will allow installation in travel trailers to be more cleanly integrated with cabinetry.

PiBox Media Player is partially done but needs more work. XBMC is not properly tested and sound has not been tested. Additionally, playback with hardware accelerated media players needs to be integrated as opkgs. The media player is intended to work with lightweight DLP projectors via HDMI, with the intent that we display on the side of the trailer for a "personal Drive In Theater" experience (using headphones, to avoid annoying the neighbors). This work is waiting on the Media Server to be completed.

Both the Media Server and Media Player need work on the web server to support configuration of the devices. Currently this is done with bui-network-config, a GTK+ application. What should be done is to port the file configuration support from bui-network-config into piboxd and then use the web server to send commands and data to piboxd to perform the configuration.

The initial target market for these devices are travel trailers, as a replacement for overweight TVs and supporting video players. However, this is just an initial target audience and the applicability of these devices to other audiences needs to be explored.

All of this needs to be pushed to the wiki before plans are written up for a kickstarter project.

Another long break ends and new work begins

Added by Michael J. Hammel about 1 year ago

I've taken a long break from PiBox development to deal with some personal issues. We bought a travel trailer, so it wasn't bad personal stuff - it was fun personal stuff. And it leads me to some new ideas for PiBox.

There are a couple of features I'm going to add to PiBox to support our entertainment and safety needs in our new trailer. In short these are:
  1. A wifi backup camera
  2. Network export of SD card data (for movies over NFS)
  3. Wireless audio
  4. A pico DLP projector.
  5. Make PiBox act as a wireless access point.

The projector shouldn't require much extra. Just plug into the HDMI and its ready to go. But I'll need power to it and I'm not sure how I'll deal with that just yet.

The wireless audio should be supported with a USB stick and external speakers.

The network support of SD card data over NFS means making sure the kernel and user space support is in place.

Also, since I'll need to use USB to add the SD cards (to give a variety of video options) I'll need an external USB hub with a bunch of ports. It will need to be powered, and the Pi will be powered from it, including wireless keyboard/mouse.

The wifi backup camera may prove challenging. I've already experimented with a number of solutions and finally found a mix of ffmpeg, crtmpserver and Jw Player to provide the least amount of lag on Fedora. The question is: can I cross compile crtmpserver and will JWPlayer work correctly if served from PiBox? I think the answer to both is "yes", but I've yet to verify that.

Making the Pi into a wireless access point/router should be fairly painless, especially since my default Wifi adapter already supports that feature.

Another side project has been to build a portable power solution for the Raspberry Pi. I've designed the board and have ordered and received the parts, but I've yet to put the thing together. It should allow for battery power to run the Pi, which would be nice for use with the DPL projector. However, I can also just use 110v power at the campsites since we don't plan (yet) on dry camping.

In the end I hope to allow PiBox to provide the following:
  • Wireless backup camera serving via RTP to a tablet browser so I can see behind the trailer while we're driving.
  • A wireless media server providing AVI videos on SD cards.
  • A second Pi with the media server mounted to play AVI's through a DLP projector and wireless speakers while camping.
  • Self-powered media players using DLP projectors for the bunks in the trailer.

Anyway, some fun stuff to work on. Time to get back at it.

Networking: KISS

Added by Michael J. Hammel over 1 year ago

After much time wasting with connman, I've made some decisions about networking. Connman is nice for mobile devices, but my little board is not intended to be another cell phone or tablet. It's initial purpose is to support XBMCBox, which will sit unmoving connected to a TV. So that simplifies this problem. Future uses can add customized packages to support more complex and/or user friendly network configuration.

First, I can drop connman. It doesn't work easily out of the box and there is little information that I can google that tells me how to configure it. There are test tools you can use but these don't seem to provide me anything useful. The whole project makes it look like connman is just a library for controlling things, which means you have to write your own app. Since XBMCBox will be stuck writing an XBMC plugin in Python (yet another thing I don't know yet), I'd rather not slide my way down that rabbit hole.

So back to KISS - keep it simple, stupid.

I can use wpa-supplicant to manually configure my wifi connections. This seems complex when you first start reading the wpa-supplicant documentation, but you can handle the two most likely cases very simply: no security and WPA2 security. And that will be the first goal of the XBMCBox configuration utility, and it doesn't require anything in PiBox that isn't already there. And I can remove connman to clean things up.

Next, the wired port takes a long time to time out on boot right now. That's because there is no wired connection at the moment. This delay is caused by the S45network init script that tries to dhcp on the wired and wifi ports no matter what. I can fix this by using /etc/network/interfaces to tell me which ports to configure. If the port is not specified in that file, then don't try to configure it on boot up. The XBMCBox configuration utility will have to make updates to that file.

Summary:
  1. Pull connman, but push patch for tests enabling to buildroot project first
  2. Return to to XBMCBox's issue #160

PiBox 0.4.0 release image has been published

Added by Michael J. Hammel over 1 year ago

I've pushed the first public release of PiBox to Ubuntu One. It's only about 258.6 MB so should be an easy download. It contains all binaries required to build the SD card and scripts for formatting (mksd.sh) the card and then installing (mkinstall.sh) the software to the card.

Be sure to read the wiki page for information on how to use the format and install scripts.

First stable release: 0.4.0

Added by Michael J. Hammel over 1 year ago

PiBox V0.1 was the initial stable release. It will generate a working cross toolchain, kernel, gles utilities and root file system onto a bootable SD card. The boot goes into X.org with a single terminal window. This release is suitable for use with XBMCBox when that build is ready, which I think it may be close to.

PiBox v0.2 is also ready. This is a only slightly modified version that was tested to build on Ubuntu 12.10. Now builds on Fedora 16, CentOS 6.3 and Ubuntu 12.10.

In order to correctly map git tags to the preset versions in the issue tracker, PiBox v0.3 and v0.4 are the same as v0.2.

Note: If you intend to build XBMCBox for use with PiBox you must build PiBox on a 32bit host due to problems with Python builds in XBMC.

  • userid: root
  • password: pibox

This announcement just moves the status information from the wiki to the issue tracker. The official announcement of 0.4.0 will come after a release package is finalized and pushed to an offsite publicly available archive.

Also available in: Atom