Home
June 24, 2018

A Third ESP8266 Watchdog, Final Version

At last, the final version of the loop watchdog is available as a library that can be loaded into the Arduino IDE. This version only works with the real-time clock RAM of the ESP8266. [...more]

June 12, 2018

Automatic Recovery from a Cycle of ESP8266 Restarts

This post, a continuation of the one of June 9, proposes a strategy for breaking out of a cycle of restarts caused by an exception or the action one of the ESP8266 watchdogs. Assuming it's the consequence of a programming error, it proposes an automatic over the air download of an earlier version of the ESP firmware. [...more (in French)]

June 9, 2018

A Third ESP8266 Watchdog, Simplified Version

Rather than translate the three English language posts about ESP8266 watchdog timers that date from August and September of last year, I decided to rewrite them in French hoping to stumble into a clearer presentation and producing simpler code. In this post, a simplified version of a third watchdog created to detect when the main loop of an Arduino sketch is no longer executed is presented. [...more (in French)]

June 5, 2018

A Better ESP8266 Loop Watchdog with Better Recovery UPDATE

While working on an ESP8266 project, I was disappointed with my loop watchdog. It did not report the name of the "module" in which the watchdog was biting. The cause of the error was difficule to ascertain. Hopefully the problem has now been found. The corrected archive is now named lwdt_full_example_0206.zip.

Looking over the code, I decided there was room for improvement... of course. I have rewritten the version that works with RTC memory, I have yet to try the revision with EEPROM memory. And of course, I will have to test thoroughly. [...more]

May 25, 2018

Blinking a LED, an Arduino Library

This is my second Arduino library that takes care of the minutia of flashing a LED. It's a blinky! Obviously, there is nothing much to it, I just wanted a reusable module that had some flexibility yet was simple to use. [...more]

May 23, 2018

Detecting Multiple Button Clicks in an Arduino Sketch

The Sonoff (an ESP8266 device often mentioned here) has one user input: a push button. I needed a routine to return the number of times the push button was pressed in quick succession or to indicate that the button had been pressed for a long time. With help from expert artcles found on the Internet, I implemented an Arduino library that meets my need and seems to work with all boards. [...more]

May 16, 2018

Internet Radio Player based on MOC

Presenting an internet radio player for Linux based on the Music On Console player. It is a test bed for an Internet radio player to be built around a Raspberry Pi to be connected to an older sound system. The source code is available. The application written with Lazarus, the open source Free Pascal RAD IDE. [...more]

May 14, 2018

Bluetooth Audio with Rasbian Stretch on the Raspberry Pi 3

This is a second take on connecting a Bluetooth speaker to the Raspberry Pi 3 running under Raspbian Stretch (based on Debian 9). In this version, the somewhat more radical route of updating BlueZ is used. This post also goes on to show how the Raspberry Pi 3 can be a used as a Bluetooth speaker playing sound emanating from another Bluetooth enable device. [...more]

May 8, 2018

Music on Console, ALSA, and Bluetooth on Raspbian Stretch

Installing Music On Console (MOC) on a Raspberry Pi 3 running with Raspbian Stretch was just as simple as it had been when I installed it on an Orange Pi Zero with Armbian a few weeks ago. However things got complicated when I tried to send the sound out to a Bluetooth speaker [...more]

April 11, 2018
Update: April 23, 2018

Secure Webcam streaming with MJPG-Streamer on a Raspberry Pi

I have just finished translating the April 11 post to French. As often occurs when there is a fair amount of time before I undertake a translation, I actually modified the content a little bit. This reflects the experience I have gained in streaming the webcam. The English version is now updated.

Using MJPG-Streamer it is possible to stream video from a webcam connected to a single core Raspberry Pi B+ that is also running my home automation server and an mqtt broker. Furthermore, using a web server on the same Raspberry Pi, the video stream can be encoded and served over an HTTPS connection. [...more]

April 9, 2018

CSS float and clear attributes and clearfix

In HTML, floating areas in a <div> type block do not change the size of the block. This can result in a local alignment problem. There are more or less well-known solutions, this is about some of them [...more]

