Compilation error
OZ-786 opened this issue ยท 28 comments
Hi, please download the necessary libraries:
https://github.com/electrical-pro/SmartBoard/blob/main/libraries.zip
copy them from the archive to:
C:\Users<USERNAME>\Documents\Arduino\libraries
P.S.
Please use the LiquidCrystal_I2C library from my archive
I modified the library, I removed Wire.begin(5, 14);
@OZ-786 Please tell me if it compiles now
'data' folder is in the right place next to the sketch, don't worry, you just need to use Arduino IDE to upload files to the ESP8266 file system, just click "ESP8266 Sketch Data Upload"
If you don't see this option install the plugin from here:
https://github.com/esp8266/arduino-esp8266fs-plugin
This is WI-Fi manager, it allows you to connect ESP8266 to your Wi-Fi router
you can read about it here: https://github.com/tzapu/WiFiManager
This WI-Fi manager only starts working when ESP8266 can't connect to your router. After you successfully connect ESP8266 to your router the network "PowerControlESP | Offline" will disappear, and WI-Fi manager will not be accessible.
http://192.168.4.1 is only for "WI-Fi manager" when you are offline.
(if you really want to access the power monitoring webpage without a router then use 8089 port: http://192.168.4.1:8089, but I don't recommend it, better connect it to your Wi-Fi router)
After you connect ESP8266 to the router using "WI-Fi manager" the router will give an IP address on its local network, in my case it is at 192.168.4.215, notice the port is 8089.
So actual power monitoring page is at 192.168.x.x:8089 (depends on the router)
You need to upload files from "data" folder for this to work as I previously told (just click ESP8266 Sketch Data Upload)
P.S. Just for fun:
you can also try http://192.168.4.1:8089/Feed_JSON to see data in JSON format if you want, even if you did not upload files :)
or try this: http://192.168.4.1:8089/smartData
If you want to store the history of measurements you need to send them to https://thingspeak.com/
Change this line of the code in the sketch (add your Write API key for the ThingSpeak channel)
const String writeAPIKey = "XXXAPIKEYXXX"; // write API key for your ThingSpeak Channel`
It will send data to their server every 60 seconds, you can see data on their website (they have their charts, but they are not very good).
If you need cool history charts like in the video then use this HTMLs,
for Power: https://github.com/electrical-pro/epro/blob/main/power.html
for Votage: https://github.com/electrical-pro/epro/blob/main/volt.html
change this line:
channelKeys.push({channelNumber:1288695, name:'AC Voltage',key:'KMPJJFINTMO4GWQK',
Replace with your channel number and read API key
You can just click on the downloaded and modified HTML file and open it in the browser, it will request the date from https://thingspeak.com/ and will build the chart.
You can host HTML files whenever you want, I host them here on GitHub:
example: https://electrical-pro.github.io/epro/volt.html
This is NOT important (ignore):
"pwSource" and "Gzip" folders are only needed if you want to modify internal HTML pages for the ESP8266
(you can delete "pwSource" and "Gzip" if you want, it's okay)
P.S. I've used Gzip to compress HTML pages to save space on ESP8266.
Compressed pages stored in the "data" folder
and uncompressed in "pwSource" folder.
To be honest they don't really need to be compressed there is enough space on ESP8266, but that is how I build it.
If you ever need to use Gzip to compress you need to install nodeJS
Tell me about your results
thank you for this information you are giving me it as been a true helper to this project am trying to build.
I can't find this line of code
channelKeys.push({channelNumber:1288695, name:'AC Voltage',key:'KMPJJFINTMO4GWQK',
I don't know if you can give me line number of the code
it's only this I could find
const String writeAPIKey = "XXXAPIKEYXXX"; // write API key for your ThingSpeak Channel`
During the uploading of the sketch I got a error massage
the logs are shown below:
[SPIFFS] data : C:\Users\muham\OneDrive\Desktop\SmartBoard-main\ESP8266_PowerControl\data
[SPIFFS] size : 2024
[SPIFFS] page : 256
[SPIFFS] block : 8192
/cntrl.html
/Current_Live.html
/Errors_Live.html
/esp8266-3.0.2.zip
SPIFFS_write error(-10001): File system is full.
error adding file!
SPIFFS Create Failed!
@OZ-786 Did you accidentally put a file "esp8266-3.0.2.zip" inside "data" folder?
remove "esp8266-3.0.2.zip" from "data" folder, it should NOT be there
This are the files that should be in data folder
Upload all of them
https://github.com/electrical-pro/SmartBoard/tree/main/data
Okay, go to http://192.168.4.1:8089/me (authorization)
and then try again http://192.168.4.1:8089 or http://192.168.4.1:8089/more.html and it should work
"The file exists, but you are not authorized!" - is a simple safety feature that I implemented
so in order to access files, you need to go to a secret URL first http://192.168.4.1:8089/me (you can program another one)
When you go to http://192.168.x.x:8089/me it puts a cookie in your browser and you become an authorized user
to make it work right set it to false in the sketch
// set it to false, and then get auth cookie by going to 192.168.x.x:8089/me
bool PublicAccess = true; // authorization
If it is true it only allows you to go to http://192.168.4.1:8089
if it is false nothing is allowed unless you go to http://192.168.4.1:8089/me first
does this http://192.168.4.1:8089 address work for you?
should be like this, you should see MORE button
it works now. I still can't find this line of code
"channelKeys.push({channelNumber:1288695, name:'AC Voltage',key:'KMPJJFINTMO4GWQK',""
I don't know if you can give me line number of the code (position)
@OZ-786
at line 218
https://github.com/electrical-pro/epro/blob/main/volt.html
(download this file and modify for your needs)
With this you can see data from any thingSpeak channel
(just replace with your channel number and your read API key)
epro-main.zip (download everything)
@electrical-pro thanks once again, it seem have gotten all the necessary codes installed already, I just have to wait for the remaining hardware to be delivered. surely I will post a feedback of the project
@OZ-786 Thank you too, I hope this will be useful for other people who try to build this too.
Btw, I updated the sketch today, now it compiles with the latest core 3.0.2, so no need for core 2.7.4 anymore :)
You can update to 3.0.2 if you want.
Also, now when it gets connected to the router it will show the IP address for a few seconds on the display.
Great work !!
I really liked your project idea and I am very excited to implement the project,
Can you write to me all elements of the project pls ? because there is some element u connect in the video isn't exist in the element list and circuit diagram .
Waiting for your reply as soon as possible..
Hello Mate, How are you? Can you please share the circut diagram and resistor value, which you made to handle 2000v volts?