Giter VIP home page Giter VIP logo

bpanzer / tasmota Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arendst/tasmota

1.0 0.0 0.0 49.15 MB

Tasmota fork that offers a permanent access point mode (WIFI_PERM_AP).

License: GNU General Public License v3.0

PHP 0.01% Python 0.92% C 44.34% C++ 53.69% Makefile 0.29% Processing 0.39% Shell 0.04% Objective-C 0.21% HTML 0.02% JavaScript 0.02% Batchfile 0.01% CSS 0.07% Elixir 0.01% XSLT 0.01%

tasmota's Introduction

General

All documentation from the upstream Tasmota project is valid and important. Here are just the enhancements described.

Goal and usage:

The original Tasmota firmware intentionally doesn't offer a standalone-mode which runs an AP permanently. Thus I created this fork as I long for such an operation mode (I call it WIFI_PERM_AP).

This fork keeps all original Tasmota functionality intact (including firmware updates, also OTA updates). The WIFI_PERM_AP mode is not persisted. It must be enabled every time the device is restarted.

If you like to use it you have to specify your WIFI_AP_PASSPHRASE in file my_user_config.h, compile the project, and flash the built firmware.

At runtime you configure Tasmota (once) as usual by entering one or two wifi networks to connect to. When the device starts one of these wifi networks should be availabe. Tasmota will connect as station (client). Then you can switch to WIFI_PERM_AP mode by entering "wificonfig 9" on the web console (or via http request, or via mqtt).

Afterwards the device opens an AP with given passphrase and keeps it running. You can connect to it and control the device e.g. using http requests. In order to stop WIFI_PERM_AP mode you can simply restart the device.

Development

Changes I've made for this fork. They're in feature branch WIFI_PERM_AP.

  • In file my_user_config.h added constant EMPTY_STR beneath WIFI_AP_PASSPHRASE.
  • In file tasmota.h appended option WIFI_PERM_AP to the list of WifiConfigOptions. Note its value (9). This value will be used with the wificonfig command.
  • In function CmndWifiConfig() in file support_command.ino made sure that also the new value WIFI_PERM_AP will be stored in Settings.sta_config.
  • In function WifiCheck() in file support_wifi.ino don't decrease Wifi.counter for WIFI_PERM_AP mode. Call WifiConfig() also in WIFI_PERM_AP mode.
  • In function WifiConfig() in file support_wifi.ino don't increase Wifi.config_counter and Wifi.counter for WIFI_PERM_AP mode. Instead, execute WifiManagerBegin for WIFI_PERM_AP.
  • The function WifiManagerBegin() in file xdrv_01_webserver.ino always calls StartWebserver() with HTTP_MANAGER or HTTP_MANAGER_RESET_ONLY. However, we need to call StartWebserver() with HTTP_ADMIN for WIFI_PERM_AP mode. Therefore we need one more flag in the signature of WifiManagerBegin(). Also, for WIFI_PERM_AP mode the softAP should be started using WIFI_AP_PASSPHRASE, and using empty passphrase otherise.

License

This program is licensed under GPL-3.0

tasmota's People

Contributors

arendst avatar ascillato avatar jason2866 avatar s-hadinger avatar andrethomas avatar gemu2015 avatar staars avatar reloxx13 avatar mike2nl avatar chaosmaster avatar pcdiem avatar arijav avatar curzon01 avatar tiagofreire-pt avatar effelle avatar ascillato2 avatar emontnemery avatar localhost61 avatar blakadder avatar gtortone avatar stefanbode avatar gsimon75 avatar meingraham avatar eeak avatar laurentdong avatar andrethomas2 avatar device111 avatar kueblc avatar teixeluis avatar theosakamg avatar

Stargazers

MeinsMeins avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.