Reading CPU Temperature and Controlling LED with C++ via sysfs

thermometer

Let’s take a quick look at an example C++ program which reads CPU temperature and controls an LED using sysfs. This example is a bit specific in that it’s only been tested on our NXP i.MX6 powered TS-4900 or TS-7970 running Yocto Linux, but the principles could be applied to other embedded systems as well. If you’re interested in the nitty gritty details about sysfs, take a look at The sysfs Filesystem by Patrick Mochel. Suffice it to say for our purposes, sysfs makes it easy for us to interact with system hardware using plain text files located in the /sys/ directory. The file to control the red LED is /sys/class/leds/red-led/brightness. The file to read the CPU temperature is /sys/class/thermal/thermal_zone0/temp. If we want to turn the red LED on, we simply write a ‘1’ to the file, and not surprisingly, writing a ‘0’ will turn it off. If you’ve booted up your TS-4900 or TS-7970, you can see this by running the shell commands:

Continue reading “Reading CPU Temperature and Controlling LED with C++ via sysfs”

Getting Started with Qt Creator on the TS-TPC-8390-4900 or TS-TPC-7990

Introduction

In this getting started guide, we’re going to look at what it takes to get an example Qt Creator project running on the TS-TPC-8390-4900 or TS-TPC-7990. This will help pave the way for developing a human machine interface (HMI) for supervisory control and data acquisition (SCADA). We’ll start out by talking about the expected workflow and specific versions compatible with our chosen hardware, TS-TPC-8390-4900 or TS-TPC-7990. Next the TS-TPC-8390-4900 and Qt Creator will need to be prepared to work together. Finally, we’ll test our environment by running an example Qt Quick Controls Application. In a follow up guide, titled Develop a Simple Qt Quick Interface for HMI/SCADA Applications, we’ll look into what it takes to gather some system data and control DIO.

Continue reading “Getting Started with Qt Creator on the TS-TPC-8390-4900 or TS-TPC-7990”

Who’s (Not) Afraid of the Dark?

power-outage

The Dark Side

Weather is inevitable, downtime shouldn’t be. Per Information Week, in 2015 IT downtime alone costs $26.5 Billion in lost revenue. This does not take into account the loss of customer confidence, productivity, and supply chain interruptions that are a result of these outages. In a constantly wired world, service level agreements (SLAs) with online availability requirements of >99.9% is today’s de-facto standard. It is simply a fact of the new business model that downtime is no longer acceptable. Industry has done what it can to protect itself from these outages as much as possible, and a few of those options are laid out below. But the result is the same, enterprise level businesses can no longer operate without disaster recovery plan with as many contingencies in place as possible to ensure minimal rebound and recovery time should an outage occur. With embedded electronics permeating further into our everyday lives, partially in thanks to the Internet of Things, there are more and more devices that we need to worry about recovering once the lights come back on. So what can you do to fend off the darkness?

Continue reading “Who’s (Not) Afraid of the Dark?”

Reliable In-Vehicle Data Logging and Tracking

asset-tracking

Having access to live data from out in the field is incredibly valuable in making smart, informed decisions about your business. Fleet vehicle and other traveling asset operations benefit greatly from an in-vehicle data logging and tracking solution. The challenge is collecting and sharing this data reliably because of the inherent challenges with a mobile solution. For example, there are additional power supply considerations for a vehicle that is always starting and stopping. When power is unexpectedly cut off from the embedded data logger, there is a high likelihood of filesystem and data corruption. Another consideration is how to transfer the data once you’ve captured it via CAN or GPS. Thankfully, cellular network providers have done a great job at providing an always-available, nationwide service accessible from nearly anywhere. It would make sense to tap into this network using a cellular modem. Then, perhaps when the vehicle returns to a base station, WiFi or Bluetooth connections can be used to share auxiliary, non-real time data. Lastly, you’ll want to consider operating temperature ranges, as the inside a vehicle can easily reach 130 ºF to 170 ºF (54 ºC to 76 ºC) and on the opposite, reach “Ice Road Truckers” cold to -50 ºF (-45 ºC). It’s important to keep these considerations of power, temperature, and connectivity in mind in order to keep all this data safe and sound. The TS-7670 and TS-7680 single board computers are embedded systems which aim to provide reliable, low power, industrial-grade vehicle asset tracking solutions and solve these challenges.

Continue reading “Reliable In-Vehicle Data Logging and Tracking”

Practical Guide to Getting Started with the TS-TPC-8390-4900

Introduction

This guide will walk you through the basic steps of getting your TS-TPC-8390-4900 touch panel computer (TPC) up and running. It’s mostly an extrapolation from the official TS-TPC-8390-4900 Manual, but provides a more practical approach in setting up common connections, networking, and environments to begin development. We’ll assume you’ve already gone through the excitement of unboxing, and we’ll pick up from there.

TS-TPC-8390-4900 Out of the Box with PSU and Serial Adapter

Connections

Let’s get our TS-TPC-8390-4900 hooked up! This includes our very basic connections we’ll need for most any development or project: power, serial console, Ethernet, and optionally a keyboard and mouse.

Continue reading “Practical Guide to Getting Started with the TS-TPC-8390-4900”

High Quality Embedded Products with IPC-A-610 Certified Technicians

