News

V0.10.0 Release Announcement

Added by Hammel 3 months ago

PiBox Media Server / PiBox Media Player v0.10.0 Release Notes
2015-01-15

Additional Information

General Status
------------------------------------------
PiBox Media Server and PiBox Media Player are consumer oriented distributions for distributed media playback in travel trailers without Internet connectivity. The UI is based on GTK+ with Cairo and the system runs on the Raspberry Pi optimized PiBox Developement Platform distribution.

This release marks a fully functional software implementation for both the Media Server and Media Player with a true consumer-oriented UI. All known UI issues are addressed so the user experience should be clean and comfortable.

The Media Server auto mounts media sticks and can play them with the custom front end to the hardware accelerated omxplayer. The front end allows selection of videos and displays poster art based on a database generated on the media stick using the desktop and Java-based VideoLib application. Audio always plays through the Raspberry Pi audio port with video always played through the HDMI port.

The Media Server also exports video directories to the Media Player which automatically mounts them. It plays videos with the same omxplayer front end used by the Media Server.

The default configuration, which is designed to work optimally with the Favi keyboard, provides a simple interface using just the arrow, enter and escape keys, with full keyboard use provided in the network configuration application.

A webcam interface can be played at the same time that video is played on the server and the player. Webcam access is through the web interface, available on both the Server and Player. The web interface uses Basic Authentication and allows for multiple users. Network configuration can also be updated through the web interface.

Extensive investigation has been done to identify the most stable hardware for both the server and player. This includes definition of a specific USB network dongle and integration considerations with displays ranging from HDMI monitors and TVs to LCD touchscreens and projectors.

Where this is headed
------------------------------------------
Near term plans include development of some simple hardware components to support battery power, simple cases for use with handheld pico projectors and integration of a multiport USB shield for the Media Server.

The long term plans include integration with BLE devices to provide a wider-scale Internet of Things infrastructure, taking PiBox from the trailer into the home. Additional work is planned for WiFi Direct, improving boot times and overall performance and additional media player apps.

Getting involved
------------------------------------------
PiBox is currently a one man project. I'd like to have more users of the system and welcome new developers.

To get started using the system please download the tarball, unpack it and use the mksd card to format your SD card. Then use the mkinstall script to install the distribution to the SD card.

To get started with development, please read the developer wiki on how to build the PiBox Development Platform.
http://www.graphics-muse.org/wiki/pmwiki.php/RaspberryPi/Software

Contact me at or if you're interested in helping out, have ideas for improvement or just want to know how to use the system.

0.10 Development Summary:
------------------------------------------
  • Customizable launcher app provides new UI
  • Added privileged and unprivileged app configuration
  • Cleaned up web UI to have consistent appearance
  • Changed coloring of server/player UI icons to match web UI icons.
  • Add user authentication to web interface and user management component.
  • Added MAC ACL to hostap configuration in Web UI.
  • Moved to omxplayer master branch
  • Moved to Linux kernel 3.14 branch from Rasperry Pi github repository.
  • Quieted the startup messages
  • Completely fixed keyboard access on first boot
  • Made all apps use consistent keyboard navigation
  • Fixed poster scaling in videofe
  • Added PiClock app
0.11 Plans
------------------------------------------
  • Android app remote control over wifi
0.12 Plans
------------------------------------------
  • Hardware related projects
    • Custom cases
    • Rechargable LiPo battery supply w/ power on/off
    • Integrate multiport USB "shield" with Media Server
  • Possible BLE (Bluetooth Low Energy) dongle integration
0.13 Plans
------------------------------------------
  • TV app using USB adpater
  • Music player app

-----------------------------------------------------
Changelogs
-----------------------------------------------------

