When you don’t have or feel like hooking up a monitor and keyboard

Photo by Jeff Loucks on Unsplash

We will be installing a headless version of the Raspberry Pi OS, which can
be downloaded from the Raspberry Pi Foundation here: https://www.raspberrypi.org/software/operating-systems/

As of April 2021, the three downloads available are:

  1. Raspberry Pi OS with desktop and recommended software
  2. Raspberry Pi OS with desktop
  3. Raspberry Pi OS Lite

We will be downloading Raspberry Pi OS Lite, which is a headless version of the OS. That is, there is no graphical user interface available. …


Along with certbot

Photo by bantersnaps on Unsplash

To enable the JavaScript language subset njs along with Nginx, we can install from source. In this guide, I’ll provide info on this setup for Ubuntu 20.04.1 LTS.

First check the downloads page here for the latest stable version: http://nginx.org/en/download.html

We’ll be downloading version 1.18.0, which can be done via:

$ cd ~
$ wget http://nginx.org/download/nginx-1.18.0.tar.gz
$ tar -zxvf nginx-1.18.0.tar.gz

System Prep

Make sure your host machine is up to date and install some necessary packages:

$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

If you have already installed…


I know I am…

Photo by Mike Szczepanski on Unsplash

Invariably when I log into one of my linux servers over an SSH terminal, I end up wanting to modify some files that require root permissions. So I insert the necessary sudo command at the front of the line and proceed. However, I tend to use randomized passwords and it’s always a pain to look them up.

For this brief note, I’m using an Ubuntu v18.04.4 linux server. If you want to check your operating system version in linux, just execute the following command:

cat /etc/os-release

You should see some output such as:

NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic…

Programar não é necessário!

Photo by NASA on Unsplash

Começar a conectar um dispositivo único com a nuvem pode ser bem difícil. Geralmente, precisa-se de firmware para rodar no dispositivo, infraestrutura para aceitar conexões e administrar dados, e uma interface (ex. navegador web ou assistente de voz) para comunicar a intenção do usuário. Se tiver uma idéia que quer levar para a fase de Prova de Conceito rápido, qualquer coisa que facilita o processo é muito atraente.

Há várias tecnologias que podem ser utilizadas para orquestrar comunicação entre as peças, mas, neste artigo, vamos focar no MQTT e HTTP, pois assim teremos uma robusta transferencia…


An Express.js train ride down the Actions on Google smart home trail

Photo by Joe Roberts on Unsplash

I remember when I got my first Google Home Mini. There was something viscerally satisfying about telling it to play a song for me on Spotify and being able to adjust the volume by just saying “Hey Google, turn the volume up!”. I’m that guy who constantly annoys any house guests by showing them all the different features like some type of 8 year old in the 90’s who wouldn’t shut up about his new Power Rangers toy. I know I’m dating myself, but you secretly know you…


No coding or hardware required

Photo by NASA on Unsplash

Getting started with connecting a custom device to the cloud can be quite daunting. You generally need firmware to run on your device, cloud infrastructure to accept connections and manage data, and a client interface (e.g. a web browser or voice assistant) to communicate user intent. If you’ve got an idea that you would like to bring to a Proof of Concept stage, anything that makes that process faster and easier is definitely attractive.

There are a lot of technologies that can be used to orchestrate communication between the different moving parts, but we’ll be focusing on MQTT and good…

Justin Cartwright

Fullstack Systems Engineer @ Technicity LLC, Runner, Transplant Carioca.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store