|
|
3 lat temu | |
|---|---|---|
| MicroWebSrv | 3 lat temu | |
| driver | 3 lat temu | |
| .gitignore | 3 lat temu | |
| heat.py | 3 lat temu | |
| local_test.py | 3 lat temu | |
| main.py | 3 lat temu | |
| mywifi.py | 3 lat temu | |
| oled.py | 3 lat temu | |
| readme-heat.md | 3 lat temu | |
| test.py | 3 lat temu | |
| work_led.py | 3 lat temu |
def main():
import sys
if sys.platform == 'win32':
ip_addr = '192.168.43.240'
web_path = 'MicroWebSrv\web_files'
else:
from mywifi import my_wifi
ip_addr = my_wifi.get_wifi_addr()
web_path = '/MicroWebSrv/web_files'
print(web_path)
srv = MicroWebSrv(routeHandlers=routeHandlers, bindIP=ip_addr, webPath='MicroWebSrv\web_files')
srv.MaxWebSocketRecvLen = 256
srv.WebSocketThreaded = True
srv.AcceptWebSocketCallback = _acceptWebSocketCallback
srv.SetNotFoundPageUrl("https://www.baidu.com/")
srv.Start(threaded=True)
print("start:", ip_addr)
if sys.platform == 'win32':
while True:
pass
if __name__ == '__main__':
main()
在Windows中,web_path 是从当前Python脚本的上级目录开始,否则页面无法访问。
例如:运行的主程序是 MicroWebSrv\web_server.py,则 web_path = MicroWebSrv\web_files
bindIP='192.168.31.123' 必填。在WiFi已经连接路由器的情况下,填写esp32的ip地址 这个脚本同时支持 Python3.10 代码,测试时填上电脑本机IP地址即可 routeHandlers 这是web网页的路由表
httpResponse.WriteResponseFile(filepath= '/my-html.html',contentType = "text/html",headers = None)参考《web全栈开发:从入门到实践》9.5 从服务器获取数据给前端
TODO
在 index 页面中,windows.onload 获取开发板状态,如 开关、温度、时间
MicroPython 参考:http://docs.micropython.org/en/latest/esp32/quickref.html#adc-analog-to-digital-conversion
ADC的基准电压是1.8V,因此接3.3V分压光敏电阻,很难达到1.8V以下
光敏分压始终在2~3.3V,参考MicroPython文档,可以将atten关键字设置增益,让它能读取超过1.8V的电压
adc = ADC(Pin(34),atten=ADC.ATTN_11DB) # create an ADC object acting on a pin
while True:
val = adc.read_u16() # read a raw analog value in the range 0-65535
print('val16:', val)
time.sleep(1)
NTC 选型
电源电压:3.3V
NTC分压电压:0~2.45V,若0℃时,电压为 2.45,则:
电阻分压:3.3-2.45 = 0.85V
分压比:Rntc : R = 1.2 : 2.1 = 1 : 1.75
因此,选用10K热敏电阻,应选择分压电阻 10K * 1.75 = 17.5k
如果 R~NTC~ 选10K, 0℃阻值为27.766,U~分压~= 0.85/(2.45/27.766) = 10K
R=20K,U~adc~= 3.3V/(R~NTC~+20)*R~NTC~
带入函数计算得出:
...
R_ntc: 5 Vntc:1.10 V
R_ntc: 6 Vntc:1.24 V
R_ntc: 7 Vntc:1.36 V
R_ntc: 8 Vntc:1.47 V
R_ntc: 9 Vntc:1.56 V
R_ntc: 10 Vntc:1.65 V
R_ntc: 11 Vntc:1.73 V
R_ntc: 12 Vntc:1.80 V
R_ntc: 13 Vntc:1.87 V
R_ntc: 14 Vntc:1.92 V
...