Category:Development

From NMTWiki

Jump to: navigation, search

Image:warning.png This page is incomplete. You can help by finishing the article.


This page is an introduction to the NMT platform for community developers. Please follow the links at the bottom for additional resources and detailed information. Some development scenarios require access to the NMT, for instance via Telnet, which is not officially supported or provided officially by Syabas.

There are a number of ways to develop applications, web apps, useful scripts and visual effects to the NMT digital media adapters. You don't have to be a very seasoned developer to get started with basic tweaking such as customizing a theme or building your own index start page. For the more advanced users this wiki contains valuable information for reference and guidelines. Note that many insights have not been documented here yet - you may find a lot more by searching the networkedmediatank.com board, in particular the "User Application & Development" sections. The contents on this Wiki is still just a fraction of the vast resources buried in the forum.

Over the years many developers have contributed with a great variety of hacks, utilities, streaming servers and visual effects in the form of Jukeboxes. You are encouraged to add with your contribution!

Contents

The basics

The NMT platform is based on an embedded Linux O/S. The GUI is presented with html or in later models also with Flash Lite 3.1. Development can be made for C-applications, shellscripts, html/PHP/Javascript, and in later models Flash - but other languages such as Ruby and Mika (Java) has been successfully compiled too. DirectFB has been used in a number of applications and games to display a fast GUI.

A community startup script is used to initiate apps, wrappers and scripts: the start_app.sh. This script relies on the FTP service (available among the NMT Apps) being enabled. As such, it is preferable to have a local HDD, although it is feasible to initiate via NFS/SMB shares too.

GUI

The GUI is presented via a somewhat limited browser known as Gaya. A good read is the Technical Documentation article where it is explained how media is initiated through html anchor tags, playlist files are explained and other useful tidbits.

There is presently not much documentation available concerning the Flash part, but Flash based skins are available, for instance via the Ultimate Media Collector (UMC).

Toolchain

Since different generations use different chipsets, make sure you build the toolchain applicable for your target.

The 100-series have been successfully chrooted with Debian.

Telnet, SSH and shell

The 100-series features a working Telnet-hack with a "rich" terminal. The 200-series lacks PTY but LundmanShell (curtesy of lundman) is available via the community software installer, aka CSI, and may be used for root access via shell.

The 200 series also has the port 30000 where remote control commands can be injected via a socket.

wget

A number of users still seem to have busybox wget built against busybox 1.13.3. If anyone builds busybox, please avoid building the wget applet because:

  1. NMT comes with a proper wget that supports a lot more options.
  2. NMT wget has SSL support.
  3. NMT wget has extra dns caching code to work around a DNS handshake bug on the NMT platform.
  4. NMT wget is integral part of nmt apps online functionality.

Community Software Installer

Curtesy of Ger Teunis, the CSI features a framework, repository and software disitribution/installation mechanism which make life easier for developers and users alike. Please read more on the board or head over to nmtinstaller.com


Happy hacking and merry coding!

Subcategories

This category has the following 4 subcategories, out of 4 total.

A

E

J

S

Personal tools