Skip to content

Instantly share code, notes, and snippets.

View Paraphraser's full-sized avatar

Phill Paraphraser

  • Cootamundra NSW Australia
View GitHub Profile
@Paraphraser
Paraphraser / keybase.md
Last active December 12, 2019 23:23
Keybase proof

Keybase proof

I hereby claim:

  • I am paraphraser on github.
  • I am paraphraser (https://keybase.io/paraphraser) on keybase.
  • I have a public key ASAEuq9mHBtAWcvqsEvFAC-CtHGqjRDtQU3Ht7YY0MrSJQo

To claim this, I am signing this object:

@Paraphraser
Paraphraser / RPi_local_NTP_servers.md
Last active January 18, 2020 01:11
Configuring Raspbian to use local time-servers

Configuring Raspbian to use local time-servers

The case for using local time-servers

Out of the box, Raspbian gets its time from NTP servers in the debian.pool.ntp.org domain. You can confirm this via:

$ timedatectl show-timesync
...
ServerName=0.debian.pool.ntp.org
@Paraphraser
Paraphraser / MQTT_Node-Red_Influx.md
Last active April 5, 2024 00:20
Efficient recipe for getting MQTT data into an InfluxDB database using Node-Red

Recipe: from MQTT to InfluxDB via Node-Red

  • 2023-12-02 revise graphics to correspond with InfluxDB-in node, and explain the pros and cons of InfluxDB 1.8 vs InfluxDB 2.

Introduction

Getting data produced by IoT sensors into a database is practically a mandatory step before effective visualisation (eg dashboards).

This recipe shows you how to get an MQTT payload into an InfluxDB database using three Node-Red nodes. It makes the following assumptions:

@Paraphraser
Paraphraser / NodeRED_MidnightredTheme.md
Last active July 14, 2023 03:35
Recipe for installing Node-RED Midnight-red theme under IOTstack
@Paraphraser
Paraphraser / CalculatingBarometricPressureTrend.md
Last active July 14, 2023 03:37
Calculating barometric pressure trend

Calculating barometric pressure trend

This gist is a response to a Discord question. It explains my approach to deciding whether barometric pressure is rising, falling or remaining steady.

I do the trend calculation in Arduino (ESP8266) code. I tried to mimic the idea of setting the reference needle on a real barometer, waiting an hour, then seeing which way the pressure needle had moved with respect to the reference. The wrinkle is that "the last hour" is a moving window that updates every 10 minutes.

The BMP085 sensor is polled every 10 minutes. Until there are six observations (eg after a reboot) the code returns "training".

After that, the code does a least-squares regression on the last six observations (ie the last hour of data) to find the linear equation of best fit. In effect, the algorithm assumes that knowing the time (independent variable on the X axis) at some point in the past hour would permit the pressure at that time (dependent variable on the Y axis) to be estimated with some degree of

@Paraphraser
Paraphraser / TheRetainFlag.md
Created September 18, 2020 02:42
MQTT and the retain flag

Tutorial: MQTT and the retain flag

Assumptions and setup

This tutorial assumes:

  • a single computer (like a Raspberry Pi)
  • MQTT broker (like Mosquitto) running
  • the mosquitto_pub and mosquitto_sub commands are available.
@Paraphraser
Paraphraser / Enabling UDP support in InfluxDB.md
Last active May 21, 2021 05:30
Enabling UDP support in InfluxDB for SensorsIot/IOTstack

Tutorial: Enabling UDP support in InfluxDB

Assumptions:

  • you are running SensorsIot/IOTstack with InfluxDB as one of the containers
  • you want to enable UDP support
  • your goal is to log traffic arriving on UDP port 8086 into an InfluxDB database named "udp".

This tutorial is specific to SensorsIot/IOTstack. You're on your own if you "get creative" and choose different ports or database names.

@Paraphraser
Paraphraser / InfluxDB security under IOTstack.md
Last active December 24, 2022 02:45
Enabling authentication in InfluxDB for SensorsIot/IOTstack

Tutorial: Enabling authentication in InfluxDB

Assumptions:

  • you are running SensorsIot/IOTstack with InfluxDB as one of the containers
  • you want to enable authentication for your InfluxDB databases.

Note: This tutorial is specific to SensorsIot/IOTstack.

Definition:

@Paraphraser
Paraphraser / IOTstackPullRequest.md
Last active January 28, 2023 17:26
Preparing IOTstack Pull Requests

Preparing a Pull Request for IOTstack

If you want to fix a bug or propose an enhancement for IOTstack, you will need to prepare a Pull Request (PR).

Please don't try to do anything in this gist inside an ~/IOTstack folder on a Raspberry Pi that is also being used to run your Docker containers. It's easy to get confused and you could accidentally break your own working IOTstack.

You can do everything on the same Raspberry Pi that is running your IOTstack but it's usually easier to work on a desktop or laptop. If you accept this advice, there's no risk of breaking your running IOTstack.

This guide barely scratches the surface of Pull Requests. There is lots of advice on GitHub and Google will find plenty of hits for any question you might have.

@Paraphraser
Paraphraser / RPiWiFiFreeze.md
Last active March 27, 2024 03:41
Do your Raspberry Pi's Network Interfaces freeze? This may solve it.

Do your Raspberry Pi's Network Interfaces freeze?

My Raspberry Pi 4 kept losing its wlan0 interface. I could usually reconnect via Ethernet but, from time to time, I noticed that the eth0 interface would also go walkabout.

I tried a lot of things but the one described here seems to have cured the problem. I have no idea why it works. It just does.

Step 0 - are you a Windows user?

The script shown in the next step should be created on your Raspberry Pi. Please do not make the mistake of selecting the text, copying it into a text editor on your Windows machine, saving the file, and then moving the file to your Raspberry Pi. Unless you take precautions, Windows will add its 0x0d 0x0a (CR+LF) line endings and those will stop the script from working properly on your Raspberry Pi.