-----------------------------------------------------
Repository: appmgr
-----------------------------------------------------
RM #425: Make videofe privileged for now to allow for vt changes in an root-run X session.
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #384: Added disabled stubs for later use with PiBoid.
RM #420: Added piclock to priviliged apps.
RM #415: Make reboot a privileged app.
RM #388, RM #410: Fixed config file format to use name:value pairs. Added support for privileged apps.
RM #401: Fixed location of lock file to /var/lock instead of /tmp.
RM #392: Clear the current settings if the current app exits on its own. This allows the app to be restarted without having to change to a different app first.
RM #360: Integrate use of launcher app as the default application.
RM #351: Make sure inbound args are passed through completely.
-----------------------------------------------------
Repository: crtmpserver
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #285: Move init script out of the way of the 2nd stage X.org init to avoid problems with keyboards.
RM #402: Moved init script to before the 2nd stage X.org init script to avoid problems with keyboard input.
-----------------------------------------------------
Repository: launcher
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #423: Updated splash image color to match web interface colors.
RM #413: Removed a bunch of unused and unnecessary code. The unnecessary code was essentially duplicate signal callbacks that are not needed under PiBox.
RM #413: Add timestamps to log output to aid in performance testing.
RM #415: Use fully qualified path to reboot.
RM #412: Moved Mask.png to /etc/launcher in packaging - this is why highlight went missing. Also update the ownership and permissions now that launcher is run as user nobody.
RM #285: Added user and camera icons for use with the web interface.
Allow left mouse button to accept currently selected app
RM #398: Run bui-network-config in embedded mode.
RM #394: Update all icons to flat style with common coloring/decorations.
RM #377: Fix sizing of new power icons so they display correctly on ARM.
Merge branch 'master' of ssh://gitorious.org/pibox/launcher
RM #377: Cleanup to create the default launcher configuration, including restart/netconfig/terminal apps.
RM #360: Added log message for unknown keys.
Merge branch 'master' of ssh://gitorious.org/pibox/launcher
RM #383: Removed extra test data, keeping just enough for current config example.
RM #383: Fix problems with data types related to width/height of icons. Clean up usage of cairo_t in do_drawing so it only needs to be created and destroyed once. Adjust offsets for highlight so it looks better behind selected icon. Add maxApps to keep track of number of available app descriptions found.
RM #383: Resize icons to be square because it appears that non-square PNGs on ARM fail to load in Cairo (but work fine on Intel).
RM #383: Create required directories after installation.
RM #383: Add notify() function and APPMGR_PORT to send commands to appMgr Add support for keypad arrow keys Add support for RETURN key and keypad ENTER Add function called on window expose to set the first app as the selected app so the white highlight is properly displayed.
RM #383: Changed test description files to use current production commands, as taken from pmsui's panel configuration.
RM #383: Update test data to use new splash images. Remove old test image.
RM #383: Increase splash widget size and decrease size of description widget.
RM #383: Add highlight to app icons. Clean up and center display of splash image. Clean up and center app descriptive text. Add support for arrow keys to select app icon. Fix gpointer compile warnings. Load gtkrc from data dir or install dir.
RM #383: More integration of splash and description and cleaning up icon displays. Merged handlers for cairo paint operations.
Initial import
-----------------------------------------------------
Repository: mjpg-streamer
-----------------------------------------------------
General: Remove stamp files that were accidently committed.
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
-----------------------------------------------------
Repository: monkey
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #422: Install users.mk as pibox.mk.pkg and then move it to pibox.mk only if that file doesn't already exist.
RM #421: Added default configuration file that moves the pid to /var/run.
RM #285: Remove creation of DEFAULT file. This is superceded by piboxd handling.
General: The init script needs to be moved before the 2nd stage UI init script to avoid problems with keyboard input.
RM #285: Add AUTH support to monkey using a default user.
-----------------------------------------------------
Repository: omxplayer
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #417: Fix ownership of /dev/vchiq so omxplayer can access when it's run as the user nobody.
RM #400: Moved to master branch of github repo. Updated this metabuild's Makefile for omxplayer to properly build help files so master branch builds correctly.
-----------------------------------------------------
Repository: pibox
-----------------------------------------------------
RM #303: Bumped kernel to 3.14.y to try and get TV working better. Kernel seems to work fine with the rest of the system so I'm keeping it on this rev.
General: Add smbclient library to core.
RM #$13: Copy the saved fontconfig directory to the cache directory before starting any apps.
RM #413: Create the fontcache on first boot and save a copy of it so it doesn't have to be rebuilt each time.
RM #417: Fix group on vchiq so non-root video players can access it.
RM #360: Quiet X startup.
RM #360: Move UI init script to accommodate cleaner boots and assist in fix of keyboard input on boot.
General: Quiet the boot messages.
RM #308: Remove old package and patches for xcc.
RM #308: Remove old packages and patches from buildroot configuration.
RM #348: Updated MakeChangelog to allow choosing dates instead of tags in case start tags don't exist in some projects (like new apps).
-----------------------------------------------------
Repository: piboxd
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump version to 0.10.0.
General: Updated tests that stopped working after Fedora update.
General: add sample piboxd.cfg.
General: Add support for unmounting smb mounts.
RM #374: Added support for retrieving the MAC ACL list for the caller.
RM #374: Changed MA_MFLIST to support a new subAction field for get/set options.
RM #409: Added support for missing hostapd.conf lines to loadHostAP(). This causes the lines in question to show up anytime updates are applied to that file. Removed support for deprecated message action MA_MFENABLE. Enabling MAC ACL is now port of the original setAP() processing.
RM #409: The MAC ACL setting is now passed with the normal setAP request so no longer needs a separate defined action in the messaging protocol.
RM #374: Added support for MA_MFENABLE, MA_MFLIST and MA_RESTART actions for MT_NET.
RM #374: Added MA_MFENABLE, MA_MFLIST and MA_RESTART actions for MT_NET.
RM #285: Added support for MT_PW/MA_DEL to delete a user.
RM #285: Move check for payload to MA_SAVE only (MA_GET doesn't need it) in handlePW. Also, make sure cleanup is properly handled for the socket descriptor in handlePW.
RM #285: add support for MA_GET to MT_PW.
RM #285: comment update to reflect actual code for MT_PW, MA_GET.
RM #285: Added support for MT_PW and associated actions for changing a user password in the web service.
RM #285: Added MT_PW and associated actions to diagram.
RM #399: Added support for MA_GETIP message action.
RM #399: Updated message format diagram to include MA_GETMAC and MA_GETIP.
RM #398: Add support for inbound MA_GETMAC request, which returns the MAC address of the specified interface or a single space character if the interface does not exist.
-----------------------------------------------------
Repository: piboxwww
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #384: Switch to default msgProcessor port number.
RM #384: Update message protocol for MT_KEY.
RM #384: Add support for PiBoid passthrough to AppMgr.
RM #407: Cleaned up webcam UI to match the settings and users UI.
RM #406: Added dialog notice about the password being updated prior to being redirected.
RM #404: Added init script to make sure a log file exists and is writable by the web server on every restart.
RM #374: Added support for setting MAC ACLs.
RM #409: Pass MAC ACL setting with the rest of the MA_SETAP configuration and drop separate MA_MFENABLE processing.
RM #374: Add support for mac filtering in hostapd.
RM #285: Add support for creating a log file on installation and disable logging by default.
RM #285: Add missing "!" when checking for delete parameter.
RM #285: Add support for deleting a user.
RM #285: Add usersPW.js script to support saving changes.
RM #285: Retrieving from a text input field with jquery requires use of val().
RM #285: Integrated a user selection page that allows creating, updating and deleting users.
RM #285: Don't include the xcf files in the images directory of the packaging.
RM #385: Added XCF images used to create icons.
RM #285: Cleaned up icons to more closely match the ones used on the attached display (under launcher) and added users icon to front page.
RM #285: Extend the artificial delay after updating a password before reloading the front page.
RM #285: Set the action bit for MA_SAVE.
RM #285: Fix POST var name for pw.
RM #285: Implemented test for admin password change, including a new password set page and the ability to send a new MT_PW message to piboxd to handle the password update.
RM #399: Added IP address below MAC address and integrated new MA_GETIP messaging with piboxd.
RM #398: Add mac address field to ipv4 settings tab of web interface.
-----------------------------------------------------
Repository: piclock
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #425: Add missing pthread.h include to piclock.c.
RM #423: Update splash image color to match web UI colors.
RM #411: Fixed screen flicker by switching cairo operations to a pixmap and copying from that pixmap during expose events for the widget. Also fixed ownership of piclock binary on install to be root.root.
RM #391: Added support for UI keysyms file.
RM #297: Fixed problem with piclock exits causing a restart immediately by having the ENTER key queued and passed to the launcher. The way around this was to use a different key to activate the Home button in piclock - in this case the space bar - so that the queued key doesn't active the launcher on piclock's exit.
RM #297: Moved system clock setting to right before exit, to remove time changes from UI code. Fixed bug where changing the day of the month was not updating the system clock.
RM #297: Renamed remaining "clock" functions to "piclock" for consistency.
RM #297: Switch top level layout to a table to help in centering time setting UI components on the right.
RM #297: Potential fix for setting time. A struct is updated by a callback but the actual time change is haned in a g_timer to avoid problems with setting the time inside the gtk callback.
RM #297: Switched to settimeofday() to see if that works better than stime().
RM #297: Adjusted layout of settings column UI components. Added sample gtkrc to be able to test appearance similar to what the default PiBox Media Server UI looks like.
RM #297: Add icon and splash image. Updated template.
RM #297: Fix initalization of hour spinner. Update system time with every user update.
RM #297: Fix typos in opkg'ing Makefile.
RM #297: Fix keyboard navigation to use Ctrl-<arrow keys> for month and year. That's more consistant with the arrow key usage of moving around the days of the month.
RM #297: Removed unused code brought from videofe template. Merged callbacks when changing hour/minute/pm. Fixed hour hand bug in gtk_piclock_set_time().
RM #297: Add keyboard navigation to calendar widget. Add callbacks for spinners to set clock. Add apply and home buttons.
RM #297: Moved labels after spinners to match checkbox behaviour. Updated comments.
RM #297: Added a real custom widget that draws the analog clock. This is a merger of the ZetCode custom widget example and the clockwidget example I found on github (appropriate credit provided).
RM #297: Initial import of PiClock.
-----------------------------------------------------
Repository: pmsui
-----------------------------------------------------
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #413: Copy the saved fontconfig directory to /var/cache.
RM #413: Remove murrine engine from gtkrc. It isn't installed and removing the reference doesn't change the UI but does speed up boot time a bit.
RM #391: Add a keysyms file for the UI.
RM #360: Quiet X startup.
RM #360: Add Xearly start/stop scripts. These start X early and then stop it again before it is restarted by the PiBox core. This works around the problem with having to restart X manually from the PiBox core X start in order to get keyboard input working.
RM #360: Remove background image (displayed by Xearly and/or psplash). Don't start matchbox panel anymore (now handled by launcher instead).
RM #379: Created default background image (Media Server image) and updated xinitrc to use it.
-----------------------------------------------------
Repository: psplash
-----------------------------------------------------
RM #424: Bump to 0.10.0.
General: bump to verison 0.9 (forgot to do this with the real 0.9 release).
RM #377: Renamed S80stopsplash to S97stopsplash.
RM #360: Move psplash stop to right before X(late) is started.
-----------------------------------------------------
Repository: videofe
-----------------------------------------------------
RM #425: Fix broken log messages.
RM #425: Fixed minor bugs with logging during initialization.
RM #425: Change default vt to 2 and tmp vt to 3.
RM #424: Bump to 0.10.0.
General: commented out unused signal handler.
General: Code cleanup - tabs to spaces.
RM #346: Added player field to cliOptions and added support for it to the config file only.
RM #423: Update splash image color to match web UI colors.
RM #417: Fix permissions and ownership of installed files to match launcher requirements.
RM #417: Fix owner/group of videofe after installation.
RM #391: Added support for UI keysyms file.
RM #394: Update launcher icon and splash image to be consistent with stock styles.
RM #393: Added support for setting the to and back VTs in config file.
RM #386: Fix key_press to return false if no matching key found so default handler is run or true if we intercept the keypress.
RM #390: Remove extraneous header for videos.
RM #360: Add launcher config and icon files to packaging.
RM #386: Add Ctrl-Q and HOME button to quit the app.
RM #387: Changed from positioning to scaling the image to fit the window.
-----------------------------------------------------
Repository: videolib
-----------------------------------------------------
RM #332: Cleaned up poster buttons and added ability to view in actual or fitted size.
General: Merge branch 'master' of gitorious.org:pibox/videolib

