Code Monkey home page Code Monkey logo

mywebserver's People

Contributors

nailbuster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mywebserver's Issues

Edits to compile

I like the looks of the library and got it working - though I can't get 'flashupdate' OTA to work. It is in admin, no password mode, but just prints 'flashupdate' and never presents the 'browse' that works on the FTP page. FTP works to read/write/delete - great!

The big problem was the '==' stopping assignment, see below.

It also doesn't like this line as a valid NULL compare:
if (root["ssid"].asString() != "") { //verify good json info

I got into 'wifisetup' and that worked, then it showed correct time. Does your IDE ever hold open files in the TIME library so that it can't recompile?
"GetFileAttributesEx i:\tcode\libraries\Time\DateStrings.cpp i:\tcode\libraries\Time\Time.h: The filename, directory name, or volume label syntax is incorrect."

I made these edits to my copy to get it to compile past errors and two warnings:
@@ -154,7 +154,7 @@ String ICACHE_FLASH_ATTR MyWebServerClass::urlencode(String str)
char code0;
char code1;
char code2;
for (int i = 0; i < str.length(); i++) {
for (unsigned int i = 0; i < str.length(); i++) {
@@ -802,9 +800,9 @@ bool MyWebServerClass::WiFiLoadconfig()
ssid = root["ssid"].asString();
password = root["password"].asString();
if (String(root["dhcp"].asString()).toInt() == 1) dhcp = true; else dhcp = false;
IP[0] == String(root["ip_0"].asString()).toInt(); IP[1] == String(root["ip_1"].asString()).toInt(); IP[2] == String(root["ip_2"].asString()).toInt(); IP[3] == String(root["ip_3"].asString()).toInt();
Netmask[0] == String(root["nm_0"].asString()).toInt(); Netmask[1] == String(root["nm_1"].asString()).toInt(); Netmask[2] == String(root["nm_2"].asString()).toInt(); Netmask[3] == String(root["nm_3"].asString()).toInt();
Gateway[0] == String(root["gw_0"].asString()).toInt(); Gateway[1] == String(root["gw_1"].asString()).toInt(); Gateway[2] == String(root["gw_2"].asString()).toInt(); Gateway[3] == String(root["gw_3"].asString()).toInt();
IP[0] = String(root["ip_0"].asString()).toInt(); IP[1] = String(root["ip_1"].asString()).toInt(); IP[2] = String(root["ip_2"].asString()).toInt(); IP[3] = String(root["ip_3"].asString()).toInt();
Netmask[0] = String(root["nm_0"].asString()).toInt(); Netmask[1] = String(root["nm_1"].asString()).toInt(); Netmask[2] = String(root["nm_2"].asString()).toInt(); Netmask[3] = String(root["nm_3"].asString()).toInt();
Gateway[0] = String(root["gw_0"].asString()).toInt(); Gateway[1] = String(root["gw_1"].asString()).toInt(); Gateway[2] = String(root["gw_2"].asString()).toInt(); Gateway[3] = String(root["gw_3"].asString()).toInt();
if (String(root["grabntp"].asString()).toInt() == 1) useNTP = true; else useNTP = false;

        ntpServerName = root["ntpserver"].asString();

@@ -826,6 +824,7 @@ bool MyWebServerClass::WiFiLoadconfig()
return true;
}
} //file exists;
return true;

Works with Arduino IDE 1.6.8 and ESP8266 released ver 2.1

Just tested this to work on the indicated IDE 1.6.8 with Board Mgr updated to 2.1!

I had an issue with TIME library during IDE compile - I worked with maintainer Paul@PJRC and there is a fix for that on GitHub.

I'm liking what you've done here.

Not sure how to ask a series of questions - so I'll attempt the obvious:

I want to add MQTT into this sample on the Arduino myWebServer - not NodeMCU with the food cooker. Is there a simple path for that? I'm looking to have multiple ESP's find each other through a local server (windows). I see the /cloudgen.html 'MQTT Configure' - is that a supported first step?

Is there a way to use the OTA identification the way the Arduino IDE does to PING other online ESP units to find their IP's? Or is there another scheme for this I should know about?

I see the GZip encoded files - it seems that relies on the calling browser to decode and the decoder is not part of myWebServer? How did you get the .GZ compressed bytes to include in the htmlEmbed.h file?

Integrated HTML file browser.

Attempting to understand the "integrated HTML file browser.
Where did it come from, and is there any where I can get info about reusing it.

htmlEmbed.h

Change #include arduino.h to Arduino.h to support linux

How do I uninstall the app?

Hello there,

I installed myWebServer by mistake without understanding what it is. I have absolutely no use for it, but now I cannot uninstall it. It does not appear in Control Panel's Programs and Features's Uninstall Program list and I can't find it under the registry. Please help!

Works with IDE 1.6.12 and ESP_ARDUINO release 2.3

I just powered up an ESP8266 unit connected to a Teensy and both are programmable with the IDE 1.6.12 and compile of nailbuster/myWebServer with ESP updated to release 2.3 update from 'Boards Manager' worked for OTA updates (until I forgot to double check Tools and my 3MB SPIFFS was 'defaulted' to 64K with 512KB for code) - so not enough room for 311KB sketch, and I lost my data.

Not tested extensively beyond a few OTA's before the IDE broke me - I now need to get back to a Serial upload through Teensy to get OTA back online.

Some notes I made for this update here as I work with a new Teensy and PCB with an ESP8266 mounted - with options for Teensy to have display and added external Flash and RAM:
https://github.com/FrankBoesing/FlexiBoard/blob/master/extras/ESP8266/README2.ArduinoESP.md

Encrypt password fields in json files.

I know you have to authenticate before you have access, but if a browser was left open someone could just browse the .json files in plain text. Any possibility of adding functionality to encrypt "password" fields before they are saved in the .json file?

Loving your project so far BTW!

Startup behavior when no WiFi

I had my phone (w/serial terminal) and Teensy setup in my microwave and the ESP couldn't find my specified AP. After 20 seconds it defaulted to Soft AP mode.

Is there a way this .begin() behavior could be altered - perhaps with .begin() parameter(s) so it could just return on WiFi failure and allow me to try again later on the preferred AP and not go into the Soft AP mode? (and a non-broadcasting AP)

Ideally I might like to use this at two+ places where the AP is known but different - or in between where I don't need to have WiFi access until one is in range?

I haven't tested what happens when it starts with the preferred AP and then is it lost. Nor have I looked at the code to see if there was an existing way around - but that would be hacking your library work without a defined interface. Maybe it is defined and I just recognize I don't like Soft AP and periodically check for my preferred AP? But lesser timeout would need to be programmed as well as a awy to shutdown Soft AP and restart finding a known AP.

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.