HOW TO – Update the BW-Series BEAM Portal Content Remotely
BEAM BW130, BW230 and BW280 vehicle Wi-Fi units have an onboard Web portal which the user accesses before they are taken to the Internet. When we ship out a BEAM Wi-fi unit to you it will be pre-installed either with the default portal design, or a custom portal if that was requested. In addition there is an area on the portal’s Web server which you can publish additional content to, which can be linked to from your default landing page, or used as a separate sub-site.
BeamOS firmware released since May 2015 allows the portal content to be updated remotely using the BEAM Content Distribution Service (CDS). When your BEAM unit first boots up and obtains an Internet connection, it will check the BEAM CDS cloud server for any file updates, and if available will download them over the 4G connection. The files will then be copied to the onboard Web server content area, adding any new files and overwriting any existing files.
If you are running other services on your BEAM unit which rely on files in this content area, then you’ll need to ensure that your content folder structure on the disk is relative to the user content path (Web root), which is:
The BEAM CDS is accessed using FTP, allowing you to easily create and copy over file and folder structures of your choosing to the server which will then be distributed over-the-air to your BEAM units. If you have an in-house content management and publishing system then you can also configure that to publish files to the Beam CDS server using FTP. This can be useful if you want to publish advertising and other content files in an automated way.
Connecting to the BEAM CDS
In order to publish your content using the BEAM CDS you will need to request an account. You can do this by raising a support ticket, stating your company name and a serial number from one of your units. We will then contact you back with the relevant details.
Once you have your account login, use an FTP client such as Filezilla to access your BEAM CDS content area, using the following details:
FTP Server: ftp.beam-content-sync.beamonboard.com
FTP Port: 8121
The FTP server uses a Passive (PASV) connection.
These are the Account Settings as set up in Filezilla:
Once you have logged into the server, you will be presented with your file system area in the FTP client:
In the previous screen you will see that there are two parent folders:
group: This contains folders with the group name assigned to more than once device. When content is copied to a group folder it will be published to any Beam device that connects with that Group Name assigned to it. Group Names are not normally assigned unless requested as build time, and are reserved customers with a large number of Beam units. If you want to assign a number of units to a single group then please raise a support ticket.
devices: This contains folders for each individual unit you want to publish new content to. The folder name will be the same as your device’s Serial Number which is usually made up of 8 characters.
Each device will contain a version folder which means you can maintain version control on devices. This is particularly useful if have different devices that come on at different times, and need a previous version installed before a new one can be. Each device maintains a content version number starting from 1 at factory build time. You can obtain a units current content version by accessing the Factory Configuration page on your unit’s BeamOS portal. As each version is downloaded from the BEAM CDS, the BEAM device will increment its version number and will look for new content next time in the incremented version folder on the BEAM CDS.
So for example, if your unit’s serial number is ABCD1234 then you would copy the relevant version 2 content changes to the folder on the FTP Site:
Anything contained within this folder would then be downloaded to the folder \var\www\html\user\ on the target device, so if the file index.htm was copied to /device/ABDC1234/2/index.htm on the FTP server, it would be downloaded and stored as \var\www\html\user\index.htm on the BEAM unit’s flash disk.
Similarly, if the file index.htm was copied to the group folder /group/MYBEAMGROUP/1/index.htm it would be downloaded to \var\www\html\user\index.htm on all BEAM devices configured to be part of the MYBEAMGROUP group.
The version folder is the new version number – so if your current configuration is version 1 then your new version folder should be 2.
Enabling the Synchronisation
In the background, there is synchronisation service that copies your files to a high-availability master cloud server. It’s the master cloud server that your Beam units connect to and download the content from.
To ensure that content is not copied to the master cloud server until you are ready, i.e., after you have finished uploading all your content to the FTP server, you are required to copy a control file to your account root directory. This instructs the synchronisation service that you are finished uploading and that all of the folders can be published.
The control file is simply an empty file with the name sync.ready and you just need to upload it to your account root as shown below:
Once your folder has been published to the master cloud server, the control file will be deleted. This indicates to you that the copying has been successful, and also prevents continuous copying of unnecessary data to the master cloud server.