Reading Vehicle OBD-II data through CAN within a containerized application in Embedded Linux

telematics applications overview-GNSS CAN Cloud embedded Linux

CNXSoft: This is a guest about OBD-II and CAN support in embedded Linux by Andre Márcio de Lima Curvello, Sr. FAE and Technical Evangelist, Toradex A connected world makes it possible to track your online orders being shipped to your home through your smartphone in real-time, and getting information about your vehicle such as tire pressure, outside temperature, and even details like if a lamp is broken – has begun to be possible via smartphones in modern vehicle models. But behind the magic of knowing where the truck carrying your package is at all times and other details of the vehicle, there is a very complex world made of embedded devices ‘talking’ to each other so the information makes its way from the device to you. In this article, you will learn how to create an application to communicate with a vehicle through CAN via the OBD-II standard. We use […]

How to develop Gstreamer-based video conferencing apps for RDK & Linux set-top boxes

gstreamer zoom video conference

CNXSoft: This is a guest post by Promwad that explains the basic steps to develop a video conferencing app with Gstreamer on TV boxes running Linux. The COVID-19 pandemic has become a catalyst for new online services. For example, Zoom became so successful that it overtook IBM in terms of capitalization this month. The software engineers at Promwad were inspired by this success and decided to go even further: what about implementing video conferencing on Smart TV and STBs? Then the users of such an application will have an opportunity to communicate not only at work but also to enjoy remote meetings with friends, cheer for a soccer team, watch a movie together, or do sports with a coach. For some reason, most digital TV operators do not have such a service, although, from an engineering point of view, all these features can be implemented on set-top boxes based on […]

No password SSH – Login to a SSH server with private/public keys

If you often need to establish SSH connections to a server, entering the password each time may be a hassle or even a non-starter. For example, in our case, we use ssh connections in our nightly build scripts, so obviously entering a password would not be an option here… So it can be useful to configure the server and your client to accept secure ssh connection without the need to enter a password.  What must be done, then, is to generate a public/private key pair, and copy the public part into the appropriate place on the server side. For doing this, on the user’s home directory, on the client machine, type:

-t tells the type of encryption -f tells where to store the public/private key pairs. In this case, the .ssh directory in the home directory is being used A password will be asked;  leave this part blank, just […]

How to Take a Remote Screenshot in Raspberry Pi over SSH

remote screenshot raspberry pi ssh

I recently reviewed a Raspberry Pi 4 laptop with a custom interface that made it impractical to take screenshots directly on the device. So instead I had to take screenshots remotely over SSH. It’s quite easy to do. Most of the steps can be reproduced in other Linux systems, and are not specific to Raspberry Pi. Enable SSH in Raspberry Pi First, enable SSH either with sudo raspi-config in a terminal window and selecting 5. Interface Options, then P2 SSH… If for some reason, you don’t have access to the terminal, take out the MicroSD card from the Raspberry Pi board, and from a computer create a new empty file named “ssh” in the boot partition. Now provided you have the username and password for your board, you can connect to SSH with the IP address from a terminal:

or a program like Putty. Taking a screenshot remotely You’re […]

3D Printer Retraction Calibration Vol II – Calibration Generator Program Release

Calibration Generator Program

Good day. Karl here. It has been a while since I have submitted any articles. I got burned out and my normal day job picked up considerably. I have been keeping busy but not with anything I would share by itself. I will start out with an update on what I have been up to. You can skip to the 3D printer retraction calibration section with the release of the Calibration Generator tool if you are not interested. What have I been up to? First, I have been doing a lot of gaming. Been playing Fortnite, Red Dead Redemption 2, and some other random games. I am trying hard to keep up with my son. Unraid OS. So many things to explore and learn. Docker, VM’s, and storage. There is so much goodness in this OS. I was able to consolidate several services into one box. I had a standalone […]

Getting Started with Qoitech Otii Developer Tool using ESP8266 and Raspberry Pi 4 Boards

Qoitech Otii Arc Raspberry Pi 4

Last month, I received Qoitech Otii Arc power supply, power meter, and DAQ unit that aims at helping hardware and software engineers develop energy-efficient products. I’ve now had time to test the unit with an ESP8266 board and Raspberry Pi 4 SBC, so I’ll show how to get started and my overall experience with the hardware and program. Requirements and Initial Setup The unit takes a 9V power supply or micro USB adapter as power input, but power output is done through banana plugs. I did not have any cables with banana plugs so I bought one on eBay for about $5 shipped. This cable is really convenient with output to USB (female connector), crocodile clips, and hook clips. However, as we’ll see below it may not be suitable for all types of loads, and you may have to make your own with a higher rated cable. You’ll need to […]

How to Build KiCad on Ubuntu 18.04 / 20.04 and Import Altium PCB Files

BeagleBone Black Altium KiCad

KiCad open-source EDA (Electronics Design Automation) suite software is now very popular, and many new projects are designed with the utility. AFAIK, some companies like Olimex switched all their new designs to KiCAD. But since many schematics and PCB layouts have been designed with other tools like EAGLE, Orcad Allegro, or Altium PCB design tools, it would be nice to be able to import those designs into KiCad. Converters have been around for a long time but when I tried to convert Beagleboard-xM OrCAD schematics to import them in KiCAD back in 2012, the results were really awful and unusable. But I recently saw a tweet saying it’s now possible to import Altium files into KiCAD. Finally, importing #altium boards into #kicad is only one click away (in the developer version). This allows to view and edit #opensource #hardware which was designed with #proprietary software, and thus, in fact, not […]

Getting Started with RT-Thread Nano RTOS on RISC-V Processors

GD32V Project Eclipse

CNXSoft: This is a guest post by RT-Thread explaining how to create your first program running on their real-time operating system using a GD32V  RISC-V MCU board as an example. This article describes how to “port” RT-Thread Nano to the RISC-V architecture, using the Eclipse IDE, GCC toolchain, and a basic project for the Gigadevice GD32V103 MCU. Foreword RT-Thread is an open-source embedded real-time operating system. RT-Thread has a standard version and a Nano version. The standard version consists of a kernel layer, components and service layer, and IoT framework layer, while the Nano version has a very small footprint and refined hard real-time kernel, better suited to resource-constrained microcontroller units (MCU). The main steps for porting Nano are as follows: Prepare a basic Eclipse project and get the RT-Thread Nano source code. Add the RT-Thread Nano source code to the base project and add the corresponding header path. Modify […]