-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1159 lines (753 loc) · 85.1 KB
/
Copy pathindex.html
File metadata and controls
1159 lines (753 loc) · 85.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 6.3.0">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/heart32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/heart.png">
<link rel="mask-icon" href="/images/logo.svg" color="#222">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
<link rel="stylesheet" href="/lib/pace/pace-theme-bounce.min.css">
<script src="/lib/pace/pace.min.js"></script>
<script id="hexo-configurations">
var NexT = window.NexT || {};
var CONFIG = {"hostname":"example.com","root":"/","scheme":"Gemini","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":true,"trigger":"manual","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},"path":"search.xml"};
</script>
<meta name="description" content="祝自己生日快乐~">
<meta property="og:type" content="website">
<meta property="og:title" content="wl-thu的小站">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="wl-thu的小站">
<meta property="og:description" content="祝自己生日快乐~">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="WL">
<meta name="twitter:card" content="summary">
<link rel="canonical" href="http://example.com/">
<script id="page-configurations">
// https://hexo.io/docs/variables.html
CONFIG.page = {
sidebar: "",
isHome : true,
isPost : false,
lang : 'zh-CN'
};
</script>
<title>wl-thu的小站</title>
<noscript>
<style>
.use-motion .brand,
.use-motion .menu-item,
.sidebar-inner,
.use-motion .post-block,
.use-motion .pagination,
.use-motion .comments,
.use-motion .post-header,
.use-motion .post-body,
.use-motion .collection-header { opacity: initial; }
.use-motion .site-title,
.use-motion .site-subtitle {
opacity: initial;
top: initial;
}
.use-motion .logo-line-before i { left: initial; }
.use-motion .logo-line-after i { right: initial; }
</style>
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage">
<div class="container use-motion">
<div class="headband"></div>
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="切换导航栏">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
</div>
<div class="site-meta">
<a href="/" class="brand" rel="start">
<span class="logo-line-before"><i></i></span>
<h1 class="site-title">wl-thu的小站</h1>
<span class="logo-line-after"><i></i></span>
</a>
</div>
<div class="site-nav-right">
<div class="toggle popup-trigger">
<i class="fa fa-search fa-fw fa-lg"></i>
</div>
</div>
</div>
<nav class="site-nav">
<ul id="menu" class="main-menu menu">
<li class="menu-item menu-item-home">
<a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>
</li>
<li class="menu-item menu-item-about">
<a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a>
</li>
<li class="menu-item menu-item-tags">
<a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a>
</li>
<li class="menu-item menu-item-categories">
<a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a>
</li>
<li class="menu-item menu-item-archives">
<a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>
</li>
<li class="menu-item menu-item-search">
<a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
</a>
</li>
</ul>
</nav>
<div class="search-pop-overlay">
<div class="popup search-popup">
<div class="search-header">
<span class="search-icon">
<i class="fa fa-search"></i>
</span>
<div class="search-input-container">
<input autocomplete="off" autocapitalize="off"
placeholder="搜索..." spellcheck="false"
type="search" class="search-input">
</div>
<span class="popup-btn-close">
<i class="fa fa-times-circle"></i>
</span>
</div>
<div id="search-result">
<div id="no-result">
<i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>
</div>
</div>
</div>
</div>
</div>
</header>
<div class="back-to-top">
<i class="fa fa-arrow-up"></i>
<span>0%</span>
</div>
<main class="main">
<div class="main-inner">
<div class="content-wrap">
<div class="content index posts-expand">
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2023/06/01/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0%EF%BC%88%E3%80%87%EF%BC%89%E2%80%94%E2%80%94%E7%BC%98%E8%B5%B7%E4%B8%8E%E7%AE%80%E4%BB%8B/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2023/06/01/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0%EF%BC%88%E3%80%87%EF%BC%89%E2%80%94%E2%80%94%E7%BC%98%E8%B5%B7%E4%B8%8E%E7%AE%80%E4%BB%8B/" class="post-title-link" itemprop="url">智方桌宠开发手记(〇)——缘起与简介</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2023-06-01 00:00:00 / 修改时间:23:07:06" itemprop="dateCreated datePublished" datetime="2023-06-01T00:00:00+08:00">2023-06-01</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0/" itemprop="url" rel="index"><span itemprop="name">智方桌宠开发手记</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="智方桌宠开发手记(〇)——缘起与简介"><a href="#智方桌宠开发手记(〇)——缘起与简介" class="headerlink" title="智方桌宠开发手记(〇)——缘起与简介"></a>智方桌宠开发手记(〇)——缘起与简介</h1><p>虽然好像用CSDN或者其他公开blog能让更多人看到,但本项目实在没什么值得学习的东西,所以还是暂且扔在这吧。貌似这个站还没有接入搜索引擎?忘了,下次看看。</p>
<p>言归正传,首先介绍一下这个项目的由来。本学期有幸选上了制造工程体验,而我这个单元的大作业抑或是小项目就是做一款与智能家居有关的产品,原意是想手搓一台音箱来着,略加了解后还是决定不要跳进这个大坑。所以最后决定做一款桌面宠物,这就是项目名称的由来,虽然最后做出来的鬼东西与原意大相径庭,但还是保留原有的名称。</p>
<p>之所以说本项目没有什么值得学习的东西,是因为里面绝大部分的内容也是从网上东拼西凑而来,自己写的东西很少且一般不太完善。不过本项目横跨了硬件电路设计,元件选型与焊接,软件编写等过程,从这大大小小的坑中踏过。对我本人是一个十分大的锻炼。至于自己造轮子的工作,还是得等学习了更多的专业知识再说吧。</p>
<p>本项目目前的完成度较低,只能说勉强达到结课要求。但由于采用了N16R8的esp32-s3作为主控,目前资源占用仅为40%,未来还有很大的开发空间。但是再不复习就要寄了,所以还是等暑假再说。</p>
<p>本篇先罗里吧嗦到这,之后的手记应该会偏实用一些。本项目全部内容会在完备后适时开源。</p>
<p>主要参考项目:<a target="_blank" rel="noopener" href="https://github.com/peng-zhihui/HoloCubic">Holocubic</a>,<a target="_blank" rel="noopener" href="https://oshwhub.com/45coll/a2fff3c71f5d4de2b899c64b152d3da5">Super Dial</a></p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2023/06/01/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89%E2%80%94%E2%80%94%E7%94%B5%E8%84%91%E7%8A%B6%E6%80%81%E4%B8%8A%E4%BC%A0%E8%87%B3MQTT%E6%9C%8D%E5%8A%A1%E5%99%A8/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2023/06/01/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89%E2%80%94%E2%80%94%E7%94%B5%E8%84%91%E7%8A%B6%E6%80%81%E4%B8%8A%E4%BC%A0%E8%87%B3MQTT%E6%9C%8D%E5%8A%A1%E5%99%A8/" class="post-title-link" itemprop="url">智方桌宠开发手记(一)——电脑状态上传至MQTT服务器</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2023-06-01 00:00:00" itemprop="dateCreated datePublished" datetime="2023-06-01T00:00:00+08:00">2023-06-01</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2023-06-02 10:49:13" itemprop="dateModified" datetime="2023-06-02T10:49:13+08:00">2023-06-02</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0/" itemprop="url" rel="index"><span itemprop="name">智方桌宠开发手记</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="智方桌宠开发手记(一)——电脑状态上传至MQTT服务器"><a href="#智方桌宠开发手记(一)——电脑状态上传至MQTT服务器" class="headerlink" title="智方桌宠开发手记(一)——电脑状态上传至MQTT服务器"></a>智方桌宠开发手记(一)——电脑状态上传至MQTT服务器</h1><p><a target="_blank" rel="noopener" href="https://reaperwlllll.github.io/2023/06/01/%E6%99%BA%E6%96%B9%E6%A1%8C%E5%AE%A0%E5%BC%80%E5%8F%91%E6%89%8B%E8%AE%B0%EF%BC%88%E3%80%87%EF%BC%89%E2%80%94%E2%80%94%E7%BC%98%E8%B5%B7%E4%B8%8E%E7%AE%80%E4%BB%8B/">智方桌宠开发手记(〇)——缘起与简介</a></p>
<hr>
<p>主要参考资料:<a target="_blank" rel="noopener" href="https://www.zhihu.com/tardis/zm/art/469956102?source_id=1005">基于Arduino打造DIY极客电脑性能监控系统</a>,<a target="_blank" rel="noopener" href="https://blog.csdn.net/weixin_42487906/article/details/119990801">基于AIDA64的电脑性能监控</a></p>
<hr>
<p>如何在电脑运行的时候不用打开任务管理器就能获取电脑状态呢,如何让平平无奇的一个小方块看上去b格很高呢?远程状态监视站是个一石二鸟的好东西!</p>
<p>这并不是一件难以实现的事情,经过在简中互联网的一番*里淘金,大致确定了以下实现步骤。</p>
<ol>
<li>获取电脑状态</li>
<li>将电脑状态上传至本地端口或上传至mqtt服务器</li>
<li>esp32获取并解析状态数据,显示到屏幕上</li>
</ol>
<p>理论成立,开始实践。首先使用开源软件<a target="_blank" rel="noopener" href="https://openhardwaremonitor.org/">Open Hardware Monitor</a>获取电脑状态信息。虽然理论上AIDA64更高级功能也更多一些,但是貌似AIDA64对AMD的支持并不是十分之好,一直获取不到CPU的占用率,遂换用OHM。</p>
<p>在第一篇参考资料中,作者是使用python脚本直接从OHM中获取信息,这部分属于我的知识盲区,未敢复现。遂另辟蹊径,在OHM中有一个功能:Remote Web Server。使能这个选项后即可在本地端口上通过web界面查看各状态。</p>
<p><img src="https://s1.ax1x.com/2023/06/02/p9zhNvT.png" alt="Remote Web Server"></p>
<p><img src="https://s1.ax1x.com/2023/06/02/p9zhdrF.png" alt="web界面"></p>
<p>理论上此时通过端口映射就可以实现远程的状态监控,然而这并不是本项目需要完成的内容。倘若只需实现局域网内的状态监视的话,到这一步就足够了。esp32可以访问这个端口并解析数据。但只局限于局域网的状态传输显然不够优雅,且OHM貌似不支持选择性输出数据(AIDA64可以),因此esp32获取并解析这些数据可能会浪费部分的资源,并丢失一定的实时性。因此需要在电脑端就筛选出需要的数据,并打包上传至MQTT服务器,这样esp32只需要订阅一个topic就可以获取电脑的状态。</p>
<p>数据处理那还是python给力,遂决定编写一个脚本来完成数据的获取、处理、和发送。查看浏览器后台发现web每次刷新时都会请求一次data.json</p>
<p><img src="https://s1.ax1x.com/2023/06/02/p9zhaKU.png" alt="dataJson"></p>
<p>查看data.json发现里面确实包含了所有需要的数据。</p>
<p><img src="https://s1.ax1x.com/2023/06/02/p9zhwb4.png" alt="dataTxt"></p>
<p>python可以通过jsonpath很方便快捷的筛选出想要的数据,因此定义函数。</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">def</span> <span class="title function_">getData</span>(<span class="params">dictionary,<span class="built_in">id</span></span>):</span><br><span class="line"> <span class="comment">#通过id获取想要数据的父级</span></span><br><span class="line"> temp = jsonpath.jsonpath(dictionary, <span class="string">'$..[?(@.id==%d)]'</span> % <span class="built_in">id</span>) </span><br><span class="line"> <span class="comment">#获取所需数据</span></span><br><span class="line"> Value = jsonpath.jsonpath(temp,<span class="string">'$..Value'</span>)[<span class="number">0</span>]</span><br><span class="line"> <span class="keyword">return</span> Value</span><br></pre></td></tr></table></figure>
<p>通过此函数筛选出我想要的数据</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#新建一个json包含五个数据</span></span><br><span class="line">labtop = {</span><br><span class="line"> <span class="string">"cpuTemp"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"cpuUsed"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"memoryUsed"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"memoryUsedData"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"gpuUsed"</span>: <span class="number">0</span></span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#数据发送</span></span><br><span class="line">timeNow=time.time()</span><br><span class="line"><span class="keyword">if</span> timeNow-lastUpdateTime><span class="number">3</span>:<span class="comment">#3s发送一次</span></span><br><span class="line"> lastUpdateTime=timeNow</span><br><span class="line"> f = req.urlopen(<span class="string">'http://192.168.137.1:8085/data.json'</span>)</span><br><span class="line"> data = json.loads(f.read().decode(<span class="string">'utf-8'</span>))</span><br><span class="line"> cpuTemp = getData(data,<span class="number">15</span>)</span><br><span class="line"> cpuUsed = getData(data,<span class="number">17</span>)</span><br><span class="line"> memoryUsed = getData(data,<span class="number">39</span>)</span><br><span class="line"> memoryUsedData = getData(data,<span class="number">41</span>) </span><br><span class="line"> gpuUsed = getData(data,<span class="number">72</span>)</span><br><span class="line"> <span class="comment">##将上述五个数据打包成json格式发送</span></span><br><span class="line"> labtop[<span class="string">"cpuTemp"</span>] = cpuTemp</span><br><span class="line"> labtop[<span class="string">"cpuUsed"</span>] = cpuUsed</span><br><span class="line"> labtop[<span class="string">"memoryUsed"</span>] = memoryUsed</span><br><span class="line"> labtop[<span class="string">"memoryUsedData"</span>] = memoryUsedData</span><br><span class="line"> labtop[<span class="string">"gpuUsed"</span>] = gpuUsed</span><br><span class="line"> <span class="comment">#publish json包,此处+/set向除本机外所有设备推送数据</span></span><br><span class="line"> client.publish(bemfaTopic+<span class="string">"/set"</span>, json.dumps(labtop))</span><br></pre></td></tr></table></figure>
<p>自此电脑的性能数据已经上传至mqtt服务器,esp32只需要解析json包就可以直接获取。</p>
<figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="type">void</span> <span class="title function_">bemfa_callback</span><span class="params">(<span class="type">char</span> *topic, byte *payload, <span class="type">unsigned</span> <span class="type">int</span> length)</span></span><br><span class="line">{</span><br><span class="line"> dataFlag = <span class="literal">false</span>;<span class="comment">//接收到数据后,将数据接收标志位置为false</span></span><br><span class="line"> Serial.print(<span class="string">"Topic:"</span>);</span><br><span class="line"> Serial.println(topic);</span><br><span class="line"> String msg = <span class="string">""</span>;</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> i = <span class="number">0</span>; i < length; i++) {</span><br><span class="line"> msg += (<span class="type">char</span>)payload[i];</span><br><span class="line"> }</span><br><span class="line"> DynamicJsonDocument <span class="title function_">doc</span><span class="params">(<span class="number">1024</span>)</span>;</span><br><span class="line"> deserializeJson(doc, msg);</span><br><span class="line"> cpuTemp = doc[<span class="string">"cpuTemp"</span>].as<String>();</span><br><span class="line"> cpuLoad = doc[<span class="string">"cpuUsed"</span>].as<String>();</span><br><span class="line"> gpuLoad = doc[<span class="string">"gpuUsed"</span>].as<String>();</span><br><span class="line"> memoryLoad = doc[<span class="string">"memoryUsed"</span>].as<String>();</span><br><span class="line"> memoryUsed = doc[<span class="string">"memoryUsedData"</span>].as<String>();</span><br><span class="line"> dataFlag = <span class="literal">true</span>;<span class="comment">//数据接收完成,将数据接收标志位置为true,防止lvgl和mqtt同时操作数据</span></span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<p>现在只要电脑上OHM和脚本都在运行,esp32还有网的话,在哪都能看到电脑状态啦!理论上只需要给脚本加上开机自启和自动打开OHM,就可以监测有没有好室友偷玩你的电脑,嘻嘻。</p>
<p>目前实现效果如图:(tft屏幕目测和拍出来差别还是挺大的)</p>
<p><img src="https://s1.ax1x.com/2023/06/02/p9zhBVJ.jpg" alt="远程状态监视"></p>
<p>mqtt服务器可以自己架设,也可以使用巴法云、阿里云等云端mqtt,目前我使用的是巴法云,毕竟没什么设备需要管理,巴法云足够了。</p>
<p>脚本代码完整代码在此,mqtt的部分可以参考巴法云官方例程<a target="_blank" rel="noopener" href="https://bbs.bemfa.com/81">python 接入,mqtt和tcp - 巴法开放论坛 (bemfa.com)</a>。还有很多可以完善的地方,欢迎大佬教我更为优雅的实现方式~</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># %%</span></span><br><span class="line"><span class="comment"># coding=utf-8</span></span><br><span class="line"><span class="keyword">import</span> urllib.request <span class="keyword">as</span> req</span><br><span class="line"><span class="keyword">import</span> json</span><br><span class="line"><span class="keyword">import</span> jsonpath</span><br><span class="line"><span class="keyword">import</span> paho.mqtt.client <span class="keyword">as</span> mqtt</span><br><span class="line"><span class="keyword">import</span> time</span><br><span class="line"></span><br><span class="line">HOST = <span class="string">"bemfa.com"</span></span><br><span class="line">PORT = <span class="number">9501</span></span><br><span class="line">client_id = <span class="string">""</span> <span class="comment">#自己的巴法云私钥</span></span><br><span class="line">bemfaTopic = <span class="string">"labtopData"</span></span><br><span class="line">lastUpdateTime = time.time()</span><br><span class="line"></span><br><span class="line"><span class="comment">#新建一个json包含五个数据</span></span><br><span class="line">labtop = {</span><br><span class="line"> <span class="string">"cpuTemp"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"cpuUsed"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"memoryUsed"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"memoryUsedData"</span>: <span class="number">0</span>,</span><br><span class="line"> <span class="string">"gpuUsed"</span>: <span class="number">0</span></span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">on_connect</span>(<span class="params">client, userdata, flags, rc</span>):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"Connected with result code "</span>+<span class="built_in">str</span>(rc))</span><br><span class="line"> client.subscribe(bemfaTopic) <span class="comment"># 订阅消息</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#消息接收</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">on_message</span>(<span class="params">client, userdata, msg</span>):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"主题:"</span>+msg.topic+<span class="string">" 消息:"</span>+<span class="built_in">str</span>(msg.payload.decode(<span class="string">'utf-8'</span>)))</span><br><span class="line"></span><br><span class="line"><span class="comment">#订阅成功</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">on_subscribe</span>(<span class="params">client, userdata, mid, granted_qos</span>):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"On Subscribed: qos = %d"</span> % granted_qos)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 失去连接</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">on_disconnect</span>(<span class="params">client, userdata, rc</span>):</span><br><span class="line"> <span class="keyword">if</span> rc != <span class="number">0</span>:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"Unexpected disconnection %s"</span> % rc)</span><br><span class="line"></span><br><span class="line">f = req.urlopen(<span class="string">'本地端口/data.json'</span>)</span><br><span class="line"></span><br><span class="line">data = json.loads(f.read().decode(<span class="string">'utf-8'</span>))</span><br><span class="line"><span class="comment"># print(data)</span></span><br><span class="line"><span class="comment"># print(type(data))</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">getData</span>(<span class="params">dictionary,<span class="built_in">id</span></span>):</span><br><span class="line"> temp = jsonpath.jsonpath(dictionary, <span class="string">'$..[?(@.id==%d)]'</span> % <span class="built_in">id</span>)</span><br><span class="line"> Value = jsonpath.jsonpath(temp,<span class="string">'$..Value'</span>)[<span class="number">0</span>]</span><br><span class="line"> <span class="keyword">return</span> Value</span><br><span class="line"></span><br><span class="line"><span class="comment"># %%</span></span><br><span class="line">client = mqtt.Client(client_id)</span><br><span class="line">client.username_pw_set(<span class="string">"userName"</span>, <span class="string">"passwd"</span>)</span><br><span class="line">client.on_connect = on_connect</span><br><span class="line">client.on_message = on_message</span><br><span class="line">client.on_subscribe = on_subscribe</span><br><span class="line">client.on_disconnect = on_disconnect</span><br><span class="line">client.connect(HOST, PORT, <span class="number">60</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">while</span> <span class="literal">True</span>:</span><br><span class="line"> client.loop_start()</span><br><span class="line"> timeNow=time.time()</span><br><span class="line"> <span class="keyword">if</span> timeNow-lastUpdateTime><span class="number">3</span>:</span><br><span class="line"> lastUpdateTime=timeNow</span><br><span class="line"> f = req.urlopen(<span class="string">'本地端口/data.json'</span>)</span><br><span class="line"> data = json.loads(f.read().decode(<span class="string">'utf-8'</span>))</span><br><span class="line"> cpuTemp = getData(data,<span class="number">15</span>)</span><br><span class="line"> cpuUsed = getData(data,<span class="number">17</span>)</span><br><span class="line"> memoryUsed = getData(data,<span class="number">39</span>)</span><br><span class="line"> memoryUsedData = getData(data,<span class="number">41</span>) </span><br><span class="line"> gpuUsed = getData(data,<span class="number">72</span>)</span><br><span class="line"> <span class="comment">##将上述五个数据打包成json格式发送</span></span><br><span class="line"> labtop[<span class="string">"cpuTemp"</span>] = cpuTemp</span><br><span class="line"> labtop[<span class="string">"cpuUsed"</span>] = cpuUsed</span><br><span class="line"> labtop[<span class="string">"memoryUsed"</span>] = memoryUsed</span><br><span class="line"> labtop[<span class="string">"memoryUsedData"</span>] = memoryUsedData</span><br><span class="line"> labtop[<span class="string">"gpuUsed"</span>] = gpuUsed</span><br><span class="line"> <span class="comment">#publish json包</span></span><br><span class="line"> client.publish(bemfaTopic+<span class="string">"/set"</span>, json.dumps(labtop))</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"> client.loop_stop()</span><br><span class="line"> time.sleep(<span class="number">1</span>)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"></span><br></pre></td></tr></table></figure>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/23/%E4%BA%BA%E4%B8%96%E6%97%A0%E5%B8%B8%EF%BC%8C%E8%87%B3%E4%BA%B2%E6%B0%B8%E9%A9%BB%E5%BF%83%E9%97%B4/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/23/%E4%BA%BA%E4%B8%96%E6%97%A0%E5%B8%B8%EF%BC%8C%E8%87%B3%E4%BA%B2%E6%B0%B8%E9%A9%BB%E5%BF%83%E9%97%B4/" class="post-title-link" itemprop="url">人世无常,至亲永驻心间</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-23 00:00:00 / 修改时间:22:51:40" itemprop="dateCreated datePublished" datetime="2022-10-23T00:00:00+08:00">2022-10-23</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E4%BB%8E%E5%89%8D%E6%96%87%E7%AC%94/" itemprop="url" rel="index"><span itemprop="name">从前文笔</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>人世无常,至亲永驻心间<br> ——读《大卫·科波菲尔》有感<br>========<br>《大卫·科波菲尔》表面上是一部自传,其通篇使用第一人陈叙事,使用回忆的口吻带读者们领略了主人公科波菲尔的前半生。而实际上,它仍然是一部小说,只不过带有浓厚的自传色彩,而主人公身上也或多或少留着作者狄更斯的影子。这种手法我们并不陌生,鲁迅的《故乡》,林海音的《城南旧事》,迪福的《鲁宾逊漂流记》均采用这种手法,而这样子的作品可以让读者与主人公之间的联系更加紧密,可以使我们更加深入的领略主人公的心境。正如科波菲尔的爱妻朵拉病逝的那一章,我的心里也不由自主地涌起了一种撕心裂肺的疼痛。这也正体现了狄更斯写作技艺的炉火纯青。所以狄更斯称它为“最喜爱的孩子”,它也是当之无愧的了。<br>《大卫·科波菲尔的》篇幅不短,宋兆霖译本有上下两部九百余页,从大卫还在娘胎里写起,直到他过上了安定幸福的生活为止,依次写了他的成长,他的努力,他的工作,他的事业,他的婚姻以及他身边的人及身边的事。让我们得以注视一名遗腹子的成长。<br>要说该书中最精彩的部分,我认为毫无疑问的是它的人物。本书中的人物繁多,仅有名姓的就有不下三四十个,其中的人际关系更是复杂。但是狄更斯强大的文学底蕴使得这些人物各有各的特点,各有各的性格,每个人也都有自己的优缺点。之于人际关系,作者更是处理的极为巧妙,复杂但又十分有序,没有纷乱之感。可以说,这部小说是一部慢热型的作品,在阅读其前一百页的过程中,每时每刻都有把书扔开不读的念头,因为这一部分十分的枯燥——主要归因于我们对人物的了解的不够,而非作者的笔力欠佳。加上人物出场频繁,令人有种眼花缭乱之感。但是越往后读,就越是被小说引人入胜的情节吸引。一大批我曾认为已经领了便当的任务——如特洛伍德姨婆,特雷德尔等一一重新出现,并在一个又一个的事件中体现了他们的性格,塑造了形象,到了整部小说的结尾,所有人的结局都被安排妥当,米考伯先生当上了治安官,穷困的梅尔先生成为了博士,汉姆则不幸遇难……在众多人物中,有以下几个人物我觉得刻画得最为精彩:<br>佩格蒂一家:这是居住在亚茅恩斯的一个普通家庭,善良是他们的血液,淳朴则渗透进了他们的骨子里。佩格蒂作为大卫的保姆,尽职尽责,任劳任怨,当他到了大卫位于伦敦的窝所后,立马就开始为他整理房间。佩格蒂先生则深爱着他的外甥女,也就是美丽的艾米丽,大卫小时候的玩伴。在艾米丽一时失足随斯蒂福思私奔之后,佩格蒂先生没有怪罪她,而是毅然决然地踏上了寻找她的路途,省吃俭用,历尽艰辛但从未放弃,最后终于如愿以偿。<br>而提到的斯蒂福思,则是全本小说中最令人捉摸不透的角色。他与大卫在学校相遇,大卫立马就被他身上的领袖气质所折服,斯蒂福思也对大卫倍加关爱。看到这里我认定他是一个正面角色,可之后他又气走了梅尔先生,带大卫一起放荡,可他对大卫一如既往地好,看似以诚相待。这使我的观念开始左右摇摆,飘忽不定。最后他跟艾米丽私奔时,他的真面目得以出现。<br>小说刻画了许多人物形象,巴其思,姨婆,狄容,朵拉……不一一列举。<br>本篇小说不仅具有文学价值,更具有现实意义,如果深入发掘,可以得到许多人生之道。例如我印象最深的,是谋得斯通姐弟所奉行的准则“坚定”,这所谓“坚定”实质上是一种专横与暴政。谋得斯通姐弟要求所有人都“坚定”地服从他们所说的一切,不论其合理与否,这其实是一种心理病态。他们将所有的,哪怕是一丁点的不服从都视为“不坚定”,只要不符合他们的道德准则,便是离经叛道,就要使他人“坚定”起来。大卫的母亲便是死在这“坚定”之上。<br>再深入一些,谋得斯通的这种行为与现今港独台独,香港废青的举动是否有几分相似?废青同样是打着高尚的“自由民主”标语,做的却是伤天害理、卖国洋媚之事。这些事情在我们眼中看来不可理喻,孰不知在他们的心中这才是正义,他们的内心早已腐朽,当他们像谋得斯通一般将变态的邪恶作为正义的标准,而实际上的正义却被他们视作早该灰飞烟灭的邪恶,不医心,香港暴动不会停。<br>而本篇小说还有一个重点体现,即至亲的力量,也是最有意义的一点。大卫小时候不受继父待见,是他的母亲与保姆给予其支持并鼓舞其前进,受继父遗弃之后,是姨婆承担起了抚养大卫的重任,让他走上了正轨,没有误入歧途。并非只在主人公上这一点的体现,米考伯先生债台高筑,穷困潦倒,但是米考伯太太毫无怨言,不离不弃,终于他们一家出人头地。而佩格蒂先生寻找艾米丽的故事更是感人肺腑。所以说,无论处于何种环境下,家人的爱永远是最恒久的,也是永不变质的。曾经拍着胸脯保证为你两肋插刀的兄弟,可能转瞬间就把尖刀插进你的胸膛。而信誓旦旦做一辈子闺蜜的姐妹,第二天就在别人面前诋毁你。呼喊着天南地北万水千山不分离的同学,也随着终场考试的铃声渐行渐远。唯有亲人,也只有至亲会在这无常的世界给予你不变的能量,所以人世无常,至亲永驻心间。</p>
<hr>
<p>原文作于2019年</p>
<p>感谢shi_jiang将其电子化</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/23/%E5%93%80%E5%85%B6%E4%B8%8D%E5%B9%B8%EF%BC%8C%E6%80%92%E5%85%B6%E4%B8%8D%E4%BA%89/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/23/%E5%93%80%E5%85%B6%E4%B8%8D%E5%B9%B8%EF%BC%8C%E6%80%92%E5%85%B6%E4%B8%8D%E4%BA%89/" class="post-title-link" itemprop="url">哀其不幸,怒其不争 ——读《四世同堂》有感</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-23 00:00:00 / 修改时间:23:01:23" itemprop="dateCreated datePublished" datetime="2022-10-23T00:00:00+08:00">2022-10-23</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E4%BB%8E%E5%89%8D%E6%96%87%E7%AC%94/" itemprop="url" rel="index"><span itemprop="name">从前文笔</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>哀其不幸,怒其不争<br>——读《四世同堂》有感<br>========<br>老舍的这一生,十分复杂。他是极富盛名的散文家,早在初中我就已欣赏过他的《济南的冬天》。他是匠心独具的小说家,《骆驼祥子》中的那股京味儿至今仍萦绕在我的心间。他的剧作《茶馆》《龙须沟》也成为行业中的经典。可这样的一位文坛之星却在文革的黑夜中陨落,我一度对此充满疑惑。有人说,《四世同堂》中会有我想要的答案。一周前,我仓促间读完了这部将近百万字的小说,当我读完最后一个字,合上书,闭上眼,在脑海中搜索者合适的词汇来形容我当时的感受。我认为“哀其不幸,怒其不争”最为恰当。</p>
<p>《四世同堂》全书中,无处不体现老舍的风格,熟悉的京味,以一个极小的切入点来反映庞大的社会现状,细致入微的描写,条理分明的叙事,这一切的一切都如同美味佳肴一般吸引着我。我仿佛坠入了书中,成为当时北平的一名苟且偷生的小小市民。<br>《四世同堂》的历史背景是什么?有人说是八年抗战,而我认为“北平陷落”更为合适,正如上文所说老舍善于以小写大。《骆驼祥子》中老舍通过一个普通的人力车夫祥子,刻画出旧社会的丑恶面目,表面上是描写祥子,然而故事的主人公,却是整个社会!而在《四世同堂》中,老舍在“北平陷落”的大背景下,通过描写北平城的一个微不足道的胡同——小羊圈中的人和事,表现了一个沦陷的北平,而北平,则是当时沦陷区的代表!老舍为我们所展现出来的,是全中国!</p>
<p>依我拙见,《四世同堂》的行文结构与《大卫·科波菲尔》有几分相似。这两部小说的开图,都引出了大量人物,小说主要人物中的之八九十在前期便已悉数登场。随后的小说情节便围绕着主要人物层层展开。刚开始,我对人物的认识是模糊不清的,而随着一件又一件事情环环相扣,相继发生,我对人物的认识也由浅入深。待到小说结束,我已对小说里的每一个主要人物及大部分的次要人物了如指掌,谈起他们来如数家珍。老舍和狄更斯一样,给我们展现了人物的各个侧面,其中最典型的代表,要数“尤桐芳”与斯蒂福思。</p>
<p>既然已经提到了人物,那便让我终结前文零散的评价及评论,来谈谈为什么“哀其不幸,怒其不争”会成为我读完此书的最大感受。</p>
<p>一般情况下“哀其不幸,怒其不争”这八个字应形容一个人或一类人,但在此书中,我认为它形容的是两类人:“不幸”的人和“不争”的人。正是他们构建了日军占领下北平的社会。<br>“不幸”的人在小说中占据多数:“祁瑞宣”、“李四爷”、“小文夫妇”、“小顺子”……不胜枚举,这里所说的“不幸”并不是就人物的结局而言的,瑞宣和小顺子均幸免于难。他们的不幸在于:心中有爱国的情怀,爱国的热血,均受到种种羁绊,为了自己与家人的生存,苟活在日军的太阳旗下。最突出的,那必然是祁瑞宣。瑞宣是典型的新青年,他不再受清朝时期旧思想的影响,是一个地地道道的民国人。他进入高等学府,受过新式教育,会讲英语。他有一颗赤诚的爱国之心,对时局见解颇深,即使在民国政府军节节败退的时候也没有放弃对国家的希望。按照常理,他应该是抗战中的中坚力量,是中国扬击外敌入侵过程中尖刀的利刃。可是,他仍然苟活在小羊圈中,是他没有勇气,没有胆量吗?不,不是!只因为他还有另几个身份——祁太爷爷的长孙,祁天佑的长子,小顺子和妞儿的父亲。这几个身份就像千斤巨鼎,死死地压在他的背上。瑞宣常常为顾国还是顾家进行自我斗争,可残酷的现实无情地将“顾国”这一选择狠狠抹去。瑞宣别无他法,只能眼睁睁看着猛石病死,小崔被杀头。他的心里是痛苦的,他恨不得扛起大刀,杀光北平城中所有的侵略者。可小羊圈中的这个家需要他,这个四世同堂的家不能缺了他。无可奈何,他不得不做一个顺民,这,才是他最大的不幸。而小说中各色各样的人物,各有各的苦衷,各有各的难处,无可奈何地,他们不得不做顺民。最令我感到悲哀的,便是这样的一群不幸的人。</p>
<p>而对于“不争”,我想稍稍改变其实际的意义,最令我感到愤怒的,便是冠晓荷、祁瑞丰、大赤包、蓝东阳之流。他们有一个共同的头衔——汉奸。其中最面目可憎的,想必是冠晓荷与大赤包夫妇。以狼狈为奸来形容他们,那狼与狈一定受到了莫大的侮辱。大赤包的眼中只有钱,冠晓荷眼里头只有权,真可谓不是一家人,不进一家门。他们为了讨好日本人,出卖了邻居钱默吟;为了巴结李空山,不惜以自己的女儿作为砝码。他们对待自己的国人狐假虎威,而对日本人则毕恭毕敬。黑暗的旧社会培养了这群以钱、权作为生命的滋养物的渣滓。他们认贼作父,而侵略者却把他们视为可有可无的狗。或许是老舍先生也对此深恶痛疾,在小说的最后,大赤包惨死狱中,冠晓荷被活埋在城外,招弟被瑞全杀死在山洞之中。虽说“恶人有恶报”的说法十分玄学,但这类结局仍让我十分痛快。</p>
<p>“不幸”、“不争”在文中体现的均为负面情绪,难道整本小说中没有正能量?有!瑞全,仲石,默吟,桐芳便是最好的例子。比如说钱诗人,中华民族百折不挠,坚定不移,生命不息奋斗不止的精神在他身上体现得淋漓尽致。他本是一位不谙世事的诗人,可侵略的到来使其家破人亡,默吟在侵略的屠刀之下侥幸存活,这时的他,是一名不折不扣的斗士,他号召市民奋起反抗,劝勉有志青年出城,为国效力。他,是正能量的体现者,是将熄火炉中新加入的一把干柴,是迷途青年的指路明灯,是最大的护国斗士,是无畏的爱国战将。</p>
<p>以上种种,只是《四世同堂》丰富人物中的凤毛麟角,丰富的人物能创造出丰富的情节,细致入微地展现小说内容。这部小说非常真实,向全世界揭露批判了人性的丑恶,同时也颂扬了真善美,不偏不倚,恰到好处。可正因为其真实,才会在文革时受到抨击,加之作者有旅美的经历,那更是雪上加霜。但它如今给我们带来的文学价值、现实意义、思考空间,远不能被文革所磨灭的。</p>
<hr>
<p>原文作于2019年</p>
<p>感谢shi_jiang将其电子化</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/23/%E6%97%A0%E7%BA%BF%E7%94%B5%E6%B6%88%E5%A4%B1%E4%B9%8B%E6%97%A5/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/23/%E6%97%A0%E7%BA%BF%E7%94%B5%E6%B6%88%E5%A4%B1%E4%B9%8B%E6%97%A5/" class="post-title-link" itemprop="url">无线电消失之日</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-23 00:00:00 / 修改时间:22:50:06" itemprop="dateCreated datePublished" datetime="2022-10-23T00:00:00+08:00">2022-10-23</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E4%BB%8E%E5%89%8D%E6%96%87%E7%AC%94/" itemprop="url" rel="index"><span itemprop="name">从前文笔</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="无线电消失之日"><a href="#无线电消失之日" class="headerlink" title="无线电消失之日"></a>无线电消失之日</h1><p>2022年2月22日,一个再普通不过的冬日,我一起床便沐浴在了冬日的暖阳中,伸伸懒腰,准备平常地度过这平常的假日。<br>真奇怪,爷爷每天都会用他珍藏已久的老收音机听新闻的,他老人家眼睛不好,这是他为数不多的几个雷打不动的习惯之一呀,怎么今天家里安安静静的?我走出卧室门,看到爷爷坐在沙发上,盯着他的收音机,脸上愁云密布。一看到我醒了6,他也不顾我神情迷糊,一把把我拉到茶几前,让我给他修好那台收音机。我把调谐旋钮转了又转,开关开了又关,可收音机就是不发出一点声音,连以往令人烦躁的杂音都消踪匿迹。“怎么感觉今天的无线电波都消失了一样?”我一头雾水,不知所措。<br>突然,家里老旧的固定电话响起了刺耳的铃声,我连忙跑到电话前,掸去上面厚厚的一层灰,按下了免提。“现在播报紧急通告,因特定频段的无线电波在地球大气中失去传播能力,所以请……”机械的女声在扬声器中单调的重复着闻所未闻的政府通告。<br>无线电消失了!<br>无线电看不见摸不着,先前在我心中没有一点存在感,直到它消失了我才意识到他的重要性。不光是爷爷的收音机无法工作了,我的移动电话也是信号全无,拨不进去也打不进来,往日即时方便的通讯工具也无法使用。我们与外界的通讯方式只剩下不需要以无线电为传播途径的固定电话了。电话里机械的女声一条一条地播放着突发状况,我守在电话机前断断续续听了两个小时,才了解到无线电消失对整个世界的影响。<br>无线电波是在凌晨4:14分突然失去传播能力的,具体原因不明。全球的无线通讯完全中断,全网络瘫痪。各国都紧急启用了有线通讯网以保障最基本的通讯需求,可这也仅仅局限于铺设了通讯电缆的地区,至于偏远地区则彻底失去了联系他人的工具。这还不是最严重的的后果,稳定的无线电通讯对于飞机来说是安全的保障,无线电消失了,意味着尚在飞行的所有军民用飞行器都失去了定位和领航,他们就像没有眼睛的巨鸟在空中无助的飞翔,所有飞机上的人都命悬一线。<br>正在航行的船舶也需要无线电通讯,它们在失去了导航系统的精准定位之后,只能重新拾起早就被遗忘在了大航海时代的罗盘和六分仪。再先进的技术在浩瀚的大海中都无用武之地,没有了前方航线上的风暴预测,许多船只一头扎进巨浪滔天的风暴去,无法脱逃,再也不能抵达目的地的避风港。<br>无线电的消失不仅在地球上是一种灾难,在太空中更是航天工程的灭顶之灾。所有的卫星在瞬间失去地面操控与信息传输能力,成为太空中漂浮的铁块。国际空间站失去与休斯顿的连接,四个国家的13名宇航员成为太空流浪者。印度国家宇航局本计划在今日完成其三年前未尽的探测器登月项目,可又在成功的大门前功亏一篑。<br>无线电消失仅仅6个小时,地球的秩序就陷入一片混乱,街道上到处都是恐慌的人群,他们举着手机,无助地东奔西跑寻找信号。更有悲观人群认为这是世界末日的前兆,不顾形象在街头崩溃大哭。乱象此起彼伏,维护秩序的警察忙得焦头烂额……<br>人类费劲千辛万苦建立起的辉煌文明就要因为无线电的消失而毁灭吗?我抱着头,不断设想着各种最可怕的后果。<br>“昨日,’驿站’全球无线电通讯系统最后一个基站架设完毕,中国成为第一个具有在世界范围内进行低成本大容量无线电数据传输能力的国家!”我的耳边莫名其妙的传来了新闻主播雄厚自豪的声音。</p>
<hr>
<p>原文作于2019年,为高一一次省级征文比赛的参赛稿</p>
<p>(悄咪咪说一句我是一等奖)</p>
<p>感谢王红艳老师的指导</p>
<p>祝她早日脱单</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/23/%E6%97%A2%E7%94%9F%E7%B1%8D%EF%BC%8C%E4%BD%95%E7%94%9F%E5%AD%A3%EF%BC%9F/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/23/%E6%97%A2%E7%94%9F%E7%B1%8D%EF%BC%8C%E4%BD%95%E7%94%9F%E5%AD%A3%EF%BC%9F/" class="post-title-link" itemprop="url">既生籍,何生季?</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-23 00:00:00 / 修改时间:22:56:00" itemprop="dateCreated datePublished" datetime="2022-10-23T00:00:00+08:00">2022-10-23</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E4%BB%8E%E5%89%8D%E6%96%87%E7%AC%94/" itemprop="url" rel="index"><span itemprop="name">从前文笔</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="既生籍,何生季?"><a href="#既生籍,何生季?" class="headerlink" title="既生籍,何生季?"></a>既生籍,何生季?</h1><p>关于项羽这一生,世人众说纷纭,莫衷一是。一千个人就有一千个史评家,而我心目中的项羽,或许是这样的。 </p>
<p>项羽是志向高远的,年少时学书策,不成;学剑,亦不成。他叔叔项梁都想打死这不学无术的混蛋。哪曾想项羽已有所想,一心想学万人敌——兵法。看到秦王的车骑,他脱口而出“彼可取而代也”。或许是亡国的耻辱激发着他,又或是他血管中世代流淌的将门血液决定着他,时机一到,便揭竿而起,剑尖直指秦王,其后征战四方,为的也是他心中一直存在的志向吧!<br>项羽是力拔山河的,论武功,他绝对是反秦诸侯中的第一猛将,无人与之匹敌。论战力,他所统率的项家楚军是当之无愧的虎贲之师。巨鹿一战,诸侯救巨鹿者十余壁,皆坐壁上观。惟楚军孤军直入,破釜沉舟,人人以一当十,不仅大败秦军主力,硬逼章邯投降,更令诸侯皆惊,再无人敢与楚军交锋。 </p>
<p>项羽是坦荡豪爽的,打仗从来不屑于使用诡计,凡是可以直接攻打的,也就毋须多言,打下来便是。所以即使老谋深算的范增竭尽心力为他出谋划策,他也时常一意孤行。项羽的一言一行也都没有任何的为伪装,可以说待人非常仁义与真诚。 </p>
<p>可就这样的一位仁义之士,率着仁义之师,打着仁义之战,却落得一个乌江自刎的下场。为何?的确,灭秦后项羽自称西楚霸王,征战四方平定叛乱,看样子天下即将安定,至少在项羽的威慑下,西楚在历史上会取代汉的地位。但是他遇到的最强大对手,是刘邦。 </p>
<p>刘邦混混出身,项羽的那一套主张在他这里完全不适用。项羽四处寻找秦军主力决战,刘邦四处寻找机会偷袭入关。项羽不在的时候刘邦混得风生水起,项羽一兴兵问罪刘邦立马俯首称臣。刘邦喊着神明都为之动容的永不背叛的誓言,做着一件又一件推翻项羽政权的事。完全与项羽打起了游击,最后集结诸侯,困项羽与垓下。项羽肯定很困惑,自己为什么会被一个以前看都看不起的混混打败。有人说他太过自我,有人说他残暴无情,这都有道理。而我认为,项羽太过坦荡,太过天真,他欲以正义平天下,欲用他直率的性格统治天下,可他忘了,在乱世,仁义是不能当饭吃的,你为别人两肋插刀,别人也可能在肋上插你两刀。刘邦是善于伪装的人,他的表象和内心永远大相径庭,这与项羽截然相反,但这,才是真正的乱世之道。 </p>
<p>项羽也看透了这一点,但当时的他也陷入乌江边汉军的重围之中,无力回天了,他引剑向颈的一刻,心中可能直呼:“既生籍,何生季啊!”</p>
<hr>
<p>原文作于2019年,为高一一篇古文学习后的读后感</p>
<p>感谢shi_jiang将其电子化</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/21/%E6%9E%97%E6%B7%B1%E6%97%B6%E8%A7%81%E9%B9%BF/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/21/%E6%9E%97%E6%B7%B1%E6%97%B6%E8%A7%81%E9%B9%BF/" class="post-title-link" itemprop="url">林深时见鹿</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-21 00:00:00" itemprop="dateCreated datePublished" datetime="2022-10-21T00:00:00+08:00">2022-10-21</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2023-05-19 17:28:55" itemprop="dateModified" datetime="2023-05-19T17:28:55+08:00">2023-05-19</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E8%83%A1%E6%80%9D%E4%B9%B1%E6%83%B3/" itemprop="url" rel="index"><span itemprop="name">胡思乱想</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="林深时见鹿"><a href="#林深时见鹿" class="headerlink" title="林深时见鹿"></a>林深时见鹿</h1><p>真的真的好喜欢秋天<br>不知不觉的,园子里就秋意渐浓了,待到银杏换上黄衫,清华路上一定很好看吧。<br>也好喜欢华子的路灯,橘黄的橘黄的,不管是在学堂路还是在小桥边,骑着车经过感觉好惬意、好温馨,可能已经渐渐把这当作家了吧。<br><a target="_blank" rel="noopener" href="https://imgse.com/i/xcAt8f"><img src="https://s1.ax1x.com/2022/10/21/xcAt8f.jpg" alt="xcAt8f.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xcAYPP"><img src="https://s1.ax1x.com/2022/10/21/xcAYPP.jpg" alt="xcAYPP.jpg"></a><br>今晚忽然想起一句歌词:<br>林深时见鹿,老树配古屋,我遇见你,却没能让你留步。<br>不知道为什么忽然很有感触<br>有些遗憾,或许还是少点为好<br>有些记忆,或许还是忘却为好<br>(我套怎么有种忧郁文青的感觉,反正也没人看,管他)</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/19/%E8%A2%AB%E4%BA%BA%E6%83%A6%E8%AE%B0%E7%9A%84%E6%84%9F%E8%A7%89%E7%9C%9F%E7%9A%84%E5%BE%88%E5%A5%BD/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/19/%E8%A2%AB%E4%BA%BA%E6%83%A6%E8%AE%B0%E7%9A%84%E6%84%9F%E8%A7%89%E7%9C%9F%E7%9A%84%E5%BE%88%E5%A5%BD/" class="post-title-link" itemprop="url">被人惦记的感觉真的很好</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-19 00:00:00 / 修改时间:12:03:48" itemprop="dateCreated datePublished" datetime="2022-10-19T00:00:00+08:00">2022-10-19</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E6%97%A5%E5%B8%B8/" itemprop="url" rel="index"><span itemprop="name">日常</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="被人惦记的感觉真的很好"><a href="#被人惦记的感觉真的很好" class="headerlink" title="被人惦记的感觉真的很好"></a>被人惦记的感觉真的很好</h1><p><a target="_blank" rel="noopener" href="https://imgse.com/i/xsYRyR"><img src="https://s1.ax1x.com/2022/10/19/xsYRyR.jpg" alt="xsYRyR.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xsYWO1"><img src="https://s1.ax1x.com/2022/10/19/xsYWO1.jpg" alt="xsYWO1.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xsYgSJ"><img src="https://s1.ax1x.com/2022/10/19/xsYgSJ.jpg" alt="xsYgSJ.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xsY2l9"><img src="https://s1.ax1x.com/2022/10/19/xsY2l9.jpg" alt="xsY2l9.jpg"></a></p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/10/18/%E7%BB%99%E8%87%AA%E5%B7%B119%E5%B2%81%E7%9A%84%E7%94%9F%E6%97%A5%E7%A4%BC%E7%89%A9/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avater.jpg">
<meta itemprop="name" content="WL">
<meta itemprop="description" content="祝自己生日快乐~">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="wl-thu的小站">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2022/10/18/%E7%BB%99%E8%87%AA%E5%B7%B119%E5%B2%81%E7%9A%84%E7%94%9F%E6%97%A5%E7%A4%BC%E7%89%A9/" class="post-title-link" itemprop="url">给自己十九岁的生日礼物</a>
</h2>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2022-10-18 00:00:00" itemprop="dateCreated datePublished" datetime="2022-10-18T00:00:00+08:00">2022-10-18</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2022-10-19 12:12:25" itemprop="dateModified" datetime="2022-10-19T12:12:25+08:00">2022-10-19</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/%E6%97%A5%E5%B8%B8/" itemprop="url" rel="index"><span itemprop="name">日常</span></a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="给自己十九岁的生日礼物"><a href="#给自己十九岁的生日礼物" class="headerlink" title="给自己十九岁的生日礼物"></a>给自己十九岁的生日礼物</h1><p>已经记不清是从哪一年开始有在生日前后写一段文字的习惯了。兴许是在2019年?疫情还没开始,我刚进入高中,身上还残存着初中的稚气与傲气,借着一个周日的晚上,以周记为名写下了《我,16岁》。那本质量并不算好的作业本我一直留到了高考结束,现在估计还躺在书箱的某个角落。之前的几次大清洗都差点将其甩进垃圾桶,但每次翻开,都能感受到当时的自己。那几篇勉强算作“文”的东西,虽然拙劣,寄托的却也都是最真实的感想。高三再看我16岁的愿景,只觉得天真与可笑,这或许也标志了我的成长吧。豪情满怀的16岁过后是迷惘的17岁,徘徊着徘徊着,18岁也就来了。我清楚的记得我的18岁生日,不仅仅是因为离得最近。还因为当时,正好撞上宝安区一模,数学还只考了112分,我当时本以为这已经是我的底线了。结果三个月前,新高考一卷让我意识到我的数学分数没有下界。<br>我觉得相较于迈入成年的18岁生日,我的19岁生日更值得纪念。原因既是因为当时深陷一轮复习的泥潭,日日都在面对梦想与现实的巨大落差(过了两个月就发现摆烂才是不二法门),也是因为这是在园子里过的第一个生日呀!在中学的时候有很多想做的事,却总是因为种种原因而搁浅。到了华子之后,我发现虽然ddl爆炸多,完成一个总会再冒出两个新的;学业压力爆炸大,危寄分线代写沟程设轮番重拳出击。但是只要真心想干的事情,就一定能挤出时间来干呀。<br>我之前就在一直在想,要给自己送上一份怎样的生日礼物呢?是买一个云台?买一款游戏(不瞒你们说我给自己17岁的生日礼物就是GTA V)?还是写一篇文章,做一个视频?其实我真的有剪一期Vlog的想法,但要让它达到有纪念意义的水平,我估计明年生日都不一定剪得完。思来想去,我决定送个自己一个blog,也就是你们现在看到的这个小站呀。<br>我是个分享欲很强的人,时常有话想说,先前还可以拉着几个“好”弟弟一块吹水吐槽,现在也都天各一方。所以我想找个容器把我的胡思乱想放起来,写在纸上或打在word里又只能自己无事翻看,发在pyq又觉十分膈应。因此我决定建一个属于自己的blog,既能记录,也能分享。有人估计得说我傻,为啥不去搞个公众号\小红书啊,费的着花上三个晚上看csdn看到眼花,敲代码敲到手抖,debugde到心酸么?(哇第一次配置的时候报了几百行的错我是真的会谢)<br>我想说<br>我乐意<br>拜托,能有个自己的网站真的很酷!(至少我这么觉得)<br>虽然我最初真的只是想申请个公众号,可惜我的身份信息已许班再难许己(人话来说,我的实名信息在注册班级公众号的时候已经用了)<br>阴差阳错的,我开始搭建这个小站。<br>这就是我送给自己十九岁的生日礼物。<br>即使没有这篇琐言碎语,单单是这个blog已经足以纪念我的生日了。亲手一点一点把这个小站从脑海中的想法变成现实的感受真的难以形容,虽然它还十分之粗糙,但正是这种粗糙让它在我眼中真实且亲切。相比先前所提到的选项,这个小站才是最好的生日礼物叭。至少它让我更加相信,只要有做好一件事的想法,纵使结果差强人意,也不会感到后悔。<br>如果有什么想给自己的寄语的话,那就是“19岁,尽力做到更好”吧!(从期中微积分线代程设不挂科开始) </p>
<p>到此结束叭,即使是过生日也逃不了被“数学星期三”支配的恐惧呀。</p>
<hr>
<p>以及,秋天真的很美<br><a target="_blank" rel="noopener" href="https://imgse.com/i/xs9NJH"><img src="https://s1.ax1x.com/2022/10/18/xs9NJH.md.jpg" alt="xs9NJH.md.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xs9tFe"><img src="https://s1.ax1x.com/2022/10/18/xs9tFe.md.jpg" alt="xs9tFe.md.jpg"></a><br><a target="_blank" rel="noopener" href="https://imgse.com/i/xs9GdO"><img src="https://s1.ax1x.com/2022/10/18/xs9GdO.md.jpg" alt="xs9GdO.md.jpg"></a></p>
<hr>
<p>留下你的评论叭,我说不定会抽人请他/她喝奶茶。<br>点击标题进入文章详情页滑到底就可以评论啦~</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<script>
window.addEventListener('tabs:register', () => {
let { activeClass } = CONFIG.comments;
if (CONFIG.comments.storage) {
activeClass = localStorage.getItem('comments_active') || activeClass;
}
if (activeClass) {
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
if (activeTab) {
activeTab.click();
}
}
});
if (CONFIG.comments.storage) {
window.addEventListener('tabs:click', event => {
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
let commentClass = event.target.classList[1];
localStorage.setItem('comments_active', commentClass);
});
}
</script>
</div>
<div class="toggle sidebar-toggle">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
<aside class="sidebar">
<div class="sidebar-inner">
<ul class="sidebar-nav motion-element">
<li class="sidebar-nav-toc">
文章目录
</li>
<li class="sidebar-nav-overview">
站点概览
</li>
</ul>
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=573384240&auto=0&height=66"></iframe>
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image" alt="WL"
src="/images/avater.jpg">
<p class="site-author-name" itemprop="name">WL</p>
<div class="site-description" itemprop="description">祝自己生日快乐~</div>
</div>
<div class="site-state-wrap motion-element">
<nav class="site-state">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">9</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<a href="/categories/">
<span class="site-state-item-count">4</span>
<span class="site-state-item-name">分类</span></a>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/">
<span class="site-state-item-count">8</span>
<span class="site-state-item-name">标签</span></a>
</div>
</nav>
</div>
<div class="links-of-author motion-element">
<span class="links-of-author-item">