V0.9.0 Release Announcement

Added by Hammel 8 months ago

PiBox Media Server / PiBox Media Player v0.9.0 Release Notes
2014-09-09

Additional Information

General Status
------------------------------------------
This is the first fully functional media-based release, with both the Media Server and Media Player functionality implemented and working. The Media Server auto mounts media sticks and exports them to the Media Player. Both server and player have an integrated custom front end to the omxplayer allowing for media file selection using a database generated via TheMovieDB.org using the new VideoLib application. The default configuration is designed to work optimally with the Favi keyboard including arrow keys and audio. Audio is automatically pushed out the Raspberry Pi's audio port to avoid possible loss of audio on HDMI connections.

Previous functionality has been regression tested and continues to work correctly. The webcam interface can be played at the same time that video is played on the server and the player.

Extensive investigation has been done to identify the most stable hardware for both the server and player. This includes definition of a specific USB network dongle and integration considerations with displays ranging from HDMI monitors and TVs to LCD touchscreens and projectors.

Where this is headed
------------------------------------------
It's become obvious that there are some easy to add extended functionality that can be added to the media components, such as remote control via Android, a more Netflix or Android styled icon desktop (managed through the application manager instead of matchbox's panel) and digital TV support. This will be the focus for the 0.10.0 release.

The long term plans include integration with BLE devices to provide a wider-scale Internet of Things infrastructure, taking PiBox from the trailer into the home. Additional work is planned for WiFi Direct improving boot times and overall performance.

