不信人间有白头

曲淡歌
曲淡歌@admin

2021 年 1 月 12 日

这一路走来千里万里 看花开过几转 春夏秋冬风依次抚过我发端 —— 《不见长安》- 河图 

不见长安

不见长安 – 河图

词:Finale

曲:河图

村头古树下青草叶上 露水未凝干

晨雾里渡船唱着歌谣 撑过小河湾

我枕着手臂躺在屋顶 想了一整晚

瓦下厅堂中谁又说起 纸上的长安

桥面像结霜鞋底冰凉 踏过青石板

擦肩的姑娘眉眼弯弯 笑得多恬淡

我背着行囊坐上渡船 扶舷回头看

村落轮廓里炊烟渐次 升起又飘散

我忽然开始疯狂想念 故事里的长安

我日夜兼程跋山涉水 山水路漫漫

这一路走来千里万里 看花开过几转

春夏秋冬风依次抚过 我发端

我路过小镇夜凉如水 天边月正弯

路过了江南看到书生 睡在杨柳岸

我路过长街熙熙攘攘 叫卖都宛转

路过了洛阳看到小姐 画楼绣牡丹

我渐渐开始每晚梦到 故事里的长安

长安城有人歌诗三百 歌尽了悲欢

抵达的时候阳光正好 听风吹得暖软

可我为什么忽然失措 在长安

这重重楼阁浩浩殿堂 都不是我想象

我心中曾有画卷一幅 画着它模样

长安城忽然开始下雨 湿了繁华沧桑

慌张人潮里我遗忘了 来时的方向

那年转身离去

水声远了河岸

村落是否依然

千万里外我怅然回看

2021 年 1 月 12 日 130

Reply

曲淡歌
曲淡歌@admin

2021 年 1 月 12 日

谁懂我的潦倒谁又知我的骄傲 —— 《白衣》- 河图 

白衣—河图

谁曾在城门深雨中,寻觅过我

雕得古拙的山水,夜把明月照

我留下传唱的歌谣多少

奉旨而挥的笔墨,每为罗绮消

谁懂我的潦倒谁又知我的骄傲

谁曾在烟花巷陌里,等待过我

开了又败的花墙,只剩下斑驳

我曾与过谁在花下欢笑

青瓷如水的女子,宁静中微笑

岁月静凋时才知道已不复年少

风吹开枯叶抖落了空蝉

掉在了开满牡丹的庭院

台上唱歌还要挂着珠帘

怎么可能让我的笔惊艳

这白衣 是平凡 也习惯

新词一夜唱了八九遍;

换了断弦琵琶再复返;

对酒当歌长亭晚;

品其中味 一成不变。

这白衣 是羁绊 是疲倦

杯空杯满谁将酒打翻

抛了乱卷换我醉中仙

就算看不清眼前

谁风雨不改红楼游,载不动悲愁

满座诗赋换热酒,此局棋怎走

尘香露花莹流连珠帘后

黄土尘尘何辽阔,再难听前奏

淡看秋雨凄凄功名佳人伴今宵

风吹开枯叶抖落了空蝉

掉在了开满牡丹的庭院

台上唱歌还要挂着珠帘

怎么可能让我的笔惊艳

这白衣 是平凡 也习惯

新词一夜唱了八九遍

换了断弦琵琶再复返

对酒当歌长亭晚

品其中味 一成不变

这白衣 是永远 也瞬间

今夜的灯油已经烧干;

故事我还没写完一半;

过去谁帮我杜撰;

一步踏尽一树白

一桥轻雨一伞开

一梦黄粱一壶酒

一身白衣一生裁

这白衣 是平凡 也习惯

新词一夜唱了八九遍

换了断弦琵琶再复返

对酒当歌长亭晚

品其中味 一成不变

这白衣 是永远 也瞬间

今夜的灯油已经烧干;

故事我还没写完一半;

过去谁帮我杜撰。

2021 年 1 月 12 日 131
曲淡歌
曲淡歌@admin

2021 年 1 月 11 日

互联网的记忆——跳蛋的幸福理论 

前几天突然回想起b站的一个视频:神威鬼鸣翻唱文乃的幸福理论的魔改版本《跳蛋的幸福理论》,去b站搜了搜已经删掉了。可能再过十几年,就基本上没人记得了吧。

附上一下歌词:

歌词
[collapse status=”false” title=”歌词”]床头柜下的抽屉

锁住的只剩下我的回忆

虽然我还总是怀念最开始的你

没有了我

你更加美丽

我的名字不好听 对人说起时眉头皱紧

我的外表不起眼 只有简陋外壳连着电线

我的功能很低贱

让人想起种种卑劣画面

我就是那个被人们所不齿的跳蛋

有人不愿提起我 只因为我是个成人用品

有点神秘又邪恶

制造太多虚假的欢乐

我也试图寻找着 属于我应该存在的角落

直到你偷偷在那一天 把我找到了

我存在的意义

古怪离奇

