Tag Archives: Linux

Raspberry Pi to Linux Desktop

You may have bought a new Single Board Computer (SBC), and by any chance, it is the ubiquitous Raspberry Pi (RBPi). You have probably had scores of projects lined up to try on the new RBPi, and you have enjoyed countless hours of fun and excitement on your SBC. After having exhausted all the listed projects, you are searching for newer projects to try on. Instead of allowing the RBPi to remain idle in a corner, why not turn it into a Linux desktop? At least, until another overwhelming project turns up.

An innovative set of accessories converts the RBPi into a fully featured Linux-based desktop computer. Everything is housed within an elegant enclosure. The new Pi Desktop, as the kit is called, comes from the largest manufacturer of the RBPi, Premier Farnell. The kit contains an add-on board with an mSATA interface along with an intelligent power controller with a real-time clock and battery. A USB adapter and a heat sink are also included within a box, along with spacers and screws.

Combining the RBPi with the Pi Desktop offers the user almost all functionalities one expects from a standard personal computer. You only have to purchase the solid-state drive and the RBPi Camera separately to complete the desktop computer, which has Bluetooth, Wi-Fi, and a power switch.

According to Premier Farnell, the system is highly robust when you use an SSD. Additionally, with the RBPi booting directly from an SSD, it ensures a faster startup.

Although several projects are available that transform the RBPi into a desktop, you should not be expecting the same level of performance from the RBPi as you would get from a high-end laptop. However, if you are willing to make a few compromises, it is possible to get quite some work done on a desktop powered with the RBPi.

Actually, the kit turns the RBPi into a stylish desktop computer with an elegant and simple solution within minutes. Unlike most other kits, the Pi Desktop eliminates a complex bundle of wires, and does not compromise on the choice of peripherals. You connect the display directly to the HDMI interface.

The added SSD enhances the capabilities of the RBPi. Apart from extending the memory capacity up to 1 TB, the RBPi can directly boot up from the SSD instead of the SD card. This leads to a pleasant surprise for the user, as the startup is much faster. Another feature is the built-in power switch, which allows the user to disconnect power from the RBPi, without having to disconnect it from the safe and intelligent power controller. You can simply turn the power off or on as you would on a laptop or desktop.

The stylish enclosure holds the add-on board containing the mSATA interface and has ample space to include the SDD. As the RBPi lacks an RTC, the included RTC in the kit takes care of the date and time on the display. The battery backup on the RTC keeps it running even when power to the kit has been turned off. There is also a heat sink to remove heat built-up within the enclosure.

Android vs. Linux – Which OS is better?

Is Android A Better OS Than Linux?

Android has established itself as an important operating system for mobile devices. Google developed Android as an open source OS based on the Linux kernel. Google selected the Linux kernel because of its proven driver model, existing drivers, process and memory management, networking support and several other core operating system services. However, the Google team had to make several changes to make Android capable of operating mobile devices successfully. Differences with standard Linux are highlighted here.

The target architecture

Although the Linux kernel supports several architectures, right now, Android supports only two: ARM and x86. The ARM platform is more prevalent on mobile phones while the Android-x86 targets mainly the Mobile Internet Devices or MIDs used for general-purpose desktop/laptop/server computing systems. This being the fundamental difference between the two Operating Systems, it provides a strong insight into further divergence between the two.

Modifications in the kernel

Android does not use the standard Linux kernel straightaway, but uses it with some enhancements. These include alarm driver, shared memory driver, inter-process communication interface, power management, low memory killer, kernel debugger and logger. Google has contributed all the kernel enhancements back to the open source community under GPL.

Bionic C library

The GNU C library used by most Linux distributions makes use of the Native POSIX Thread Library or NPTL, which offers high performance, especially in server applications. However, disk space footprint and memory requirements of NPTL are far too large for resource-limited systems such as mobile devices.

This led Google to create a new C library called Bionic. It has fast execution paths, avoids edge cases and remains a simple implementation. As mobile devices are single user systems, for security reasons Google has removed the settings for groups and passwords, keeping only a unique user id and group id. Bionic operates with the limited CPU and memory resources available on Android platforms.

The Dalvik Virtual Machine

Android uses a virtual machine to run applications. Most top cell manufacturers such as Samsung, Motorola and Nokia use J2ME, a mobile optimized version of the Java virtual machine. In contrast, Android uses the Dalvik Virtual Machine, which is a standard Java platform. The dex files used by Dalvik are more compact and optimized to perform well on mobile devices with slow CPUs, limited memory, no swap space and limited battery power.

File system

Most desktop/laptop/server applications use magnetic hard disks, which the standard Linux systems manage with the latest Ext journaling file system. However, magnetic drives are physically too large, too fragile and consume too much power. To provide a robust file system, embedded systems use solid-state memory devices such as NOR for code execution and NAND for storage. Block erasure and memory are important features of solid-state memory, which the Ext file system does not handle. Therefore, Android uses an optimized Linux flash file system called YAFFS and this deals with lifetime limitations, bad block management and error correction for maintaining data integrity in NAND flash systems.

Power management

Standard Linux systems manage power though APM or ACPI. Android does not use either, relying more on its own PowerManager module, which is a Linux power extension. The module has low-level drivers for controlling the peripheral supported such as screen display and backlight, keyboard backlight and button backlight.

Wireless Energy Management with Linux

