Deprecated
|
Overview
Table Of Contents
- Current Version
- License - Overview - What PiBox Is - What PiBox is Not - PiBox Development System - Components - Status - PiBox Based Systems - PiBox Media System - Status - PiBox Player System - Status - PiBox Kiosk - Status - PiBox Auto-Kiosk - Status - PiBox PiSentry System - Status - PiBox PiStore System - Status - Future Development Current Version
05/31/2023: 2.0.0 License
PiBox is an open source software project. All software developed for the project is released as open source under the BSD0 license to permit customizations and porting to other hardware platforms. All hardware designed for the project is released as open hardware. Overview
PiBox is a build system wrapping other build tools to give them a common GNU Make target structure. Originally developed as a tool for learning how to build custom Linux-based platforms for embedded systems, PiBox has grown into a tool for building complete systems. Multiple systems are available now for multiple hardware platforms and many more are planned for future major releases. The PiBox build system is used to generate a PiBox Development System, a custom Linux distribution for the Raspberry Pi. Artifacts from this build include a cross toolchain and a staging tree that allow application development on a host system different from the target system. These features are used to create applications, packaged in the opkg format, that generate the various other systems that make up the PiBox ecosystem. The PiBox build system is available as source from GitLab. PiBox releases are also provided as binaries though developers will want to use the build system to do core customizations. What PiBox Is
What PiBox is Not
PiBox Development System
The PiBox Development System is intended to provide a lightweight, low-memory footprint base upon which purpose-specific systems can be created. Instead of providing an extensive software stack with an application friendly API like Android, PiBox provides an open and lightweight GNU/Linux development platform. PiBox is a build system that can be used to customize the development platform for any hardware supported by upstream toolchains, kernels and firmware. The PiBox Development System includes out of the box support for:
The PiBox Development System can provide any root file system utilities available from BusyBox and Buildroot. PiBox Development Platfrom is small, less than 1G for the root file system, and runs comfortably inside 256MB of memory, both of which leave plenty of space for custom application development. Additional kernel configuration tweaking may help reduce the overhead the kernel takes on overall memory usage, which is about 4MB. Components
The PiBox Development System is a GNU LibC based platform built using the following open source utilities.
Additional support comes from and Raspberry Pi Userland repositories. Status
The PiBox Development System is stable and ready for use. It can easily be modified to provide additional features in the core but is intended to be extended with opkgs. Multiple opkgs exist to support PiBox based systems and provide examples of how to cross compile applications for use with the PiBox Development System. PiBox Based Systems
The development platform on its own isn't very useful. It's purpose is to provide a base upon which custom systems can be built and deployed. PiBox Systems are based on a very simple philosophy. Keep it simple. Keep it light. Avoid software bloat. PiBox Systems consist of a variety of application packages that turn the Development System into a device with a specific purpose (as opposed to general purpose use, like a Desktop). Most are tools written specifically in C. PiBox Systems, by philosophical choice, avoid tools written in scripting languages where possible. The reasoning for this is based, at least in part, on the paper Energy Efficiency across Programming Languages. The future problem of computing is to simply use less power. The following is a list of systems that currently exist for PiBox. PiBox Media System
PiBox Media System provides media services that play audio and video files and serves that media to other PiBox Media Systems on a local network. Media files are provided on USB-mounted memory sticks. PiBox Media System supports USB webcams streamed on the console and over a web interface. Media Systems's can be wifi clients on a local network or can act as a router for a local network when configured in hostap mode. PiBox Media System utilizes hardware accelerated video playback using the Raspberry Pi omxplayer media player wrapped in custom controls. It also includes applications for playing music and supporting the XMPCR, an old XM Radio USB device. PiBox Media System was originally designed for use in lightweight travel trailers as a replacement for overweight TVs and supporting video players. It can be used in the home or office for any media playback need. A desktop application, VideoLib, can be used to generate databases of movie and TV files for use with PiBox Media System PiBox Media System is controlled via a usb keyboard and mouse with future control through an Android app. It can be used on the official Raspberry Pi 7" touchscreen display. Status
PiBox Media System software is considered stable for general use. PiBox Player System
PiBox Player System provides playback services of media files served from local storage or PiBox Media Systems on a local network. The PiBox Player System is a lightweight variation of the PiBox Media System. PiBox Media System is controlled via a usb keyboard and mouse with future control through an Android app. It can be used on the official Raspberry Pi 7" touchscreen display. Status
PiBox Player System software is considered stable for general use. PiBox Kiosk
PiBox Kiosk is a photo/video frame solution that can playback static images and video files without the need of a database. It supports the Raspberry Pi 7" touchscreen for fast forward, skip forward/back, and pause/play operations. The PiBox Kiosk is a customized variation, with fewer features, of the PiBox Media System, showing how the use of opkgs can change PiBox from one system to another. Status
PiBox Kiosk software is considered stable for general use. PiBox Auto-Kiosk
PiBox Auto-Kiosk is a touchless system for automated playing of video files in sequence. This is an extension of the PiBox Kiosk but without any user controls. This is, for example, suitable for playback of videos using projectors on holidays. Status
PiBox Auto-Kiosk software is considered stable for general use. PiBox PiSentry System
PiBox PiSentry System is designed to run on a Raspberry Pi 3 with a GPIO connected TFT (touchscreen) display. It manages a single USB webcam that can be configured using low frame rate on the TFT display and can be accessed remotely over wired or wireless networks using a web browser. PiSentry includes a simple network configuration utility, PiNet, that turns the PiSentry node into an Access Point to allow configuration of the Raspberry Pi WiFi client using a smartphone or other network device. Status
PiBox PiSentry System is new for the 2.0 release. It works well with a specific TFT but should be considered a beta system with this release. PiBox PiStore System
PiBox PiStore System is designed to run on a Raspberry Pi 3 with a GPIO connected TFT (touchscreen) display. It manages a USB connected hard drives or media sticks, displaying usage information on the TFT. Drives that are managed by the PiStore System are exposed to the local network as NFS exports or Samba mounts. PiStore includes a simple network configuration utility, PiNet, that turns the PiSentry node into an Access Point to allow configuration of the Raspberry Pi WiFi client using a smartphone or other network device. Status
PiBox PiStore System is new for the 2.0 release. It works well with a specific TFT but should be considered a beta system with this release. Future Development
Additional systems, applications and extensions based on the PiBox Development System are planned for the next major release. These include the following systems.
|