不知你会和我做怎样事情

贴着 温热身体

终于明白你是被人所抛弃

才选择和我去沉迷

我那么简单 看不穿

你心中纠缠

只能选择 在这夜里 送给你温暖

如果这份遗憾 能让我分担

就请让我用尽全力震颤

我只是普通 的跳蛋

与真爱无关

昏暗灯光 衬着傍晚 我与你作伴

每个人都有过不去的坎

我是否能够 让你暂时心安

在熟悉的旧房间

找不到和他相处画面

微微泛黄的墙面 墙角扔满熄灭的香烟

逐渐枯萎你的脸

还没彻底走出他的世界

我不懂为什么感情会带来这苦难

每当夜色降临 看着你身影

多希望你能找回最初自己

不再

选择逃避

因为我的力量 只不过是想

让你忘记旧的沧桑

心中的风景 很甜蜜 也触手可及

就算有过

伤心也是能忘却的记忆

如果他还对你 有一点在意

请伸出手 用力将他握紧

我只是普通 的跳蛋 我只会震颤

无法帮你

亲手打破心中的羁绊

那条路需要是你的勇敢

尽管很缓慢 总会有天靠岸

静静地躺在抽屉 每个夜晚都如此祥和

悄悄地我在猜测

你的内衣会是什么颜色

仿佛听到了什么 外面说笑声又多了一个

只是那床头柜的锁已慢慢生锈了

如果能再次重逢请将这些幻想化作可能

就算有天 我的使命终将完成 但请将我这份祝福传承
[/collapse]

2021 年 1 月 11 日 264
曲淡歌
曲淡歌@admin

2020 年 12 月 5 日

树莓派之RGB模块 



三色RGB(共阴)

参考资料:https://blog.csdn.net/jcdjx/article/details/38457271

以下为转载内容

用树莓派实现RGB LED的颜色控制 RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代 表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,从而得到各种各样的颜色。 在实际的控制中,往往通过PWM来实现LED亮度(颜色深度)的控制。 树莓派只有一路硬件PWM输出(GPIO1),可是要实现RGB LED的控制,需要3路PWM。其实,wiringPi库为我们提供了用软件多线程实现的PWM输出,我们可以利用这个库提供的函数很方便的将任意GPIO配置为PWM输出。在本例中,我将GPIO0,GPIO1,GPIO2配置成了soft PWM输出。树莓派的引脚分配表如下图所示:

26引脚

我用的RGB LED是共阴极的,与树莓派的连接方式如下:

实物图

源代码:

#include 
#include 
#include 
 
#define uchar unsigned char
 
#define LedPinRed    0
#define LedPinGreen  1
#define LedPinBlue   2
 
void ledInit(void)
{
    softPwmCreate(LedPinRed,  0, 100);
    softPwmCreate(LedPinGreen,0, 100);
    softPwmCreate(LedPinBlue, 0, 100);
}
 
void ledColorSet(uchar r_val, uchar g_val, uchar b_val)
{
    softPwmWrite(LedPinRed,   r_val);
    softPwmWrite(LedPinGreen, g_val);
    softPwmWrite(LedPinBlue,  b_val);
}
 
int main(void)
{
    int i;
 
    if(wiringPiSetup() == -1){      //when initialize wiring failed,print message to screen
        printf("setup wiringPi failed !");
        return 1; 
    }
 
    ledInit();
 
    while(1){
        ledColorSet(0xff,0x00,0x00);   //red    
        delay(500);
        ledColorSet(0x00,0xff,0x00);   //green
        delay(500);
        ledColorSet(0x00,0x00,0xff);   //blue
        delay(500);
 
        ledColorSet(0xff,0xff,0x00);   //yellow
        delay(500);
        ledColorSet(0xff,0x00,0xff);   //pick
        delay(500);
        ledColorSet(0xc0,0xff,0x3e);
        delay(500);
 
        ledColorSet(0x94,0x00,0xd3);
        delay(500);
        ledColorSet(0x76,0xee,0x00);
        delay(500);
        ledColorSet(0x00,0xc5,0xcd);    
        delay(500);
 
    }
 
    return 0;
}

将此代码保存为rgb.c。

编译代码:

gcc  rgb.c  -o  rgb  -lwiringPi  -lpthread

运行代码:

./rgb

注意:

1,-lwiringPi选项:指明了要链接到wiringpi库,因为softPwm的实现就在此库;

2,-lpthread选项:因为softPwm的实现用了Linux的多线程机制,所以加这个编译选项。

以下是改进后的代码,编译方式同上。

#include 
#include 
#include 
 
#define LedPinRed    0
#define LedPinGreen  1
#define LedPinBlue   2
 
int colors[] = {0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0x00FFFF, 0xFF00FF, 0xFFFFFF, 0x9400D3};
 
