教程:http://geek-workshop.com/thread-37484-1-1.html
源码:链接:https://pan.baidu.com/s/1yuYYqsM-WSOb0AbyAT0qrQ 密码:d8e8
本帖最后由 zyzand 于 2018-5-10 16:00 编辑
前段时间,学校发了通知,说寝室要安智能电表了,由原来的每月底后付费改成预付费,说是没余额会自动断电,通过微信平台查询和缴纳电费。打开查电费的界面看了一下,发现缴费的界面是需要在微信里才能打开的,但查询的界面能直接在普通浏览器打开:
<ignore_js_op>
![](https://i-blog.csdnimg.cn/blog_migrate/b9e0b0d4f592b7d8485ca25117718daf.png)
(最近刚安装上,学校实行保电模式,所以暂时没电费也能用哈)
正好实验室有几块ESP8266和几块OLED。我想能不能拿ESP8266来显示当前的实时电费信息呢?这样就避免舍友吃鸡的时候突然断电的尴尬了。
电费信息的解析
研究了一下查询电费的方式,发现只要更改地址就能查到不同楼层的电费信息,返回的html的源码如下
<ignore_js_op>
![](https://i-blog.csdnimg.cn/blog_migrate/42db40c89e7ca91cb3905222b9cd8823.png)
代码还是比较短的,有1M内存的ESP8266完全能应付得来。
思路也很简单,就只先用http库获取到网页源码,然后使用关键信息前后的字符截取出相应的信息。解析信息的方法如下。(代码可能写的不太规范,欢迎大神指点)
struct priceinf {
float price;
char timestr[20 * 7];
int year;
int month;
int day;
int hh;
int mm;
int ss;
char lou[20];
char qinshi[10];
};
/*
返回信息解析
传入:html代码
返回:解析出来的信息(priceinf 结构体&#x