import socket, select import RPi.GPIO as GPIO import time # def sendBit(pinState): if pinState==0: GPIO.output(pinData, 0) else: GPIO.output(pinData, 1) GPIO.output(pinClock, 0) time.sleep(sleepInterval) GPIO.output(pinClock,1) time.sleep(sleepInterval) # def sendArray(args): GPIO.setmode(GPIO.BCM) # , ( 1) GPIO.setup(pinData,GPIO.OUT, initial=GPIO.HIGH) GPIO.setup(pinClock,GPIO.OUT, initial=GPIO.HIGH) # 0 GPIO.output(pinData, 0) GPIO.output(pinClock, 0) time.sleep(sleepInterval) GPIO.output(pinClock,1) time.sleep(sleepInterval) # for v in args: sendBit(v) # - GPIO.output(pinData, 1) GPIO.output(pinClock, 0) time.sleep(sleepInterval*2) GPIO.output(pinClock,1) time.sleep(sleepInterval*200) GPIO.cleanup() pinClock=4 pinData=15 sleepInterval=0.00020 CONNECTION_LIST = [] RECV_BUFFER = 4096 PORT = 8928 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # this has no effect, why ? server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server_socket.bind(("0.0.0.0", PORT)) server_socket.listen(10) CONNECTION_LIST.append(server_socket) print " " + str(PORT) while 1: read_sockets,write_sockets,error_sockets = select.select(CONNECTION_LIST,[],[]) for sock in read_sockets: if sock == server_socket: sockfd, addr = server_socket.accept() CONNECTION_LIST.append(sockfd) else: try: data = sock.recv(RECV_BUFFER) i=0 scanCode=[] print " :"+data for bukva in data: if bukva=="1": scanCode.append(int(1)) else: scanCode.append(int(0)) i=i+1 sendArray(scanCode) sendArray([0,0,0,0,1,1,1,1,1]) sendArray(scanCode) sock.close() CONNECTION_LIST.remove(sock) except: sock.close() CONNECTION_LIST.remove(sock) continue server_socket.close()
import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.GpioPinDigitalOutput; import com.pi4j.io.gpio.PinState; import com.pi4j.io.gpio.RaspiPin; import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent; import com.pi4j.io.gpio.event.GpioPinListenerDigital; import com.pi4j.io.gpio.GpioPinDigitalInput; import com.pi4j.io.gpio.PinPullResistance; import java.net.ServerSocket; import java.net.Socket; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; class controller { private static int[] sc1 = {0,0,0,0,1,1,1,1,1}; //F0h private static int port = 8928; public static GpioController gpio=GpioFactory.getInstance(); public static GpioPinDigitalOutput pinClock = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07,"Com1", PinState.HIGH); public static GpioPinDigitalOutput pinData = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_16,"Com2", PinState.HIGH); public static void main(String[] args) throws IOException { // ServerSocket server=null; try { server = new ServerSocket(port); } catch (IOException e) { System.err.println("Could not listen on port:"+port); System.exit(1); } Socket client = null; System.out.println(" !"); while (true) { try { client = server.accept(); BufferedReader in = new BufferedReader (new InputStreamReader (client.getInputStream())); String line; while ((line = in.readLine())!=null) { if (line.indexOf("exit")>-1) { return; } else { // int[] buf=new int[9]; for (int i=0; i<9;i++) { buf[i]=Integer.parseInt(line.substring(i,i+1)); } System.out.println(" : "+line);// signal(buf); // F0h signal(sc1); // signal(buf); PrintWriter out = new PrintWriter (client.getOutputStream(), true); out.print("finished\r\n"); out.flush(); } } } } catch (IOException e) { client.close(); System.out.println("Shutdown gpio controller"); } } } // static private void setPin(GpioPinDigitalOutput pinObj,int signalByte) { if (signalByte==0) { pinObj.low(); } else { pinObj.high(); } } // static private void signal(int[] bits) { int sleepInterval=1; // - setPin(pinData,0); setPin(pinClock,0); sleeper(sleepInterval); setPin(pinClock,1); sleeper(sleepInterval); // for (int i=0; i<9; i++) { setPin(pinData,bits[i]); setPin(pinClock,0); sleeper(sleepInterval); setPin(pinClock,1); sleeper(sleepInterval); } // - setPin(pinData,1); setPin(pinClock,0); sleeper(sleepInterval*2); setPin(pinClock,1); sleeperM(1); } // static private void sleeper(int i) { try { Thread.sleep(0,i); } catch(InterruptedException e) { System.out.println("Sleepin errore"); } } // . static private void sleeperM(int i) { try { Thread.sleep(i); } catch(InterruptedException e) { System.out.println("Sleepin errore"); } } }
import java.net.ServerSocket; import java.net.Socket; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.Scanner; class tcpClient { private static int port = 8928; public static void main (String[] args) throws IOException { String host="localhost"; Socket server; PrintWriter out=null; Scanner sc= new Scanner (System.in); System.out.println("Input host adress:"); host=sc.nextLine(); System.out.println("Connecting to host "+host+"..."); try { server = new Socket(host,port); out = new PrintWriter (server.getOutputStream(), true); } catch (IOException e) { System.err.println(e); System.exit(1); } System.out.println("Connected!"); BufferedReader stdIn = new BufferedReader (new InputStreamReader(System.in)); String msg; while ((msg = stdIn.readLine()) != null) { out.println(msg); } } }
Source: https://habr.com/ru/post/234939/
All Articles