电脑常见问题

Let’s Encrypts 根证书到期 windows7 windows2008 访问证书错误

因为 Let’s Encrypts 根证书到期,但是老版本的系统没有更新,所以造成所有使用了Let’s Encrypts的网站都提示证书错误。需要手动导入新的根证书,即可访问正常。

下载https://letsencrypt.org/certs/isrgrootx1.pem 
将文件从 重命名isrgrootx1.pem为isrgrootx1.crt
双击该文件。
它应该要求您确认是否要将证书添加到根存储。您可能也应该首先在此处根据一些已知良好的来源检查指纹,但我不确定您可以从这样一个旧系统中可靠地信任哪个好的来源。

未分类

解决火车头7.5抓取 https 链接时候错误的插件

火车头老版本因为用了 .net 2.0 造成了 抓取 https 错误。 下面提供个插件可以解决。

放到火车头插件目录,在对应规则中 选择使用 此插件。

下载插件:xy_https

未分类

记一个3D打印机 刷机的 ”错误“ avrdude: stk500v2_ReceiveMessage(): timeout

 给我的i3 打了一个盒子,然后换了 主机位置, 重新走了下线。。。昨天修 喷头光敏,把热敏的pin给改了,今天走线 线有点捉急,想换回去,就重新刷机 然后刷机 失败。

报错:

Uploading .pio\build\mega2560\firmware.hex
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

 

最后查询说可能是 串口被占用。。。 突然想起来, 我的 8266 是随便接线上去的。。。。 线序不对。。。 正负极都接错了。。

 

重新接上 8266 后, 刷机正常了。

3D打印机

3D打印机 错误:最低温度 MINTEMP triggered, system stopped! Heater_ID: 0

 打印不停的报 最低温度 然后 停止打印, 期间检测了线路,用万用表测试了热敏电阻,低温状态下 一直是正常的,加热也会显示正常的阻值, 但是一旦开机加热后, 温度会突然掉 七八九度, 一会180 一会190多, 飘忽不定。

本来以为是喉管风扇散热太快,时好时坏,不定期的报最低温度然后停机。。。。 折腾了好久了,因为万用表检测热敏是好的,一直认为是主板问题,期间也切换了热敏的接口从T0 切换到 T2,还是不行。

最后换了热敏电阻 温度也稳定了 暂时也不报错了。。。。 很奇葩的问题 记录一下。

报错:
Error:MINTEMP triggered, system stopped! Heater_ID: 0
echo:错误:最低温度
Error:Printer halted. kill() called!

 

 

 

3D打印机

3D打印机 Marlin固件 切换热敏接口 T0 到 T2

不停的报  最低温度 然后 停止打印, 万用表测 热敏是好的。 怀疑是 ramps 主板问题,因为板子支持三个热敏,所以就想想把 喷头的热敏 换到 第三个热敏接口上试试。

Marlin\src\pins\ramps\pins_RAMPS.h

修改以下参数 即可 颠倒 T0 和 T3 的热敏接口 

#ifndef TEMP_0_PIN
#define TEMP_0_PIN 13 // Analog Input 默认 13 修改为 15
#endif
#ifndef TEMP_1_PIN
#define TEMP_1_PIN 15 // Analog Input 默认 15 修改为 13
#endif
#ifndef TEMP_BED_PIN
#define TEMP_BED_PIN 14 // Analog Input
#endif

 

修改完重新刷机

 

说下结果吧, 因为我的可能是板子问题,所以 还是有报错,但是报错变了,可能是其他问题。 最终还是没确定是不是接口问题。

java script

jQuery 中 $(document).ready 原生js代码实现

有时候仅仅需要这一个函数的时候,又不想调用整个jq,找了一段国外大佬的代码。

 (function(){var A=!!(window.attachEvent&&!window.opera);var B=/webkit\/(\d+)/i.test(navigator.userAgent)&&(RegExp.$1<525);var C=[];var D=function(){for(var E=0;E<C.length;E++)C[E]();};var F=document;F.ready=function(f){if(!A&&!B&&F.addEventListener)return F.addEventListener(‘DOMContentLoaded’,f,false);if(C.push(f)>1)return;if(A)(function(){try{F.documentElement.doScroll(‘left’);D();}catch(err){setTimeout(arguments.callee,0);}})();else if(B)var G=setInterval(function(){if(/^(loaded|complete)$/.test(F.readyState))clearInterval(G),D();},0);};})();

document.ready(function(){

//自定义操作

});

python

python dict list 字典数组 根据某个key的值排序

python dict list 字典数组 根据某个key的值排序

 # encoding: utf-8

dictlist = [
{'id':'4','name':'b'},
{'id':'6','name':'c'},
{'id':'3','name':'a'},
{'id':'1','name':'g'},
{'id':'8','name':'f'}
]

dictlist = sorted(dictlist, key=lambda k: k['id'], reverse=True)
print dictlist

flutter

Flutter 父组件调用子组件方法

其实主要就是在初始化子控件的时候传递一个GlobalKey

然后用这个key调用子控件的函数。只贴核心代码,其中 onPressed 是子控件函数。

// 子组件 SonWidget(Key key) : super(key: key);

// 父组件 GlobalKey<SonWidgettState> SonKey = GlobalKey();
//设置key,绑定待刷新控件.
初始化控件 SonWidget(SonKey)
调用子空间函数
SonKey.currentState.onPressed( _count);

 

flutter

Flutter 子组件调用父组件函数

 在子组件内定义回调函数名称

ChildView({this.changeColorCallBack});
final ValueChanged<Color> changeColorCallBack;

注意ValueChanged要指定泛型

在父组件使用

child: ChildView(changeColorCallBack: (color) {
setState(() {
_myColor = color;
});
},)

flutter

flutter 启动前加载本地json配置文件 报错 Unhandled Exception: Null check operator used on a null value

想在启动的时候使用rootBundle.loadString 加载本地配置json,但是直接加载会

报错:
[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value

 

解决办法:加载本地资源以前增加一行代码:

WidgetsFlutterBinding.ensureInitialized(); //解决加载json错误

例子:

void main() async {
WidgetsFlutterBinding.ensureInitialized(); //解决加载json错误
globals.config = jsonDecode(await rootBundle.loadString(‘assets/config.json’));
runApp(MyApp());
}