GitXplorerGitXplorer
b

esp8266_smart_home

public
41 stars
9 forks
4 issues

Commits

List of commits on branch master.
Unverified
20ea31bc7007946dbd577d57bd4e673f38f56ed3

Adapt so it builds under platform.io 3.3.0

bbaruch committed 8 years ago
Unverified
8c06a7849de1f7851a5fcb3e50b278f0a7d0115b

Move files to platform.io locations

bbaruch committed 8 years ago
Unverified
a50236353a04fb7d73c2a9521b62c121811fef8c

Add config file to the server

bbaruch committed 9 years ago
Unverified
43b6b7a9fe12218803bc22866e3efa3154985077

Add SNTP to the discovery and use it to get wall time

bbaruch committed 9 years ago
Unverified
ef4172b4321d6aef42f3062ca1ea91d853dfa80a

Remove old battery protection code

bbaruch committed 9 years ago
Unverified
cf2954762521239e9791f6021ed50341b82874da

Send static IPs from node to server

bbaruch committed 9 years ago

README

The README file for this repository.

ESP8266 based Smart Home System

Build Status

The goal

Make fully automated OTA for ESP8266 under NodeMCU.

The software upload and update to the ESP8266 is trivial via UART. This way is not applicable for mass-deployed modules.

There are geek-driven solutions for OTA: the human (engineer or skilled person) should initiate file upload one-by-one to every particular module. This is not applicable too: the human is unable to do that for hundreds and thousands of modules, tens of files per module.

Therefore, module should initiate itself on the server (register) and request updates on periodic basis. Once developer releases the update to the server, every single ESP8266 module should update itself asynchronously.

This is what this project about.

Implementation

ESP8266 side: Lua files to be uploaded to the module during "manufacturing" process.

Server side: The server files to be installed (copied) to the local server during initial installation process.

Initial configuration and use

On the server run smart-home-server.py file_repository.

The ESP8266 module once powered up will run as AP (access point named SHMxxxxxx, where x-es stand for ID number of the module). Connect ot the module via any browser to address 192.168.4.1. Fill mandatory (and optional if needed) fields. Click Save button. That's it.

The ESP8266 module will restart and connect the server looking for the update. Once new files placed into the file repository the module will download them and run the code.