⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webtable.py

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 PY
字号:
#!/usr/bin/pythonimport socket, signal, sys, atexit, os, threading, thread, termios, struct, timeimport xml.sax.handlerimport getpropsimport makepageimport neteventsimport mst_handlerclass client:    def handle_event(self, data, eventid, tv):        # unpack the node id        tmp = struct.unpack("!i", data[0:4])        node = tmp[0]        # index past node id        data = data[4:len(data)]        # check for existing node information        if nodelist.has_key(node):            # check for packet by this id            nodeidlist = nodelist[node]            if nodeidlist.has_key(str(eventid)):                nodedict = nodeidlist[str(eventid)]            else:                nodedict = {}        else:            nodeidlist = {}            nodedict = {}        # check for type in list        if not events.eventIsRegistered(eventid):            print 'unknown type'            return        # retrieve list of names and pack string        pkstr = events.getPackString(eventid)        names = events.getNames(eventid)        # unpack the sent data        data = struct.unpack("!" + pkstr, data)        new_node_dict = {}        # store the values in a dictionary        for i in range(len(names)):            new_node_dict[names[i]] = data[i]        if eventid == 9:            mst_handler.mst_handler(new_node_dict, nodedict)        # store the time val in the dictionary        nodedict['tv'] = tv;        # store the values in a dictionary        for i in range(len(names)):            nodedict[names[i]] = data[i]        # associate the dictionary with the node        nodeidlist[str(eventid)] = nodedict        nodelist[node] = nodeidlist;        mst_handler.mst_tally(nodelist)    # write the webpage    def show_data(self):        mypage = makepage.MakePage()        mypage.WritePage(nodelist, events)    # listen for incoming data on connected socket    def client_thread (self):        global nodelist        nodelist = {}        while 1:            data, type, tv = nethandler.listen()            # handle the retrieved data            self.handle_event(data, type, tv)            # display the data            self.show_data()    def __init__ (self):        global events        events = getprops.EventListHandler()        events.readTypes()        global nethandler        nethandler = netevents.netevents()        print ("---MOS Webtable Client---")        print ("Waiting for data.")        self.client_thread()myclient = client()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -