ExpressLRS integration for Orqa FPV.Connect

Motivation Since starting to fly FPV drones about two years ago I steadily upgraded my gear. I settled on ExpressLRS for my radio link because of the superb featureset, speed and range as well as a super low price for individual components. One of the features that ExpressLRS offers is the support of so called Backpacks, that integrate the video receiver with the system to enable automatic band and channel switching.

Revisiting Cheap Action Cams

In the last blog post (from over two years ago!) I had a first look at the protocol that is used to control cheap action cameras via their corresponding smartphone apps. It turns out that this protocol is used by many similar cameras without any modifications and any app can be used for any camera. I’ve been contacted by several people that had problems using the example code that I provided, written in Node.

Hacking the TecTecTec! XPro2 Action Camera

A friend of mine baught a cheap Action Camera through Amazon a few days ago. He asked me to take a look at the mobile app to see if it was possible to stream the live preview to a PC or a RaspberryPi to use it as a cheap surveillance camera. The camera is running Android and it’s possible to connect to ADB though USB. XPro2HD Action Camera The first step was to make it easier to connect to the camera.

How to Simplify LetsEncrypt Certificate Expansion and Renewal with a Config File

In my post Securing the Blog with TLS, I created my TLS certificate using certbot and provided all options as command line parameters. Using this approach it is cumbersome to add new domain names to an existing certificate and it’s not easy to renew your certificate. At least not easy enough for me. After the second expiration notice, kindly provided by the Let’s Encrypt Expiry Bot, I wanted to simplify this task as much as possible.

Securing SSH With fail2ban

The Problem Shortly after setting up my server I noticed increasing amounts of authentication log data. The files contained many thousand lines of failed password attempts for the root user account. The attempts not only put my system at risk but also clogged up the log files and introduced stress on the small server instance. Nov 13 20:20:06 v36436 sshd[7001]: Failed password for root from port 12984 ssh2 Nov 13 20:20:10 v36436 sshd[7001]: message repeated 2 times: [ Failed password for root from 116.

Understanding CSTA - Part 2

When an application successfully established an ApplicationSession with a Switching Function there will mostly be silence on the wire, except for your regular ResetApplicationTimer request to keep the session alive. The first thing a Computing Function might want to do is discover what devices are available on the target system. Some applications implement a scraping function that requests device details for every possible identifier they can come up with (or the administrator specified), others implement the GetSwitchingFunctionDevices request.

Understanding CSTA - Part 1

What does it take to connect to a communications system using CSTA? What does it take to implement the service provider side of CSTA communications? What exactly is CSTA and what purpose does it serve? As for all questions, lets have a look at the Wikipedia article. Computer Supported Telecommunications Applications (CSTA) is an abstraction layer for telecommunications applications. It is independent of underlying protocols. – Wikipedia CSTA is used to connect applications to PBXs to be able to control the connected phones, control the routing of calls and monitor events happening inside the PBX.

Securing the Blog with TLS

Using HTTPS on every HTTP-based system seems like a good idea, but the cost of trusted certificates has been a deterrent for many non-commercial blog authors and open source projects. For some time now letsencrypt offers a free and secure alternative to the costly certificate authorities. I wanted to secure this blog using HTTPS too and went through the Let’s Encrypt certification process. Let’s Encrypt uses the ACME Protocol to verify that you are the owner of the domain name you are requesting a certificate for.

Setting up Hugo

Hugo Logo (by Steve Francia) I planned to setup a blog to keep track of some projects and learnings for quite some time now. I’ve worked with Wordpress a couple of times before and I didn’t like the idea of this much overhead for a mostly single-author site. I stumbled upon Julia Evans Blog a while ago and added her to my feed-reader, thats where I first heard of Hugo.