10月 02

防火墙中”connection state”与“tcp Flags” 理解学习

“connection state”译为链接状态。于协议无关,可以是TCP、UDP、DNS各种协议的连接状态。不同的业务又有相应的协议做支撑。
如TCP协议,发送报文与设备进行协议交互,确认本协议可以完成协议链接、发送命令、传输数据的工作。

“connection state”链接状态

 new:  连接中的第一个包。
 established:  连接已经成功,开始发送命令,传输数据。
 related:  established进行中,需要增加业务的连接包。
 invalid:  没有状态,没有被识别的报文。
 untracked:  无法找到相关报文,未被追踪。

TCP协议

F : FIN - 结束; 结束会话
S : SYN - 同步; 表示开始会话请求
R : RST - 复位;中断一个连接
P : PUSH - 推送; 数据包立即发送
A : ACK - 应答
U : URG - 紧急
E : ECE - 显式拥塞提醒回应
W : CWR - 拥塞窗口减少

参考学习:
http://www.zsythink.net/archives/1597
https://blog.csdn.net/hunanchenxingyu/article/details/26577201

11月 16

vim插件安装

“git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
“vim +PluginInstall +qall

2月 02

ESP8266 python3 直接使用 gy-39 传感器

gy-39放在raspberry移动不太方便,耗电量也大,只为收集数据有点浪费,直接用esp8266。
ESP8266也烧成python环境。省略配置wifi部分。
将附件中lib上传,ESP8266的lib与rasbperry不同。
ESP8266接口图。

ESP8266 接口图


板子上的D1和D2对应的是ESP8266上的4,5脚,连接如图。

python3 bme280 max44009

到ESP8266查看硬件连接
>>> from machine import Pin, I2C
>>> i2c = I2C(scl=Pin(5), sda=Pin(4))
>>> i2c.scan()
[74, 118]
转换十六进制算一下,两个传感器已经都认到了,文档在raspberry pi连接GY-39文档中。
查看上传文件
>>> import os
>>> os.listdir()
[‘boot.py’, ‘bme280.py’, ‘max44009.py’]
测试传感器数据
>>> import machine
>>> import bme280
>>> i2c = machine.I2C(scl=machine.Pin(5), sda=machine.Pin(4))
>>> bme = bme280.BME280(i2c=i2c)
>>> print(bme.values)
(‘20.73C’, ‘1020.55hPa’, ‘24.31%’)
>>> import max44009
>>> lum = max44009.MAX44009()
>>> print(lum.luminosity())
3.06
一切正常。

在raspberry pi上做个简单http接口收集数据,代码如下:

ESP8266的调用传感器代码

ESP8266启动调用定时器,代码main.py。

raspberry日志上看跑了8个多小时,收集9千多次,应该是没有丢的情况,因为中间断了一小会。

电量使用43mha,每小时是5.3MHA。

充电宝3.7v 1800MHA电芯是10块左右。接在这板子上按照3秒测试、发送一次的速度是不能用15天。如果是5分钟发一次,是不是能用150天,电池这部分我不确定,我这个也没有稳压板。我这测试好像比网上测试的耗电量都低。

后续如果优化应该有3部分。
1)cpu频率按照计算量降到最低。
2)关闭没有用的端口。
3)优化代码,设计睡眠模式。
ESP8266的看门狗和自动重启结合使用防止宕机。
使用功能mqtt进行收发,此芯片用在物联网上相当不错。

esp6288-bme280-max44009源码

6月 22

tensorflow使用gpu

显卡1060,cpu i7 7700,16G内存。
CUDA_VISIBLE_DEVICES=1 只使用gpu1
CUDA_VISIBLE_DEVICES=0,1 只用gpu0和gpu1
CUDA_VISIBLE_DEVICES=”0,1” 加引号与不加引号作用相同
CUDA_VISIBLE_DEVICES=0,2,3 只用gpu0,gpu2,gpu3不适用gpu1
CUDA_VISIBLE_DEVICES=“” 使用cpu

开始测试
CUDA_VISIBLE_DEVICES=0 python xxxx.py

测试结果,CNN使用gpu速度提高大约5倍。但是lstm没有提高,在工作模式时CPU比GPU快3倍。

部分内容出处http://www.acceleware.com/blog/cudavisibledevices-masking-gpus