0.9 Development Summary:
------------------------------------------
  • Major platform stabilization and road-tested release.
  • Integrated a front end (videofe) to omxplayer to browse and selected videos.
  • Created a desktop application (videolib) for creating a database on media sticks for use with PiBox.
  • Stabilized the network configuration when the Media Server is configured as a access point.
  • Updated the UI to a much more user friendly environment, integrating FAVI keyboard support and use-case from across a room.
  • Migrated to current repository for omxplayer.
  • Fixed SMB mounting issues, making video sharing on private network more transparent.
  • Implemented an application manager to launch applications and manage performance.
  • Fixed bug in Pibox web server to allow proper use from mobile devices.
  • UI/firmware cleanup that allows clean use on multiple HDMI monitors as well as with AAXA LED projectors.
0.10 Plans
------------------------------------------
  • Migrate to Netflix/Android style desktop from the use of a panel in the UI
  • Investigate integration of Android control of appmgr
  • Integrate use of WinTV HVR 950Q for digital TV
  • Investigate creation of custom 3D printed case for both server and player
Development Status:
------------------------------------------
  • Total issues: 230
  • Closed/Resolved: 173
  • In Progress: 20
  • New since last release: 81
  • Closed/Resolved since last release: 58

-----------------------------------------------------
Repository: appmgr
-----------------------------------------------------
RM #325: Add REUSE socket option so X11 restarts will be able to properly restart the appmgr.
RM #315: Shutdown and cleanup appmgr when the package is removed.
RM #316: Add interface script that handles Matchbox->appmgr messaging. Fix packaging so its appropriate for the appmgr package.
RM #316: Remove extraneous init script.
RM #316: Updated unit tests to validate appmgr is operating as intended.
RM #316: Change default port so it doesn't conflit with piboxd.
RM #316: cleanup of logging output.
RM #316: Stop current process on shutdown. Provide more thorough handling of app killing.
RM #316: Don't output to console if writing to log file.
RM #316: Move lock handling to a separate function so it can be called whether daemonized or not. Move logging init earlier. Clean up lock file on exit.
RM #316: Updated to reflect tests being able to run from top level or tests directory.
RM #316: Add cleanup of test generated files.
RM #316: Initial import.