April 6, 2018

Using Multiple Search Engines From A Single HTML Form

Just two days ago, I removed the search bar from the top of every page on this site. I wanted to have more than one search engine but I did not have a compact way to do it. Then I thought of an input box for the search words followed by three buttons for each of the search engines [...more]

April 4, 2018

Housekeeping

Kyle Fleming found two errors in the posts on ESP8266 watchdogs. Because his suggested corrections were spot on, it was not hard fix the posts. Kyle co-founded Black Prism. Those interested in the interface of decorative arts and technology should visit the site.

The search box is gone from the top of all pages. Instead, there are three search boxes (DuckDuckGo, Google and Bing) on the one page, previously titled Archives but now renamed Archives and Search. It dawned on me that I don't use Google Search by default on my main browser. Why then was I foisting one particular engine on the readers who wanted to search my site?

DuckDuckGo does not offer the ability to embed the search result in a frame on the site as was the case with the Google search box that I was using before. So, for the sake of symmetry, the search results will be displayed in a new browser tab or a new browser window no matter which engine is used.

The November 6, 2017 post on Google Assistant on an Orange Pi Zero running DietPi is out of date. I added a warning to that effect. Google Assistant is a moving target; it is not easy to be on the leading edge.

March 31, 2018

Google Assistant with snowboy Hotword Recognition (circa March 2018)

With a seeed studio ReSpeaker 2-Mics Pi HAT, it becomes possible to move my voice recognition project over to a Raspberry Pi 3. Hotword recognition will be done with snowboy from KITT.AI. The good news is that the ReSpeaker HAT seems to work well. The bad news is that there is now some sort of incompatibility between snowboy and Google Assistant Service [...more]

March 26, 2018

Missing Archives

Some readers have been sending emails about missing downloads. I didn't think much about because it only involved one zip file. I just uploaded the file again and tested to verify that it was there. Everything seemed fine and I answered the emails saying that the file was available.

On a hunch today, I checked and was mildly annoyed that the file was no longer available. I was rather surprised when I realised that every zip file was gone from the server. What is going on?

I have uploaded hopefully all the missing archives. And I will check tomorrow and later to see if they are still there. In the meantime my apologies to all that have been and may yet be inconvenienced by this.

March 24, 2018

Correction, Winter Storm and Announcement

The previous post has been corrected because I had not correctly report the linguistic abilities of googlesamples-assistant-pushtotalkcode>. They are the same as is google-assistant-demo at least for English and French.

The fourth snowstorm in March arrived with the chronological beginning of spring. If I mention it here it is because it caused a power failure that damaged the SD card of the Raspberry Pi hosting the home automation system. Since then, one of the Sonoff switches no longer communicates with the local network, no matter the recovery manoeuvres attempted. I had to rebuild the operating system. Did you know that Domoticz et Raspbian (Stretch) are incompatible? It's time for me to look at three things: transferring the file system to a USB drive, installing watchdogs for the Raspberry Pi, and adding an uninterruptible power supply (UPS). There may be future posts on these topics.

Soon there will be a post on the use of snowboy, voice recognition, and Google Assistant with the ReSpeaker 2-Mics HAT.

March 13, 2018

New Hardware: Micro SD Cards, ReSpeaker 2-Mics Pi HAT and Xiaomi 3G Router

This post is just like a ubiquitous YouTube "mailbag" video only without a video feed and without a sound track. In the space of a few days, I have received, from far, far away, five 8G micro SD cards, two ReSpeaker 2-Mics Pi HATs and a Xiaomi Mi WiFi 3G router [...more]

March 2, 2018

The cthreads Unit in Linux (Free Pascal)

Pursuant to the previous post, this is another short note about enabling threads in Free Pascal programs for the Unix/Linux environment. [...more]

February 24, 2018

Running a Process in a Thread (Free Pascal)

Another Free Pascal short note about running a process in a thread. In it I show how the aplay utility can be launched to play a wav file in a thread so that the application GUI remains responsive and it becomes possible to stop aplay at any time [...more]

February 23, 2018

Installing and Updating Free Pascal and Lazarus with fcpupdeluxe

This is just a short note about using FCPUpdeluxe to upgrade or install the Free Pascal Compiler and Lazarus IDE and LCL on a Linux system. I assume that it would be mostly the same on a Windows system. [...more]

February 17, 2018

The Yahoo! Weather API with Free Pascal

Mea culpa for a very local solution to getting weather reports in a previous post which would have been of interest to only a few. Here is a solution using Yahoo! YQL queries with a potentially wider audiance [...more]

February 7, 2018

Music on Console with Armbian on an Orange Pi Zero

This post is all about using the Music on Console (MOC) audio player on an Orange Pi Zero running Armbian. In other words it is a continuation of the previous post wherein MOC replaces the Music Player Daemon (MPD) which could not quite handle some streams running at higher bit rates. [...more]

February 2, 2018

Spoken Weather Forecasts and Internet Radio on the Orange Pi Zero with Armbian

These last few days I have been improving my home automation assistant based on experience gained from using the Google Home Mini. While not at all anticipated, the latter's ability to play radio stations has proved useful. It has also been helpful to get weather information with Google Home. Accordingly I wanted to add similar capabilities to my DIY project running on the Orange Pi Zero [...more]

January 18, 2018

Voice Recognition on the Orange Pi Zero (DietPi Armbian)

I installed two Python libraries for voice recognition on an Orange Pi Zero running DietPi. The libraries are the hotword recognition engine snowboy from KITT.AI and the excellent SpeechRecognition library by Anthony Zhang (Uberi). It provides a uniform Python interface to many speech recognition engines. I have tested with two online services: Google Speech Recognition and Microsoft Bing Voice Recognition as well as with the off line engine Pocket Sphynx from Carnegie Mellon University. I wrote this back at the end of November, I don't recall the reason I delayed putting it up. [...more]

January 18, 2018

Google Home Mini with Domoticz using IFTTT

I have finished translating the corrected post on the use of the Google Home Mini as a home automation voice assistant. The original text was published a week ago and considerably modified since then to remove a bad suggestion on my part that compromised the security of the home automation system. [...more]

January 15, 2018

Installing the Brother DCP-7040 Scanner in Ubuntu 17.10

This is a happy day! I finally managed to get the scanner of the Brother DCP-7040 working in Ubuntu 17.10. [...more]

January 10, 2018

Google Home Mini with Domoticz using IFTTT

Taking advantage of a half price sale before the holidays, I bought the Google Home Mini. Unfortunately, Google Home no longer supports Sonoff switches programmed with Theo Arends' Tasmota firmware. On the other hand, it is possible to create applets with IFTTT to send HTML requests to the Domoticz server and thus control home automation devices with voice commands [...more]

January 2, 2018

Removing Nuisance Messages in Raspberry Pi Syslog

This is a short follow up on a previous blog about using a Raspberry Pi as a remote log server. Using information posted by knowledgeable persons, I removed the source of what turned out to be spurious error messages that were filling up the log... [...more]

December 14, 2017

Python 3 virtual environments

As I have been trying to learn Python by dabbling with voice recognition and home automation project, it has become obvious that I had to familiarize myself with virtual Python environments. The principle is not difficult, but I ran into practical problems. This post, more than two weeks in the writing, describes how I now manage and use virtual environments on three different Debian based Linux distributions. [...more]

December 4, 2017

Baby Bluetooth Steps on Raspberry Pi 3 - Raspbian (Stretch)

A chance meeting with cheap Bluetooth portable speakers with hands free capabilities led to a grand scheme to use them to talk to vocal assistants with the help of a Raspberry Pi 3. Before going ahead with the project, I had to learn the basics of using Bluetooth in Raspbian (Stretch). Here is a description of my first steps in this arcane world. [...more]

November 27, 2017

Serial Connection with the Orange Pi Zero

Today I had a good reason to test the debug UART port which is next to the RJ45 connector on the Orange Pi Zero. I really like this method of connecting to the headless OPiZ, so I wrote a short note about it [...more]

