python - <class 'socket.error'>([Errno 111] Connection refused) -
i'm working on home automation app using python, since migration local setup 2 physical machines(server, client) getting connection refused error:
traceback (most recent call last): file "/opt/web-apps/web2py/gluon/restricted.py", line 227, in restricted exec ccode in environment file "/opt/web-apps/web2py/applications/home_plugs/controllers/default.py", line 85, in file "/opt/web-apps/web2py/gluon/globals.py", line 393, in self._caller = lambda f: f() file "/opt/web-apps/web2py/gluon/tools.py", line 3440, in f return action(*a, **b) file "/opt/web-apps/web2py/applications/home_plugs/controllers/default.py", line 32, in toggle gpio.setup(light.onpin,gpio.output) file "applications/home_plugs/modules/gpioclient.py", line 23, in setup file "applications/home_plugs/modules/gpioclient.py", line 18, in send host = '192.168.1.79' file "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [errno 111] connection refused
server code:
#!/usr/bin/env python import socket import rpi.gpio gpio import sys import logging setup = chr(0) output = chr(1) gpio.setmode(gpio.board) def gpio_setup(data): pin,dir = ord(data[0]),ord(data[1]) gpio.setup(pin,dir) logging.gpioserverlog("setup" + str(pin) + str(dir)) return 0 def gpio_output(data): pin,val = ord(data[0]),ord(data[1]) gpio.output(pin,val) logging.gpioserverlog("out" + str(pin) + str(val)) return 0 if __name__=='__main__': host = '' port = 21567 bufsiz = 1024 addr = (host, port) serversock = socket.socket() serversock.bind(addr) serversock.listen(5) while 1: ret = none logging.gpioserverlog('waiting connection...') clientsock, addr = serversock.accept() logging.gpioserverlog('...connected from:' + str(addr)) data = clientsock.recv(bufsiz) if data[0] == setup: ret = gpio_setup(data[1:]) elif data[0] == output: ret = gpio_output(data[1:]) if ret: clientsock.send('thank conencting') clientsock.send(ret) clientsock.close() client code:
#!/usr/bin/env python # coding: utf8 import socket import struct setup_cmd = chr(0) output_cmd = chr(1) output = chr(0) input = chr(1) on = chr(1) off = chr(0) def send(data): sock = socket.socket() host = '192.168.1.79' port = 21567 sock.connect((host,port)) sock.send(data) sock.close def setup(pin,dir): data = struct.pack("ccc",setup_cmd,chr(pin),dir) send(data) def output(pin,val): data = struct.pack("ccc",output_cmd,chr(pin),val) send(data) machines: server - raspbian wheezy/python 2.7 client - centos 7/python 2.7
i have disabled firewalls ensure no blocking of connections. telnet works
i have test client.py script whihc works when ran client commandline:
#!/usr/bin/python # client.py file import socket # import socket module import gpioclient gpio import time gpio.setup(11,gpio.output) gpio.output(11,gpio.on) time.sleep(1) gpio.setup(11,gpio.input) any appreciated
any more information require please let me know
thanks in advance
turns out there 2 incorrect carriage returns in gpioclient.py
remove , working
Comments
Post a Comment