mirror of
https://github.com/easychen/pushdeer.git
synced 2025-02-22 16:04:56 +08:00
add esp32 folder
This commit is contained in:
parent
80c034ef44
commit
c3bb7474bd
1
iot/deeresp32/.gitignore
vendored
Normal file
1
iot/deeresp32/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.bin
|
39
iot/deeresp32/RoboFile.php
Normal file
39
iot/deeresp32/RoboFile.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* This is project's console commands configuration for Robo task runner.
|
||||
*
|
||||
* @see http://robo.li/
|
||||
*/
|
||||
class RoboFile extends \Robo\Tasks
|
||||
{
|
||||
// define public methods as commands
|
||||
public function text2hex()
|
||||
{
|
||||
$chars = utf8Split(file_get_contents('font.txt'));
|
||||
$chars = array_unique($chars);
|
||||
// sort($chars);
|
||||
foreach ($chars as $char) {
|
||||
if (strlen($char) > 0) {
|
||||
echo '0x'.dechex(uniord($char)).',';
|
||||
}
|
||||
// break;
|
||||
}
|
||||
}
|
||||
}
|
||||
function utf8Split($str, $len = 1)
|
||||
{
|
||||
$arr = array();
|
||||
$strLen = mb_strlen($str, 'UTF-8');
|
||||
for ($i = 0; $i < $strLen; $i++) {
|
||||
$arr[] = mb_substr($str, $i, $len, 'UTF-8');
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function uniord($u)
|
||||
{
|
||||
$k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8');
|
||||
$k1 = ord(substr($k, 0, 1));
|
||||
$k2 = ord(substr($k, 1, 1));
|
||||
return $k2 * 256 + $k1;
|
||||
}
|
369
iot/deeresp32/User_Setup.st7735.32.h
Normal file
369
iot/deeresp32/User_Setup.st7735.32.h
Normal file
@ -0,0 +1,369 @@
|
||||
// USER DEFINED SETTINGS
|
||||
// Set driver type, fonts to be loaded, pins used and SPI control method etc
|
||||
//
|
||||
// See the User_Setup_Select.h file if you wish to be able to define multiple
|
||||
// setups and then easily select which setup file is used by the compiler.
|
||||
//
|
||||
// If this file is edited correctly then all the library example sketches should
|
||||
// run without the need to make any more changes for a particular hardware setup!
|
||||
// Note that some sketches are designed for a particular TFT pixel width/height
|
||||
|
||||
|
||||
// ##################################################################################
|
||||
//
|
||||
// Section 1. Call up the right driver file and any options for it
|
||||
//
|
||||
// ##################################################################################
|
||||
|
||||
// Define STM32 to invoke optimised processor support (only for STM32)
|
||||
//#define STM32
|
||||
|
||||
// Defining the STM32 board allows the library to optimise the performance
|
||||
// for UNO compatible "MCUfriend" style shields
|
||||
//#define NUCLEO_64_TFT
|
||||
//#define NUCLEO_144_TFT
|
||||
|
||||
// STM32 8 bit parallel only:
|
||||
// If STN32 Port A or B pins 0-7 are used for 8 bit parallel data bus bits 0-7
|
||||
// then this will improve rendering performance by a factor of ~8x
|
||||
//#define STM_PORTA_DATA_BUS
|
||||
//#define STM_PORTB_DATA_BUS
|
||||
|
||||
// Tell the library to use 8 bit parallel mode (otherwise SPI is assumed)
|
||||
//#define TFT_PARALLEL_8_BIT
|
||||
|
||||
// Display type - only define if RPi display
|
||||
//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI
|
||||
|
||||
// Only define one driver, the other ones must be commented out
|
||||
// #define ILI9341_DRIVER // Generic driver for common displays
|
||||
//#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172
|
||||
#define ST7735_DRIVER // Define additional parameters below for this display
|
||||
//#define ILI9163_DRIVER // Define additional parameters below for this display
|
||||
//#define S6D02A1_DRIVER
|
||||
//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI
|
||||
//#define HX8357D_DRIVER
|
||||
//#define ILI9481_DRIVER
|
||||
//#define ILI9486_DRIVER
|
||||
//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high)
|
||||
//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display
|
||||
//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display
|
||||
//#define R61581_DRIVER
|
||||
//#define RM68140_DRIVER
|
||||
//#define ST7796_DRIVER
|
||||
//#define SSD1351_DRIVER
|
||||
//#define SSD1963_480_DRIVER
|
||||
//#define SSD1963_800_DRIVER
|
||||
//#define SSD1963_800ALT_DRIVER
|
||||
//#define ILI9225_DRIVER
|
||||
//#define GC9A01_DRIVER
|
||||
|
||||
// Some displays support SPI reads via the MISO pin, other displays have a single
|
||||
// bi-directional SDA pin and the library will try to read this via the MOSI line.
|
||||
// To use the SDA line for reading data from the TFT uncomment the following line:
|
||||
|
||||
// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 and GC9A01 display only
|
||||
|
||||
// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display
|
||||
// Try ONE option at a time to find the correct colour order for your display
|
||||
|
||||
// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
|
||||
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
|
||||
|
||||
// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below
|
||||
|
||||
// #define M5STACK
|
||||
|
||||
// For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation
|
||||
// #define TFT_WIDTH 80
|
||||
#define TFT_WIDTH 128
|
||||
// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320
|
||||
// #define TFT_HEIGHT 160
|
||||
#define TFT_HEIGHT 128
|
||||
// #define TFT_HEIGHT 240 // ST7789 240 x 240
|
||||
// #define TFT_HEIGHT 320 // ST7789 240 x 320
|
||||
// #define TFT_HEIGHT 240 // GC9A01 240 x 240
|
||||
|
||||
// For ST7735 ONLY, define the type of display, originally this was based on the
|
||||
// colour of the tab on the screen protector film but this is not always true, so try
|
||||
// out the different options below if the screen does not display graphics correctly,
|
||||
// e.g. colours wrong, mirror images, or stray pixels at the edges.
|
||||
// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this
|
||||
// this User_Setup file, then rebuild and upload the sketch to the board again:
|
||||
|
||||
// #define ST7735_INITB
|
||||
//#define ST7735_GREENTAB
|
||||
// #define ST7735_GREENTAB2
|
||||
#define ST7735_GREENTAB3
|
||||
// #define ST7735_GREENTAB128 // For 128 x 128 display
|
||||
// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset)
|
||||
// #define ST7735_REDTAB
|
||||
// #define ST7735_BLACKTAB
|
||||
// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset
|
||||
|
||||
// If colours are inverted (white shows as black) then uncomment one of the next
|
||||
// 2 lines try both options, one of the options should correct the inversion.
|
||||
|
||||
// #define TFT_INVERSION_ON
|
||||
// #define TFT_INVERSION_OFF
|
||||
|
||||
|
||||
// ##################################################################################
|
||||
//
|
||||
// Section 2. Define the pins that are used to interface with the display here
|
||||
//
|
||||
// ##################################################################################
|
||||
|
||||
// If a backlight control signal is available then define the TFT_BL pin in Section 2
|
||||
// below. The backlight will be turned ON when tft.begin() is called, but the library
|
||||
// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be
|
||||
// driven with a PWM signal or turned OFF/ON then this must be handled by the user
|
||||
// sketch. e.g. with digitalWrite(TFT_BL, LOW);
|
||||
|
||||
// #define TFT_BL 32 // LED back-light control pin
|
||||
// #define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW)
|
||||
|
||||
|
||||
|
||||
// We must use hardware SPI, a minimum of 3 GPIO pins is needed.
|
||||
// Typical setup for ESP8266 NodeMCU ESP-12 is :
|
||||
//
|
||||
// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT)
|
||||
// Display LED to NodeMCU pin VIN (or 5V, see below)
|
||||
// Display SCK to NodeMCU pin D5
|
||||
// Display SDI/MOSI to NodeMCU pin D7
|
||||
// Display DC (RS/AO)to NodeMCU pin D3
|
||||
// Display RESET to NodeMCU pin D4 (or RST, see below)
|
||||
// Display CS to NodeMCU pin D8 (or GND, see below)
|
||||
// Display GND to NodeMCU pin GND (0V)
|
||||
// Display VCC to NodeMCU 5V or 3.3V
|
||||
//
|
||||
// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin
|
||||
//
|
||||
// The DC (Data Command) pin may be labelled AO or RS (Register Select)
|
||||
//
|
||||
// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more
|
||||
// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS
|
||||
// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin
|
||||
// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected.
|
||||
//
|
||||
// The NodeMCU D0 pin can be used for RST
|
||||
//
|
||||
//
|
||||
// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin
|
||||
// If 5V is not available at a pin you can use 3.3V but backlight brightness
|
||||
// will be lower.
|
||||
|
||||
|
||||
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ######
|
||||
|
||||
// #define TFT_MOSI PIN_D7
|
||||
// #define TFT_SCLK PIN_D5
|
||||
// #define TFT_CS PIN_D1
|
||||
// #define TFT_DC PIN_D3
|
||||
// #define TFT_RST PIN_D2
|
||||
|
||||
// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation
|
||||
// #define TFT_CS 5 // Chip select control pin D8
|
||||
// #define TFT_DC 0 // Data Command control pin
|
||||
// #define TFT_RST 4 // Reset pin (could connect to NodeMCU RST, see next line)
|
||||
// #define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V
|
||||
|
||||
// #define TFT_MOSI 13
|
||||
// #define TFT_SCLK 14
|
||||
|
||||
|
||||
//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin)
|
||||
|
||||
//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen
|
||||
|
||||
//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only
|
||||
|
||||
|
||||
// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ######
|
||||
|
||||
// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact
|
||||
// but saves pins for other functions. It is best not to connect MISO as some displays
|
||||
// do not tristate that line when chip select is high!
|
||||
// Note: Only one SPI device can share the FLASH SPI lines, so a SPI touch controller
|
||||
// cannot be connected as well to the same SPI signals.
|
||||
// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode
|
||||
// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK
|
||||
// In ESP8266 overlap mode the following must be defined
|
||||
|
||||
//#define TFT_SPI_OVERLAP
|
||||
|
||||
// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3
|
||||
//#define TFT_CS PIN_D3
|
||||
//#define TFT_DC PIN_D5 // Data Command control pin
|
||||
//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line)
|
||||
//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V
|
||||
|
||||
|
||||
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ######
|
||||
|
||||
// For ESP32 Dev board (only tested with ILI9341 display)
|
||||
// The hardware SPI can be mapped to any pins
|
||||
|
||||
#define TFT_MOSI 13
|
||||
#define TFT_SCLK 14
|
||||
//#define TFT_CS 15 // Chip select control pin
|
||||
#define TFT_DC 2 // Data Command control pin
|
||||
#define TFT_RST 4 // Reset pin (could connect to RST pin)
|
||||
|
||||
// For ESP32 Dev board (only tested with GC9A01 display)
|
||||
// The hardware SPI can be mapped to any pins
|
||||
|
||||
//#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on.
|
||||
//#define TFT_SCLK 14
|
||||
//#define TFT_CS 5 // Chip select control pin
|
||||
//#define TFT_DC 27 // Data Command control pin
|
||||
//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin)
|
||||
//#define TFT_BL 22 // LED back-light
|
||||
|
||||
//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
|
||||
|
||||
//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only
|
||||
|
||||
// For the M5Stack module use these #define lines
|
||||
//#define TFT_MISO 19
|
||||
//#define TFT_MOSI 23
|
||||
//#define TFT_SCLK 18
|
||||
//#define TFT_CS 14 // Chip select control pin
|
||||
//#define TFT_DC 27 // Data Command control pin
|
||||
//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin)
|
||||
//#define TFT_BL 32 // LED back-light (required for M5Stack)
|
||||
|
||||
// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ######
|
||||
|
||||
// The library supports 8 bit parallel TFTs with the ESP32, the pin
|
||||
// selection below is compatible with ESP32 boards in UNO format.
|
||||
// Wemos D32 boards need to be modified, see diagram in Tools folder.
|
||||
// Only ILI9481 and ILI9341 based displays have been tested!
|
||||
|
||||
// Parallel bus is only supported for the STM32 and ESP32
|
||||
// Example below is for ESP32 Parallel interface with UNO displays
|
||||
|
||||
// Tell the library to use 8 bit parallel mode (otherwise SPI is assumed)
|
||||
//#define TFT_PARALLEL_8_BIT
|
||||
|
||||
// The ESP32 and TFT the pins used for testing are:
|
||||
//#define TFT_CS 33 // Chip select control pin (library pulls permanently low
|
||||
//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31
|
||||
//#define TFT_RST 32 // Reset pin, toggles on startup
|
||||
|
||||
//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31
|
||||
//#define TFT_RD 2 // Read strobe control pin
|
||||
|
||||
//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus
|
||||
//#define TFT_D1 13 // so a single register write sets/clears all bits.
|
||||
//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect
|
||||
//#define TFT_D3 25 // TFT screen update performance.
|
||||
//#define TFT_D4 17
|
||||
//#define TFT_D5 16
|
||||
//#define TFT_D6 27
|
||||
//#define TFT_D7 14
|
||||
|
||||
// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ######
|
||||
|
||||
// The TFT can be connected to SPI port 1 or 2
|
||||
//#define TFT_SPI_PORT 1 // SPI port 1 maximum clock rate is 55MHz
|
||||
//#define TFT_MOSI PA7
|
||||
//#define TFT_MISO PA6
|
||||
//#define TFT_SCLK PA5
|
||||
|
||||
//#define TFT_SPI_PORT 2 // SPI port 2 maximum clock rate is 27MHz
|
||||
//#define TFT_MOSI PB15
|
||||
//#define TFT_MISO PB14
|
||||
//#define TFT_SCLK PB13
|
||||
|
||||
// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select
|
||||
//#define TFT_CS D5 // Chip select control pin to TFT CS
|
||||
//#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select)
|
||||
//#define TFT_RST D7 // Reset pin to TFT RST (or RESET)
|
||||
// OR alternatively, we can use STM32 port reference names PXnn
|
||||
//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5
|
||||
//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6
|
||||
//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7
|
||||
|
||||
//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset
|
||||
// Use an Arduino pin for initial testing as connecting to processor reset
|
||||
// may not work (pulse too short at power up?)
|
||||
|
||||
// ##################################################################################
|
||||
//
|
||||
// Section 3. Define the fonts that are to be used here
|
||||
//
|
||||
// ##################################################################################
|
||||
|
||||
// Comment out the #defines below with // to stop that font being loaded
|
||||
// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not
|
||||
// normally necessary. If all fonts are loaded the extra FLASH space required is
|
||||
// about 17Kbytes. To save FLASH space only enable the fonts you need!
|
||||
|
||||
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
|
||||
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
|
||||
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
|
||||
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
|
||||
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
|
||||
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
|
||||
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
|
||||
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
|
||||
|
||||
// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded
|
||||
// this will save ~20kbytes of FLASH
|
||||
#define SMOOTH_FONT
|
||||
|
||||
|
||||
// ##################################################################################
|
||||
//
|
||||
// Section 4. Other options
|
||||
//
|
||||
// ##################################################################################
|
||||
|
||||
// For RP2040 processor and SPI displays, uncomment the following line to use the PIO interface.
|
||||
//#define RP2040_PIO_SPI // Leave commented out to use standard RP2040 SPI port interface
|
||||
|
||||
// For the RP2040 processor define the SPI port channel used (default 0 if undefined)
|
||||
//#define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used
|
||||
|
||||
// For the STM32 processor define the SPI port channel used (default 1 if undefined)
|
||||
//#define TFT_SPI_PORT 2 // Set to 1 for SPI port 1, or 2 for SPI port 2
|
||||
|
||||
// Define the SPI clock frequency, this affects the graphics rendering speed. Too
|
||||
// fast and the TFT driver will not keep up and display corruption appears.
|
||||
// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails
|
||||
// With a ST7735 display more than 27MHz may not work (spurious pixels and lines)
|
||||
// With an ILI9163 display 27 MHz works OK.
|
||||
|
||||
// #define SPI_FREQUENCY 1000000
|
||||
// #define SPI_FREQUENCY 5000000
|
||||
// #define SPI_FREQUENCY 10000000
|
||||
// #define SPI_FREQUENCY 20000000
|
||||
#define SPI_FREQUENCY 27000000
|
||||
// #define SPI_FREQUENCY 40000000
|
||||
// #define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz)
|
||||
// #define SPI_FREQUENCY 80000000
|
||||
|
||||
// Optional reduced SPI frequency for reading TFT
|
||||
#define SPI_READ_FREQUENCY 20000000
|
||||
|
||||
// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here:
|
||||
#define SPI_TOUCH_FREQUENCY 2500000
|
||||
|
||||
// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default.
|
||||
// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam)
|
||||
// then uncomment the following line:
|
||||
//#define USE_HSPI_PORT
|
||||
|
||||
// Comment out the following #define if "SPI Transactions" do not need to be
|
||||
// supported. When commented out the code size will be smaller and sketches will
|
||||
// run slightly faster, so leave it commented out unless you need it!
|
||||
|
||||
// Transaction support is needed to work with SD library but not needed with TFT_SdFat
|
||||
// Transaction support is required if other SPI devices are connected.
|
||||
|
||||
// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex)
|
||||
// so changing it here has no effect
|
||||
|
||||
// #define SUPPORT_TRANSACTIONS
|
36913
iot/deeresp32/cubic_12.gb2312.h
Normal file
36913
iot/deeresp32/cubic_12.gb2312.h
Normal file
File diff suppressed because it is too large
Load Diff
20131
iot/deeresp32/cubic_12.h
Normal file
20131
iot/deeresp32/cubic_12.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
iot/deeresp32/data/Cubic1112.vlw
Normal file
BIN
iot/deeresp32/data/Cubic1112.vlw
Normal file
Binary file not shown.
BIN
iot/deeresp32/data/deer.jpg
Normal file
BIN
iot/deeresp32/data/deer.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
BIN
iot/deeresp32/data/wifi.jpg
Normal file
BIN
iot/deeresp32/data/wifi.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
207
iot/deeresp32/deeresp32.ino
Normal file
207
iot/deeresp32/deeresp32.ino
Normal file
@ -0,0 +1,207 @@
|
||||
#define WIFI_SSID ""
|
||||
#define WIFI_PASSWORD ""
|
||||
#define MQTT_CLIENT_NAME "DeerEsp-001234354x32" // 多个同名设备连接同一台服务器会导致其他下线,所以起一个唯一的名字吧
|
||||
#define MQTT_TOPIC "LB2312" // 这里填PushDeer的Key
|
||||
#define MQTT_IP "broker.emqx.io"
|
||||
#define MQTT_USER ""
|
||||
#define MQTT_PASSWORD ""
|
||||
#define MQTT_PORT 1883
|
||||
|
||||
|
||||
// ====== 以下不用修改 ===============
|
||||
#define DOWNLOADED_IMG "/download.jpg"
|
||||
#define AA_FONT_CUBIC "Cubic1112"
|
||||
|
||||
|
||||
#include <EspMQTTClient.h>
|
||||
|
||||
EspMQTTClient mclient(
|
||||
WIFI_SSID,
|
||||
WIFI_PASSWORD,
|
||||
MQTT_IP,
|
||||
MQTT_USER,
|
||||
MQTT_PASSWORD,
|
||||
MQTT_CLIENT_NAME,
|
||||
MQTT_PORT
|
||||
);
|
||||
|
||||
// #include "cubic_12.h"
|
||||
// #include "SPI.h"
|
||||
#include <TFT_eSPI.h>
|
||||
TFT_eSPI tft = TFT_eSPI();
|
||||
|
||||
#ifdef ESP8266
|
||||
#include <ESP8266HTTPClient.h>
|
||||
#define BEEP_PIN D8
|
||||
#define IMG_SCALE 2
|
||||
#define TXT_SCALE 2
|
||||
#else
|
||||
#include "SPIFFS.h" // Required for ESP32 only
|
||||
#define IMG_SCALE 2
|
||||
#define TXT_SCALE 2
|
||||
#define BEEP_PIN 22
|
||||
#include <HTTPClient.h>
|
||||
#endif
|
||||
|
||||
#include <TJpg_Decoder.h>
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
mclient.enableDebuggingMessages();
|
||||
|
||||
tft.begin();
|
||||
pinMode(19, OUTPUT);
|
||||
digitalWrite(19, HIGH);
|
||||
// tft.setRotation(1); // 屏幕方向
|
||||
tft.fillScreen(TFT_BLACK);
|
||||
tft.setTextColor(0xFFFF,0x0000);tft.setCursor(0, 0, 1);tft.setTextSize(TXT_SCALE);tft.println("Init ...");
|
||||
Serial.println("tft init");
|
||||
|
||||
if (!SPIFFS.begin()) {
|
||||
Serial.println("SPIFFS initialisation failed!");
|
||||
while (1) yield(); // Stay here twiddling thumbs waiting
|
||||
}
|
||||
Serial.println("SPIFFS init");
|
||||
|
||||
TJpgDec.setJpgScale(IMG_SCALE);
|
||||
TJpgDec.setSwapBytes(true);
|
||||
TJpgDec.setCallback(tft_output);
|
||||
|
||||
Serial.println("TJpgDec init");
|
||||
|
||||
}
|
||||
|
||||
void onConnectionEstablished()
|
||||
{
|
||||
Serial.println("connected");
|
||||
tft.setTextColor(0xFFFF,0x0000);tft.setCursor(0, 0, 1);tft.println("Waiting for messages ...");
|
||||
|
||||
mclient.subscribe(String(MQTT_TOPIC)+"_text", [] (const String &payload)
|
||||
{
|
||||
Serial.println(payload);
|
||||
|
||||
if (SPIFFS.exists(DOWNLOADED_IMG) == true) TJpgDec.drawFsJpg(0, 0, DOWNLOADED_IMG);
|
||||
else tft.fillScreen( TFT_BLACK );
|
||||
|
||||
tft.loadFont(AA_FONT_CUBIC);
|
||||
// tft.loadFont(cubic_11);
|
||||
|
||||
|
||||
if( payload.length() > 80 ) tft.setTextSize(TXT_SCALE/2);
|
||||
else tft.setTextSize(TXT_SCALE);
|
||||
|
||||
char *found;
|
||||
short line = 0;
|
||||
int base = 5;
|
||||
int now_base = 0;
|
||||
char * payloads = const_cast<char*> ( payload.c_str() );
|
||||
while( (found = strsep( &payloads , "\n" ) ) != NULL )
|
||||
{
|
||||
now_base = base + line*14;
|
||||
tft.setTextColor(0x0000);tft.setCursor(base+1, now_base+1);tft.println(found);
|
||||
tft.setTextColor(0xFFFF);tft.setCursor(base, now_base);tft.println(found);
|
||||
line++;
|
||||
|
||||
}
|
||||
|
||||
tft.unloadFont();
|
||||
|
||||
#ifdef BEEP_PIN
|
||||
if(payload.indexOf("♪") >= 0) tone(BEEP_PIN, 1000, 100);
|
||||
#endif
|
||||
|
||||
|
||||
});
|
||||
|
||||
mclient.subscribe(String(MQTT_TOPIC)+"_bg_url", [] (const String &payload)
|
||||
{
|
||||
Serial.println(payload);
|
||||
bool ret = file_put_contents(payload, DOWNLOADED_IMG);
|
||||
if (SPIFFS.exists(DOWNLOADED_IMG) == true) {
|
||||
TJpgDec.drawFsJpg(0, 0, DOWNLOADED_IMG);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void loop() {
|
||||
mclient.loop();
|
||||
}
|
||||
|
||||
bool file_put_contents(String url, String filename) {
|
||||
|
||||
Serial.println("Downloading " + filename + " from " + url);
|
||||
|
||||
// Check WiFi connection
|
||||
if (WiFi.status() == WL_CONNECTED) {
|
||||
|
||||
Serial.print("[HTTP] begin...\n");
|
||||
|
||||
WiFiClient client;
|
||||
HTTPClient http;
|
||||
http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
|
||||
http.begin(client, url);
|
||||
|
||||
|
||||
Serial.print("[HTTP] GET...\n");
|
||||
int httpCode = http.GET();
|
||||
if (httpCode > 0) {
|
||||
fs::File f = SPIFFS.open(filename, "w+");
|
||||
if (!f) {
|
||||
Serial.println("file open failed");
|
||||
return 0;
|
||||
}
|
||||
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
|
||||
if (httpCode == HTTP_CODE_OK) {
|
||||
|
||||
int total = http.getSize();
|
||||
int len = total;
|
||||
|
||||
uint8_t buff[128] = { 0 };
|
||||
WiFiClient * stream = http.getStreamPtr();
|
||||
|
||||
while (http.connected() && (len > 0 || len == -1)) {
|
||||
size_t size = stream->available();
|
||||
|
||||
if (size) {
|
||||
int c = stream->readBytes(buff, ((size > sizeof(buff)) ? sizeof(buff) : size));
|
||||
|
||||
f.write(buff, c);
|
||||
|
||||
if (len > 0) {
|
||||
len -= c;
|
||||
}
|
||||
}
|
||||
yield();
|
||||
}
|
||||
Serial.println();
|
||||
Serial.print("[HTTP] connection closed or file end.\n");
|
||||
}
|
||||
f.close();
|
||||
}
|
||||
else {
|
||||
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
|
||||
Serial.print(httpCode);
|
||||
|
||||
}
|
||||
http.end();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t* bitmap)
|
||||
{
|
||||
if ( y >= tft.height() ) return 0;
|
||||
tft.pushImage(x, y, w, h, bitmap);
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifdef ESP32
|
||||
void tone(byte pin, int freq, int timeout) {
|
||||
ledcSetup(0, 2000, 8); // setup beeper
|
||||
ledcAttachPin(pin, 0); // attach beeper
|
||||
ledcWriteTone(0, freq); // play tone
|
||||
delay(timeout);
|
||||
ledcWriteTone(0, 0);
|
||||
|
||||
}
|
||||
#endif
|
17
iot/deeresp32/font.2000.txt
Normal file
17
iot/deeresp32/font.2000.txt
Normal file
File diff suppressed because one or more lines are too long
1
iot/deeresp32/font.hex.gb2312.txt
Normal file
1
iot/deeresp32/font.hex.gb2312.txt
Normal file
File diff suppressed because one or more lines are too long
1
iot/deeresp32/font.hex.txt
Normal file
1
iot/deeresp32/font.hex.txt
Normal file
File diff suppressed because one or more lines are too long
450
iot/deeresp32/font.txt
Normal file
450
iot/deeresp32/font.txt
Normal file
@ -0,0 +1,450 @@
|
||||
啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘
|
||||
鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱
|
||||
袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋
|
||||
靶把耙坝霸罢爸白柏百摆佰败拜稗斑
|
||||
班搬扳般颁板版扮拌伴瓣半办绊邦帮
|
||||
梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥
|
||||
薄雹保堡饱宝抱报暴豹鲍爆杯碑悲
|
||||
卑北辈背贝钡倍狈备惫焙被奔苯本笨
|
||||
崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕
|
||||
毙毖币庇痹闭敝弊必辟壁臂避陛鞭边
|
||||
编贬扁便变卞辨辩辫遍标彪膘表鳖憋
|
||||
别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳
|
||||
病并玻菠播拨钵波博勃搏铂箔伯帛
|
||||
舶脖膊渤泊驳捕卜哺补埠不布步簿部
|
||||
怖擦猜裁材才财睬踩采彩菜蔡餐参蚕
|
||||
残惭惨灿苍舱仓沧藏操糙槽曹草厕策
|
||||
侧册测层蹭插叉茬茶查碴搽察岔差诧
|
||||
拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖
|
||||
场尝常长偿肠厂敞畅唱倡超抄钞朝
|
||||
嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨
|
||||
忱沉陈趁衬撑称城橙成呈乘程惩澄诚
|
||||
承逞骋秤吃痴持匙池迟弛驰耻齿侈尺
|
||||
赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹
|
||||
仇绸瞅丑臭初出橱厨躇锄雏滁除楚
|
||||
础储矗搐触处揣川穿椽传船喘串疮
|
||||
窗幢床闯创吹炊捶锤垂春椿醇唇淳纯
|
||||
蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪
|
||||
葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催
|
||||
脆瘁粹淬翠村存寸磋撮搓措挫错搭达
|
||||
答瘩打大呆歹傣戴带殆代贷袋待逮
|
||||
怠耽担丹单郸掸胆旦氮但惮淡诞弹
|
||||
蛋当挡党荡档刀捣蹈倒岛祷导到稻悼
|
||||
道盗德得的蹬灯登等瞪凳邓堤低滴迪
|
||||
敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠
|
||||
掂滇碘点典靛垫电佃甸店惦奠淀殿碉
|
||||
叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠
|
||||
丁盯叮钉顶鼎锭定订丢东冬董懂动
|
||||
栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊
|
||||
独读堵睹赌杜镀肚度渡妒端短锻段断
|
||||
缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆
|
||||
多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹
|
||||
娥恶厄扼遏鄂饿恩而儿耳尔饵洱二
|
||||
贰发罚筏伐乏阀法珐藩帆番翻樊矾
|
||||
钒繁凡烦反返范贩犯饭泛坊芳方肪房
|
||||
防妨仿访纺放菲非啡飞肥匪诽吠肺废
|
||||
沸费芬酚吩氛分纷坟焚汾粉奋份忿愤
|
||||
粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤
|
||||
佛否夫敷肤孵扶拂辐幅氟符伏俘服
|
||||
浮涪福袱弗甫抚辅俯釜斧脯腑府腐
|
||||
赴副覆赋复傅付阜父腹负富讣附妇缚
|
||||
咐噶嘎该改概钙盖溉干甘杆柑竿肝赶
|
||||
感秆敢赣冈刚钢缸肛纲岗港杠篙皋高
|
||||
膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革
|
||||
葛格蛤阁隔铬个各给根跟耕更庚羹
|
||||
埂耿梗工攻功恭龚供躬公宫弓巩汞
|
||||
拱贡共钩勾沟苟狗垢构购够辜菇咕箍
|
||||
估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜
|
||||
剐寡挂褂乖拐怪棺关官冠观管馆罐惯
|
||||
灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸
|
||||
桂柜跪贵刽辊滚棍锅郭国果裹过哈
|
||||
骸孩海氦亥害骇酣憨邯韩含涵寒函
|
||||
喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎
|
||||
豪毫郝好耗号浩呵喝荷菏核禾和何合
|
||||
盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼
|
||||
亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴
|
||||
吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖
|
||||
弧虎唬护互沪户花哗华猾滑画划化
|
||||
话槐徊怀淮坏欢环桓还缓换患唤痪豢
|
||||
焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌
|
||||
恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿
|
||||
秽会烩汇讳诲绘荤昏婚魂浑混豁活伙
|
||||
火获或惑霍货祸击圾基机畸稽积箕
|
||||
肌饥迹激讥鸡姬绩缉吉极棘辑籍集
|
||||
及急疾汲即嫉级挤几脊己蓟技冀季伎
|
||||
祭剂悸济寄寂计记既忌际妓继纪嘉枷
|
||||
夹佳家加荚颊贾甲钾假稼价架驾嫁歼
|
||||
监坚尖笺间煎兼肩艰奸缄茧检柬碱硷
|
||||
拣捡简俭剪减荐槛鉴践贱见键箭件
|
||||
健舰剑饯渐溅涧建僵姜将浆江疆蒋
|
||||
桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇
|
||||
嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较
|
||||
叫窖揭接皆秸街阶截劫节桔杰捷睫竭
|
||||
洁结解姐戒藉芥界借介疥诫届巾筋斤
|
||||
金今津襟紧锦仅谨进靳晋禁近烬浸
|
||||
尽劲荆兢茎睛晶鲸京惊精粳经井警
|
||||
景颈静境敬镜径痉靖竟竞净炯窘揪究
|
||||
纠玖韭久灸九酒厩救旧臼舅咎就疚鞠
|
||||
拘狙疽居驹菊局咀矩举沮聚拒据巨具
|
||||
距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅
|
||||
攫抉掘倔爵觉决诀绝均菌钧军君峻
|
||||
俊竣浚郡骏喀咖卡咯开揩楷凯慨刊
|
||||
堪勘坎砍看康慷糠扛抗亢炕考拷烤靠
|
||||
坷苛柯棵磕颗科壳咳可渴克刻客课肯
|
||||
啃垦恳坑吭空恐孔控抠口扣寇枯哭窟
|
||||
苦酷库裤夸垮挎跨胯块筷侩快宽款匡
|
||||
筐狂框矿眶旷况亏盔岿窥葵奎魁傀
|
||||
馈愧溃坤昆捆困括扩廓阔垃拉喇蜡
|
||||
腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽
|
||||
览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老
|
||||
佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋
|
||||
类泪棱楞冷厘梨犁黎篱狸离漓理李里
|
||||
鲤礼莉荔吏栗丽厉励砾历利傈例俐
|
||||
痢立粒沥隶力璃哩俩联莲连镰廉怜
|
||||
涟帘敛脸链恋炼练粮凉梁粱良两辆量
|
||||
晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料
|
||||
列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝
|
||||
拎玲菱零龄铃伶羚凌灵陵岭领另令溜
|
||||
琉榴硫馏留刘瘤流柳六龙聋咙笼窿
|
||||
隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉
|
||||
掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴
|
||||
吕铝侣旅履屡缕虑氯律率滤绿峦挛孪
|
||||
滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻
|
||||
锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛
|
||||
吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫
|
||||
谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂
|
||||
冒帽貌贸么玫枚梅酶霉煤没眉媒镁每
|
||||
美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟
|
||||
眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠
|
||||
绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑
|
||||
灭民抿皿敏悯闽明螟鸣铭名命谬摸
|
||||
摹蘑模膜磨摩魔抹末莫墨默沫漠寞
|
||||
陌谋牟某拇牡亩姆母墓暮幕募慕木目
|
||||
睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南
|
||||
男难囊挠脑恼闹淖呢馁内嫩能妮霓倪
|
||||
泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘
|
||||
酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁
|
||||
拧泞牛扭钮纽脓浓农弄奴努怒女暖
|
||||
虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴
|
||||
爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔
|
||||
判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚
|
||||
培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚
|
||||
硼篷膨朋鹏捧碰坯砒霹批披劈琵毗
|
||||
啤脾疲皮匹痞僻屁譬篇偏片骗飘漂
|
||||
瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶
|
||||
评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡
|
||||
菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七
|
||||
凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑
|
||||
起岂乞企启契砌器气迄弃汽泣讫掐
|
||||
恰洽牵扦钎铅千迁签仟谦乾黔钱钳
|
||||
前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强
|
||||
抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍
|
||||
切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁
|
||||
青轻氢倾卿清擎晴氰情顷请庆琼穷秋
|
||||
丘邱球求囚酋泅趋区蛆曲躯屈驱渠
|
||||
取娶龋趣去圈颧权醛泉全痊拳犬券
|
||||
劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤
|
||||
壤攘嚷让饶扰绕惹热壬仁人忍韧任认
|
||||
刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗
|
||||
揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊
|
||||
瑞锐闰润若弱撒洒萨腮鳃塞赛三叁
|
||||
伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎
|
||||
砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽
|
||||
衫闪陕擅赡膳善汕扇缮墒伤商赏晌上
|
||||
尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇
|
||||
舌舍赦摄射慑涉社设砷申呻伸身深娠
|
||||
绅神沈审婶甚肾慎渗声生甥牲升绳
|
||||
省盛剩胜圣师失狮施湿诗尸虱十石
|
||||
拾时什食蚀实识史矢使屎驶始式示士
|
||||
世柿事拭誓逝势是嗜噬适仕侍释饰氏
|
||||
市恃室视试收手首守寿授售受瘦兽蔬
|
||||
枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙
|
||||
署蜀黍鼠属术述树束戍竖墅庶数漱
|
||||
恕刷耍摔衰甩帅栓拴霜双爽谁水睡
|
||||
税吮瞬顺舜说硕朔烁斯撕嘶思私司丝
|
||||
死肆寺嗣四伺似饲巳松耸怂颂送宋讼
|
||||
诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉
|
||||
肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙
|
||||
损笋蓑梭唆缩琐索锁所塌他它她塔
|
||||
獭挞蹋踏胎苔抬台泰酞太态汰坍摊
|
||||
贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭
|
||||
汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔
|
||||
绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢
|
||||
锑提题蹄啼体替嚏惕涕剃屉天添填田
|
||||
甜恬舔腆挑条迢眺跳贴铁帖厅听烃
|
||||
汀廷停亭庭挺艇通桐酮瞳同铜彤童
|
||||
桶捅筒统痛偷投头透凸秃突图徒途涂
|
||||
屠土吐兔湍团推颓腿蜕褪退吞屯臀拖
|
||||
托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦
|
||||
袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋
|
||||
宛婉万腕汪王亡枉网往旺望忘妄威
|
||||
巍微危韦违桅围唯惟为潍维苇萎委
|
||||
伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰
|
||||
卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗
|
||||
涡窝我斡卧握沃巫呜钨乌污诬屋无芜
|
||||
梧吾吴毋武五捂午舞伍侮坞戊雾晤物
|
||||
勿务悟误昔熙析西硒矽晰嘻吸锡牺
|
||||
稀息希悉膝夕惜熄烯溪汐犀檄袭席
|
||||
习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡
|
||||
侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷
|
||||
闲涎弦嫌显险现献县腺馅羡宪陷限线
|
||||
相厢镶香箱襄湘乡翔祥详想响享项巷
|
||||
橡像向象萧硝霄削哮嚣销消宵淆晓
|
||||
小孝校肖啸笑效楔些歇蝎鞋协挟携
|
||||
邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌
|
||||
欣辛新忻心信衅星腥猩惺兴刑型形邢
|
||||
行醒幸杏性姓兄凶胸匈汹雄熊休修羞
|
||||
朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗
|
||||
叙旭序畜恤絮婿绪续轩喧宣悬旋玄
|
||||
选癣眩绚靴薛学穴雪血勋熏循旬询
|
||||
寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽
|
||||
牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严
|
||||
研蜒岩延言颜阎炎沿奄掩眼衍演艳堰
|
||||
燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬
|
||||
佯疡羊洋阳氧仰痒养样漾邀腰妖瑶
|
||||
摇尧遥窑谣姚咬舀药要耀椰噎耶爷
|
||||
野冶也页掖业叶曳腋夜液一壹医揖铱
|
||||
依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁
|
||||
倚已乙矣以艺抑易邑屹亿役臆逸肄疫
|
||||
亦裔意毅忆义益溢诣议谊译异翼翌绎
|
||||
茵荫因殷音阴姻吟银淫寅饮尹引隐
|
||||
印英樱婴鹰应缨莹萤营荧蝇迎赢盈
|
||||
影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌
|
||||
永恿勇用幽优悠忧尤由邮铀犹油游酉
|
||||
有友右佑釉诱又幼迂淤于盂榆虞愚舆
|
||||
余俞逾鱼愉渝渔隅予娱雨与屿禹宇语
|
||||
羽玉域芋郁吁遇喻峪御愈欲狱育誉
|
||||
浴寓裕预豫驭鸳渊冤元垣袁原援辕
|
||||
园员圆猿源缘远苑愿怨院曰约越跃钥
|
||||
岳粤月悦阅耘云郧匀陨允运蕴酝晕韵
|
||||
孕匝砸杂栽哉灾宰载再在咱攒暂赞赃
|
||||
脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥
|
||||
责择则泽贼怎增憎曾赠扎喳渣札轧
|
||||
铡闸眨栅榨咋乍炸诈摘斋宅窄债寨
|
||||
瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛
|
||||
绽樟章彰漳张掌涨杖丈帐账仗胀瘴障
|
||||
招昭找沼赵照罩兆肇召遮折哲蛰辙者
|
||||
锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊
|
||||
震振镇阵蒸挣睁征狰争怔整拯正政
|
||||
帧症郑证芝枝支吱蜘知肢脂汁之织
|
||||
职直植殖执值侄址指止趾只旨纸志挚
|
||||
掷至致置帜峙制智秩稚质炙痔滞治窒
|
||||
中盅忠钟衷终种肿重仲众舟周州洲诌
|
||||
粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛
|
||||
逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑
|
||||
住注祝驻抓爪拽专砖转撰赚篆桩庄
|
||||
装妆撞壮状椎锥追赘坠缀谆准捉拙卓
|
||||
桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫
|
||||
仔籽滓子自渍字鬃棕踪宗综总纵邹走
|
||||
奏揍租足卒族祖诅阻组钻纂嘴醉最罪
|
||||
尊遵昨左佐柞做作坐座
|
||||
亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿
|
||||
匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜
|
||||
乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵
|
||||
匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡
|
||||
剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫
|
||||
仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝
|
||||
佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬
|
||||
侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏
|
||||
倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧
|
||||
傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠
|
||||
汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠
|
||||
兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼
|
||||
凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏
|
||||
诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳
|
||||
诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙
|
||||
谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶
|
||||
卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲
|
||||
陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺
|
||||
邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫
|
||||
郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭
|
||||
劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯
|
||||
坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻
|
||||
坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏
|
||||
垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝
|
||||
堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀
|
||||
馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸
|
||||
芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟
|
||||
苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓
|
||||
茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱
|
||||
莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥
|
||||
荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜
|
||||
莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘
|
||||
堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹
|
||||
菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸
|
||||
萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿
|
||||
蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺
|
||||
蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤
|
||||
薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅
|
||||
蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴
|
||||
扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱
|
||||
捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎
|
||||
摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖
|
||||
摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒
|
||||
甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖
|
||||
呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦
|
||||
咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌
|
||||
哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢
|
||||
唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼
|
||||
唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁
|
||||
喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫
|
||||
嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞
|
||||
嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙
|
||||
噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡
|
||||
囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼
|
||||
帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑
|
||||
岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥
|
||||
崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯
|
||||
嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇
|
||||
徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸
|
||||
狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺
|
||||
狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐
|
||||
獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪
|
||||
饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀
|
||||
庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺
|
||||
忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙
|
||||
怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂
|
||||
恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘
|
||||
惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧
|
||||
憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆
|
||||
阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵
|
||||
汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔
|
||||
沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾
|
||||
洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏
|
||||
浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇
|
||||
淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎
|
||||
湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥
|
||||
溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹
|
||||
漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑
|
||||
濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵
|
||||
灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇
|
||||
謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑
|
||||
逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹
|
||||
遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣
|
||||
屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣
|
||||
妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣
|
||||
姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵
|
||||
胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦
|
||||
嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢
|
||||
驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘
|
||||
骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩
|
||||
纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡
|
||||
绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈
|
||||
缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦
|
||||
缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕
|
||||
玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼
|
||||
琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬
|
||||
琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇
|
||||
璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩
|
||||
枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘
|
||||
栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽
|
||||
栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾
|
||||
桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹
|
||||
椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀
|
||||
榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭
|
||||
槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄
|
||||
樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫
|
||||
猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱
|
||||
轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋
|
||||
辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬
|
||||
臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕
|
||||
昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗
|
||||
晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀
|
||||
赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑
|
||||
牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰
|
||||
搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙
|
||||
氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟
|
||||
肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂
|
||||
胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒
|
||||
豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼
|
||||
腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻
|
||||
臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳
|
||||
彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜
|
||||
炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜
|
||||
煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝
|
||||
爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜
|
||||
祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐
|
||||
怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑
|
||||
戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜
|
||||
砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐
|
||||
硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉
|
||||
磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹
|
||||
眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨
|
||||
睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀
|
||||
畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁
|
||||
罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕
|
||||
钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸
|
||||
钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒
|
||||
铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪
|
||||
铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆
|
||||
锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟
|
||||
锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵
|
||||
镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞
|
||||
镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲
|
||||
镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔
|
||||
稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠
|
||||
鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂
|
||||
鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣
|
||||
鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬
|
||||
疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫
|
||||
痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙
|
||||
瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔
|
||||
癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨
|
||||
窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣
|
||||
裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁
|
||||
襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧
|
||||
耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃
|
||||
颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔
|
||||
虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩
|
||||
蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳
|
||||
蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻
|
||||
蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻
|
||||
蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒
|
||||
蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑
|
||||
蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂
|
||||
罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙
|
||||
笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮
|
||||
筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫
|
||||
箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋
|
||||
簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣
|
||||
舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨
|
||||
衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝
|
||||
粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨
|
||||
羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸
|
||||
麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤
|
||||
酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑
|
||||
醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩
|
||||
趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸
|
||||
跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹
|
||||
踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏
|
||||
躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜
|
||||
觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪
|
||||
霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹
|
||||
隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿
|
||||
鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞
|
||||
鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲
|
||||
鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋
|
||||
鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢
|
||||
靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺
|
||||
骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨
|
||||
餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟
|
||||
鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠
|
||||
黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄
|
||||
1234567890-=!@#¥%……&*()~:"{}[]|\?/<>,.;'+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ、。・ˉˇ¨〃々―~‖…‘’
|
||||
“”〔〕〈〉《》「」『』〖〗【】
|
||||
±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠
|
||||
⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵
|
||||
∴♂♀°′″℃$¤¢£‰§№☆★
|
||||
○●◎◇◆□■△▲※→←↑↓〓
|
||||
⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖
|
||||
⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾
|
||||
⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦
|
||||
⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩
|
||||
ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ
|
||||
!"#¥%&'()*+,-./
|
||||
0123456789:;<=>?
|
||||
@ABCDEFGHIJKLMNO
|
||||
PQRSTUVWXYZ[\]^_
|
||||
`abcdefghijklmno
|
||||
pqrstuvwxyz{|} ̄
|
||||
♪
|
36
iot/deeresp32/lazyboard.cube.css
Normal file
36
iot/deeresp32/lazyboard.cube.css
Normal file
@ -0,0 +1,36 @@
|
||||
.dash-box
|
||||
{
|
||||
width:256px;
|
||||
height:256px!important;
|
||||
}
|
||||
|
||||
.dash-box .dash-item
|
||||
{
|
||||
max-width:100%!important;
|
||||
max-height:100%!important;
|
||||
width:calc( 100% - 10px );
|
||||
height: calc( 100% - 10px );
|
||||
justify-content: center;
|
||||
background-color: hsla(0,0%,100%,.0);
|
||||
}
|
||||
|
||||
.dash-box .dash-item .title
|
||||
{
|
||||
font-size:24px;
|
||||
font-family:"Cubic 11";
|
||||
font-weight:bold;
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
right:10px;
|
||||
color:white;
|
||||
text-shadow:2px 2px black;
|
||||
}
|
||||
|
||||
.dash-box .dash-item .value
|
||||
{
|
||||
font-size:48px;
|
||||
color:white;
|
||||
text-shadow:2px 2px black;
|
||||
padding-top:80px;
|
||||
|
||||
}
|
19
iot/screen/screen.ino
Normal file
19
iot/screen/screen.ino
Normal file
@ -0,0 +1,19 @@
|
||||
#include <TFT_eSPI.h>
|
||||
|
||||
TFT_eSPI tft = TFT_eSPI();
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
Serial.print("hello world\n");
|
||||
|
||||
// Set up LCD
|
||||
tft.begin();
|
||||
tft.fillScreen(TFT_BLUE);
|
||||
|
||||
pinMode(19, OUTPUT);
|
||||
digitalWrite(19, HIGH);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user