GithubHelp home page GithubHelp logo

liam-esp's People

Contributors

trycoon avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

liam-esp's Issues

Loading schematics into kiCad

I downloaded repository files from github and wonted to open schematics in KiCad however when doing it KiCad shows missing library. Any hint how to fix this?

BTW: great work on this lawn mower software and hardware !!!

Finished Mower

Does work Mower do the Job already?
How did you created the Housing. Because of TBD.

build failure

I tried to build your project
but it fails
In file included from .piolibdeps/ESP Async WebServer/src/ESPAsyncWebServer.h:32:0, from src/api.h:6, from src/api.cpp:2: src/WiFi.h:39:5: error: 'AsyncWebServer' does not name a type AsyncWebServer& getWebServer(); // code-smell, we should think of a better way than to expose this inner reference when we need to register routes! ^ In file included from .piolibdeps/ESP Async WebServer/src/ESPAsyncWebServer.h:32:0, from src/api.h:6, from src/api.cpp:2: src/WiFi.h:40:5: error: 'AsyncWebSocket' does not name a type AsyncWebSocket& getWebSocketServer(); // code-smell, we should think of a better way than to expose this inner reference when we need to register routes! ^ src/WiFi.h:41:26: error: 'AsyncWebServerRequest' has not been declared bool isAuthenticated(AsyncWebServerRequest *request); ^ src/WiFi.h:42:33: error: 'AsyncWebServerRequest' has not been declared bool isAuthenticatedSession(AsyncWebServerRequest *request);

Investigate centralization of communication with mower to the docking station

Currently clients communicate with mower directly, this has several disadvantages:

  • REST-API and mower UI is hosted inside mower, this adds lots of code and complexity and takes up lots of precious Flash and RAM space that could be better user for other functionality.

  • Refreshing the browser on the client, or having several clients connected at once, puts a lot of stress on the low powered mower (ESP32). It almost resembles a DOS-attack and make the mower restart itself since it runs out of memory handling all the requests.

  • Human readable JSON responses from mower API takes up processing power, memory and WiFi bandwidth, still we want well documented and readable APIs.

  • We want more history from different sensors in the mower, and for a longer period of time, yet the small memory in the mower prevents us from having that.

  • WiFi is nice, but the weak PCB-antenna on the ESP-boards requires a lot of WiFi accesspoints to have a constant connection and coverage in your garden. Even the better Wrover-IB with external antenna won't have you connected all the time, unless you have a small garden.

......

A solution to this is to introduce a more powerful computer, placed in the docking station(?), that acts as a mediator/proxy for the mower towards the clients. The mower will report real-time information to docking station and clients will connect to the docking station instead. The advantages could be:

  • Lots of code could be stripped away from mower, saving memory and CPU cycles. (All WiFi, REST-API and MQTT stuff)

  • LoRa would be used to connect to docking station instead of WiFi. It will make sure that we always are connected to the docking station (LoRa has 20 Km range, few gardens are THAT big).

  • Communication between mower and docking station could be done over a small binary protocol that would save memory and bandwidth, like Protocol Buffers.

  • End user REST API could be more verbose and readable since its hosted on the more powerful computer (Raspberry Pi) in the docking station.

  • The docking station computer with access to much larger secondary storage could preserve history of sensor readings in a greater extent and for a far longer period of time.

  • Docking station could relay information to more 3rd-party systems that the current ESP-solution never could (because of memory constraints)

  • Parts of the mower UI resources (fonts, javascripts libraries, ...) are hosted on the Internet today since they won't in Flash-memory, could in the future be served from the docking station. This makes this a complete off-line (Internet) supported solution.

  • The same UI could in the future serve several mowers at once.

https://github.com/nanopb/nanopb
https://techtutorialsx.com/2018/10/19/esp32-esp8266-arduino-protocol-buffers/

demo site

Demo site works correctly?
it offers to download "download.gz" file
I tried chrome and safari from mac

This project is usable ?

This not issue, this is a question
I found your project, and it a very interesting project did you project worked?
do you have some instruction about how to connect everything?

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.