Most modern HDMI connected devices support Consumer Electronics Control (CEC). It allows devices to send commands to each other, typically to get the TV to switch input and control volume. If you have ever turned on a Game Console and had your TV automatically change input to that device you have seen CEC in action. It is very convenient and useful, sort of a universal remote that works.
Every manufacturer seems to have it’s own branding of CEC (e.g. Samsung Anynet+, LG SimpLink, Sharp Aquos Link) but it may need to be enabled. Check your manual for details.
Using a Raspberry Pi connected to a TV that supports CEC, you can use the command line
cec-client application to control the inputs and the TV itself. These are notes on how to use
cec-client and understand the different options.
Being able to remotely connect to my home network over VPN has always been on my ‘nice to have’ list. It allows easier access to resources and direct ssh (rather then hoping through the gateway). I have recently updated the OpenBSD server I used for VPN to 6.0 and thought I would share the configuration and settings.
In an effort to improve monitoring, I setup an ELK (Elasticsearch, Logstash, Kibana) server and setup my different servers to forward their logs. Filebeat is typically installed on the servers to do the forwarding and normally this installation is pretty straight forward.
However, Filebeat is dependent on Go 1.7 and OpenBSD 6.0 only provides 1.6 as a binary package.
The following steps will setup an OpenBSD ports build machine, update the ports to current, build the required packages; then copy the packages to the target OpenBSD server, install the packages, install and configure Filebeat.
If you have ever had a server exposed to the Internet, you will often see attempts to login to ssh on port 22.
After improving my log monitoring, these login attempts annoyed me enough to take action. So I installed Fail2ban.
Fail2ban monitors logs and will add ip addresses to your firewall to block based on rules. Fail2ban is written in Python and available for several platforms and can monitor different logs (not just ssh).
I have setup Fail2ban to watch for 3 failed logins (one failed login will allow 3 password attempts) and then block that IP address for 1 day.
The following instructions are for:
The instructions also assume that you have an OpenBSD server running with ssh port 22 exposed to the Internet and use Packet Filter (PF) for your firewall.
I have a collection of USB keys each different version of OS X and Ubuntu so that I can do a complete reinstall from scratch. The collection was rattling around in my desk drawer, which was annoying.
What I really wanted was to put them in a case, ideally one that matched the other dvd and cd cases.
Running full screen browser on boot
This is part of a series on running a browser full screen on a Raspberry Pi at boot.
The most current version is here:
Raspberry Pi Full Screen Browser (Raspbian December 2017)
A few months ago I setup a web browser based dashboard running on a Raspberry Pi, displaying weather, time and transit information. It worked out well, but it’s success revealed another problem. Turning the screen on and off multiple times a day was getting old.
So I did what any technically inclined person would do. I decided to create a device to turn the screen on and off by responding to dramatic changes in ambient light. The device would also provide a manual power toggle and button to refresh the browser.
This is part 3 of 3 describing the final hardware that was built from the prototype.
- Arduino Screen Controller for Raspberry Pi Part 1 Hot Keys
- Arduino Screen Controller for Raspberry Pi Part 2 Hardware Prototype
- Arduino Screen Controller for Raspberry Pi Part 3 Hardware Final
Although intended to be used with a Raspberry Pi, the screen controller can be used to emulate a USB keyboard and send any desired keystrokes.