/******************************************************************************************
* 将一个数从一个区间线性映射到另一个区间,比如将0~100之间的一个数映射到0~255之间
******************************************************************************************/
int map(int x, int in_min, int in_max, int out_min, int out_max)   
{
    return (x -in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
 
void ledInit(void)
{
    softPwmCreate(LedPinRed,  0, 100);  //create a soft pwm, original duty cycle is 0Hz, range is 0~100 
    softPwmCreate(LedPinGreen,0, 100);
    softPwmCreate(LedPinBlue, 0, 100);
}
 
void ledColorSet(int color)        //set color, for example: 0xde3f47
{
    int r_val, g_val, b_val;
 
    r_val = (color & 0xFF0000) >> 16;  //get red value
    g_val = (color & 0x00FF00) >> 8;   //get green value
    b_val = (color & 0x0000FF) >> 0;   //get blue value
 
    r_val = map(r_val, 0, 255, 0, 100);    //change a num(0~255) to 0~100
    g_val = map(g_val, 0, 255, 0, 100);
    b_val = map(b_val, 0, 255, 0, 100);
    
    softPwmWrite(LedPinRed,   100 - r_val);  //change duty cycle
    softPwmWrite(LedPinGreen, 100 - g_val);
    softPwmWrite(LedPinBlue,  100 - b_val);
}
 
int main(void)
{
    int i;
 
    if(wiringPiSetup() == -1){      //when initialize wiringPi failed, print message to screen
        printf("setup wiringPi failed !\n");
        return 1; 
    }
 
    ledInit();
 
    while(1){
        for(i = 0; i < sizeof(colors)/sizeof(int); i++){
            ledColorSet(colors[i]);
            delay(500);
        }
    }
 
    return 0;
}

python版本:https://blog.csdn.net/jcdjx/article/details/43486075

代码:

#!/usr/bin/env python
#*********************************************************
#    File Name :rgb.py    
#    Author    :Jason Dai
#    Date      : 2015/02/04
#*********************************************************
import RPi.GPIO as GPIO
import time
 
colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF, 0xFFFFFF, 0x9400D3]
pins = {'pin_R':11, 'pin_G':12, 'pin_B':13}  # pins is a dict
 
GPIO.setmode(GPIO.BOARD)       # Numbers GPIOs by physical location
for i in pins:
    GPIO.setup(pins[i], GPIO.OUT)   # Set pins' mode is output
    GPIO.output(pins[i], GPIO.HIGH) # Set pins to high(+3.3V) to off led
 
p_R = GPIO.PWM(pins['pin_R'], 2000)  # set Frequece to 2KHz
p_G = GPIO.PWM(pins['pin_G'], 2000)
p_B = GPIO.PWM(pins['pin_B'], 5000)
 
p_R.start(100)      # Initial duty Cycle = 100(leds off)
p_G.start(100)
p_B.start(100)
 
def map(x, in_min, in_max, out_min, out_max):   # 将一个数从一个区间线性映射到另一个区间,比如将0~100之间的一个数映射到0~255之间
    return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
 
def setColor(col):   # For example : col = 0x112233
    R_val = (col & 0xFF0000) >> 16
    G_val = (col & 0x00FF00) >> 8
    B_val = (col & 0x0000FF) >> 0
    
    R_val = map(R_val, 0, 255, 0, 100)   # change a num(0~255) to 0~100.
    G_val = map(G_val, 0, 255, 0, 100)
    B_val = map(B_val, 0, 255, 0, 100)
    
    p_R.ChangeDutyCycle(100 - R_val)     # Change duty cycle
    p_G.ChangeDutyCycle(100 - G_val)
    p_B.ChangeDutyCycle(100 - B_val)
 
try:
    while True:
        for col in colors:
            setColor(col)
            time.sleep(0.5)
except KeyboardInterrupt:
    p_R.stop()
    p_G.stop()
    p_B.stop()
    for i in pins:
        GPIO.output(pins[i], GPIO.HIGH)    # Turn off all leds
    GPIO.cleanup()

运行程序:

python rgb.py

以上为转载内容

实际效果:
实际效果

#[6]
2020 年 12 月 5 日 180
曲淡歌
曲淡歌@admin

2020 年 11 月 30 日

【转载】Typecho 文章密码保护显示标题方法 

Typecho 文章密码保护显示标题方法

Typecho使用密码加密的日志,默认连标题都加密了,直接显示“此内容被密码保护”。修改Typecho加密日志显示标题的方法:

打开文件:var/Widget/Abstract/Contents.php

找到(大概在744行左右)

$value['title'] = _t('此内容被密码保护');

前面加入 //注释掉这行就ok了。实现效果见Magento批量添加长尾搜索词。

#[3] #密码访问
2020 年 11 月 30 日 157

Loading...
Loading

Finished

No more pages to load

C
Compose new post
S
Search
J
Next post/Next comment
K
Previous post/Previous comment
R
Reply
E
Edit
O
Show/Hide comments
T
Go to top
L
Go to login
H
Show/Hide help
Ctrl+Enter
Submit post
ESC
Cancel and clear content