Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.26 KB | None | 0 0
  1. ///INIT
  2.  
  3. #!/bin/bash
  4. FAILS=0
  5. SERVER="pislave.local"
  6.  
  7. test=$(cat /sys/class/net/wlan0/carrier)
  8. if [ $test -eq '1' ]
  9. then
  10. while true; do
  11.     ping -c 1 $SERVER >/dev/null 2>&1
  12.     if [ $? -ne 0 ] ; then #if ping exits nonzero...
  13.         echo "Waiting for slave"
  14.     else
  15.         FAILS=0
  16.     echo "RUNNING"
  17.     sudo python ./server.py
  18.     break
  19.     fi
  20. done
  21.  
  22. fi
  23. if [ $test -eq '0' ]
  24. then
  25. echo "RUNNING CONFIG"
  26. sudo python ./wificonfig.py
  27. fi
  28.  
  29. ///WIFICONFIG PY
  30.  
  31. from bluetooth import *
  32. import subprocess
  33. import os
  34. import time
  35. server_sock=BluetoothSocket( RFCOMM )
  36. server_sock.bind(("",PORT_ANY))
  37. server_sock.listen(1)
  38.  
  39. port = server_sock.getsockname()[1]
  40.  
  41. uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
  42.  
  43. advertise_service( server_sock, "SampleServer",
  44.                    service_id = uuid,
  45.                    service_classes = [ uuid, SERIAL_PORT_CLASS ],
  46.                    profiles = [ SERIAL_PORT_PROFILE ],
  47. #                   protocols = [ OBEX_UUID ]
  48.                     )
  49.                    
  50. print("Waiting for connection on RFCOMM channel %d" % port)
  51. while True:
  52.     subprocess.Popen(['./wifireset.sh'])    
  53.     client_sock, client_info = server_sock.accept()
  54.     print("Accepted connection from ", client_info)
  55.  
  56.     try:
  57.         data = client_sock.recv(1024)
  58.         if len(data) == 0: break
  59.         if len(data) > 1:
  60.             ssid = data
  61.         else:
  62.             break
  63.         data = client_sock.recv(1024)
  64.         if len(data) == 0: break
  65.         if len(data) > 1:
  66.             password = data
  67.         else:
  68.             break
  69.         if len(password) > 8:
  70.             process = subprocess.Popen(['./wificonfig.sh', ssid, password])
  71.         time.sleep(10)
  72.         tmp = os.popen("cat /sys/class/net/wlan0/carrier").read()
  73.         print (tmp)
  74.         if tmp[0] == '1':
  75.             break
  76.     except IOError:
  77.         pass
  78.  
  79. print("disconnected")
  80.  
  81. client_sock.close()
  82. server_sock.close()
  83. print("all done")
  84.  
  85.  
  86. ///WIFICONFIG SH
  87.  
  88. #! /bin/bash
  89. wpa_passphrase "$1" "$2" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf > /dev/null
  90. sudo wpa_cli -i wlan0 reconfigure
  91.  
  92. ///WIFIRESET SH
  93. #! /bin/bash
  94. sudo cp /etc/wpa_supplicant/wpa_supplicant.backup /etc/wpa_supplicant/wpa_supplicant.conf
  95. sudo service networking restart
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement