How can I get on with software experiments and updates when new hardware keeps on arriving? In this second "mailbag" post without a video stream, I will present my first impressions of a cheap wireless IP camera, the 3-pole Itead Sonoff T1 wall switch, the new version of the Itead Sonoff Basic and the 3rd generation Amazon Echo Dot. [...more]
The post entitled All does not always work has been updated and translated into English. I added an item about the automatic update of the home automation IP address at FreeDNS. I also added an explanation for my problems with using the Arduino IDE to compile TASMOTA.
Information about installing and using K3b to burn a CD/DVD/Blu-Ray disk has been added to Installing Ubuntu 18.04.1, Additions and Adjustements. This post is in French only.
The New Year seemed like a good time to tackle once again the task of updating the Raspbian operating system on my Raspberry Pi hosting my home automation server. This is but another of my series of posts on setting up a Raspberry Pi so it would be of interest mostly to new fans of small single-board computers. I did manage to do a truly headless installation, and I did resolve some little problems which may be of general interest [...more]
Here are three projects under development that work on the home Wi-Fi network: a touch-controlled lamp, a Wi-Fi temperature sensor, and a weather data display. The first two are connected to home automation software, Domoticz, the latter could be in the future [...more (in French)]
By way of proof that I am far from being an expert in the field, here are some projects that have not succeeded as expected [...more]
This is a rewrite of the August 17, 2018 post named Installing Free Pascal and Lazarus with fpcupdeluxe on Ubuntu 18.04. I followed the instructions in that initial post but the Free Pascal compiler and Lazarus IDE would not install on a fresh Mint 19 distribution. It turns out that my initial instructions left out some requirements that needed to be installed. These were present when I first used FPCUPdeluxe because of previous installations [...more]
I added a fourth search engine to search my entire website. Qwant, like DuckDuckGo, promises to keep no information about the searches made. The site uses an unusual URL syntax to limit searches to a particular website. I decided to use an approach other than the one recommended to do this local searches. [...more (in French)]
The translation into English of the post entitled More Weather API is now completed.
3 Year Anniversary
This site has been up for about three years. The site has grown in that time. It now contains 755 files of which 119 are English-language Web pages and 66 are in French. The rest of the files are images (about 420), archives (37), python and bash scripts (29), and other source code.
I know it's the 3rd anniversary because the Web hosting provider has recently sent me a bill to renew the service for another three years. Even if the cost has almost doubled, I will in all probability go ahead and renew, in part because the number of "unique" visitors has been steadily climbing (over 12,000 per month) and in part there is the occasional positive feedback which is very gratifying. Sometimes I get to directly help others who send in e-mails. I must admit that some overestimate the depth of my knowledge; they must be disappointed that I cannot provide the solution to their problem. On the other hand, it is great to see that most do find the answer on their own after the exchange of a few e-mails. It reminds me of the best part of being a teacher in a former life.
Today, I have added a fourth search engine that can be used to search through the web site. Qwant [b]ased and designed in Europe,[...] is the first search engine which protects its users freedoms and ensures that the digital ecosystem remains healthy. Our keywords: privacy and neutrality. I am not too sure how different this search engine is from DuckDuckGo where you can ... take back your privacy! No tracking, no ad targeting, just searching. Both can be viewed as alternatives to mainstream search engines for those worried about their privacy... although this site does not contain anything remotely controversial.
In February, I found out how to recover weather conditions and forecasts from Yahoo Weather with a program written in Pascal. I decided to extend my exploration to other suppliers: Apixu, Dark Sky, MET Norway, OpenWeatherMap et Weatherbit.io [...more]
Support for ESP8266 Wi-Fi connection with Wi-Fi Protected Setup (WPS) is not available in the current version of the ESP8266/Arduino core (version 2.4.2). However, it can be included by generating a new ESP8266 card definition file [...more]
This post is a continuation of the discussion about switching to the latest LTS version of Ubuntu. Two major applications are added to the distribution: Virtual Box and the Arduino integrated development environment. I have also added Timeshift which backups the system at regular intervals. Other less important topics discussed are the removal of the annoying emoji icons in Thunderbird and the addition of the Microsoft's core fonts [...more (in French)]
Lately, I installed the newest (
svn trunk) versions of the
Free Pascal compiler and the Lazarus IDE from scratch with the fpcupdeluxe tool on a fresh Ubuntu
18.04.1 desktop. There was a slight complication associated with
OpenGL libraries. But after much, self inflicted,
tribulations everything seems to be working as expected.
I renamed the February post about Free Pascal / Lazarus on Ubuntu 17.10 to better differentiate the two posts.
This long post is composed of my notes for future reference that describe the installation of Ubuntu 18.04.1 on an empty hard drive. I preferred to install the new version of Ubuntu rather than update version 17.10 used since November 2017. [...more (in French)]
New version of Domoticz
A new version of the home automation server Domoticz (version 4.9700) has been available for a few weeks. This version in now compatible with Raspbian Stretch (version: June 2018, kernel: 4.14).
However, I ran into problems with the secure connection of the video stream as described in the post entitled Secure Webcam streaming with MJPG-Streamer on a Raspberry Pi. For some reason, I can get snapshots through the secure lighttpd proxy server but not the video stream. If I ever solve this mystery, I will update the post.
Update: June 27, 2018
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]
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)]
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)]
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]
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]
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]
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]
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]
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]
Update: April 23, 2018
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]
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]
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]
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.
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]
Some readers have been sending emails about missing downloads.
I didn't think much about because it only involved one
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
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.
Correction, Winter Storm and Announcement
The previous post has been corrected because I had not correctly
report the linguistic abilities of
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
voice recognition, and
with the ReSpeaker 2-Mics HAT.
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]
Pursuant to the previous post, this is another short note about enabling threads in Free Pascal programs for the Unix/Linux environment. [...more]
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
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]
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]
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]
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]
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]
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]
This is a happy day! I finally managed to get the scanner of the Brother DCP-7040 working in Ubuntu 17.10. [...more]
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]
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]
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]
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]