-----------------------------------------------------
Repository: bui
-----------------------------------------------------
RM #376: Fix default protocol type to be WPA2.
RM #376: Change from TKIP to CCMP for pairwise settings when in hostap mode.
Revert "General: clean up build so it is used the same way the piboxd and related builds are run (starting with autoreconf -i)."
General: clean up build so it is used the same way the piboxd and related builds are run (starting with autoreconf -i).
RM #347: Added wpa_pairwise=TKIP, macaddr_acl=0, ignore_broadcast_ssid=0, hw_mode=g to hostap configuration output.
RM #313: Fix ip address in status bar. Add more spacing on some hbox cells.

-----------------------------------------------------
Repository: mjpg
-----------------------------------------------------
RM #348: Bump version to 0.9.0.

-----------------------------------------------------
Repository: monkey
-----------------------------------------------------
RM #275: Update bashsetup script to match move of repository under the PiBox project.
RM #348: Bump version to 0.9.0.

-----------------------------------------------------
Repository: omx
-----------------------------------------------------
RM #348: Pull from last known working build.
RM #355: Added ld.so.conf file for omxplayer to packaging.
RM #352, RM #355: Migrated to master branch of popcornmix repo. Verified missing library and font files are in the opkg.
General: Change project name from omx to omxplayer.
Initial import of omxplayer metabuild