The cause of all this was an upgrade of Armbian that for some unknown reason went haywire. The system became unusable. I had to update the post about dietPi on the Orange Pi Zero.

I also updated my first post about the OPiZ to mention that ssh is not the only way of logging on the board initially.

November 22, 2017

Updates

  1. The following posts have been updated: Some ESP8285 and ESP8286 based devices, including newer versions of ITEAD products such as the Sonoff switches, contain flash memory that can be accessed only in DOUT mode. This implies a change in the parameters used with the flashing script esptool.py or with the Arduino IDE flashing tool. Thanks to Sébastien Giroux for reminding me to update these older instructions.
  2. I stumbled on the precompiled binaries of sonoff.ino by Theo Arends. I thus corrected my November 17 update of Flashing a Sonoff with a Raspberry Pi to indicate that ITEAD Sonoff product can be flashed with Theo Arends' latest offering, Sonoff-Tasmota, with a Raspberry Pi without installing the Arduino IDE
  3. Firefox Quantum 57.0 has become available on Ubuntu and I mechanically updated. Not a good idea... I lost all my bookmarks and my last backup was quite old. Shame on me. Hope readers of this do better. Also, an older post A Domoticz application in Linux is now out of date. Maybe I will be able to look into updating it in the coming weeks.
  4. The updating of the CSS style sheet continues. The boxes showing terminal sessions now use an almost black background which more closely resembles what is seen on screen. Hopefully, that is an improvement although it does make the pages look a bit more busy.
November 16, 2017

Hotword Detection with snowboy on an Orange Pi Zero running DietPi

The novelty of talking with Mme Google has worn out, it is time to do something practical with voice recognition. Furthermore, who wants an open microphone streaming all sounds in the house to the outside world? I would prefer so called "hot word" recognition to be done locally. I had problems installing snowboy from KITT.AI. Fortunately, some clever people had already found solutions [...more]

November 8, 2017

Raspian from OrangePi.org for the Orange Pi Zero

The maker of the Orange Pi Zero makes available a number of images of operating systems. I installed Raspian server found on OrangePi.org. I was not impressed it, but I could be wrong of course. In any case, I returned to DietPi. [...more]

November 6, 2017

Google Assistant on an Orange Pi Zero running DietPi

Following excellent instructions found on the web, I managed to install Google Assistant on the Orange Pi Zero running the latest version of DietPi. [...more]

November 5, 2017

Domoticz on an Orange Pi Zero, a First Look

The original October 18 post written in French is now available in English. [...more]

October 31, 2017

Updating to Sonoff-Tasmota

Updating to Sonoff-Tasmota by Theo Arends has come around a lot faster than projected. At the same time, it was possible to update to version 2.4.0-rc2 of the Esp8266 Arduino Core which is one more step in preventing a key reinstallation attack (KRACK) [...more]

October 22, 2017

Syslog Server on Raspian

Theo Arends' replacement firmware for the Sonoff WiFi switch logs error and information messages to the serial port and to its webserver by default. It can also log debug messages, and send all these messages to a syslog host where they will be stored to be reviewed later. However logging errors is not the default behaviour and so I decided to enable it. As my home automation server is a Raspberry Pi running Debian, it makes sense to use its default syslog daemon rsyslog. [...more]

October 18, 2017

Domoticz on an Orange Pi Zero, a First Look

Curious, I bought another single board computer, the Orange Pi Zero. As a first test, I installed the home automation software Domoticz on it over Armbian. I also installed mosquitto, the MQTT server. Here are my first impressions of how it all works [...more]

October 17, 2017

HTTPS, HTTP and GTML

Since the end of May, the company hosting my website has been providing SSL certificates (OpenSSL from cPanel.inc). The site can be browsed securily with the HTTPS protocol. That should inspire confidence; the little green padlock is now visible in the address bar. There was a catch, the style files and images were no longer found when viewing files in sub-directories. A solution had to be found. [...more (in French)]

