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).  […]

WellcoM WePad A800 Android 2.2 Tablet Video Review

More and more decent (e.g. with capacitive multi-touch screen, decent processor…) and cost-effective android tablets are hitting the market such as Archos Gen8 Series. It might be difficult to obtain Archos 70 in some countries in Asia. But not is all lost as product such as the WellcoM WePad A800 are available in Thailand (and probably other countries). This tablet based on Qualcomm MSM7227 @ 600 Mhz runs on Android 2.2. The device comes with 512 MB DDR RAM, 512 MB Rom, a 7″ multi-touch capacitive touch screen (800 x 480) , Wifi, Bluetooth, 2G/3G network support. I discovered this product in a shop in Chiang Mai yesterday. I tried it a bit, it was very smooth and responsive. It sells for 15900 Baht (530 USD / 383 Euros) with a free bluetooth headset. The following videos (In Thai only) reviews the device. The reviewers runs a lot of benchmark […]

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 […]

Archos 101 Archos 70 with Android 2.2

In the previous blog post about Archos 70 Video Review, I mentioned the device was running on Android 2.2. This is not currently accurate, as the device now ships with Android 2.1, but will be upgradable to Android 2.2 soon after. [ad#Google Adsense – Wide Banner] In the meantime, here’s an another Charbax’s video about Archos Gen8 devices (i.e. Archos 28,Archos 32, Archos 43, Archos 70and Archos 101) running a beta version of Android 2.2 for this series of devices. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

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 […]