-----------------------------------------------------
Repository: piboxd
-----------------------------------------------------
RM #382: Added isThisMyIP() to utils that is called from getNMBList() to make sure not to mount the local host's own SMB exports.
RM #348: Bump version number for 0.9 release.
RM #376: If SMBMOUNT is specified in config file, use that. Otherwise use the default mount command.
RM #376: Add support for loading the configuration file at boot time.
RM #376: Add support for SMBMOUNT in configuration file.
Merge branch 'master' of ssh://gitorious.org/pibox/piboxd
RM #353: The two calls to popen() did not have associated calls to pclose(). That has been fixed and the runaway processes problem appear to be fixed.
General: Fix incorrect prog name on help message.
RM #323: Add smb automounting support through timer function.
RM #323: Add support for testing if running as root.
RM #323: Added support for automounting smb shares.
General: Removed extraneous comments.
General: fix case of PiBox Media Server.
General: Added missing cross compile instructions.
General: Add missing cdtools function.

-----------------------------------------------------
Repository: piboxwww
-----------------------------------------------------
RM #276: Updated bashsetup.sh to reflect move of repository under the PiBox project.
RM #348: Bump version to 0.9.0.
RM #354: Add missing [IPADDR] tag to webcam.tmpl.

-----------------------------------------------------
Repository: pmsui
-----------------------------------------------------
RM #375, RM #361: If a FAVI keyboard is found, reconfig mouse acceleration and keymappings.
RM #364: Add new icons for single panel configuration.
RM #358: Add larger mouse icon set to packaging.
RM #363, RM #364: Switch to one panel at the top and one replace the icons with nicer ones.
RM #322: Add videofe to icon callbacks.
RM #350: Call desktop.sh startup from xinitrc so appmgr can get proper access to X environment.
RM #318: Added call to feh to display PiBox background in xinitrc.
General: remove margins from panel.
General: Remove backgrounds from icons.
RM #313: Reduce font size - the "Enable" line on the IPV4 tab wasn't showing and the status bar couldn't display the ip address.
RM #316: Remove bui-network-config from xinitrc. Let user drive navigation.
RM #315: Switch to appmgr usage for panel buttons.
RM #315: Allow desktop.sh script to run run with start/stop options.
General: Remove stamp files which should not be checked in.
RM #281: Add desktop setup script, called by S90UI.
RM #281: Remove chown, which is not needed since the build sets the owner of files, and add mkfontdir for pibox fonts.
RM #281: Fix location of png icons.
RM #281: Switch to Nunito as the desired font for gtk apps.
RM #281: Fix preinst packaging.
RM #281: Fix cdtools script to properly match upstream repo for PMSUI package.
Initial import of the PiBox Media Server UI package