I took the opportunity to reorganize the site. Updating the site had become a daunting task. New directories have been added, HTML files have been moved, and file names have been changed. I hope that the permanent redirection I have added will make the transition as smooth as possible.

October 1, 2017

An Update and Small Change

The post on Flashing a Sonoff from a Raspberry Pi was modified to insist on the need to turn the Sonoff on and off after flashing. The esptool.py script used to upload the firmware cannot perform a hard reset of the ESP8266 when used as described.

There is now a little envelope icon after my name at the bottom of each page. It should be clearer that these are links to send e-mail messages with questions or suggestions. These links start your default mail client and fill in the subject line with the name of the HTML file containing the link making it easier to identify what your comment or question is about.

September 28, 2017

Another ESP8266 NodeMCU Development Board - UPDATE

In the original September 19 version of the post, I made an important error. Further tests, showed that the board does not boot when powered up from the VIN pin. Hopefully, the seller or manufacturer of the board can help resolve this problem and I suspect that I will be rewriting the post once I get more information. For some users (including myself), this is a significant factor which may tip the scales when comparing the board to the WeMos D1 mini which is not subject to this problem. [...more]

September 19, 2017

Another ESP8266 NodeMCU Development Board

I have purchased a new ESP8266 NodeMCU development board. I compare the latest Geekcreit/DOIT board to the Wemos D1 mini which I have been using up to now. Both based on the "orignal" NodeMCU development kit, they are quite similar but they do offer an interesting tradeoff. [...more]

September 11, 2017

A Better ESP8266 Loop Watchdog and Better Recovery

This post continues with improvements to the third loop watchdog introduced in the previous post. But most importantly, it provide a useful technique to recover in a hands-off way to watchdog timeouts and exceptions. [...more]

August 28, 2017

Arduino Sketch Managed ESP8266 Watchdog

Adding a third watchdog is a good idea for some ESP8266/Arduino based projects. That's because it is very easy to write code that feeds the built-in watchdogs but nevertheless goes off the deep end. The task of this watchdog is to ensure that the Arduino loop is executed regularly. [...more]

August 26, 2017
Updated: August 27, 2017

ESP8266 Watchdogs in Arduino

While the hardware and software watchdog timers of the ESP8266 are essential, they are not sufficient to ensure the kind of reliability needed in an IoT device. In a future post, I will discuss how to implement yet a third watchdog to further improve the dependability of the firmware programmed into this chip. In the mean time, I thought it would be useful to discuss watchdogs in general and to delve into some of the details of the ESP8266 watchdogs. [...more]

July 3, 2017

Temperature Sensors - Take 2

This post contains a corrected Python script for reading the temperature and relative humidity from a DHT11 sensor and sending them on to a Domoticz server. Bogus values will not be passed on when it is not possible to read the sensor. The second topic of the post is human comfort as it relates to relative humidity and temperature. This is groundwork for controlling an air exchanger and a dehumidifier in the future. [...more]

June 25, 2017

Temperature Sensors on a Raspberry Pi hosting Domoticz

This post explains how to connect a DHT series temperature and humidity sensor on the Raspberry Pi GPIO and how to monitor its values in Domoticz, a home automation server hosted on the same Raspberry Pi. There are plenty of descriptions on the Web on how to do this. But most assume that the default One-Wire GPIO pin will be used. Unfortunately, I could not use that pin. To increase the post's value-added, I also describe how to monitor the temperature of the Raspberry Pi [...more]

June 22, 2017

Two updates

First, the sidebar about the use of an independent power supply for the Sonoff in the post entitled Flashing a Sonoff with a Raspberry Pi was confusing. Hopefully, the new version is an improvement. Thanks to Robin de Kruyf for pointing out that deficiency. Second, I updated my Lua script for handling MQTT messages from Domoticz in the January 30th post NodeMCU, MQTT and Domoticz - part 2. Turns out that the CJSON module has been replaced with the SJSON module.

June 3, 2017

Workflow when Working with a Headless Raspberry Pi

The missing second post in the new series about home automation with Domoticz on a Raspberry Pi is finally added. I explain how I use FileZilla to more easily modify files on the Raspberry Pi. The instructions on making backups have been moved to this post [...more]

