Skip to content

this is a smart home controller for my bathroom made specifically to my needs

License

Notifications You must be signed in to change notification settings

AnasKhedr/wemos_Controller_MQTT_SmartHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wemos_Controller_MQTT_SmartHome

this is a smart home controller for my bathroom, balcony and home office made specifically to my needs but you can edit it to suit your own needs. The exact controller that I'm using is Wemos NodeMCU V3 which has many different names out there, here is some links to the board: like 1, link 2, link 3

wemos front wemos back
wemos front wemos back

How to setup environment for build

  1. install python3

  2. install arduino

  3. install the esp board from arduino board manager

    • on arduino ide, follow the instructions.
      🔥 Tip: I highly recommend installing arduino IDE first as it't the native IDE and installing it provide a lot of support for vs-code extension if you intend to use it.
    • from vs code arduino extension:
      • hit F1 then select "Arduino: Board Manager"
      • on the down right corner of the shown window you'll see "Additional URLs" click it then add the following url from the esp board instructions page(the current url is https://arduino.esp8266.com/stable/package_esp8266com_index.json).
      • press "Refresh Package Indexes" in the top left coroner of "Arduino Board Manager window"
  4. using your preferred Arduino Board manager, search for "esp" and install "esp8266 by ESP8266 Community". choosing any version should be fine but I'm using 3.0.0

  5. now you have to install the libraries used:

    • open arduino library manager from your preferred IDE(F1 then Arduino: library manager from vs code)
    • install "WiFiManager" by tzapu version 2.0.3-alpha
    • install "PubSubClient" by Nick O'Leary version V2.8.0
    • install "arduino-timer" by Michael Contreras version V2.3.0
    • install "RemoteDebug" by Joao Lopes version V2.1.2 --> the one over telnet for Arduino ESP8266 and ESP32
    • install "async-mqtt-client" download and install it to (C:\Users\Anas-Khedr-PC\Documents\Arduino\libraries) where Anas-Khedr-PC is your user, extract and make sure name of folder in "async-mqtt-client" and this folder should have the same structure as the github rebo, meaning no other subdirectory to get to the actual repo files. folder_structure
    • ESPAsyncTCP by Me-No-Dev V1.2.2
    • Adafruit ADS1X15 by Adafruit V1.1.1
    • DHT sensor library for ESPx by beegee_tokyo V1.18.0

And that's it. 🎉 🎉
after you finish building you'll see at the end all the libraries that Arduino used to build the project like this:

Using library ESP8266WiFi at version 1.0 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266WiFi Using library DNSServer at version 1.1.1 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\DNSServer Using library ESP8266WebServer at version 1.0 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266WebServer Using library WiFiManager at version 2.0.3-alpha in folder: C:\Users\zero_\Documents\Arduino\libraries\WiFiManager Using library PubSubClient at version 2.8 in folder: C:\Users\zero_\Documents\Arduino\libraries\PubSubClient Using library RemoteDebug at version 2.1.2 in folder: C:\Users\zero_\Documents\Arduino\libraries\RemoteDebug Using library AsyncMqttClient at version 0.9.0 in folder: C:\Users\zero_\Documents\Arduino\libraries\async-mqtt-client Using library ESPAsyncTCP at version 1.2.2 in folder: C:\Users\zero_\Documents\Arduino\libraries\ESPAsyncTCP Using library arduino-timer at version 2.3.0 in folder: C:\Users\zero_\Documents\Arduino\libraries\arduino-timer Using library Adafruit ADS1X15 at version 1.1.1 in folder: C:\Users\zero_\Documents\Arduino\libraries\Adafruit_ADS1X15 Using library Wire at version 1.0 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\Wire Using library DHT sensor library for ESPx at version 1.18 in folder: C:\Users\zero_\Documents\Arduino\libraries\DHT_sensor_library_for_ESPx Using library EEPROM at version 1.0 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\EEPROM Using library ESP8266mDNS at version 1.2 in folder: C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266mDNS "C:\Users\zero_\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-size" -A "E:\Smart Home\wemos_Controller_MQTT_SmartHome\build/pub_sub.ino.elf" Sketch uses 415681 bytes (39%) of program storage space. Maximum is 1044464 bytes. Global variables use 38936 bytes (47%) of dynamic memory, leaving 42984 bytes for local variables. Maximum is 81920 bytes.

you can see that arduino mentioned each library that I used with its location and version.

About

this is a smart home controller for my bathroom made specifically to my needs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages