在ubuntu

时间:2015-06-07 22:30:27

标签: sockets python-2.7 ubuntu raspberry-pi rssi

我使用Raspberry Pi和Ubuntu创建了一个客户端服务器模型。 RPi是客户端,Ubuntu是服务器。正在运行的服务器,Rpi向服务器发送请求,Ubuntu服务器响应Rpi(这是一个确认)。这是使用Python中的套接字编程完成的。

现在已连接Rpi和Ubuntu,我想生成此连接的RSSI值。即客户端(Rpi)向Ubuntu服务器发送消息,一旦Ubuntu服务器从客户端收到消息,我想在ubuntu服务器和Rpi中读取信号强度(rssi)。

客户端(在Raspberry Pi上)

 `    #!/bin/bash

import socket
import os

def Main():
    host = '192.168.2.213'
    port = 5001

    server = ('192.168.2.1', 5000)

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.bind((host,port))

    message = raw_input("-> ")
    for x in range(1,11):
            cmd = "iwconfig wlan1 station dump |grep -i signal | awk -F '{print $4}' | awk -F'=' {print $1}"
    while message != 'q':
            s.sendto(message, server)
            data, addr = s.recvfrom(1024)
            print 'Received from Alice :' + str(data)
            message = raw_input("-> ")
    for x in range(1,11):
            cmd = "iwconfig wlan1 station dump |grep -i signal | awk -F '{print $4}' | awk -F'=' {print $1}"
    s.close()

if __name__ == '__main__':
       Main()

服务器(Ubuntu)

#!/usr/bin/python 


import socket
import os


def Main():
    host = '192.168.2.1'
    port = 5000

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.bind((host, port))

    print "ALICE Started."
    while True:
            data, addr = s.recvfrom(1024)
            print "address of bob : " + str(addr)
            print "message from bob : " + str(data)
            data = str(data).upper()
            print "sending : " + str(data)
        for x in range (1,11):
                cmd = "iw wlan1 station dump | grep -i signal | /usr/bin/awk '{print $2}' | /usr/bin/cut -d'=' -f2"
                    dbm = int( os.popen( cmd ).read() )
            print " recieved RSSI: " + str(addr)
            s.sendto(data, addr)
    s.close()
if __name__  == '__main__':
        Main()

要生成RSSI值,我尝试使用iwconfig(python)查看无线设备并将信号转储到cmd变量中。在运行代码时,我没有在CLient或Server上收到任何运行时错误。

如果我朝着正确的方向获取RSSI值,任何人都可以指导我。

感谢。

0 个答案:

没有答案