http://esp8266basic.com
A BASIC interpreter for your ESP
Working now on Autodrop3d. A 3d printer with automatic part ejection system. https://autodrop3d.com
Explore... Chat... Share...
Moderator: Mmiscool
memclear
serialprintln ""
serialprintln "uMite WUI Initialising......"
ver$ = "ESP8266 uMite WUI 0.8b"
'connect "Network" "password" "IP"" "gateway" "mask"
'baudrate 38400
serialflush
serialtimeout 3000
timesetup(11,0)
setupemail "mail.smtp2go.com" 2525 "youraddress" "password"
gosub [getinfo]
let otemp = 23.3
let ohum = 78
let ows = 10
let opres = 1008
let gtemp = 23.3
let ghum = 78
let bv = 12.6
let pvv = 18.6
let bp = 120
let pvp = 90
'put your web GUI code here
cls
wprint "<head>"
wprint "<meta http-equiv='refresh' content='15;URL=/input?'>"
wprint "</head>"
print "uMite Serial Network Server"
print
wprint "<br>"
wprint "Weather Station"
wprint "<br>"
wprint "Temperature="
wprint htmlvar(otemp)
wprint " 'C "
wprint " Humidity="
wprint htmlvar(ohum)
wprint " %RH"
wprint "<br>"
wprint " Avg Wind Speed="
wprint htmlvar(ows)
wprint " km/h"
wprint " Pressure="
wprint htmlvar(opres)
wprint " hpa"
wprint "<br>"
wprint "<br>"
wprint "GreenHouse"
wprint "<br>"
wprint "Temperature="
wprint htmlvar(gtemp)
wprint " 'C "
wprint " Humidity="
wprint htmlvar(ghum)
wprint " %RH"
wprint "<br>"
wprint "<br>"
wprint "Garden Solar"
wprint "<br>"
wprint "Battery="
wprint htmlvar(bv)
wprint " VDC "
wprint " PV Panels="
wprint htmlvar(pvv)
wprint " VDC"
wprint "<br>"
wprint "Battery Power Used="
wprint htmlvar(bp)
wprint " wHrs "
wprint " PV Power Gen="
wprint htmlvar(pvp)
wprint " wHrs "
wprint "<br>"
wprint "<br>"
button "Exit" [quit]
timer 6000 [update]
wait
'end of GUI code
'code runs as called by timer
'receives data packet from MCU
[update]
input "getdata:" str$
serialprint "LineLen:"
serialprintln len(str$)
serialprint "Packet:"
serialprintln str$
delay 5
if len(str$) = 1 then goto [exitupdate]
if instr(str$,"sync:") > 0 then goto [parsedata]
gosub [parse]
serialprintln field$
cmd = field$
goto [command]
[parsedata]
serialprintln "Parse data"
'each of your variables in sequence to be parsed from data string
gosub [parse]
sstatus = field$
gosub [parse]
otemp = field$
gosub [parse]
ohum = field$
gosub [parse]
ows = field$
gosub [parse]
opres = field$
gosub [parse]
gtemp = field$
gosub [parse]
ghum = field$
gosub [parse]
bv = field$
gosub [parse]
pvv = field$
gosub [parse]
bp = field$
gosub [parse]
pvp = field$
gosub [parse]
cmd = field$
[command]
serialprint "Command:"
serialprintln cmd
if cmd == "ntp" then gosub [gettime] else [exitupdate]
if cmd == "email" then gosub [sendemail] else [exitupdate]
if cmd == "info" then gosub [getinfo] else [exitupdate]
if cmd == "quit" then goto [quit]
if cmd == "reboot" then reboot
if cmd == "net" then gosub [setnet]
if cmd == "ts" then gosub [thingspeak]
[exitupdate]
wait
[thingspeak]
input "gettsdata:" str$
gosub [parse]
sstatus = field$
gosub [parse]
ts.key$ = field$
gosub [parse]
ts.fieldnum$ = field$
gosub [parse]
ts.fielddata$ = field$
serialprint "Send to thingspeak:"
b$ = ts.key$ & ts.fieldnum$ & ts.fielddata$
serialprintln b$
sendts(ts.key$,ts.fieldnum$,ts.fielddata$)
return
[setnet]
input "getnetwork:" str$
gosub [parse]
sstatus = field$
gosub [parse]
net.name$ = field$
gosub [parse]
net.password$ = field$
gosub [parse]
net.ip$ = field$
gosub [parse]
net.gateway$ = field$
gosub [parse]
net.mask$ = field$
if net.ip$ == "" then [auto] else [static]
[static]
serialprintln "connect static"
connect net.name$ net.password$ net.ip$ net.gateway$ net.mask$
goto [exitsetnet]
[auto]
serialprintln "connect auto"
connect net.name$ net.password$
[exitsetnet]
gosub [getinfo]
return
[sendemail]
input "getemail:" str$
gosub [parse]
sstatus = field$
gosub [parse]
address$ = field$
gosub [parse]
reply$ = field$
gosub [parse]
subject$ = field$
gosub [parse]
body$ = field$
serialprint "Send to:"
serialprintln address$ & reply$ & subject$ & body$
email address$ reply$ subject$ body$
return
[getinfo]
serialprintln ""
serialprint "Version:"
serialprintln ver$
serialprint "IP:"
serialprintln ip()
read "WIFIname" blaWIFIssid
serialprint "SSID:"
serialprintln blaWIFIssid
serialprint "FlashFree:"
serialprintln flashfree()
serialprint "RamFree:"
serialprintln ramfree()
return
[gettime]
ntp$ = time()
ntp$ = "NTP:" & ntp$
serialprintln ntp$
return
[parse]
field$ = ""
'serialprint "parse this:"
'serialprintln str$
[search]
delim = instr(str$,":")
'serialprintln delim
[found]
field = delim - 1
delim = delim + 1
rest = len(str$) - delim
field$ = left(str$,field)
rest$ = right(str$,rest)
str$ = rest$
'serialprintln field$
'serialprintln str$
[exitparse]
return
[quit]
timer 0
wprint "<a href='/'>Menu</a>"
end
It takes about 20-25 seconds for home assistant c[…]
I tried to upgrade tof my sonoff basic R2 with the[…]
a problem Perhaps you want to define "Probl[…]
Rebooting your router will not give you a faster I[…]
There are no other notifications from esptool.py i[…]
Using the Arduino IDE, you'll learn how to set up […]
In this project, you will post to Twitter using an[…]
In this project, we will build a water level contr[…]
I guess I'm late, but I had the same problem and f[…]
Last night I received my first D1 Minis for a lear[…]
Although I am aware that this is an old post, I fe[…]