June 1, 2017

Motion and Dusk Sensor with CM11A in Domoticz

This post explains how I added the X10 ActiveEye Motion Sensor (outdoor model MS16A) to a Domoticz home automation server running on a Raspberry Pi. The latter is linked to the sensor through a CM11A serial computer interface and a RR501 transceiver. It is a reworked version of Adding an ActiveEye Motion Sensor that showed how the same sensor was used with a wireless CM19A computer interface [...more]

May 31, 2017

X10 RF controller with a CM19A Interface in Domoticz

This post shows how to use an X10 PalmPad Remote Control to manually control a lamp connected to a Sonoff WiFi switch from ITEAD. This is a continuation of the previous post about the necessity of providing a way of manually turning on and off lamps connected to Sonoff WiFi switches [...more]

May 30, 2017

MQTT with Domoticz

This post continues the new series about home automation with Domiticz and ESP8266 based hardware showing how I installed an MQTT broker on the Raspberry Pi and how it is used with the home automation software [...more]

May 27, 2017

X10 Dimmer Switches with a CM11A Interface in Domoticz

This post continues with the building of a home automation system using legacy X10 hardware with Domoticz on a Model B Rev 2 Raspberry Pi. At the end of the post, it will be possible to add fully integrated X10 LM465 Lamp (dimmer) module. Unfortunately, the Lua script may not work with newer (post 2007) lamp modules [...more]

May 23, 2017

X10 On/Off Switches with a CM11A Interface in Domoticz

This post continues with the building of a home automation system using legacy X10 hardware with Domoticz on a Model B Rev 2 Raspberry Pi. At the end of the post, it will be possible to add fully integrated X10 on/off modules. [...more]

May 20, 2017

Domoticz on a Raspberry Pi - "Déjà Vu All Over Again"

This is a detailed description of installing the Raspbian operating system and the Domoticz home automation server on a Model B Rev 2 Raspberry Pi and on a Pi 3 Model B. This is the first in a series of posts about DIY home automation using legacy X10 hardware and using the newer, cheaper, and in my opinion better ESP8266 based hardware [...more]

May 19, 2017

Over the Air Sonoff Flashing

One of the very useful features of the Sonoff-MQTT-OTA-Arduino firmware for Sonoff switches by Theo Arends is its ability to update itself over the air (OTA). Here is how to use this very usefull capability especially once a switch is being used [...more]

May 19, 2017

Flashing a Sonoff with the Arduino IDE (2)

This follows the May 15th post, showing how to flash the Sonofo-MQTT-OTA-Arduino - TASMOTA firmware from Theo Arends on a Sonoff switch Wifi. TASMOTA is complete and makes adding the switch in the home automation program Domoticz very simple. [...more (in French)]

May 17, 2017

Flashing a Sonoff with the Arduino IDE (1)

There is nothing very new here. I show how to upload a sketch in a Sonoff WiFi switch from the Arduino IDE. The steps described are a) Installation of the Arduino IDE in Ubuntu; b) Preparation of IDE; c) Serial port access; D) USB-serial connection with the Sonoff switch and e) Uploading a Blink sketch [...more (in French)]

May 15, 2017

Real Time Clock, DS3231, for Domoticz on the Raspberry Pi

Since the Raspberry Pi does not have a physical clock, schedules events triggered by the time of day will not work properly in Domoticz if access to the Internet is lost during a power failure. The obvious solution is to install a hardware real-time clock (RTC) [...more]

April 26, 2017

Local Control of Sonoff Switches

Occasionally it is convenient to control devices with a smart phone or tablet,or even a desktop computer. But, very quickly, one tires of having to use such a device to simply light a lamp. I will describe how I added manual switches to control two bedside lamps connected to Sonoffs... [...more]

This page lists posts published on all subjects in the last year. The Programming and Home Automation pages are commented indexes of posts going back two years limited to their respective subject. Archives contains links to all the pages published on this site. It is also possible to do a searches limited to the content of this site with the search box at the top of all pages.