Quality conscience project managers and engineers understand that when looking for a solutions provider, quality certifications are vitally important. Top of mind certifications, like ISO-9001, ensure reliable manufacturing, processing, and testing of end products before they’re packaged up and shipped out the door. In the embedded systems and electronics world, there is another quality certification called IPC-A-610 which is an international source for end product acceptance criteria for high reliability electronic components. This certification allows quality conscience decision makers to rest easy with their choice of embedded systems supplier knowing that all IPC-A-610 certified technicians and production employees are trained not only to spot and correct any physical defects, but also how to handle the end product to maximize life and dependability in the field.IPC-A-610 Logo

IPC-A-610 holds manufacturing technicians to a higher standard for testing and inspection. These trained Certified IPC Specialists (CIS) possess the knowledge to identify defects which could cause latent or immediate malfunction. Examples of such defects include:

 

  • Cold solder joint exampleA missed cold solder joint (pictured) could cause a latent power failure in the field due to the solder bond cracking.
  • Cracked components, which pass initial inspection, break under the forces experienced in the shipping and receiving process.
  • Loose solder balls that when dislodged, can cause a short between traces on the PCB board and result in damaging sensitive components and board failure.

All CIS are trained to carefully detect all of these issues, among others, to ensure the embedded system performs reliably in the field. On top of spotting and correcting any physical defects, they are also trained to be careful when handling the boards to maximize the life of the board in the field. This is important, since a small percentage of a boards life is diminished every time a soldering iron or non-ESD protected person touches it. CIS understand that even oils and salts from their fingers can contaminate the board, causing latent issues.

There are three classification standards for the accept/reject criteria defined by IPC: Class 1 being general electronic products where the only requirement is to function, Class 2 being dedicated service electronic products where continued performance and extended life is required as well as uninterrupted service is not critical but desired, and Class 3 being high performance/harsh environment electronic products where continued high performance or performance-on-demand is critical to the working end product and must not fail, such as a life support machine at a hospital. All CIS are trained for all three of these classifications for the utmost quality assurance.

Highly reliable embedded system deployments start with choosing a partner who not only carries certifications for manufacturing, process, and designing through ISO-9001, but also employs highly trained, IPC-A-610 certified technicians and production personnel to ensure proper handling and repair throughout the entire process.

Here at Technologic Systems, we pride ourselves in our product quality, ensuring our customers get the highest quality end product. Our entire production team is not only IPC-A-610 certified, they are passionate about quality, keeping up to speed on new quality standards to ensure top level performance and life out of our products. We take extensive care in making sure that the product is carefully handled and meets the highest acceptance criteria so that our customers will be getting what they deserve.

“IPC training has given me greater knowledge and understanding of what can cause a latent problem on boards in the near or distant future. Before going to training I would say that you could consider me to be meticulous with the quality of the product I am working with. But I didn’t realize that even something as small as the oils on my hands can cause latent problems for the board. I also learned that there is a long-term cost to making repairs so that on components with metalization loss it’s actually better not to repair it if the loss is still within the acceptable range.” — Camron Vogelzang, Repair Technician

Creating a Human-Machine Interface (HMI) Web Application

Simple Embedded Monitor and Control Dashboard

Final HMI Web Application
Final HMI Web Application

In this guide, we’re going to learn how to create a very simple PHP web application that will read and display real-time CPU temperature data and control an LED using javascript AJAX calls from a web browser anywhere in the world. In the real world, you’d want to monitor something more interesting, like equipment or sensors connected to ADC, CAN, RS-485, RS-232 ports and other GPIO pins. Or how about monitoring voltage input? You’d also want to be able to control your connected equipment using digital output signals. This guide provides an introduction to the concepts that will help get you started in the right direction. All source code is available in the tarball hmi-example-web-app.tar.

Continue reading “Creating a Human-Machine Interface (HMI) Web Application”

Getting Current Voltage Input (VIN) on TS-7250-V2

Here’s an example program our engineers might find useful. Jesse Off, our lead engineer, wrote this simple program to get the voltage input (Vin) on the 8 – 28 VDC power rail on the TS-7250-V2 (Rev. B only). Without going into too much detail about implementation of the SiLabs microcontroller, there is a register which is used to store various ADC values, including Vin. This example program basically polls this 19 byte register via I2C interface, accounts for the voltage divider (see TS-7250-V2 schematic), and spits out the Vin value. So, without further ado, here’s the code:

Continue reading “Getting Current Voltage Input (VIN) on TS-7250-V2”

Practical Guide to Getting Started with the TS-7250-V2

Introduction

This guide will walk you through the basic steps of getting your TS-7250-V2 up and running. It’s mostly an extrapolation from the official TS-7250-V2 Manual, but provides a more practical approach in setting up common connections, networking, and environments to begin development.

Connections

Let’s get our TS-7250-V2 hooked up! This includes our very basic connections we’ll need for most any development or project: power, serial console, and Ethernet.

TS-7250-V2 with power, console, and Ethernet
TS-7250-V2 with power, console, and Ethernet

Continue reading “Practical Guide to Getting Started with the TS-7250-V2”

The Time for Industrial IoT is Now

The Time for Industrial IoT is Now

While home automation first put the Internet of Things concept into the technology mainstream, industrial IoT is where this nascent high-tech sector’s growth truly lies. Companies of all sizes, spanning many different industries, hope to gain a competitive advantage using a variety of IoT applications.

A typical industrial IoT scenario involves data from sensors embedded inside equipment that communicates with a small gateway computer connected to the Internet. A remote data analyst or engineer uses this information in a myriad of ways. The ultimate goal of the application could be optimizing performance by detecting either hardware breakdowns or simply inefficient operation.

Frankly, this is only one of many different possibilities. Let’s dive into some reasons why the time for industrial IoT is today.

Continue reading “The Time for Industrial IoT is Now”