躺着可以感到很累，但睡不着。感觉心跳不踏实，无法平静，脑海中竟是各种无端焦虑……这要从上周末说起，周五周六连肝两份报告。周天本来打算再来一篇，最后决定先拍个视频，这次拍做咖啡。自从上次买了摩卡壶我就想做这个视频，这次刚好新开一包咖啡粉正是个好机会。前面一切都顺利，然而就是最后一个镜头，拉花怎么也拉不好。没有拉花的咖啡做成视频太平淡了，我坚信自己练两杯就能做出来。232e57630fd605e7b9693b03800e9b95559c98fb.jpg然而现实告诉我没那么轻松，手头的奶泡只能用法压壶打，从小到大就算根同学去咖啡厅也不会点什么高级东西，实体的拉花我还真就没见过。没有亲眼所见拉花奶泡的质感就很难打出合适的奶泡，看了一堆视频，总觉得差不多了，操作起来却一直失败。开始的5杯，每次失败我都重新用摩卡壶煮咖啡，奶泡也得不断的更新，牛奶需要先预热到合适的温度，没有微波炉，只好水浴加热。一波折腾直接到了晚上，后来我没了耐心，用速溶咖啡来做，速度是上去了，不过依然没有成功。最后不得不停止是因为没有更多杯子了，整整13杯Double的浓缩，最后装满法压壶和量杯，两升多一点。房间里已经被咖啡腌入味了，开窗通风后还是一股咖啡的气息。咖啡本身倒是便宜，我心疼的是里头白桦桦的牛奶，把咖啡直接倒掉的事情还是做不出来。先放在冰箱里吧。周一先解决那桶用摩卡壶做的，加糖感觉还挺好喝。白天没注意多喝点，到了晚上看还有三分之一，不想再占冰箱的位置，直接就给干了。晚上11点喝掉330ml咖啡的的操作对我来说还是有些太猛了，因为身体已经累了，头脑没法好好思考，有些晕乎乎的。就是那种高二下学期五月底某个星期三下午两点半的第二堂思政课进行到20分钟的那种状态，江南地区的五月底气温已经在30度上下，这段时间每天午后会下一场锋面雨，两点半刚好就是在下雨前最闷热的时刻。午休后的精神都在下午第一堂课用尽，政治哲学这些本来就有强力催眠效果的内容加上这种及其应该找个有空调的地方大睡一觉的天气，却依然不能安心的在课上闭上眼。因为要考虑领导在窗口窥视查岗，被发现上课睡觉将面临许多不必要的麻烦，这股力量又促使你的头猛然上抬，睁大眼睛看向一直低着头看课本的中年政治老师。这样短暂的清醒持续不了三秒，脖后的肌肉就不听使唤的松懈，脑袋接着又耷拉下去。这两种状态往复交替的纠缠态，我们称之为钓鱼。先不考虑量子力学，经典物理中这种动态最终都会趋于静止。钓鱼无非两个结果，一，老师的粉笔精准的砸在自己的课桌上并反弹到脸上，接着会被要求站起来。二，强大的本能已经顾及不了那么多，心想稍微闭眼三秒休息一下，周围的时间仿佛在闭眼的那一刻开始加速，醒来的时候要么是因为下课铃，要么是因为砸在别人脸上的粉笔。但是，昨晚半夜喝掉小半缸罗布斯塔咖啡粉榨取的咖啡后，感觉比课上钓鱼难受多了。早已高中毕业的我，在还不需要为生计担忧的大学中，刚好遇到罕见的全球瘟疫，课业基本都在家中完成。时间安排无比自由，按理来说可以说是想睡就睡，不用在睡眠上亏待自己，没错，按理来说……我躺在床上，上周作死把人造棉的枕头放进洗衣机洗了，没有烘干机来烘干。枕头内的化学纤维已经结块，隐约还有点湿气。下血本花三十多欧元买了和国内用的一样的记忆海绵枕头，脖子后面有曲线来支撑，睡着很舒服。然而这天晚上，头枕在这样的枕头上并没让我快速进入梦乡。我头脑刚好卡在上课钓鱼的状态上，我知道可以放心大胆的睡，眼皮也早已发酸，但脑后某一处神经却不受控制的高度兴奋，这种状态持续的越久，我就越疲惫。开着暖气，晚上房间湿度会降低，呼吸久了就能感觉到鼻腔深处以及咽喉发干，经验告诉我这时候还不能强行咽口水，干燥的粘膜会在做这个动作的时候互相接触，接着就是连阵的干咳。我只好把鼻子挡在被子下，精确的控制呼吸的位置，让冷热气流混合，能让呼吸顺畅些。此时此刻，疲惫的大脑已经无法做这样精确的演算，愈想愈难受，雪上加霜。我尝试喝些水，站起来却连最基本的控制平衡都感到吃力。时间已经来到三点，储藏间设置的单片机已经认为我已入睡，并重新开启干燥机，噪音又多了一层。我又试着去听点东西，音乐，海浪声，有声阅读。无济于事，只会向我的大脑输送更多信息。我以此查看朋友圈，动态，B站，知乎，微博，直到眼睛酸痛。我每次决定开始睡觉闹钟就会出现奇怪的疑虑，突然担心之前某件事办的不妥，然后打开手机去核实。突然想到未来可能遇到的某个事件，马上就去查阅相关的资料。更悲催的是，我不能关闭手机，手机里设置了闹钟，早上八点半有场考试。这也是我急切想要入睡的原因，昏沉的状态考试是不可能有好结果的。五点多，在一波舒畅后，仿佛体内的咖啡因及其代谢物都被一同带走。身体瞬间恢复了重量，像是神殿的石柱，砸在床上甚至没有弹起来，我安静的休息了两个小时。又是一个早上，冰箱里还有一升咖啡。我打开冰箱看了它一眼，赶快把冰箱门重新合上，就怕多看一眼就要吐出来了。失眠不好受，咖啡的力量我也算是见识到了。
在之前关于房间介绍的博文里提到过我有个很小的储藏间，与其说它是个储藏间不如说是个嵌在墙里的柜子。这里以前可能真是个可以通往院子的门，靠院子一侧墙的厚度很薄，门上被房东加了泡沫塑料。这里一年四季都能保持在20度以下，但冬天不至于太冷，最低也不会低过10度，关上门里面又是一片漆黑。唯一的缺点是有时候湿度会很高，夏天顶上还发了霉，花了好久才清理干净。各种产品的包装上不都写着阴凉干燥处储存么，要是能解决湿度问题，这简直就是教科书式的储藏环境。说整就整，三十欧不到，搞了台很小的除湿机，拆开看过，里头就一半导体制冷片加风扇。除湿能力当然比不上动辄上千的大干燥机，不过这么小的空间，够用。设备到我手上，自然都是要经过一番改造，让30欧的机器发挥50欧的价值。之前搞了不少单片机的项目，这波就是轻车熟路，直接改成智能储藏间。IMG_1367.jpg祖传OLED显示温湿度，干燥机和LED照明的工作状态。目前显示湿度很高是因为拍照前手摸了传感器。IMG_1368.jpg核心部分是这样，乍一看很乱，实则乱中有序，走线还是尽量的规整。关键问题是这说底还是租的房子没法随便钉钉子，线材都是靠装修胶带固定。上方可以看到群晖的NAS，这里面现在是两个4T的酷狼。仔细看的话，在NAS左边还有个WD的Mybook。这个是黑五入手的12T的盘，本来打算买14T的，然而还在犹豫的时候就缺货了。12T也差不了多少，都是降速的企业级氦气盘。这个超大的硬盘现在用来备份用了快10年的移动硬盘里的数据，直接连在NAS上，非常方便。ScreenShot_2020-12-07_23-27-19.png现在所有盘都恢复了蓝色，非常舒服。NAS右边的白盒子里是镜头和冷储存的硬盘，盒子里放了很多吸水硅胶，常年保持湿度在30左右。墙上就是这套智能硬件的核心，贴在木柱子上的是个DHT22 温湿度传感器，下来是Node MCU版8266，之前用Wemo D1， 今天加了个屏幕，针脚不够了。再往下亮红灯的是双路继电器模块和降压模块，很魔性的被我用热熔胶粘在一起。地面上的插头是WD Mybook的供电，这个不太好看，但还是那个原因，别人的房子，不能乱打洞。立在地上的那玩意儿就是干燥机，真的很小，对吧。IMG_1371.jpg整体的感觉是这样，架子上层是存粮，罐头泡面这些保质期超过一年的我都放在这里，时刻准备开启御宅模式。食物之外的都是工具和DIY的材料，满满当当。单侧贴了LED灯带，这个可以RGB，但最后还是选择了白光，炫彩储藏间就太土嗨了。这个柜子最大的难题是走线，墙上的洞是房东打的，另一侧是个插销。这个洞不大不小，刚好只能通过它这一根线，于是我只能另寻路子了。意外发现门角处有点空隙，线就通过这里走到外面。但他毕竟只是个缝隙，容不得那么多线，光是我着一根CAT7网线就给填上了一大半。我有想过直接弄个插排进来，问题在于最便宜的插排要六欧元，线还特别粗，再改线成本更高。嗯，没错，爷就是不想花这六欧。我的解决方案是这样的，我把干燥机的供电线剪了，获得了一个9V 2.5A的电源，9V电源经过降压模块，输出5V给单片机和继电器供电，两个继电器再分别控制这个9V电源给led灯带还有干燥机。可以明显感觉到开关干燥机LED灯的亮度有区别，好在灯带和干燥机都不是什么精密玩意儿，不用太在意电源的稳定。硬盘就不一样了，里头的数据都是无价之宝，NAS和硬盘盒的线我都没有改造，稳定大过天。在装灯带之前，这个储藏间的照明用的是充电宝加USB灯，每次开门要按一下开关，关灯也要按一下。这个操作对于懒人极不友好，手臂重量少说有个一千克，每次把手举高半米按开关都要消耗5焦耳的能量，太浪费了。这个灯，他必须自动开启。IMG_1369.jpg暂时用原始办法做了个关门检测，已经订购了单簧管模块，到时候就换成磁场检测，更耐用。IMG_1370.jpg另一侧贴了点铝箔，单片机反正只要知道这儿接通了就行。要是就到这儿，那顶多算是个准智能，8266都用上了，自然是要联网。ScreenShot_2020-12-07_23-59-44.png这次这个东西要长期运行，就没有去连数据库，能在本地网络中控制就够了。最上面显示一下温度湿度数据，往下来的两个开关是灯和干燥机，最后一个AUTO是自动控制开启的开关，就是用来实现门和灯的联动，以及干燥机根据湿度的开关。关掉AUTO则可以手动控制，万一需要关门在里头维护的时候不至于灯开不起来，啊，那为什么非要用这个灯维护。好吧，其实还没讲完，为了让其他设备能更好的控制干燥机和灯，这里可以用http的get请求来直接操作，接口都留好了，顺便放个开关呗。30 2 * * * curl -s "http://192.168.233.177/update?output=isauto&state=0" 30 22 * * * curl -s "http://192.168.233.177/update?output=isauto&state=1" 30 3 * * * curl -s "http://192.168.233.177/update?output=isauto&state=1" 30 6 * * * curl -s "http://192.168.233.177/update?output=isauto&state=0" 31 22 * * * curl -s "http://192.168.233.177/update?output=14&state=1" 31 3 * * * curl -s "http://192.168.233.177/update?output=14&state=1" 二级路由我刷了个Padavan，就当小半个服务器来用，设置Crontab命令来定时控制设备开关，就是要这么强行联动。最后还是放上代码，这次代码没有太多需要解释的地方，网页服务器的部分是在是在网上代码的基础上改的，缝合了网页显示传感器数据和网页操作开关的代码。其他是自己写的。#include <Arduino.h> #include <ESP8266WiFi.h> #include <Hash.h> #include <ESPAsyncTCP.h> #include <ESPAsyncWebServer.h> #include <Adafruit_Sensor.h> #include <DHT.h> #include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <Wire.h> #define OLED_RESET 16 //D0 #define OLED_CLK 5 //D1 #define OLED_MOSI 4 //D2 #define OLED_DC 0 //D3 #define OLED_CS 2 //D4 #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); const char* ssid = "FKUN_LAB"; const char* password = "bilibili233"; const char* PARAM_INPUT_1 = "output"; const char* PARAM_INPUT_2 = "state"; #define DHTPIN 13 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); float t = 0.0; float h = 0.0; const int relayPin1 = 14; const int relayPin2 = 12; const int doorpin = 15; int isauto = 0; int light = 0; int Dehumidifier = 0; int doorstat = 0; AsyncWebServer server(80); unsigned long previousMillis = 0; const long interval = 2000; const char index_html[] PROGMEM = R"rawliteral( FKUN_Archive_Control Temperature %TEMPERATURE% °C Humidity %HUMIDITY% % %BUTTONPLACEHOLDER% )rawliteral"; String processor(const String& var){ //Serial.println(var); if(var == "BUTTONPLACEHOLDER"){ String buttons = ""; buttons += " Light "; buttons += " Dehumidifier "; buttons += " AUTO "; return buttons; } return String(); //Serial.println(var); if (var == "TEMPERATURE") { return String(t); } else if (var == "HUMIDITY") { return String(h); } return String(); } String outputState(int output){ if(digitalRead(output)){ return ""; } else { return "checked"; } } void setup() { Serial.begin(9600);//串口波特率 dht.begin(); pinMode(relayPin2, OUTPUT); digitalWrite(relayPin2, HIGH); pinMode(relayPin1, OUTPUT); digitalWrite(relayPin1, HIGH); pinMode(doorpin, INPUT); if(!display.begin(SSD1306_SWITCHCAPVCC)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } display.clearDisplay(); Serial.println("OLED Ready"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 2); display.println(F("FKUN Archive")); display.display(); delay(1000); display.setCursor(0, 15); display.println(F("OLED........Ready!")); display.display(); delay(500); display.setCursor(0, 25); display.println(F("SYSTEM......Ready!")); display.display(); delay(500); display.setCursor(0, 35); display.print(F("WiFi info")); display.display(); delay(100); display.println(F(":")); display.display(); delay(500); display.setCursor(0, 45); display.print(F("SSID:")); display.display(); delay(200); display.println(ssid); display.display(); delay(500); display.setCursor(0, 55); display.print(F("PASSWORD:")); display.display(); delay(200); int cnct=10; while(cnct--) { display.print(F("*")); display.display(); delay(40); } delay(800); Serial.print("Connecting WiFi..."); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 21); display.print(F("Connecting WiFi...")); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED){ display.display(); delay(500); Serial.print("."); display.print(F(".")); } Serial.println(""); Serial.print("WiFi connected"); display.clearDisplay(); display.setTextSize(2); // Draw 2X-scale text display.setTextColor(WHITE); display.setCursor(5, 25); display.print(F("Connected!")); display.display(); delay(300); display.clearDisplay(); display.display(); delay(100); display.clearDisplay(); display.setCursor(5, 25); display.print(F("Connected!")); display.display(); delay(300); display.clearDisplay(); display.display(); delay(100); display.clearDisplay(); display.setTextSize(2); // Draw 2X-scale text display.setTextColor(WHITE); display.setCursor(5, 25); display.print(F("Connected!")); display.display(); delay(1000); display.clearDisplay(); display.display(); delay(300); Serial.print("IP address: "); Serial.println(WiFi.localIP()); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 2); display.println(F("IP address:")); display.display(); delay(500); display.setCursor(0, 15); display.println(WiFi.localIP()); display.display(); delay(1000); server.on("/", HTTP_GET, [](AsyncWebServerRequest * request) { request->send_P(200, "text/html", index_html, processor); }); server.on("/temperature", HTTP_GET, [](AsyncWebServerRequest * request) { request->send_P(200, "text/plain", String(t).c_str()); }); server.on("/humidity", HTTP_GET, [](AsyncWebServerRequest * request) { request->send_P(200, "text/plain", String(h).c_str()); }); server.on("/update", HTTP_GET, [] (AsyncWebServerRequest *request) { String inputMessage1; String inputMessage2; if (request->hasParam(PARAM_INPUT_1) && request->hasParam(PARAM_INPUT_2)) { inputMessage1 = request->getParam(PARAM_INPUT_1)->value(); inputMessage2 = request->getParam(PARAM_INPUT_2)->value(); digitalWrite(inputMessage1.toInt(), inputMessage2.toInt()); } else { inputMessage1 = "No message sent"; inputMessage2 = "No message sent"; } Serial.print("GPIO: "); Serial.print(inputMessage1); Serial.print(" - Set to: "); Serial.println(inputMessage2); if(inputMessage1=="isauto"){ if(inputMessage2=="0"){ isauto = 1; Serial.print(" - is AUTO: "); Serial.println(isauto); }else{ isauto = 0; Serial.print(" - is AUTO: "); Serial.println(isauto); } } request->send(200, "text/plain", "OK"); }); // Start server server.begin(); } void loop() { unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; float newT = dht.readTemperature(); float newH = dht.readHumidity(); if (isnan(newH)) { display.clearDisplay(); Serial.println("Failed to read from DHT sensor!"); display.setCursor(0, 25); display.println(F("DHT Sensor Failed!")); display.display(); } else { display.clearDisplay(); h = newH; t = newT; Serial.println(t); Serial.println(h); display.clearDisplay(); display.setCursor(0, 0); display.print(F("Temperature:")); display.setCursor(0, 10); display.print(t); display.println(F("C")); display.setCursor(0, 20); display.print(F("Humidity:")); display.setCursor(0, 30); display.print(h); display.println(F("%")); display.display(); } light = digitalRead(12); Dehumidifier = digitalRead(14); if(isauto==1){ if(digitalRead(doorpin)== HIGH){ pinMode(relayPin2, OUTPUT); digitalWrite(relayPin2, HIGH); display.setCursor(0, 40); display.print(F("Light:")); display.println(F("OFF (A)")); display.display(); }else{ pinMode(relayPin2, OUTPUT); digitalWrite(relayPin2, LOW); Serial.println("Door Open!"); Serial.println("Light ON"); display.setCursor(0, 40); display.print(F("Light:")); display.println(F("ON (A)")); display.display(); } if(h<45){ pinMode(relayPin1, OUTPUT); digitalWrite(relayPin1, HIGH); display.setCursor(0, 50); display.print(F("Dehumidifier:")); display.println(F("OFF (A)")); display.display(); }else{ pinMode(relayPin1, OUTPUT); digitalWrite(relayPin1, LOW); display.setCursor(0, 50); display.print(F("Dehumidifier:")); display.println(F("ON (A)")); display.display(); } }else{ if(light==0){ display.setCursor(0, 40); display.print(F("Light:")); display.println(F("ON (M)")); display.display(); }else{ display.setCursor(0, 40); display.print(F("Light:")); display.println(F("OFF (M)")); display.display(); } if(Dehumidifier==0){ display.setCursor(0, 50); display.print(F("Dehumidifier:")); display.println(F("ON (M)")); display.display(); }else{ display.setCursor(0, 50); display.print(F("Dehumidifier:")); display.println(F("OFF (M)")); display.display(); } } } }
冬日的下午开上暖气，不刺眼的阳光照进屋里，一壶茶一本书，那可真叫一个享受。然而事实是我对德国天气的期望还是太高了，几乎一整个月都是阴着天，眼看太阳就要出来，飘过来的云又给挡上了。书架上有本夏目漱石的《三四郎》是在青岛学习德语的时候买的，刚到青岛的一阵子还到处走走看看，过了几周也便失去了兴致，书店总归是个能消耗时间的地方。买回来看了一遍的书我就放进书架，有时候突然想起其中的片段就想去回味一番，于是又拿出来，所以桌上总会有一两本书。有了Kindle之后，实体书作为阅读载体已经不再实用，书对我来说的意义已经是其作为书本身的存在。上周日本笔友的邮件中提到了夏目漱石的《心》推荐我去阅读，为了能在回信中说点什么，用了几天把这本书看完了。从日语学习的角度看，前两部分通篇使用である调，最后一部分的信使用です调。我的日语水平倒是还不足以理解这两者本质上的区别，在我看来更多的是可以方便区分先生的信和作者自己的陈述。通篇读下来，各种事件发生了不少，主线还是先生的经历，前面做了很多铺垫，在最后一部分的遗书中才能完整的搞清原委。我可以简单的概括一下，先生年轻时爱上房东的女儿，也是两情相悦。后来住进来了个先生的好友K，这个好友K对妹子也有好感。先生得知好友的心思后觉得再耗下去不妙，就立刻提出婚约，房东估计自先生住进来时就有了打算，没有任何阻碍地同意了。这样重要的决定房东自然是告诉了好友K，结果好友K就突然自杀了。啊这，我咋闻到了一股白色相簿的味道，准确的说是反向的白色相簿。白学情节中的败犬基本是那个根主角相处时间更久的那位，然后才有那句经典的 “明明是我先来的...”。我自己还是更倾向于先来后到，所以看这些个白学动漫总是忍不住的胃疼。我对《心》的剧情倒是没那么纠结，换我也会这么去做。而故事中的先生本人始终放不下，他把它看作是一种对好友的背叛，他把好友的死归咎于自己，在写完给“我”的最后一封长信后自杀。这本小说耐人寻味我想也是在这个点上，如果先生一切照旧，并没有觉得自己对好友的自杀负担很大的责任，那这本书也会很平淡。夏目漱石把人内心微小的罪恶感放大，放大到了极致。先生不爱与人社交的性格，是因为不相信周围的人，充满怀疑，猜忌。对于其妻，有些话到最后还是没能坦白。最后也是选择了和好友不同，不会给人留下任何麻烦的死法，在没有人能察觉的到的地方孤独死去，这操作简直太日本了。
预售前拿到手，下架后才用上的键帽。
这又要从2018年的一次视频活动说起，当时有幸拿到优秀奖，全站六十个名额其中有我一个我自己属实也没有想到。2018_11_12_09_46.59.bmp可以看到获奖名单里有很多大佬。活动结束后，很快家里就受到了B站发来的包裹。然而，那时候我刚回德国。一年后，也就是2019年的暑假，我回到家，看到了实物。是简单到不能在简单的两个防静电袋，里面严严实实的塞着键帽。我看到实物的时候这套键帽其实已经发售了，售价在四百人民币左右，个人感觉还是有点小贵的。机械键盘，我手头是有的，罗技的G810，但这810恰恰用的是欧姆龙轴，并不是那种中心十字的设计。手上拿着键帽，没地方装。开始想着，随便买个键盘呗。再一想，随便买的不好用成了摆设也浪费，要买就买个好的。机械键盘的核心在于轴体，我所认为比较可靠的品牌是Cherry原厂的轴。考虑到以后游戏打的少，码字什么的可能比较多，青轴在这里面是个不错的选择。随便看了一圈，青轴最便宜的是四百左右。估计为了节约成本，外壳的做工非常一般，我一时没有下手购买。嘛，手头的键盘也没坏，不着急，就这么一直拖到了今年的暑假。又是一年。暑假开始，810开始出现连打的问题，有时候是按不出来。大概是之前进过水的关系，当时没啥问题，时间久了问题才慢慢出现。连打降低的是打字的速度，打多了我就得倒回去删掉多余的字符，按键失效更加烦人，尤其是Ctrl键有时候失灵。明明选中一串字符准备复制，结果硬生生给我替换成一个c，顺手一个撤销，结果又打了一个z。太恼人了，恰好预算充足，再买个键盘吧。这次看中的是Cherry自家的G80-3000，这键盘设计已经几十年了，现在看就是一股复古的味。别说RGB了，背光都没有。最简单的塑料外壳，没有多媒体键。它，就只是一个键盘。我是95欧元入手的，为了配合键帽，我没有买德语键盘，英语布局会稍微贵一点。web-20201010_A6_2881.jpg看上去感觉是很协调的，当初B站放的效果图就是搭配了Cherry的办公键盘。我觉得这么少女的颜色如果放在一个游戏键盘上会很围合，键帽本身就很圆润，配合一个圆润的本体才配。web-20201010_A6_2886.jpg整体看上去是这样的，下面给大家看一下B站当初发布的图片。51119ea230ca20f2cd175a7617ea5a98d686fb6e.jpg不知大家又没发现一个很细微的区别，不是说键帽上的图案哈，提供的键帽有一百三十个左右，多出来的是各式各样的替换键。这里我要说的差别是这个大写锁定键，可以发现，官方给的图片，大写锁定键是这种经典的台阶状防误触设计。G80原厂的键帽也是这样，但现在它却是一个平整的样子。也正是因为这一点，我被迫魔改键帽。阶梯状的大写锁定键的轴体偏左，但是现在手上的键帽连接桩却在正中央，无法直接安装。我换了个小一点的按键装上去了，但这样就会空出一截，很不好看，还是得改造一下。具体的操作方法可以看我B站上发的视频，简单的说就是把原来的桩子切掉，再挪一下位置粘上。说的简单，做起来没那么容易。最后还是从空格下方借了一个桩才搞定。web-20201010_A6_2893.jpg基本看不出有什么异样，按键手感也没问题。web-20201010_A6_2887.jpg键盘中心附近，隐约能看到一个小电视。web-20201010_A6_2889.jpg小键盘区域的Q版2233娘干杯剪影只有真正的粉丝能一眼看出，果然是为老B站粉丝打造的键帽。这部分着实抽象，个人觉得还有改进空间。web-20201010_A6_2891.jpgF键区域我安装了替换键，小电视表情包真的很萌呢。web-20201010_A6_2911.jpg侧面看，可能是键盘本身的设计，有一丁点的弧度（眼花）。web-20201010_A6_2921.jpgEsc键也是换成了唯一一个黄色的小电视。Cherry的Logo使用类似激光刻蚀的工艺，粗糙中带有一丝高级感。web-20201010_A6_2906.jpg产地：斯洛伐克web-20201010_A6_2909.jpg作为办公键盘，实用是很重要的。这款键盘采用无螺丝的拆卸方式，通过卡口即可打开键盘清理。web-20201010_A6_2910.jpg最后看一下这个脚垫，确实是办公键盘的味道。颜值上，对我来说这个搭配近乎满分。轴体的手感还需习惯，青轴有明显的段落感，噼里啪啦的噪音甚至可以说是吵闹，不带耳机，扬声器的声音完全压不住。键盘本体价格和当初购买的罗技G810不相上下，但这键帽一加，嘿嘿。
通常出门吃饭，如果不是麦当劳，只会有两种可能。一是周围没有麦当劳，二是跟着朋友出门。周一解决了签证的问题，递交材料的时候，得知了一个情报。在德国本科学生签证理论最长五年，之前也是口口相传，德国大学可以读十年二十学期什么的。也许专业不同，真有极品读了十年本科，但现在很少见了。德国本科学制标准是3年，根据不同专业的毕业要求，可能会因为一些实习模块的时间问题延长到七学期，也就是三年半，医学好像是九学期。总之略微还是有那么一丝丝的紧迫感，只是有那么一丝，目前我的状态不至于担心需要延期毕业。顺便问了毕业后签证的问题，他们建议我可以先报一个Master，读Master的过程中也可以找工作，Master这一来又是五年，之后还可以申请一年半的找工作签证。所以，如果真心想留在这儿，也不算太困难。签证问题解决后立马开始搞驾照的事情，翻译件最后还是没有找ADAC做，找了一个柏林的翻译社，省了十几个欧元。但愿翻译公证件能被这边的车管局接受。德国拿驾照急救课是必须参加的，还得自己掏钱找地方上。我住的城市附近的都被订满了，还得坐一小时火车，到其他城市去上，反正这儿的火车其实跟公交车感觉差不多。急救有九节课，每节45分钟，一天上完。下午从培训中心走出来的时候困得不行，真有回到高中的感觉。疫情期间很多实操都省略了，比如嘴对嘴的人工呼吸，比如一些互动，这倒是正合我意，不用紧张。视力很轻松地过了，前些天从网上找图看，觉得自己好像这几年电脑看多了视力有下降。去实地也是看C字环，但用的是一个显微镜样式的仪器，相比瞪屏幕，更轻松一些。B站的更新准备放缓了，手头压了五个视频，等这阵子大V入驻风波过去了再投。现在投完全就是白给，再好的视频也可能被算法淹没。题文不符的部分说得差不多了，来上图。web-20200904_R3_9321.jpg有同学之前约我今天去杜塞吃日本料理，我来这儿这么多年，还真就没吃过日料，总感觉会好贵。他这么一提，看今年财务状况也比较好，要么就奢侈一下。寿司我看吃不饱，折中一下，吃拉面去，顺便去宜家买个之前碎掉的法压壶。今天我是跟公交系统风水不合，早上出门骑车去车站，要能早30秒问我都能乘上车，结果在空无一人的车站等了一小时。带了相机，在附近拍了些照片。这张是站台贴着的防疫告示。web-20200904_R3_9316.jpg前阵子小火车的售票机也统一成DB的了。web-20200904_R3_9315.jpg刷卡支付的地方被人喷了油漆。web-20200904_R3_9334.jpg铁轨与围栏web-20200904_R3_9331.jpg围栏下的一处枯叶web-20200904_R3_9339.jpg那长长的，长长的坡道……先座小车去大站，在那里转大车去杜塞。宜家在杜塞市郊，需要在转城市里的有轨电车，再坐公交车。以前去的都是去科隆宜家，杜塞这边的头一回来，转公交的时候活生生坐反了，完美错过正确的车，于是又是半小时的等待，中途吃了个麦当劳，有活动五欧两个旗舰汉堡，美滋滋。在买东西的过程中，同学催我快去主火车站碰面，搞得也是慌慌张张。法压壶顺利买到了，回去的车又给错过了一班。这一通下来，少说晚了计划两小时。web-20200904_R3_9382.jpg有轨电车站。web-20200904_R3_9388.jpg电车正通过马路。web-20200904_R3_9406.jpg德国海关的招募广告，原来德国公务员的职位也要贴广告的吗。web-20200904_R3_9392.jpg在市区看到的玻璃回收箱。德国的垃圾分类不像日本那么严格，除了四种基本垃圾外，玻璃，电池，家具需要单独投弃。玻璃根据颜色细分为不同的种类，需要投到对应的铁箱里。这种箱子一个镇可能也就有一个，定期有车过来清空，所以不能像丢日用垃圾那样往院子里的垃圾桶里扔，每次都是攒了一些玻璃瓶，跑两步去镇中心一起丢掉，比较麻烦。可以看到，回收箱顶上放了几个盖子，说明丢垃圾的人做的很仔细，原则上盖子要丢到可回收物中去，但我看还是挺多人连着盖子往里扔的。web-20200904_R3_9409.jpg杜塞的电车年龄可能比我都大。终于可以吃饭了，杜塞尔多夫是欧洲日本人最多的城市，有日本街自然不在话下。整条街都是日料，日本书店，日超等等。随便找了一家拉面店，店内满座，便坐在店外的露天摊上了。或许真的是我太过敏感，一起吃饭的两个同学点菜时的表现让我实在有些尴尬。就座后，有店员拿出菜单。菜单里真正的菜不超过30个，这点也就算是日料中的快餐吧，也刚好是饭点高峰期。过了五分钟，妹子店员出来点单，我点了一碗味增拉面，还有小杯可乐。本以为按这个节奏另外两个兄弟也能接上，结果尴尬的地方来了，他俩使劲来回翻动菜单，中途用中文问我这是什么东西之类的，店员站在一边不说话。我总觉得这样多少有些不礼貌，在给定的时间内没能决定自己要吃的东西，也是浪费了店员的时间。店员是日本人，会德语，但显然不会中文，在交流参与者中有外国人的情况下，非能力问题说别人听不同的语言是非常冒犯的。换位类比一下，俩印度兄弟跟你聊天，他俩突然开始叽里呱啦的说鸟语，你就得在边上看着，啥也听不懂，要他们说完了给你翻译一下大致内容也就算了，要啥也不管继续跟你对话，如果是我，我会有种强烈的被排挤感。好在是几个人一起，对于国人的印象我想也不是一天两天了，随他去吧，以后要避免尴尬就一个人来或者做个东。web-20200904_R3_9414.jpg点菜的票根web-20200904_R3_9417.jpg原味味增拉面，感觉也算不上非常好吃。如果让我在巨无霸和这个面里选，我会选巨无霸。面里放了豆芽和这种甜玉米，一尝就知道是罐头里弄出来的。有两片肉，因为就两片，没吃出啥味道。近来一直素食，偶尔吃肉还有些不习惯了。面有棱角，大概率是用面皮切出来的，真正的日本拉面我也没吃过，咱也不知道，咱也不敢说。web-20200904_R3_9418.jpg同学点的酱油面，跟想象中的酱油面还是有差别，不只味道如何。这家店汤底确实一般，味增的味道不是很明显，能感觉得到，但再一品就被咸味盖过了。web-20200904_R3_9422.jpg一些揚げ物，一小盘要六欧元，性价比有些低。面的价格是10.5欧元，算是……便宜吧，对比德国其他的餐厅。这次就当开了个头，踩了个点。以后自个儿可以来探店，也是不错的视频题材。
这几天德国的最高温度持续在30℃以上，唯有夜晚和清晨打开窗户能感受到一丝凉意。计划里，暑假是要高产视频的，本有打工的机会也推掉了。开头两周做的不错，两周产出9个视频，突破了我以往的记录。指望暑假结束到9月中能把粉丝数翻个倍，想的很美好，现实很骨感。9个视频加一起还不够一万播放，不是因为是品质不够，是恰好遇上了B站的算法更新。对于高产，现在没有什么所谓的流量奖励了。好吧好吧，既然如此高产和佛系更新的效果一样，何必把自己整的那么紧张。假期里必须要做的事不多，完全在家躺一天也不会有什么罪恶感。昨天早上出门跑步，想试试Airpods在运动状态下会不会掉，顺便去村口扔攒了很久的玻璃瓶。返回时绕了一圈麦田，远远见着个遛狗晨跑的人，我下意识地扭头往反方向跑。我才意识到，我很久没和人打交道了。最近保持吃素，已经三周了。不做肉就不需要经常去超市，在家里，虽然常看见房东和他的朋友在院子里喝酒吃饭，后面的院子也叫来了工人改造。我甚至不想拉开窗帘，正午，太阳晒得烈。唯独我这间小屋没有二楼，太阳的温度从天花板上渗下来，像个温室。不开窗透气，完全没法生存。开窗，如果院子有人，我便不愿使用扬声器。戴上耳机，又怕有人找我我听不见。矛盾之中干脆啥都别听了，看点书吧，这热的又让我静不下心。翻来覆去，开门去厨房整点吃的，就连厨房都比我这屋凉快。噢，要不干脆直接在厨房搬个椅子得了。那也不行，楼上住的这哥们儿得做饭，他做得到底是啥，我也说不清。清一色的是热油抄蒜和洋葱，加土豆，葱，白菜，再加肉，各种各样的肉，洒下大量调料，来自五和四海的调料，接着加水下面，或是放入米饭。问他咋不照着菜谱做点正儿八经能叫出个名的菜，他回答说麻烦。倒也有道理，你说做一桌子的山珍海味吃下肚还不是混在了一起，开始就都放一起从科学层面讲，没有区别。我想了想，MC里有道《谜之炖菜》似乎很符合这个设定。做出来的东西永远装在一个巨大的不锈钢盆里，他抱着这个钢盆上楼，厨房里混合香料的味道，通常要在第二天早上才能消除。主观的来说，他做出来这个菜的品相和气味，换我的话很难产生食欲。作为理科生，还是要来分析一下原因。我曾经看到过一篇文章，是关于养猫相关的。其中提到，猫没有感受甜味的细胞，而可以感受脂肪。所以给猫吃奶油，对猫来说味道根肉没啥区别。对于吨位较大的人群来说，这一点是类似的。忘了说了，楼上这哥们儿也算是个重量级人物了。这类人群的味觉感受器，也就是味蕾，对于甜度之类的的感知是低于普通体重人群的。也就是说，他们通常吃的口味会比较重，这也可以解释为什么做饭会下那么多调料了。每天，他只做一顿饭，通常是在下午。早上他会下一趟楼，洗漱，奥里给，顺便从冻箱取一块肉放在厨房自然化开。只要他开始炒菜，那些烟气就会从门缝里悄然流入我的房间，久久不能消退。更蛋疼的是第二天早上洗脸，毛巾上都会残留一股洋葱味。当然了，我一向包容，有些事情想通了也就没什么好抱怨的了。既然常拿过去的好日子根现在的不幸遭遇做对比，那就不如直接站在明天的角度来看今天。今天一切，即便是痛苦，也应微笑面对。因为明天，在有更大痛苦来临时，就会觉得今天这些都是P大点事儿。况且，有些事情没有必要去改变。人家做菜味儿重，这里头也没个谁对谁错。我能做的，也仅是把门缝用胶条贴住，尽量不让烟气进来，另外让他做饭的时候把过道的窗户打开。早上洗漱，不想在别人奥里给之后的一股难以描述的味道中刷牙，只得尽早起来，还困大不了洗漱完再睡。看似是受了委屈，在我看来实则都是交易，只是没有写清条款的交易罢了。选择合租，省钱，作为代价，就是可能要忍受别人在厕所留下的味道，要忍受印度咖喱持续的熏陶…… 仔细想想，这些代价和独居增加的房租比，哪个更有价值。以及，目前的经济状况，有没有必要增加支出，来避免这些烦恼。独居的房子依然有新的隐患，这些事出现的概率又有多大…… 再来看，现在的情况也许就已经很不错了。视频制作持续失去正反馈让我缺失动力，其他方面依旧是迷茫。我的绩点不算多高，但至少改过的都给过了，没啥意外也能准时毕业。这也意味着我舒适的日子进入了一年的倒计时。一年后，我要找工作，或是换个地方读研，我必将离开现在的房子，我需要搬家，要把所有杂物放进箱子，要拆掉桌子，租新的房子，要准备新的签证材料，融入新的朋友圈…… 这一切，都需要我自己来安排。生活，从来就不轻松。辛辛苦苦做的视频搬到Youtube拿去盈利了，维权一个多月还是说证据不足，写了200页材料，我是真不知道要怎么证明我是我。昨天一刷新，哈，刚更新的几个视频又被搬过去了。有气也没地方出，这就是社会吧，算是提前感受到了。下周做几个分享素食的视频吧，真希望内心能像自己吃的一样清淡。
封面拍摄于公交站边，说是个公交站，不过根铁杆子上挂了个大圆牌子，里头写了个“H”罢了。德国偏远地区（比如我这里）的公交车对初来乍到的访客很不友好，如果不在这儿呆一阵子，恐怕很难正确的理解时刻表的内容，车子里也不报站。德国人少，我经常是车上唯一的乘客。公交车的时刻表精确到分，为了做到准点，没人等候的站点，如果你不按车上的停车按钮，司机不减速的就开过去了。这边很多车的报站系统没开或是出了问题，这站到哪了，下站又在哪里，只能开着手机地图猜了。当年刚来德国的时候，喜欢坐公交车去很远的地方走走看看，很多次都是因为报站的问题或者是奇怪的线路（有些车同一站会过两次但之后的目的地不同）下错了站。不过也罢，我有学生专属的学期票，整个州的公交随便搭，只有极少数的长途火车不能用学期票乘坐。所以坐过了站，就当是一场未知的旅行，错过了末班车，就在车站呆一宿。前两天发现咖啡罐快见底了，去超市例行采购食材，去程的车很准时的把我在13：09放下来，走一段六分钟的路，到超市。返程的车有13：32和13：40的，但就像之前说的，有些时刻表没来得及更新，实际上32的那班车通常会显示晚点，最后来的其实还是40的车。每次去超市采购前，我会很精确地把需要采购的物品清单按照超市的布局有序的在手机的提醒事项里排列好。这样推车进去，拐一个大U字，不走回头路就把东西买完了。用这样的checklist就不会出现结完账才发现有东西没买的尴尬情况。一点半不过，我已准备去结账，疫情期间不能像往常那样自由选择队伍，需要先排S型的单列队，最后才是找空的结账通道，类似飞机安检那种感觉。曾经看过德国做过的一个社会实验，尝试不同的排队方式的效率，结果是这种飞机安检式的效率会更高。但目前的情况，也许是因为柜台开少了，直到32分我才走到结账通道前。结账，装东西，还车（德国购物车要塞硬币才能推出来，推回原位才能取出硬币）已过35分。如果车子准时，这波基本没戏。我还是加快步伐，希望车能慢两分钟。然而在这种时候车子异常准时，40分刚过，车从前面的路口呼啸而过。车站的话还要往坡上走一阵，突然有点后悔，不是后悔没快点买完，是后悔没多在超市呆一会儿。下一班车是一小时后，要在路边站一个小时的岗呢。看了会儿书，看到车站后面人家院子里长出来的薰衣草，还挺好看的，拍了一张。答应德国实习搭档晚上把我做的东西给他参考参考，现在实习都是云实习，教授就有充分的理由让每个人独立写一份报告了。看来对德国人来说写报告也并不是一直一帆风顺的呀。回到家，坐在电脑前6小时连泡尿都没撒，把报告一鼓作气肝完了。我很喜欢用Excel建表建图，毕竟是一直在用的东西。结果都做完了，发现字缝里藏着小字，使用Matlab做图，还要求贴上代码。头疼！matlab很久没动了，但既然是答应人的事情还是要做到的，好在matlab教程很全，高速学习了一通就把图做出来了。剩下唯一的问题就是，试验资料里给的一张传感器的图线和对应的方程并不相符。我直接按照图，重新算出了方程。晚上给搭档发报告的时候顺便提了一句，谁知这家伙竟然在截止日期前一天发了个邮件询问，对方竟然在非工作日回了，还给了个非常魔幻的新方程。好吧，又有的忙活了。不过这回倒是尝到了matlab的甜头，用代码制图不用纠结乱七八糟的标注，同一串代码不同的参数就可搞定。实验流程用了两个小时也憋出来了。提交完，一身轻松。下周可以不这么忙了。我其实挺喜欢这种网上教学的方式，任何不懂的东西都可以实时搜索，完全按可以根据自己的情况来安排学习进度。有一点不爽，就是没有同学做参考，说要写实习报告，这报告大概应该是什么形式心里每个数实在是很难写。云实习是头一回，以前的报告参考意义不是特别大，新的东西只能完全没底的按自己想法去写了。一回生两回熟，这刚开始实习不久，马上就见六月开头了。六月的开头，离放假还会远吗。这学期一共三个实习，每个实习还剩两个报告要写，有了第一份报告的反馈，后面的写起来就会轻松得多。查了一下机票，7月的票不贵，来回5K以内可以搞定，最近把机票整上吧。
加入了友链接力的链接，搭建了个人云盘https://cloud.fkun.tech/今天本来有点提不起精神，要写两个实习的报告，然而一点头绪也没有。正事儿没搞完，也不能尽兴的玩MC。MineCraft可是当时我真正玩吐过的一款游戏，当时在服务器里爆肝几个工程，导致后来看到MC就头疼，16年之后就再没动过了。这几天好友说是开了服，我一股子冲动直接入正（补票）玩了一阵，又找到当年刚开始接触MC时的乐趣了。这个实习报告，以往都是在实验室实习后再写，通常我也会问问实验室的管理这个报告大概怎么写。这次整个云实习，放俩视频加一堆资料，让自个儿慢慢写去吧……好不容易把实验数据搬到Excel里准备进一步处理。紧接着收到邮件说之前放的实验数据是错的，我尼玛…… 最后只把报告的结构做了出来，四舍五入就什么都没干。为了给日本那边语言交换的伙伴回信，我花了一阵子重新阅读新标日初级，看看整理点问题一并问他。到了晚上，和刚答辩完的好友探讨了它的毕业论文，他做的是基于ESP8266的智能门锁。这个东西本身，说真是个很简单的玩意儿，所以我的关注点是他怎么写出来的一万多字的论文。看完之后，不禁感叹，查重机制和字数要求究竟逼出了多少明明内涵简单看起来却晦涩难懂的论文啊。晚上例行看看友链里的博客有没有新的内容，无疑点开一个友链中的友链，单纯因为头像是个妹子。这年头妹子站长可不多呀，结果进去一看发现是个男的…… 但他的侧边栏链接里有个Traveling的图标，我开始以为是他的旅行足迹，打开一看给我跳转到了其他博客，我又重新点了一遍，结果跳转到了另一个博客。我好像逐渐明白这个链接的意思了，觉得挺有趣，想看看他怎么做的，看了一下他的归档，他还真写了关于这个的文章，当然不是他做的就是了。这是个Github项目https://github.com/volfclub/travellings 叫做 开往-友链力接 ScreenShot_2020-05-14_00-01-26.png大概就火车一路开下去，一环连一环。其实这就是我一直以来对友链页面的设想，找到一个有趣的博客，看完以后再去他的友链，找到下一个博客，顺藤摸瓜，可以发现不少有趣的人。这个友链力接算是个十年之约的升级版（建议两个网站PY一下）能直接点击跳转确实方便不少。因为要求按钮放在首页看得到的地方，看首页觉得无聊的博客就可以直接跳过接着看，这种很有效率的获取信息的方式用着很爽。我在第一时间就提交了issue申请加入。在逛别人博客的过程中，看到一个初二的小朋友建的站 https://blog.tigerroot.cn/ 实属后浪，看到里面有个云盘，我觉得很牛批，他给的标签是Onedrive，网页可以直接访问云盘中的文件，视频之类的文件可以在线播放。看到这玩意儿我太高兴了，我手头可是捏了7个5T的Onedrive网盘。这要是能直接这样做成网页使用那就太可了。可惜这位小盆友没有留下关于搭建这个页面的信息，我从这个网页的字缝中发现了Oneindex的字眼。谷歌一下，就是它了。原来是这位同学用了这个程序默认的名字。Oneindex的原项目没直接看到，直接看到的是一个魔改版 https://github.com/david7207/oneindexMod 应该也是这个小盆友用的。这个仓库里直接包含了卡Office365 教育版 的链接，一条龙服务，赞。考虑到爷直接有很多Onedrive盘，就没有新折腾云盘，随便找了个手头空着的云盘进行了设置。和Typecho的搭建一样简单，上传文件，访问网址，跟着步骤设置，完成。做出来是这个效果ScreenShot_2020-05-13_23-59-51.png设置里面看到似乎还有图床的作用ScreenShot_2020-05-14_00-40-08.png以前教育版的Onedrive想搞个直链还挺费劲的，这玩意儿直接给整合进去了。更猛的是，这东西不走服务器流量，薅的是微软的羊毛。爽！同时可以设置一些文件的直接输出，走服务器流量，但好处是可以直接调用。ScreenShot_2020-05-14_00-43-26.png有了这个，以后想分享个啥东西就都可以往这里面放了。在德国测试下来速度很OK，1080视频在线不会卡顿.听说国内有时候Onedrive访问不了，我只能说，GFW，给爷爬。
看来是有一阵子没写教程系列了，本文将会和论坛的技术板块同步。G6P前阵子刚跟同学说好，半价把G6P出给他，然后我就可以稍微回点血入大疆如影SC了。结果准备交易的前一天，这稳定器怕是成了精，听懂了人话，知道我要把它卖掉。于是在恢复默认设置后开机跳舞，是那种疯转，心疼三秒镜头。G6P之前没好好做过G6Plus的评测，这都过去一年半了，我就顺带说两句吧。这个机器的做工，我只能说对得起它的价格，拆机后发现大多数的连接都是使用杜邦针脚，给人一种东拼西凑，赶工的产物。也许人家原来就没打算驼微单，800g的一套机器放上去调平，轴臂在关机状态下居然是错位的，这给收纳造成了极大的不便。长期碰撞会让这些部位掉漆。排线G6P的排线暴露在外，因为上面刚说配平完成后没法好好收纳，想放平必须把横滚轴拉到中间。经常这么做，这跟脆弱的排线就会变得凹凸不平，真担心哪天它突然断掉。G6P快装板这一块的设计就算还可以的了，虽然就是底下这些开孔不能用来走线有些残念。SONY1018再一个比较蛋疼的就是快装板本身，我寻思索尼1018应该算是个很强的Vlog头，等效15-27的焦距，很适合搭配轻便的稳定器旅拍。结果，这个快装板会直接顶到镜头。大疆还知道给个增高垫，飞宇还是要学习一个。这个快装板底下有三个预留的螺口，一个很nice的点就是每个滑槽边上装螺丝的地方本身就是个很好的1/4螺口，所以放三脚架上可以不用拆快拆板，直接接在底下。关于这个顶到镜头的解决方案就是手工打磨。加工后的快拆在靠近镜头的部分磨去了一个角，解决了这个问题。好了说回今天的主题，疯转的问题再怎么着也是要安排的。手机上再怎么调参数也是没有效果，查了一下官网，发现有固件包。官网进入官网产品选择一下产品，惊了，G6Plus被放在专业相机这一栏。下载下载页面可以找到相关软件和固件包。页面固件这次就以这个固件为例。但这很早之前就看到过了，究竟要怎么刷进去呢。直接用USB连接电脑是不会有反应的，官方的PDF手册上提到了一个神秘的USB转接器。USB连接器USB转USB的东西，看着就奇怪，如果我不接触单片机怕是到现在也搞不清楚，再次证明了跨领域的知识在关键时刻很有用。19年暑假开始玩单片机，之后一直去试一些新的原件。其中有个NFC模块，也就是常见的PN532,当时要让电脑直接跟芯片沟通需要TTL转USB模块，同样是4pin，同样是两根电源两根数据。而且说白了稳定器里就是各种模块堆在一起，也许这就是那所谓的USB转换器。印证猜想的是教程中在设备管理看到的信息。设备管理器什么？串口！铁了铁了，八九不离十。但这种转换器的芯片也不一样，万一不通用可咋办。不管怎样，先试试看吧！设备管理器一字不差，这回爽了。PN532和USB转TTL就是这个模块，接下来就解决接口的问题，协议现在通了，还需要和稳定器连接。剪了一根MicroUSB充电线，和模块的针脚连起来。接线5v和GND没什么疑问，两根数据线，不确定的话就试试看吧。RX和TX的顺序跟上位机有关，上位机的TX连接下载机的RX。我们看不到稳定器里面究竟哪个是TX或者RX，所以先猜一下好了。USB-USB线做好了。连接电脑。连接后面操作其实挺迷，要仔细读官方的手册，开始这里折腾了很久，后来发现是语文问题。我这里直接用人话整理一下。首先，先不要连接稳定器，单独把模块插上电脑。电脑里相关的驱动当然要有了，一切ok就会在设备管理器看到之前的端口设备。右键属性稍微操作一下。属性属性在端口设置中注意一下速率，就是这个【位/秒】，其他不用动。打开飞宇提供的刷机软件，选择设备管理器上显示的端口，如果只有一个端口设备应该就没什么其他选择余地。如果有就再检查一下要对应。软件我这里端口是COM4，下方的速率也要选择的和刚才属性里看到的一样。如果属性里速度太高，这边没有那么高的选项就去属性把速率调整到这里面有的。有时候比较玄学，速率太高太低都容易出问题。在最下方选择是升级云台还是按键板，看来是两个不同的板子。Open COM设置正确后点击OPEN COM。完事儿几乎不会有反应，这也是让我很困扰的点。软件这里关键点就是，在稳定器关机的状态下，把MicroUSB插到稳定器上。USB连接什么按键都不用动，软件里会自动显示连接成功。这里的关键再提一下，就是要在没有连接稳定器的状态下先设置好软件和转换模块，最后再插线。LINK OK连接成功就可以选择固件了。OPEN FILE找到对应的固件。固件确认信息文件成功识别也会有蓝字做最后的确认。第二个关键点来了，选择完固件，不要急着就点上传。开机线不要动，长按稳定器开机。放心这时候它很安详，不会真正被启动。长按出现完整LOGO后会瞬间黑屏，此时马上放开手。外表看上去好像是黑屏，实则已经开机。这个时候再点击，UPDATE START。START上传然后根据固件大小和传输速率，这里要等一定的时间，可以看到一个一个的块被发送过去。TX板子这边的灯也会一闪一闪代表传输正在进行。完成传输完成，报SEND OK，如果出现错误就重头操作一遍。关机长按开关，出现很细两条白色边框逐渐合并，然后显示黑底白色的LOGO后屏幕熄灭完成关机。LOGO操作完成过后，因为插着线，稳定器会自动进入充电模式。充电模式到这里就完成了云台固件的升级。如果也要升级按键板，那就拔掉线，关掉软件，完整的重新操作一遍。一番折腾，升级后的稳定器关机声音略微清脆了些。但疯转的问题依然未能解决。之前拆开过检查了所有的排线连接正常，联系客服后对方表示可能是系统参数归零造成的。需要相应的设备校准，在家里没法做到。好在德国有两个售后点，其中一个估计是歇逼了，邮件直接发不过去。另一个在汉堡，表示可以让我把机器先寄过去看看。昨天把机器发过去了，等消息吧。最后，用过如影就才会知道什么叫真正的稳定器。（没错，就是喜新厌旧）
本篇内容激进，酌情观阅。国内的情况我想各位比我都清楚，从一开始的压制疫情，到后来的爆发，再到之后的出行限制，强制隔离。从目前的成果来看，这个策略是有成效的，我觉得也适合国情，人口基数和人口密度在那儿摆着，爆发不控制会死很多人。经济几乎停运，但体制可以宏观调控……这些是我这边所了解到的国内的现状。那么海外呢？中国的很多媒体写的文章很有趣，用一些刁钻的手法描述，让其他国家看上去跟个铁憨憨一样。比如川普，在国内似乎就是被当作笑话来看。美国也有媒体会这样故意渲染，但国内就一直没怎么听到说他好的。疫情的欧洲战场，意大利首当其冲，看到国内的报道似乎和当初报道自己抗击疫情的描述方法大相径庭。英国这次的群体免疫也是被喷的一塌糊涂。当然，我想，这也是常态。新闻联播的核心思想就是外国人民都生活在水生火热之中。话说回来，作为一个在国外的华人，这次疫情我的见闻。1.过于恐慌的同胞，想方设法搞口罩，不敢出门，上课也带着口罩捂得严严实实。这个怎么说呢，虽然是个人的自由，但我是绝对不会这么去做的。德国官方控制了几乎所有的防疫物资，用作需要时使用。并且公开表示需要避免肢体接触，但不需要带口罩，和手套。所以德国人自然也是都没有戴口罩的。看了一圈，只有中国学生此时开始戴口罩。那么就出现了一个问题，如果个体戴口罩，但是环境里的人都不戴，这样病毒依旧可以扩散。也就是要戴就要戴到疫情结束为止，这个消耗量是很大的。回家以后，衣服什么的上面也有可能携带病毒核，就要一直保持极度的警惕。但实际呢，目前来看，因为德国人口密度小，周边地区也并没有集中性的爆发。感染到自身的概率本身就极低，再加之都是年轻人，不是病毒的主要杀伤对象，所以重症概率也低。最后，就目前德国的政策，如果重症了国家还是准备了床位用来治疗的。我想，这么算下来，感染病毒死亡的概率恐怕跟出车祸差不多。何不保持平常心呢。2.外国人看待国人的态度，在我的文章中，多次提及国人的形象问题。中国人在欧洲算是知名度很高了，旅游团，疯狂购物，大声讲话，乱扔垃圾，没有隐私，网络封锁，人权…… 我想这大部分都不是什么好的印象，有些明摆着的缺点国人也是心里清楚，但有些东西，刻在骨头里，自己都没法判断是非了。南方公园前段时间讽刺中国的动画片中，里面的中国人遇到事情就大喊，我不要麻烦，跑开了。前阵子B站上了一堆电影，看了一部美国的决战中途岛，是战争片。但是其中有一幕，美国大兵轰炸东京后弃机跳伞落在中国农村，然后要去衢州会和。明明降落伞就放在农民的家中，当农民被问到有没有降落伞，只见这老农民嘴里不停地叨叨，我不知道，我什么也不知道。最后还是进了房间查看才找到了降落伞，证明了美国大兵的来历。这种怕麻烦的思想根深蒂固，从启蒙教育开始就被当作教条印在脑中。长辈眼中看到的总是那些帮了别人然后自己出事了的案例。但德国这边，似乎大家都很愿意出头，当然这需要大家都这么想，一个人代表一个集体出头，如果出了问题，整个集体就会顶上去救下这个人。但如果这个群体都怕麻烦，此人出头，就有可能不那么妙了。初中，我遇到了感为别人打抱不平“多管闲事”的人。这么做看似不会有什么收益，反而承担了一定的风险，但实际背后带来的效益远高于风险。这样的人，人缘都很好，也值得信任。之后，我也成为了这样“多管闲事”的人，当然我这不怕折腾的属性也有点关系。这种怕麻烦，我理解是一种比较肤浅的利己主义，或者就是不自信。人是要有社会性的，几百个人，就中国人戴着夸张的大口罩，皮筋都把脸勒变形了，这是不是显得有些太过靓眼了。上着数学课，老师没带口罩，底下坐着几个戴着N95，感觉一直很元气的老师上那节课的时候都有点紧张，这换谁都感觉很奇怪啊。这几天，我坐公交车，恰好碰上下午那班满载中小学生的车。平时熙熙攘攘，很热闹。车门打开，里面传出唧唧喳喳的聊天打闹声。我从前门走上去，向司机展示了一下学生卡，把身子转向车厢，准备走进去。唰的一下，全车安静了。低年级的学生盯着我看，因为只有两站路，我迅速穿过过道站到了后门。过了好一阵子，才陆续有说话声出现。平时嗓子不舒服会清清嗓子，这特殊时期难受也得憋着。所以戴口罩看上去很显眼，不戴口罩，也很显眼。我有些担心，新一轮的歧视就要开始。3.截然不同的反应刷Facebook，看到一个Corona Party，是一个冠状病毒的聚会。大概是说，一直听说有病例出现，但身边就是见不到。干脆安排了个派对，其中有20个是确诊的…… 不开玩笑，这种派对说开就开。搞一个这样的Party，某种角度来讲确实有些过分了，但充分说明这边这些个年轻人看待病毒的心态。德国政府开始只是指挥部署了重症床位，扣押了防疫物资，但是对于学校，活动之类的没有限制。确诊超过3K的时候禁止了一千人以上的活动（于是出现了很多999人的），学校延迟开学，但是小规模的课程继续。本来明天考试，今天才宣布考试取消，所有课才停掉。关于出行的限制，并没有强制的措施。前天，英国政府宣布采取不作为的方式，打算走群体免疫的路线。开始我习惯性的看到中文的报道，差点以为这是个笑话。直到后来我仔细查阅了相关的理论资料，发现这个计划并不是胡来。不强制隔离病毒，而是控制传播的速度，让病毒慢慢的一批一批的感染人群，康复后就可获得免疫。控制的速度要匹配现有的医疗资源，保证重症出现要有地方可治。当60%以上的人口获免疫后病毒就无法再次流行，但依然少量的分布在群体中，达到了任何病毒共存的状态。与之对应的，采取强制隔离的方法可以快速控制疫情，但要长期保持监控，防范输入病例。这是很难的，如果放松警惕，则又会意外的爆发。直到疫苗研制成功，或者病毒因某些原因消失。这里赌的就是时间，欧洲国家普遍认为短时间内无法造出疫苗，获得群体免疫是长久之计。并且这也是对经济运作最友好的方式，今年欧美股市已经没法看了，再因为这么一出搞得经济大萧条，导致失业，犯罪，乃至战争。每个国家只是选择了适合自己当前国情的方式来处理。然后讲讲我的想法，我相信数据，这个病毒对于年轻人作用甚小。多数人轻症就自愈了，自愈后至少几个月是免疫的。与其防不胜防突然被感染还不知道，期间又传染别人，还耽误自己手头的事。不如直接主动接受感染，自行隔离到痊愈。那病毒就在自己身上活不下去了。在病毒下手之前主动迎击，比打没准备的仗要好吧。如果能确认感染，那再轻症状都没有出现之前就可以开始吃点中药来增强抵抗力。在这种情况下，出现危险的概率，和不小心被感染，直到病发才察觉到然后出现危险的概率比，小上不少吧。有些群友觉得我头太铁，不应当去冒风险。但如今，风险时时刻刻就在身边。谁知道摘下口罩的瞬间，病毒不会落在脸上呢……