XIBO: An Open Source Digital Signage Server/Client

Today’s post will deal with Xibo (pronounced eX-E-bO), an open source, multi-display, multi-zone, fully scheduled digital signage solution. I’ll firstly give an overview and explain how to install the client and server in Windows XP. In another post, I’ll demo the system. The server can run on Windows or Linux and requires a web server (Apache / IIS), php5 and a MySQL database. The client can only runs on Windows 2000/Xp/Vista/7 and requires .NET Framework v3.5, Internet Explorer 7 or 8, Flash Player Version 9 or later, Windows Media Player 11 or later, Microsoft Powerpoint 2003 or later. As you can see from the client description, it won’t be able to run on Linux embedded systems, but it is still interesting to study this solution to see the content management flow, what this solution has to offer and how we get development idea from this solution.  An embedded client based […]

Resources for Qualcomm MSM722x: MSM7225, MSM7227

Qualcomm MSM722x processors – part of MSM (Mobile Station Modem) series – are mainly used in mobile phones and to a lesser extend in tablets such as WellCoM A800. You won’t find any proper documents or information in Qualcomm website (see Qualcomm MSM page) except the following description: Qualcomm’s Mobile Station Modem™ (MSM™) chipset solutions enable cost-effective mobile handsets with advanced capabilities that leverage 3G technology yet minimize development time. Offered on four discrete platforms for tailored functionality, each chipset is integrated with a select set of features from Qualcomm’s multimedia suite of applications to enrich the user experience while maintaining cost-target objectives. So if you plan on developing on that platform, you’ll need to visit Qualcomm developer website to get most of the information you’ll need. There are two chipsets with similar characteristics. MSM7225 The MSM7225 chipset includes a 528 MHz ARM11 processor with a floating point unit (FPU).  […]

Khadas Edge2 Arm mini PC

Accurate Time Keeping in Embedded Systems

In many embedded systems, there is a need to keep accurate time/date. This is often performed using an RTC (Real-Time Clock). However,  uncalibrated RTC are not that accurate. For example, ST Microelectronics M41T94 RTC datasheet explains that: Uncalibrated clock accuracy will not exceed ±35 ppm (parts per million) oscillator frequency error at 25°C, which equates to about ±1.53 minutes per month. . In order to improve the accuracy, you’ll need to calibrate the crystal for each board at the factory using a frequency counter, that will greatly improve accuracy, for M41T94: When the Calibration circuit is properly employed, accuracy improves to better than ±2 ppm at 25°C. However, calibrating the crystal will further increase the manufacturing costs. Another way to have a very accurate time keeping, is to use the power supply frequency (50 Hz/60 Hz) which is extremely accurate due to interoperability requirements between electricity providers. In the diagram […]

Socket Programming: Client crashes when exiting server

One of our digital signage applications was crashing when the control server was shutdown at the same time a command was sent with no apparent reason. It would always crash inside the write function (see code below) and no error message were returned. sent = write(fd, buf, n); After a while, we found that in case the connection with the server is lost, and write tries to access the server, it will generate a SIGPIPE signal and in most systems, the application would just exit by default. A simple way to handle this case was to ignore the pipe signal by adding the following line during initialization: signal(SIGPIPE, SIG_IGN); In case the server is down at the time the write function is called, the signal SIGPIPE would be ignored, write would return -1 and errno should return 32 (Broken pipe). Alternatively, if needs be you could also handle the SIGPIPE […]

Finding a device IP Address

If you are developing software for an Ethernet (or Wifi) device, you’ll need to access the board for debugging and/or testing purpose. If your board does not have user interface or the serial port is not available, you’ll have to find the IP address (assuming it is using DHCP) before accessing the board thru telnet or ssh. A simple way to do that is to ping the broadcast address and check the arp table. > ping -b 192.168.0.255 WARNING: pinging broadcast address PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data. 64 bytes from 192.168.0.246: icmp_seq=0 ttl=64 time=0.018 ms 64 bytes from 192.168.0.101: icmp_seq=0 ttl=64 time=0.217 ms (DUP!) 64 bytes from 192.168.0.246: icmp_seq=1 ttl=64 time=0.023 ms > arp -i eth0 arp -i eth1 Address                  HWtype  HWaddress           Flags Mask            Iface 192.168.0.103            ether   00:50:FC:00:00:01   C                     eth1 192.168.0.109            ether   00:13:20:01:01:01   C                     eth1 If you cannot find your device, it may be configured to […]

Archos 70 Internet Tablet Video Review

Archos as just released a new 7″ Android Tablet. This device costs around 275 USD (249 Euros), which is a pretty good price for a device based on an ARM Cortex A8 at 1 GHz running Android 2.2, a capacitive touch screen (800×480), HDMI output (Up to 720p), built-in wifi (802.11n) and bluetooth 2.1 as well as a front facing camera. Bear in mind that you won’t be able to take pictures or videos with this device since there is no camera on the back of the device. Go to Archos website to get the full technical specs of Archos 70. Here are two videos of the device by Charbax. The first video shows web browser, video playback, google app market place, video playback on TV thru HDMI and facebook. The second video shows the dolphin web browser used with a bluetooth keyboard, video chat with fring (still have some […]

Rockchip RK3568/RK3588 and Intel x86 SBCs

D-link Boxee Box available for pre-order

D-link Boxee set-top-box is available for  pre-order on amazon for 199 USD. It can only be pre-ordered to addresses in the US for now and shipments should start in November. D-Link disclosed that its device is based on an Intel Atom processor CE4100 (Sodaville), not an ARM or MIPS processor as many other STBs do. It is running on embedded Linux. Key features listed by D-Link for the device (beside its weird shape) are basically those of the Boxee media-streaming software on which it’s based: Enjoy thousands of shows available for free from your favorite networks, ready to watch at any time Check-out free movies from the web & watch new releases in stunning HD from premium movie services Play videos, songs, or pictures from your computer or home network Plays any non-DRM video, music, and photos and media from anywhere on the Internet The device features the following input/output and […]

Khadas VIM4 SBC