simple python code when @ simplnano
code:
import serial,time,itertools try:
ser=serial.Serial(2,115200,timeout=0)
except:
print 'Open COM2 Failed!!' #transno=(1,100,500,1380,1381)
#transno=(1,20)
indexsets=[[0],[1],[2],[3],[0,1],[0,2],[0,3],[1,2],[1,3],[2,3],[0,1,2],[0,1,3],[0,2,3],[1,2,3],[0,1,2,3]]
indexsets=[[0,1,3],[0,1,2]]
#indexsets_ts=[] def gene():
for n in range(1,5):
indexsets_ts+=list(itertools.combinations([0,1,2,3],n)) #forget what is itertool now
return indexsets_ts #sig functions
def sigsnd():
for actmod in ('diract','apnact'):
act(actmod)
for connmod in ('TCP','UDP'):
conn(connmod)
connt=0
for dismod in ('dirsht','closht'):
for sndmod in ('uctl','fixl'):
snd(sndmod)
dis(dismod)
if connt<1:
conn(connmod)
connt+=1 def init():
swrt(chr(0x27),1)
swrt('\r\n',1)
ser.write('+++')
swrt('\r\n',1)
def shutConn():
swrt('at+cipshut',4)
def cloShut():
swrt('at+cipclose',4)
swrt('at+cipshut',4)
def cipmod():
swrt('at+cipmode=0',2)
def olmod():
swrt('at+cipmode=1',2)
def muxmod():
swrt('at+cipmux=1',2)
def sigmod():
swrt('at+cipmux=0',2)
def srd():
srd=ser.readlines()
for line in srd:
print line
fid=open('tcp_snd.log','a')
fid.write(line)
fid.close()
return srd
def swrt(atcmd_str,wt):
#fid=open('tcp_snd.log','a')
#fid.write(atcmd_str)
#fid.close()
ser.write(atcmd_str+'\r\n')
time.sleep(wt)
srd()
def wrtmsg(transtr,wstm):
ser.write(transtr+chr(0x1a))
time.sleep(wstm)
srd()
def act(actmod):
if actmod=='apnact':
swrt('at+cstt="CMNET","",""',2)
swrt('at+ciicr',4)
if actmod=='diract':
pass
def conn(connmod):
if connmod=='TCP':
swrt('at+cipstart="TCP","124.205.119.38",1562',6)
if connmod=='UDP':
swrt('at+cipstart="UDP","124.205.119.38",1562',6)
def snd(sndmod):
if sndmod=='uctl':
for tran in transno:
for n in range(2):
swrt('at+cipsend',1)
wrtmsg(tran*'v',8)
if sndmod=='fixl':
for tran in transno:
for n in range(2):
swrt('at+cipsend='+str(tran),1)
wrtmsg(tran*'v',8)
def dis(dismod):
if dismod=='dirsht':
shutConn()
if dismod=='closht':
cloShut() #online mode function
def modTs():
for actmod in ('diract','apnact'):
act(actmod)
for connmod in ('TCP','UDP'):
print connmod
conn(connmod)
connt=0
for dismod in ('dirsht','closht'):
print dismod
olsnd()
dis(dismod)
print dismod
if connt<1:
conn(connmod)
connt+=1 def olsnd():
for rtm in range(2):
for tran in transno:
swrt(tran*'v',1)
nmipmd()
ato()
nmipmd()
def ato():
swrt('ato',2)
def nmipmd():
ser.write('+++')
time.sleep(3)
srd() #mux-mode functions indset=[0,1,3]
def muxTS(indset):
for actmod in ('diract','apnact'):
act(actmod)
for dismod in ('dirsht','closht'):
for x in range(2**len(indset)):
binstr=bin(int(str(x),10))[2:].rjust(len(indset),'')
typset=[]
for nc in binstr:
if nc=='':
typset.append('"TCP"')
else:
typset.append('"UDP"')
for ind in range(len(indset)):
constr='at+cipstart='+str(indset[ind])+','+typset[ind]+',"124.205.119.38",1562'
swrt(constr,7)
print 'wrt done' ##connect OK
for sndmod in ('uctl','fixl'):
for index in indset:
print indset,index
for tran in transno:
for n in range(2):
if sndmod=='uctl':
swrt('at+cipsend='+str(index),1)
wrtmsg(tran*'v',15)
else:
swrt('at+cipsend='+str(index)+','+str(tran),1)
wrtmsg(tran*'v',15)
dis(dismod) sndmod=''
def muxmod():
swrt('at+cipmux=1',2) def muxsnd(indset):
for index in indset:
print indset,index
for tran in transno:
for n in range(5):
if sndmod=='uctl':
swrt('at+cipsend='+str(index),1)
wrtmsg(tran*'v',15)
else:
swrt('at+cipsend='+str(index)+','+str(tran),1)
wrtmsg(tran*'v',15) #sigle-mode Ts
init()
shutConn()
cipmod()
sigmod()
sigsnd() #online-mode Ts
init()
shutConn()
cipmod()
sigmod()
olmod()
modTs() #mux-mode Ts
init()
shutConn()
cipmod()
sigmod()
muxmod()
[muxTS(indset) for indset in indexsets] init()
shutConn()
ser.close()
simple python code when @ simplnano的更多相关文章
- Exploring Python Code Objects
Exploring Python Code Objects https://late.am/post/2012/03/26/exploring-python-code-objects.html Ins ...
- 机器学习算法实现(R&Python code)
Machine Learning Algorithms Machine Learning Algorithms (Python and R) 明天考试,今天就来简单写写机器学习的算法 Types Su ...
- How to run Python code from Sublime
How to run Python Code from Sublime,and How to run Python Code with input from sublime Using Sublime ...
- 46 Simple Python Exercises (前20道题)
46 Simple Python Exercises This is version 0.45 of a collection of simple Python exercises construct ...
- Python code 提取UML
Python是一门支持面向对象编程的语言,在大型软件项目中,我们往往会使用面向对象的特性去组织我们的代码,那有没有这样一种工具,可以帮助我们从已有代码中提取出UML图呢?答案是有的.以下,我们逐个介绍 ...
- PEP 8 – Style Guide for Python Code
原文:PEP 8 – Style Guide for Python Code PEP:8 题目:Python代码风格指南 作者:Guido van Rossum, www.yszx11.cnBarry ...
- 46 Simple Python Exercises-Very simple exercises
46 Simple Python Exercises-Very simple exercises 4.Write a function that takes a character (i.e. a s ...
- Change the environment variable for python code running
python程序运行中改变环境变量: Trying to change the way the loader works for a running Python is very tricky; pr ...
- python code
执行动态语句 执行字符串中的代码 http://www.cnblogs.com/fanweibin/p/5418817.html #!usr/bin/env python #coding:utf-8 ...
随机推荐
- ThinkPHP的cookide保存二维数组的方法
ThinkPHP中的cookie是不支持二维数组的. 如果要保存二维数组.只能特殊处理 $data[263] = array('gid'=>263,'num'=>1); $data[266 ...
- lvs简单配置
负载均衡服务器将会用到两块网卡,eth0为公网地址(此处将局域网ip作为公网地址),IP地址为192.168.1.104,eth0:1,IP地址为192.168.2.1在负载均衡器上添加一个ip别名, ...
- PHP5.4安装xhprof扩展[不要去pecl下载]
HP5.3或之前版本可以去pecl(http://pecl.php.net)下载xhprof扩展安装. 但pecl上的版本不支持PHP5.4 可以到github上的xhprof库中下载:https:/ ...
- cookie 操作
//创建并赋值 重新赋值也是这样操作 document.cookie="userId=828"; document.cookie="userName=hulk" ...
- CentOS_6.5安装Nginx+PHP+MySQL
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # Ch ...
- Day09
Servlet概述 生命周期方法: void init(ServletConfig):出生之后(1次): void service(ServletRequest request, ServletRes ...
- JS获取Cookie值
function GetLoginCookie() { var userCookie = getCookie("mycookie"); var loginname = userCo ...
- FW docker使用问题总结,解决国内不能访问gcr.io的问题
docker使用问题总结 解决国内不能访问gcr.io的问题 国内可以通过https://dashboard.daocloud.io来下载. 比如?gcr.io/google_containers/p ...
- 通过nginx配置文件抵御攻击
通过nginx配置文件抵御攻击 囧思九千 · 2013/11/12 12:22 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击 ...
- HBase的几种调优(GC策略,flush,compact,split)
一:GC的调优 1.jvm的内存 新生代:存活时间较短,一般存储刚生成的一些对象 老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象 永久代:一般存储meta和class的信息 2.GC策略 ...