-----------------------------------------------------
Repository: rpi
-----------------------------------------------------
RM #348: Add changelog generator script and supporting data file.
RM #348: Bump version number of 0.9.0.
RM #376: Add a 2 second delay after wpa_supplicant is started to give it a chance to bring up the hardware before bringing up the interface with ifup.
Revert "RM #375, RM #371: Test for FAVI keyboard and adjust mouse movement and key mappings for X.org.". This change belongs in the UI repo only, since it applies to the Media Server/Media Player add on packages.
RM #375, RM #371: Test for FAVI keyboard and adjust mouse movement and key mappings for X.org.
RM #375, RM #371: Save lsusb output to speed other scripts that need that same output.
RM #375: Add xev to find keycodes for FAVI keyboard.
General: Put wpa-supplicant in the background or else ifup doesn't get run.
RM #357: Force audio out of the Pi port instead of the HDMI port (if supported) as the default for PiBox.
RM #370: Updated the overscan settings. Added comments related to addressing audio output (RM #357).
RM #326: switch to using /media/usb as the mount point parent for usb flash sticks.
RM #326: Switch to /media/usb as the share point so only the usb flash sticks are shared.
RM #325: Only run desktop.sh shutdown, and let app-specific xinitrc's handle startup so apps get proper access to X environment.
RM #321: Removed references to nfs from S00dev.
RM #303: Added WinTV HR 950Q firmware.
General: minor mods to help with automated smb config.
RM #303: Add dvd_apps, w_scan, for tv dongle and xrefresh to help recover from omxplayer.
RM #296: Removed commented out call to rc.modules in S00dev. Added calls to init scripts that do initialization in firstboot. Makes for a clean 2nd boot.
RM #316: Add sed, netcat and vim for use with appmgr.
RM #312: Run desktop.sh on stop only if HDMI is connected.
RM #316: Add vimtools patch to get xxd for appmgr.
General: Move debian-binary into CONTROL directory so it gets installed in the proper location.
RM #281: Add mkfontdir to available font directories.
RM #281: Call desktop.sh if it exists.
RM #281: Revert back to Blackbox as the default UI. The Pibox Media Server has its own opkg to set up its UI.
RM #281: Add reference to gtkrc file, if one exists.
RM #281: Add font paths to xorg.conf.
RM #281: Added mkfontdir, mkfontscale and xwd.
RM #306: Enabled matchbox and made it the default environment for the HDMI display.
RM #240: Removed multiple xorg.conf and xinitrc now that we won't be running X on the fbtft device.
RM #240: Removed directfb examples, Removed gqview, Added fbset, Added fbturbo back in (again), Added evtest/evtest capture.
RM #309: Remove extra xorg.conf and xinitrc since X will not be used on the fbtft device.
RM #299: Enable ads7846 in modules.conf.
RM #240: Add a special init script for loading modules with rc.modules. If necessary, switch the console to the fbtft device.
RM #240: uncomment fbtft so it gets loaded with the other drivers now.
RM #240: Remove fbtft integration (it's handled separately now) except for a test for the fbtft stamp file - if its there then don't start the X server.
RM #240: Don't load /etc/modules.conf here so we can properly load fbtft later.
General: Fix cscope target, which was broken.
General: Fixed broken target name expansion for buildroot-verify.
RM #299: Add ads7846 touchscreen input device.
RM #299: Add xinput and tslib.
RM #296: Added fbtft_tools to kernel build.
RM #240: Switch to fbdev from fbturbo because the latter doesn't seem to work well with the fbtft drivers.
RM #240: Disable fbturbo because it doesn't work well with the fbtft device.
RM #240: Changed to checking for stamp file for setting up fbtft configuration.
RM #240: Fix patch by adding missing closing double quote.
RM #240: Fix directory reference (replaced undefined var FBTFT_ARC with FBTFT).
RM #240: Switch to /dev/fb1.
RM #240: Remove incorrect command line option (-display).
RM #240: Load spi-bcm2708 with rc.modules, before we try to load the fbtft drivers.
RM #300: Bump to "master" for the firmware blobs.
RM #300: Bump to "master" for the GLES libraries and tools.
RM #240: Created multiple xorg.conf and xinitrc files based on which displays are connected at boot time. Modified S90UI to test for displays and configure appropriate files, plus handles loading of appropriate drivers since they don't see to work if loaded from rc.modules during early init. Commented out fbtft_device from modules.conf.
RM #240: Updated modules.conf to rotrate display on HY28A. Added a dual-monitor config for X.org (HDMI + HY28A).
RM #240: Add driver config for 3.10.y kernel RM #240: Add fbtft driver targets to download driver from git repo. RM #240: Update kernel config to include fbtft support. Add patches for fbtft support in Kconfig.
RM #240: Add driver configuration file.
RM #240: Add target for downloading 3rd party drivers and integrating into the kernel source.
RM #128: fbturbo seems to work better with the new 3.10.y kernel than it did with 3.2.27 so I've made it the default.
RM #241: removed openssh package from rootfs configuration.

-----------------------------------------------------
Repository: rtmp
-----------------------------------------------------
RM #274: Move repository under PiBox project and update bashsetup.sh to match.
RM #348: Bump version to 0.9.0.

