Monday, March 2, 2020

Privacy showcase: How to use smart devices without Ewelink/internet

Introduction

Recently, more and more consumer devices are available to make your home "smarter". While they can make our lives a bit easier, comfortable, most of these smart devices also give rise to a number of privacy concerns as well as usability/reliability issues:
  • The mobile apps (i.e. Ewelink, Smart life, etc) that come with them are closed source, and as such they should not be trusted. (When launched the first time they start by asking for your wifi network's password, and you can only hope that it doesn't pass it on to 3rd parties...)
  • Internet access is needed for them to operate, and as far as my experience goes in several countries, it is not without interruption.
  • Control happens through some servers over which one has no control or authority. This means that if those servers are down for any reason (a scheduled maintenance, the hosting company's decision to make it a paying service, malicious attack, etc.), then, the best case scenario is you can't control the switch, a worse case scenario is that someone else does.
Image borrowed from the official Sonoff web site

Sunday, February 5, 2017

ActoSenso Server - Controlling it all

Introduction

Although optional, having a central coordinator (ActoSenso Server) in an automation environment can open up new possibilities. Advantages of having an ActoSenso Server include more processing power, more mass storage (for historical data), easier to develop business logic, etc.

Current setup: RPi 3 and an external hard disk

Wednesday, December 21, 2016

ActoSenso Nodes

Introduction

In the previous article I described the system overview of my automation platform, which I call ActoSenso Platform. In this article I discuss some of the nodes that can be (and I have) used in ActoSenso Platform. Any suggestion, tip for improvement, constructive criticism or related comment is mostly welcome in the comments area.

Welcome screen of an ActoSenso Node

What is an ActoSenso Node?

ActoSenso Nodes are small hardware devices that are the "eyes", "ears" and "hands" of the ActoSenso Platform. They are the interface between the real physical world and the computer that ultimately does the home automation.
Example node (PCB): Temperature and Hall sensors:
It manages 5 Hall sensors and at least 4 DS1820 family temperature sensors.

Saturday, November 19, 2016

ActoSenso - My Automation Project - System Overview

Introduction

Over the past few months I have created an easily expandable, well scaling and easy to optimize solution for controlling and otherwise bringing together a wide range of disparate devices.

With it one can gather data from all kinds of sensors (e.g. light, noise, pollution, position, etc) to keep a log, or aggregate data and display them in a centralized manner as well as make things happen in real life, for example lock/unlock things, or manage a workflow.

In the following few articles I would like to share it in the hope some may find it useful and inspirational.

More than a year ago (as many others interested in embedded electronics and gadgets) I started experimenting with some ESP8266 based modules, starting with the ESP-01 module. I soon moved on to more powerful modules such as the ESP-07, ESP-12, ESP-12E, WROOM-02 and lately I have been working with the ESP-12F modules. These modules have progressively more on-board flash memory (for programs), more GPIO available for the end user (me), and also have better antennas. Since these modules are ridiculously inexpensive (less than USD 3 a piece) compared to their abilities, I constantly keep an eye on any new versions that may be even better.

Unfortunately (and this is probably the only bad thing I can say about these modules), most modules' pin spacing are not 0.1mil (2.54mm), making them difficult to use them on breadboards, so they need some sort of an adapter. Some of these modules are pin compatible with each other (or very close to that) so I created a couple of development boards to speed up prototyping.

Development board for ESP8266 development

Solder side of ESP8266 development board

Using these development boards (or breakout boards) I have created some basic projects, each focusing on a certain aspect of the ESP chip. Then it occurred to me: Why not combine all of these and create something more flexible, more useful?

This is how ActoSenso Platform was born.

Monday, February 29, 2016

Installing OpenWrt on D-Link DIR-600 Router

Introduction

The D-Link DIR-600 is a consumer grade router. Although it's not a new model, it is still a very capable router at a price tag and feature set that is difficult to beat. Also, OpenWrt can be installed on it to make it even more capable and more configurable.
The DIR-600 comes in several different hardware revisions. My router is B5. This is important as each hardware revision requires a slightly different approach.
Hardware version: B5