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