关于手残,搞废我的OLED屏幕的 追悼会
2017-12-1913:36:41
昨天按照B站的资料利用esp12F做了一个天气站,可预报天气,惭愧的是模型做好了,照片还没拍就夭折了,可怜了我20块的屏幕,我心伤悲,莫知我哀呀!
本来调试已经成功,运行还是很完美的,哎,手残。
碎了一个角,我的心也跟着碎了。
代码备份一下:
//http://flash.weather.com.cn/wmaps/xml/nanjing.xml
//http://flash.weather.com.cn/wmaps/xml/zhengzhou.xml
//http://www.pm25.in/api/querys/pm2_5.json?city=nanjing&token=5j1znBVAsnSf5xQyNQyq
//http://www.pm25.in/api/querys/pm2_5.json?city=zhengzhou&token=郑州
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Adafruit_ssd1306syp.h>
#define SDA_PIN 4
#define SCL_PIN 2
char ssid[] = "maker_space"; // WiFi名 SSID (name)
char pass[] = "chuangke666"; // WiFi密码
/*---------------------------------------------------------------*/
const byte sunny[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x20,0x00,0x00,
0x00,0x00,0x1C,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0xF0,0x00,0x00,
0x00,0x00,0x1E,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x1F,0x03,0x01,0xE0,0x00,0x00,
0x00,0x00,0x0F,0x03,0x01,0xE0,0x00,0x00,0x00,0x00,0x0F,0x03,0x83,0xE0,0x00,0x00,
0x00,0x00,0x0F,0x83,0x83,0xC0,0x00,0x00,0x00,0x00,0x07,0x83,0x87,0xC0,0x00,0x00,
0x00,0x00,0x07,0xC0,0x07,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x00,0x00,
0x00,0x03,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x80,0x00,
0x00,0x03,0xC0,0x1F,0xE0,0x0F,0x00,0x00,0x00,0x01,0xC0,0x7F,0xFC,0x0E,0x00,0x00,
0x00,0x00,0x81,0xF8,0xFF,0x00,0x00,0x40,0x0F,0x00,0x03,0xC0,0x3F,0x80,0x03,0xE0,
0x1F,0xC0,0x07,0x00,0x1F,0xC0,0x0F,0xE0,0x0F,0xF0,0x0E,0x0F,0xFF,0xE0,0x3F,0xE0,
0x07,0xFC,0x1C,0x3F,0xFF,0xF0,0xFF,0xC0,0x01,0xFC,0x38,0x7F,0xFF,0xF8,0x7E,0x00,
0x00,0x7C,0x31,0xFF,0xFF,0xF8,0x78,0x00,0x00,0x08,0x71,0xFF,0xFF,0xFC,0x00,0x00,
0x00,0x00,0x63,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x63,0xFF,0xFF,0xFC,0x00,0x00,
0x00,0x00,0xE3,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0xE7,0xFF,0xFF,0xFE,0x1C,0x00,
0x00,0xF0,0xE7,0xFF,0xFF,0xFE,0x1F,0x00,0x01,0xF0,0xE7,0xFF,0xFF,0xFE,0x3F,0x00,
0x01,0xF0,0xE3,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0xE3,0xFF,0xFF,0xFE,0x00,0x00,
0x00,0x00,0xE3,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x73,0xFF,0xFF,0xFC,0x00,0x00,
0x00,0x00,0x7F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x08,0x7F,0xFF,0xFF,0xFC,0x30,0x00,
0x00,0x3C,0x3F,0xFF,0xFF,0xF8,0x7C,0x00,0x01,0xFC,0x3F,0xFF,0xFF,0xF0,0x7F,0x80,
0x07,0xFE,0x1F,0xFF,0xFF,0xF0,0x7F,0xE0,0x0F,0xF8,0x0F,0xFF,0xFF,0xE0,0x1F,0xF0,
0x0F,0xC0,0x07,0xFF,0xFF,0xC0,0x03,0xE0,0x0F,0x00,0x03,0xFF,0xFF,0x80,0x00,0xE0,
0x00,0x00,0x40,0xFF,0xFE,0x06,0x00,0x00,0x00,0x00,0xE0,0x3F,0xF8,0x07,0x00,0x00,
0x00,0x01,0xE0,0x07,0xC0,0x07,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0x80,0x00,
0x00,0x03,0x80,0x00,0x00,0x81,0x80,0x00,0x00,0x00,0x03,0xC0,0x07,0xC0,0x00,0x00,
0x00,0x00,0x03,0xC1,0x87,0xC0,0x00,0x00,0x00,0x00,0x07,0xC3,0x83,0xC0,0x00,0x00,
0x00,0x00,0x07,0x83,0x83,0xE0,0x00,0x00,0x00,0x00,0x0F,0x83,0x81,0xE0,0x00,0x00,
0x00,0x00,0x0F,0x03,0x81,0xF0,0x00,0x00,0x00,0x00,0x1F,0x01,0x81,0xF0,0x00,0x00,
0x00,0x00,0x1E,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0xF0,0x00,0x00,
0x00,0x00,0x1E,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
const byte cloudy[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x1E,0x30,0xE0,0x00,0x00,0x00,0x00,0x00,0x0E,0x30,0xE0,0x00,0x00,0x00,0x00,0x00,0x06,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x0E,0x00,0x00,0x00,0xFF,0xFC,0x01,0xFF,0x0C,0x00,0x00,0x03,0xFF,0xFE,0x07,0x87,0xC0,0x04,0x00,0x07,0xC0,0x1F,0x84,0x03,0xE0,0x7E,0x00,0x0F,0x80,0x07,0x80,0xFF,0xF1,0xFE,0x00,0x1E,0x00,0x01,0xE0,0xFF,0xF8,0xE0,0x00,0x1C,0x00,0x01,0xE0,0x3F,0xF8,0x80,0x00,0x3C,0x00,0x03,0xFC,0x0F,0xFC,0x00,0x00,0x38,0x00,0x07,0xFE,0x0F,0xFC,0x00,0x00,0x30,0x00,0x1F,0xFF,0x07,0xFC,0x00,0x00,0x70,0x00,0x3E,0x07,0xC3,0xFC,0xF0,0x00,0x70,0x00,0x7C,0x03,0xC3,0xFC,0xF0,0x03,0xFE,0x00,0x78,0x01,0xF1,0xFC,0x00,0x07,0xFF,0x00,0x30,0x00,0xF1,0xFC,0x00,0x0F,0x87,0x00,0x00,0x00,0x70,0xF8,0x80,0x1E,0x00,0x00,0x00,0x00,0x70,0xF8,0xE0,0x1E,0x00,0x00,0x00,0x00,0x30,0xF1,0xF8,0x1C,0x00,0x00,0x00,0x00,0x30,0xF0,0xFE,0x18,0x00,0x00,0x00,0x00,0x30,0xC0,0x1E,0x18,0x00,0x00,0x00,0x00,0x70,0xC4,0x00,0x1C,0x00,0x00,0x00,0x00,0x70,0x0E,0x00,0x1C,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x1E,0x03,0x80,0x00,0x01,0xE0,0xC0,0x00,0x1F,0x03,0xC0,0x08,0x03,0xC0,0xC0,0x00,0x0F,0x8F,0xE0,0x1E,0x07,0xC0,0xE0,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x80,0xE0,0x00,0x03,0xFE,0xFF,0xFF,0xFE,0x00,0x70,0x00,0x00,0x00,0x0F,0xE1,0xF8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
const byte cloudy2[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x7F,0xE0,0x3F,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x07,0xF8,0x00,0x00,0x00,0x01,0xFC,0x00,0x01,0xFC,0x00,0x00,0x00,0x03,0xF8,0x00,0x00,0x7E,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x3F,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x1F,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x1F,0x80,0x00,0x00,0x0F,0x80,0x00,0x00,0x7F,0xF8,0x00,0x00,0x1F,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x1F,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x1E,0x00,0x00,0x07,0xFF,0xFF,0x80,0x00,0x1E,0x00,0x00,0x1F,0xE0,0x1F,0xE0,0x00,0x3E,0x00,0x00,0x1F,0x80,0x07,0xE0,0x00,0x7F,0x80,0x00,0x3F,0x00,0x03,0xF0,0x01,0xFF,0xE0,0x00,0x3E,0x00,0x01,0xF0,0x07,0xFF,0xF0,0x00,0x1C,0x00,0x00,0xF8,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x78,0x1F,0xC0,0xF0,0x00,0x00,0x00,0x00,0x7C,0x1F,0x80,0x60,0x00,0x00,0x00,0x00,0x7C,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3E,0x00,0x1C,0x00,0x00,0x00,0x01,0xF0,0x3F,0x00,0x7E,0x00,0x03,0x00,0x03,0xF0,0x1F,0xC0,0xFF,0x80,0x07,0xC0,0x0F,0xE0,0x0F,0xFF,0xFF,0xF0,0x7F,0xF8,0x7F,0xC0,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x03,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xC1,0xFF,0xFC,0xFF,0xFC,0x00,0x00,0x0C,0x00,0x7F,0xF0,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
const byte rain[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x80,0x00,0x00,0x00,0x00,0x01,0xFC,0x3F,0x80,0x00,0x00,0x00,0x00,0x03,0xF8,0x1F,0xC0,0x00,0x00,0x00,0x00,0x03,0xF8,0x0F,0xC0,0x00,0x00,0x00,0x00,0x07,0xF0,0x0F,0xE0,0x00,0x00,0x00,0x00,0x07,0xF0,0x07,0xF0,0x00,0x00,0x00,0x00,0x0F,0xE0,0x07,0xF0,0x00,0x00,0x00,0x00,0x0F,0xE0,0x03,0xF0,0x00,0x00,0x00,0x00,0x1F,0xC0,0x03,0xF8,0x00,0x00,0x00,0x00,0x1F,0x80,0x01,0xFC,0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFC,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x3F,0x00,0x00,0x00,0x01,0xFC,0x00,0x00,0x3F,0x80,0x00,0x00,0x01,0xF8,0x00,0x00,0x1F,0x80,0x00,0x00,0x01,0xF8,0x00,0x00,0x1F,0x80,0x00,0x00,0x01,0xF8,0x00,0x00,0x1F,0xC0,0x00,0x00,0x01,0xF8,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x01,0xF8,0x00,0x00,0x0F,0xC0,0x00,0x00,0x01,0xF8,0x00,0x00,0x1F,0xC0,0x00,0x00,0x01,0xF8,0x00,0x00,0x1F,0x80,0x00,0x00,0x01,0xFC,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0xFE,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0xFF,0x00,0x00,0x00,0x00,0x7F,0xC0,0x03,0xFE,0x00,0x00,0x00,0x00,0x3F,0xF0,0x0F,0xFC,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/*---------------------------------------------------------------------*/ const byte tp1[] = {
0x00,0x40,0x40,0x40,0x27,0xFC,0x20,0x40,0x03,0xF8,0x00,0x40,0xE7,0xFE,0x20,0x00,
0x23,0xF8,0x22,0x08,0x23,0xF8,0x22,0x08,0x2B,0xF8,0x32,0x08,0x22,0x28,0x02,0x10
};
const byte tp2[] = { 0x08,0x20,0x1D,0x24,0xF0,0xA4,0x10,0xA8,0x10,0x20,0xFD,0xFC,0x11,0x04,0x31,0x04,
0x39,0xFC,0x55,0x04,0x55,0x04,0x91,0xFC,0x11,0x04,0x11,0x04,0x11,0x14,0x11,0x08
};
const byte tp3[] = {
0x00,0x10,0x00,0xF8,0x1F,0x00,0x10,0x00,0x10,0x00,0x1F,0xFE,0x10,0x00,0x10,0x00,
0x10,0x00,0x17,0xF8,0x14,0x08,0x24,0x08,0x24,0x08,0x44,0x08,0x87,0xF8,0x04,0x08
};
const byte tp4[] = {
0x00,0x00,0x7F,0xFC,0x40,0x04,0x40,0x04,0x42,0x14,0x52,0x94,0x4A,0x54,0x44,0x24,
0x44,0x24,0x4A,0x54,0x4A,0x54,0x52,0x94,0x61,0x04,0x40,0x04,0x40,0x14,0x40,0x08,
};
const byte tp5[] = {
0x10,0x80,0x10,0x80,0x20,0xF8,0x21,0x08,0x4B,0x10,0xFC,0xA0,0x10,0x40,0x20,0xA0,
0x41,0x18,0xFA,0x06,0x45,0xF8,0x01,0x08,0x19,0x08,0xE1,0x08,0x41,0xF8,0x01,0x08,
};
const byte tp6[] = {
0x08,0x40,0x08,0x20,0x0B,0xFE,0x10,0x00,0x10,0x00,0x31,0xFC,0x30,0x00,0x50,0x00,
0x91,0xFC,0x10,0x00,0x10,0x00,0x11,0xFC,0x11,0x04,0x11,0x04,0x11,0xFC,0x11,0x04,
};
const byte tp7[] = {
0x01,0x00,0x02,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,
0x1F,0xF0,0x10,0x10,0x01,0x00,0x08,0x84,0x48,0x92,0x48,0x12,0x87,0xF0,0x00,0x00,
};
const byte ssd[] = {0x00,0xB0,0x48,0x40,0x40,0x48,0x30,0x00};
Adafruit_ssd1306syp display(SDA_PIN,SCL_PIN);
String payload = ""; //获取数据储存变量
String payload1 = "";
String webadd = "http://flash.weather.com.cn/wmaps/xml/zhengzhou.xml"; //接口地址
String pmadd = "http://www.pm25.in/api/querys/pm2_5.json?city=zhengzhou&token=郑州";
int time1 = ; //WIFI等待时间(500ms)
int sta,sta2;
String com,tem1,tem2,humi,temnow,state1,state2,pm,pm2;
String sun[] = {"Sunny","Cloudy","Overcast"," "," "," "," ","Rain"," "," ","Snow"};
void setup()
{
delay();
display.initialize();
WiFi.begin(ssid, pass);
init1();
}
void loop(){
http();
data();
inof1();
inof2();
show();
}
/********************************************开机自启*********************************************/
void init1(){ //启动wifi连接
display.drawBitmap(, , tp1, , , WHITE);
display.drawBitmap(, , tp2, , , WHITE);
display.drawBitmap(, , tp3, , , WHITE);
display.setCursor(,);
display.setTextSize();
display.setTextColor(WHITE);
display.print("Connect to ");
display.println(ssid);
display.setCursor(,);
display.setTextSize();
display.setTextColor(WHITE);
display.println("Power by Wen Zheng");
display.update();
display.setCursor(,);
display.setTextSize();
display.setTextColor(WHITE);
while (WiFi.status() != WL_CONNECTED) {
delay();
// Serial.print(".");
display.print(".");
display.update();
time1++;
while(time1>)
{
display.clear();
display.setCursor(,);
display.setTextSize();
display.setTextColor(WHITE);
// Serial.println("Error:Unable to connect to WIFI");
display.println("Error:");
display.setCursor(,);
display.setTextSize();
display.setTextColor(WHITE);
display.println("Unable to connect to WIFI");
display.update();
delay();
}
}
display.clear();
display.drawBitmap(, , tp4, , , WHITE);
display.drawBitmap(, , tp5, , , WHITE);
display.drawBitmap(, , tp6, , , WHITE);
display.drawBitmap(, , tp7, , , WHITE);
display.setCursor(,);
display.print("SSID:");
display.println(ssid);
display.print("IP: ");
display.println(WiFi.localIP());
// Serial.println("IP address: ");
// Serial.println(WiFi.localIP()); //display.print("WEB: ");
//display.println(webadd);
display.update();
delay();
display.clear();
}
/*****************************************http数据获取*******************************************/
void http(){
HTTPClient http;
http.begin(webadd);
int httpCode = http.GET();
if(httpCode > ) {
// if(httpCode == HTTP_CODE_OK) {
payload = http.getString();
int a = payload.indexOf("");
com = payload.substring(a-,a+);
// }
}
http.end();
}
/*****************************************数据处理**********************************************/
void data(){
int i=;
i=com.indexOf("tem1");
tem1=com.substring(i+,i+);
i=;
i=com.indexOf("tem2");
tem2=com.substring(i+,i+);
i=;
i=com.indexOf("umidity");
humi=com.substring(i+,i+);
i=;
i=com.indexOf("state1");
state1=com.substring(i+,i+);
i=;
i=com.indexOf("state2");
state2=com.substring(i+,i+);
i=;
i=com.indexOf("temNow");
temnow=com.substring(i+,i+);
i=;
tem1.replace('"',' ');
tem2.replace('"',' ');
humi.replace('"',' ');
temnow.replace('"',' ');
humi.replace('%',' ');
state1.replace('"',' ');
state2.replace('"',' ');
}
/*************************************OLED显示函数********************************************/
void show(){
display.drawBitmap(, , ssd, , , WHITE);
display.drawBitmap(, , ssd, , , WHITE);
display.drawBitmap(, , ssd, , , WHITE);
display.setTextSize();
display.setTextColor(WHITE);
display.setCursor(,);
display.println("%");
display.update();
display.setTextSize();
display.setTextColor(WHITE);
display.setCursor(,);
display.print("Max:");
display.println(tem1);
display.setCursor(,);
display.print("Now:");
display.println(temnow);
display.setCursor(,);
display.print("Min:");
display.println(tem2);
display.setCursor(,);
display.print("Humi");
display.println(humi);
//display.setCursor(64,48);
//display.print("PM2.5:");
//display.println(pm2);
/*
if(sta != sta2){
display.setTextSize(1);
display.setTextColor(BLACK, WHITE);
display.print("{"+sun[sta]+"}");
display.print("--");
display.println("{"+sun[sta2]+"}");
}
if(sta == sta2){
display.setTextSize(1);
display.setTextColor(BLACK, WHITE);
display.println("{"+sun[sta]+"}");
} display.update();
delay(20000);
display.clear();
*/
if(sta == ){
display.drawBitmap(, , sunny, , , WHITE);
}
else if(sta == )
{
display.drawBitmap(, , cloudy, , , WHITE);
}
else if(sta == )
{
display.drawBitmap(, , cloudy2, , , WHITE);
}
else if(sta == )
{
display.drawBitmap(, , rain, , , WHITE);
}
}
/*********************************天气判断函数****************************/
void inof1(){
if(state1==" 0 ")
{
sta=;////////////////////////////////////////////////////////////////////////////////////////////////
}
else if(state1==" 1 ")
{
sta=;
}
else if(state1==" 2 ")
{
sta=;
}
else if(state1==" 3 ")
{
sta=;
}
else if(state1==" 4 ")
{
sta=;
}
else if(state1==" 5 ")
{
sta=;
}
else if(state1==" 6 ")
{
sta=;
}
else if(state1==" 7 ")
{
sta=;
}
else if(state1==" 8 ")
{
sta=;
}
else if(state1==" 9 ")
{
sta=;
}
else if(state1==" 10 ")
{
sta=;
}
else if(state1==" 11 ")
{
sta=;
}
else if(state1==" 12 ")
{
sta=;
}
else if(state1==" 13 ")
{
sta=;
}
else if(state1==" 14 ")
{
sta=;
}
else if(state1==" 15 ")
{
sta=;
}
else if(state1==" 16 ")
{
sta=;
}
}
void inof2(){
if(state2==" 0 ")
{
sta2=;
}
else if(state2==" 1 ")
{
sta2=;
}
else if(state2==" 2 ")
{
sta2=;
}
else if(state2==" 3 ")
{
sta2=;
}
else if(state2==" 4 ")
{
sta2=;
}
else if(state2==" 5 ")
{
sta2=;
}
else if(state2==" 6 ")
{
sta2=;
}
else if(state2==" 7 ")
{
sta2=;
}
else if(state2==" 8 ")
{
sta2=;
}
else if(state2==" 9 ")
{
sta2=;
}
else if(state2==" 10 ")
{
sta2=;
}
else if(state2==" 11 ")
{
sta=;
}
else if(state2==" 12 ")
{
sta2=;
}
else if(state2==" 13 ")
{
sta2=;
}
else if(state2==" 14 ")
{
sta2=;
}
else if(state2==" 15 ")
{
sta2=;
}
else if(state2==" 16 ")
{
sta2=;
}
}
/*
void pm25(){
HTTPClient http;
http.begin(pmadd);
int httpCode = http.GET();
if(httpCode > 0) {
// if(httpCode == HTTP_CODE_OK) {
payload1 = http.getString();
pm = payload1.substring(0,35);
// }
}
http.end(); int i,i2;
i=pm.indexOf("pm2_5");
pm2=pm.substring(i+6,i+9);
pm.replace(':',' ');
pm.replace(',',' ');
Serial.println(payload1);
Serial.println(pm); }
*/
关于手残,搞废我的OLED屏幕的 追悼会的更多相关文章
- HDU 1728 逃离迷宫(DFS经典题,比赛手残写废题)
逃离迷宫 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- [NOIP2018模拟赛10.16]手残报告
[NOIP2018模拟赛10.16]手残报告 闲扯 炉石乱斗模式美滋滋啊,又颓到好晚... 上来T2先敲了树剖,看T1发现是个思博DP,然后没过大样例,写个暴力发现还是没过大样例!?才发现理解错题意了 ...
- [转帖]中关村:LED屏幕和OLED屏幕有什么区别?答案在这里
LED屏幕和OLED屏幕有什么区别?答案在这里 中关村在线 01-0810:40 目前的电视市场,更新换代的频率越来越快,无论是国产品牌还是合资品牌,都不约而同的推出了全新产品.这离不开人们对更好 ...
- OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇
少废话,先上效果图 屏幕显示效果 全家福 一.基础认识及引脚介绍 屏幕参数: 尺寸:0.96英寸 分辨率:128*64 驱动芯片:SSD1306 驱动接口协议:SPI 引脚说明: 二. ...
- OLED屏幕那些次像素有趣的排列方式
http://www.dzsc.com/data/2016-6-2/109856.html 我们今天的重点内容为倒数第二列内容的上半部分,也就是RGB排列和Pentile排列.在介绍OLED屏幕时候我 ...
- oled屏幕配套取字模软件使用
oled屏幕配套取字模软件使用 作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/p/10531368.html欢迎转载,但也请保留上面这段声明.谢谢! **P ...
- oled屏幕模块
oled屏幕模块似乎是厂家提供的 也许可以根据屏幕驱动芯片去写 根据现在了解的芯片一般有两个:SH1106和SSD1306 不过这次我们用的是SSD1306芯片驱动的屏幕 下面是从裸屏到模块的pcb: ...
- I2C 连接 12864 OLED 屏幕
http://ardui.co/archives/738 我是潘,曾经是个工程师.这是为 Ardui.Co 制作的 “Arduino 公开课” 系列的入门教程.上一课介绍了I2C 协议连接1602 L ...
- 对于windows操作系统磁盘访问权限修改的手残教训
最近公司新配置的win10电脑,由于测试关于windows系统上项目的安装程序时默认使用了c盘安装,发现安装后的项目不是崩溃就是运行没结果的,偶然间发现同一个安装程序在d盘或其他非系统盘安装则正常.很 ...
随机推荐
- canvas 简易的加载进度条
做一个web app,想在第一次或者更新的时候,有一个更新进度条,我个人比较喜欢圆的那种. canvas + svg高低配,应该还不错的.顺便一提,canvas用来压缩图片也是么么哒的. 先看下效果图 ...
- C#Winform 自定义透明按钮和单窗体模块化实现
技术看点 WinForm自定义控件的使用 WinForm单窗体应用如何模块化 需求及效果 又来一波 C# GDI自定义控件show .这个控件已经使用几年了,最近找出来重构一下.原来是没有边框的,那么 ...
- 巧用CSS居中未知高度的块元素
在网页中让一个未知高度的块元素水平垂直居中是一个老生常谈的问题,但是总是有些特殊场景让你无法得心应手的实现居中,本文介绍几种常用的经典的居中方法,总有一种适合你! 1. position .paren ...
- Oracle COMMIT语句的处理顺序
Oracle COMMIT语句相信大家都有一定的了解,下面就为您介绍Oracle COMMIT语句的处理步骤,希望对您能有所帮助. Oracle COMMIT语句处理顺序 当事务提交时,Oracle分 ...
- Windows下安装Selenium
安装python,建议在官网下载python3以上的版本 安装easy_install,找度娘 安装selenium,在命令行窗口下输入:pip install -U selenium 下载chrom ...
- 迁移数据库数据到SQL Server 2017
概述 本篇我们将利用DMA一步一步实现SQL Server 的迁移.帮助大家理解现在的SQL Server与新版本的融合问题,同时需要我们做哪些操作来实现新版本的升级或者迁移. SQL Serve ...
- 一个通用的makefile(一)
最近在编写Android编译系统时,需要遍历每一个目录下每一个文件夹下的makefile,网上的方法有些繁琐 :就直接贴上自己遍历子目录深度为1:(for temporary)(之后会继续更新) 下 ...
- 数据挖掘概念与技术15--为快速高维OLAP预计算壳片段
1. 论数据立方体预计算的多种策略的优弊 (1)计算完全立方体:需要耗费大量的存储空间和不切实际的计算时间. (2)计算冰山立方体:优于计算完全立方体,但在某种情况下,依然需要大量的存储空间和计算时间 ...
- BZOJ:4530: [Bjoi2014]大融合
4530: [Bjoi2014]大融合 拿这题作为lct子树查询的练手.本来以为这会是一个大知识点,结果好像只是一个小技巧? 多维护一个虚边连接着的子树大小即可. #include<cstdio ...
- 基于Windows环境下MyEclipse10快捷键总结
---------------------------------------------MyEclipse 快捷键1(CTRL)----------------------------------- ...