Mostly as a reminder for myself here is a link to a free book about the ESP8266. It dates from August 2015, so a few things have happened since; including the announcement of its successor, the ESP32 (forum here).
Admittedly, on the Mac I have always been a pure end-user only. So it is no surprise that I had never looked at Automator, which in hindsight is a real pity. When searching for an easy way to automatically mount CIFS shares from my NAS, I came across a post on Stackoverflow that suggested Automator as one possible way.
I have followed the steps there (adding “Get Specified Servers” first and then “Connect to Servers”) and it works like a charm. The only difference is that I did not use AFP as protocol but SMB. But syntax basically stays the same, so I ended up with
What I did differently, though, was the method to invoke my Automator-based application. Instead of adding it to my login items, I chose to have it executed by ControlPlane, whenever the latter detected a connection to my local network. This way, whenever I open my MacBook it automatically re-connects.
Today I joined the many who have issues to program an Arduino Pro Mini or, like in my case, a clone thereof. The error message very many people seem to get is
stk500_recv(): programmer not responding
There is an awful lot of stuff on the web how to solve this and I have tried to compile them in a list for others so that they can check:
- Programmer’s driver not installed on PC
- Arduino does not have a bootloader installed
- Arduino has other CPU compared to how it was sold
- Speed of serial port does not match with what Arduino expects
- USB-to-serial adapter has no DTR line
- RX and TX line labels mixed up on the board
- Faulty USB-to-serial converter (brand new CP2102 in my case)
In my case, however, it was even worse. Several of my clone board’s header connections were actually not connected! And among them was
TX, so the error message was quite right.
What I did was download the datasheet from Atmel, identify my pin configuration from page 3, and start measuring connections. What I found was that
TX on the six-pin header was not connected properly, while it was ok on the twelve-pin header. Also,
GND was not connected on the bottom twelve-pin header.
What finally made things work were two changes to the file /boot/config.txt (thanks to this thread):
I am currently listening to some music and the sound is really nice :-).
I finally found an Ant task for WebDAV that works (I used cadaver instead because in the past none had worked for me). Thanks a lot to Ole Christian Langfjæran on Github for putting this together. But I needed an additional parameter so that the password can be retrieved from a file instead of being in the Ant script in plain text. So I forked the project and did my additions.
This post is mostly meant as a reminder for myself. When adding an email account that had long been in use to Thunderbird, I wanted to have a complete local copy of all mails from all folders. But I did not want to subscribe to hundreds of folders manually and then click each of them to trigger the download.
Luckily, there is an “extended setting” that achieves exactly what I need. You need to go the “normal” settings (not the account ones) and there to the “Advanced” tab. At the bottom there is the “Config Editor” button, which you need to click and confirm the warning.
Then set the property
mail.server.default.check_all_folders_for_new = true and close the windows.
After a few seconds Thunderbird will start downloading the entire tree of folders from your account.
For someone like me who comes from a non-embedded background (I specialize in things like EAI, SOA, etc.) the ideas of the NodeMCU firmware are really appealing. A nice scripting language, a slick GUI for rapid prototyping (ESPlorer) together with a highly active community seemed a perfect fit.
Unfortunately it did not work for me. The whole setup was unstable and I spent many hours to get a prototype (WiFi and MQTT connection) working reliably. I failed miserably with erratic behavior of the system. Sometimes a code change was “detected”, sometimes the old code was still executed. Compiling helped often but not always.
There are others who made the same experience and obviously spent more time on trying as well as the write-up (e.g. this link). I will now experiment with the Arduino IDE extension.
I feel happy for all those people who use NodeMCU without issues and hope to rejoin them as soon as possible!
After many, many years I rediscovered electronics as a hobby in 2015 and started playing around with sensors connected to an Arduino Uno R3 and Raspberry Pi. It was fun to link them with motion detection sensors and switch lamps on and off. One drawback, however, was the pricing of those components, if you want to have quite a few of them connected by WiFi.
This was when I stumbled over the ESP8266 microcontroller. It is very small, really cheap (around 2 Euros if you order in China) and has WiFi built in already. The downside, compared to an Arduino, is that you need to take care of a lot of things on your own:
- Everything runs on 3.3 volts and 5 volts will kill the thing
- You need to get a USB-to-serial converter with 3.3 volt signal level
- Flashing is less convenient, since you need to change jumpers between normal and upload mode
But there is a really vibrant community out there and many problems have already been solved. So I will start writing about various aspects of this and look forward to feedback.
There are many posts on how to set the required environment variables, namely ORACLE_HOME, after the installation of Oracle 11g Express Edition (XE). They usually tell you to change some init scripts for bash (e.g. ~/.bashrc or ~/.bash_profile). While this is a possible approach, it is more complicated than necessary and certainly not elegant.
CentOS/RHEL has a nice mechanism to add environment variables on a global basis and separately for different programs. Just check out this directory:
/etc/profile.dEach file in there sets the environment variables for just a single program, so things are kept nicely separated. The files are just normal shell scripts with regard to syntax and do not need to be executable.
And since Oracle 11g XE has already created a file with exactly the right content as part of the installation, it is just enough to create a symlink from /etc/profile.d to this file.
ln -s /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh /etc/profile.d/Just login to another shell session and check the environment variables with set. You should see, among other variables, the following values
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1Hope that helps!
When you need to start OpenHAB in debug mode, the standard approach is to run the script start_debug.sh. But on the Raspberry Pi (i.e. on Debian) this script does not exist. Instead you need to edit the file /etc/default/openhab that contains an entry DEBUG=no, which needs to be changed to