-----------------------------------------------------
Repository: vfe
-----------------------------------------------------
RM #380: Added delays between xrefresh and each vt switch and between last vt switch and a new xrefresh. This seems to be necessary to deal with some HDMI displays that are slow to recover from omxplayer exiting.
RM #366: Add sample config file. Config file is not mandatory for installation.
RM #366: Add support for choosing the vt X.org is running on in the config file.
RM #322: Add vt switching when child exits, which is what it takes to get the display back from omxplayer.
RM #322: Don't call pthread_detach on shutdown unless the thread was still running.
RM #322: Place video player in its own thread so we can catch when it exits and call xrefresh to get the framebuffer display back.
RM #322: Remove unnecessary header references.
RM #322: Busybox find operates slightly differently than GNU find, so use the latter when testing on the desktop and the former when running on PiBox.
General: Add support for a config file to set debug args without using command line args.
RM #322: Ported stream.c from piboxd to player.c so it can launch the video player under an xterm (as required for use with omxplayer under X.org).
RM #322, RM #349: Added scrolling to video list. Fixed poster display code so it doesn't take so long to switch videos. Added double-click event to poster so it can launch the video.
RM #322: updateVideo() now just calls do_drawing() (which is fixed) so there is no delay in showing posters anymore. Added playVideo() as front end to spawning child that will run the video player.
RM #345: Strip video library name from dbpath.
General: Remove debug statements.
RM #345: Added support for reading in VideoLib databases and displaying video names in the list on the left. Video poster is not yet displayed because I need to strip the db name (.videolib.db) from the path before building the poster path.
Initial import

-----------------------------------------------------
Repository: vlib
-----------------------------------------------------
RM #342: Completed option to select from altnerate movie titles.
RM #342: Added dialog for selecting from alternate video entries. Added method in MovieDB to parse alternates into a list of colon delimited strings so they can be parsed by the dialog.
General: Fix parent path to git tree.
RM #335: Added poster menu to choose menu sizes to download. Updated code that saves image to file to append the image size to the filename.
General: Update log level to trace to reduce log floods.
RM #331: Removed video ArrayList and the last few references to it, such as findVideo() method. Prevent redraws from movieList while updating so updates appears instantaneously. Changed scanVideo to take a Video object as an argument instead of a movieName. This allows callers to make updates to that object that scanVideo can use (such as changing the displayName). Set dirName on startup, if one was configured. Save db when a single video is updated via rescan.
RM #331: Remove S_MOVIEDIR from poster path when returning the filename (re: return relative path name).
RM #331: Switched to TreeMap from HashMap to get automatic sorting. Changed a number of log levels to trace to reduce logging output. Dropped find() method - getVideo() does the same thing but correctly. Added updateKey() method to update the db when the displayName changes. Don't add S_MOVIEDIR setting with poster. Let UI take care of that.
RM #331, RM #339, RM #340: Update movie list from DB only using new method. Show display name in TMDB field to allow editing. Load images based on relative paths. Use db entry when doing scan of tmdb. Set default paths when loading a new directory. Don't rebuild db if specified directory doesn't exist.
RM #339, RM #340: Merge usage of filename, listname and displayname. Fix getVideo() to do lookups based on displayname.
RM #339, RM #340: Make video file paths relative to video directory. Drop Video array used by UI and merge usage with LocalDB requirements, which means merging usage of filename, displayname and listname.
RM #339: Convert spaces to underscores in poster file name.
RM #327: Load db file on startup, if available.
General: Allow listName setter.
RM #334, RM #336, RM #338: Add disclaimer and tmbd logo. Move code that fills details frame from video data to its own method so it can be called from multiple places. Move code that scans for a video to its own method so it can be called from multiple places. Add rebuildDB button. Add event handling for clicking on video name in the list. Add URL decoding.
General: Fix loading from the db file. Add find() by display name so clicking on a name in the list can find an db entry.
RM #336: Add tmbd logo as per API license requirements.
RM #331, RM #333: Move scan button to Details frame to rescan individual videos. Add TMDB name to Details frame so it can be manually edited when a search fails.
RM #327, RM #330: Add db format definition class (Video.java). Migrated to using it and dropped inner class VideoFile. Write database to file when a single file is rescanned.
RM #329: Don't delete runtime directory on each run via ant.
RM #329: Load configuration file at startup. Setup log4j earlier so Cli logging works correctly.
RM #337: Restructure columns to add API key field. Display saved api key.
RM #337: Integrate use of saved API key.
RM #329: Add ability to save and load configurations.
General: removed notes.txt after moving content to Redmine issues.
General: Clean up unit tests as ported from Jarvis to make them suited to VideoLib.
General: Remove build artifacts from source tree.
General: Remove unit tests copied originally from Jarvis project.
Initial import

V0.8.0 Release Announcement

Added by Hammel about 1 year 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 Hammel over 1 year 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 Hammel over 1 year 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 Hammel over 1 year 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 Hammel almost 2 years 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 Hammel about 2 years 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 Hammel about 2 years 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 Hammel about 2 years 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