Home and commercial builders often need appliances for automation and energy management. Check-It Solutions has a product just for this purpose. This is the CG-300 Controller, a Linux-based monitoring and control appliance for managing energy for home and commercial establishments.

Running on a Marvell Armada 300 SoC, the 88F6282, at 1.2GHz, the CG-300 offers its users short-range wireless services such as Z-Wave, ZigBee, Ethernet and optional LTE. Users can access the turnkey Energy Management Starter Kit for the device with a web-portal service on their smartphone. With the kit, users can run a Dent metering service and use its Energy Star benchmarking.

If your building already has an existing automation system, CG-300 can communicate via protocols such as Modbus or BACnet for centralizing monitoring information or controlling functions. CG-300 can operate as a standalone controller also and communicate with sensors at multiple locations for retrieving data. It can report and conduct data analysis on the information it receives from the sensors. Check-It Solutions has a turnkey Energy Management Starter Kit, which the CG-300 can access via a web portal.

Spread of home automation systems has arguably slowed because of the lack of consensus for a single short-range wireless technology – the battle between ZigBee and Z-Wave supports this. By offering both the radio technologies in one product, the bipartisan approach of Check-It has made it easier and more affordable for users. For a more uniform and predictable RF coverage, CG-300 offers individual RP-SMA dipole antenna for the two. Moreover, users can upgrade the Z-Wave stack on the device from the host SoC, because the device has a built-in programming circuit for the Z-Wave ASIC.

The CG-300 operates with 1GB of SLC NAND flash and 512MB of DDR3 RAM offering dual USB ports and a single gigabit Ethernet port. The SLC NAND flash is of high write-endurance type. If you need a 4G LTE/HSPA radio, go for the CG-300c model, which uses an external SIM card slot of the MiniPCIe type. The Z-Wave on CG-300 operates at 900MHz with a 168mm RP-SMA external antenna, while the ZigBee operates at 2.4GHz with a 76mm RP-SMA external antenna.

The Operating System for the device is a 3.4 kernel customized Linux. With the main application based on Java, it offers flexible IO scheduling with event-driven script execution. For additional optimization on ARM, Check-It has gone with a licensed, proprietary Oracle JVM rather than OpenJDK.
Using Oracle JVM, the controller can utilize the cellular and Ethernet connectivity for automatic failover for Internet connectivity. However, local traffic always prefers Ethernet connectivity and the process is useful for communicating with local PLCs and BACnet devices.

The CG-300 comes as a part of the turnkey solution that Check-It offers – the Energy Management Starter Kit. The CG-300 functions to manage communications between installed devices, while forwarding information to the secure hosted web portal, the Check-It Solutions Platform.

The web portal allows users to monitor energy and water usage and benchmark the performance of buildings, while identifying potential savings in energy usage. The system allows control and automation of lighting, HVAC and electrical loads.

A Bike Computer that Deters Theft

Cars already have theft alarms that create a racket when someone tries to tinker with or steal them. So far, there have not been many bike alarms, but now Wi-MM offers one that can notify users if anyone tries to pinch their bicycle. The Bike+ BPU-100 from Wi-MM is a bicycle computer that runs embedded Linux.

As bicycles are easy targets for thieves, people with top-of-the-line bikes think twice when riding in areas that have high theft rates. However, the Bike+ BPU-100 will notify users if their bike is stolen by sounding an alarm and helping track it down via GPS. The device links to cloud services via its onboard 3G cellular modem. Additional capabilities include real-time location and mapping, route tracking, synchronizing to a smartphone via Bluetooth, apart from fleet management features.

To determine whether a bike has been moved and stolen, the Bike+ uses the combination of a cloud-based service, a 3G cellular modem and an accelerometer. Depending on the GPS and 3G signals, the user receives continuous updates about the present position of his or her bike. When moved or stolen, an alarm goes off and the owner receives a text message. The owner can then track the movement of the bike over a smartphone. The user can affix Bike+ securely to the frame of the bike to prevent it from removal.

Although the protection device does not have a screen, it can link to a nearby iOS or Android smartphone via Bluetooth. On this, the bike computer offers real-time location and mapping features. Apart from ride tracking functionality, the user can make use of several performance analytics including distance traveled, time and speed over the web interface.

The accelerometer on the Bike+ also helps in detecting the occurrence of a crash. If the bike crashes, Bike+ can send automatic alerts to selected contacts. For tracking multiple riders, messenger operators can make use of the Fleet Management Dashboard. This helps in bike sharing.

Among the various features including the anti-theft alarm and buzzer, the Bike+ boasts of a high-performance GPS receiver and a 3G cellular modem. This links to a smartphone via Bluetooth, providing in-ride experience such as real-time ride information, accessible on the web browser. Bike sharing operators can use the fleet management dashboard of the device. In case of a crash, the Bike+ can detect and send alert notifications.

The method of working of the Bike+ is very simple. The user can get on his/her bike without concern. The device immediately detects motion and starts to collect ride statistics, while the rider focuses on the journey. In case of an emergency such as a crash, the device will notify the riders loved ones.

Bike+ uploads all ride information to the cloud automatically. Therefore, the rider has a chance to monitor his/her progress and keep track of their goals at any time. On parking the bicycle, the user can rest assured that the Bike+ will watch over the bike to detect if it is being stolen. It then generated an alarm, while the user can locate the present position of the bicycle on the web.