Feb 02

Running Adafruit Feather HUZZAH ESP8266 with external power supply (3.3V / 5V)

Usually you use a usb cable to power and programAdafruit Feather HUZZAH ESP8266 via the mini usb port:

But what if you want to use external 3.3V (or 5V) power supply? To which pin should you connect it?

Continue reading

Jan 19

How do Sonoff devices work?

A while ago Jan Almeroth have done excellent research on how Sonoff devices operate. Thanks to his (and many others’) work, projects like SonOTA are now possible. I’ll try to summarize the information in this article.

1. Overview

It appears that sonoffs areIoTgocompatible devices.IoTgo platform was created by Itead and aims to facilitate easier integration between IoT devices and Applications.It mainly consists of three parts:

  1. Devices ⇔ Server (left part) – devices connect to the server via HTTP/WebSocket, register and update their parameters. The server can send control commands using push notifications (via WebSocket);
  2. Apps ⇔ Server (right part) – IoTgo Apps use server gather information about devices (+their status) and control them;
  3. Web interface ⇔ Server (not shown) – used for device management;

Continue reading

Jan 18

What is Sonoff and how to configure it

Remote switches, Internet of Things (IoT) and Smart home in general are quite trendy nowadays. There are plenty of trademarks and devices that allow you to switch lights, heating, garage doors etc via an application on your mobile / web page.

There is one very popular gadget among the Smart housers – the Sonoff. It is actually a trademark that includes various kinds of remote switches. Sonoff devices are getting more and more popular these days because they are small, cheap, cloud ready, easy to use and have built-in AD/DC converter (i.e. no external power supply is needed, just a cable to plug it in the grid). Some sonoffs can be controlled via RF keyfobs.

Continue reading

May 16

Официално: Arduino/Genuino MKR1000 вече е на пазара!

Почти половин година, след официалното му обявяване, Arduino/Genuino MKR1000 вече се продава официално. Очаквам този продукт да се появи скоро и в България.

Continue reading

May 14

Комбиниране на Struct и Volatile в C/C++

Покрай един проект с Ардуино възникнаха няколко въпроса:

  1. Volatile ли са елементите на дадена структура, ако самата тя е декларирана като Volatile?
  2. Може ли в структура да има както обикновени елементи, така и Volatile елементи?
  3. Как се дефинира указател към Volatile структура, която не е маркирана като Volatile в нейната дефиниция?

Continue reading

May 14

Служебната дума Volatile в C/C++

Компилаторите имат редица опции, влияещи върху оптимизацията на кода. Включвайки една или повече от тях, Вие разрешавате на Компилатора да прави “подобрения” на вашата програма, при превеждането й на Асемблер/машинен код. Обикновено оптимизациите не са проблем, но започват да създават главоболия при многонишковите приложения (Multithreading), Interrupt Service Routines (ISR), работа на ниско ниво с регистри на крайни устройства  и т.н.

Главният симптом е: програмата Ви работи добре, докато не включите оптимизациите. След това започват да се случват “странни неща”.

Continue reading