I am using Python3 modules:
requestsfor HTTP GET calls to several partial photons that are configured as simple HTTP servers
As a client, I use Raspberry Pi (which is also an access point) as an HTTP Client , which uses HTTP GET resquests for the above photons multiprocessing.dummy.Poolto create
The polling procedure is as follows:
def pollURL(url_of_photon):
"""
pollURL: Obtain the IP Address and create a URL for HTTP GET Request
@param: url_of_photon: IP address of the Photon connected to A.P.
"""
create_request = 'http://' + url_of_photon + ':80'
while True:
try:
time.sleep(0.1)
response = requests.get(create_request)
if response.status_code == 200:
with open('temp_data_dump', 'a+') as jFile:
json.dump(response.json(), jFile)
else:
break
except KeyboardInterrupt as e:
print('KeyboardInterrupt detected ', e)
break
Values url_of_photonare simple IPv4 addresses obtained from a file dnsmasq.leasesavailable on the Pi.
Function main():
def main():
IP_addresses = []
MAC_addresses = []
with open('/var/lib/misc/dnsmasq.leases', 'r') as leases_file:
for lines in leases_file:
fields = lines.strip().split()
print('Photon with MAC: %s has IP address: %s' %(fields[1],fields[2]))
IP_addresses.append(fields[2])
MAC_addresses.append(fields[1])
pool = ThreadPool(len(IP_addresses))
results = pool.map(pollURL, IP_addresses)
pool.close()
pool.join()
if __name__ == '__main__':
main()
Problem
, CTRL + C, . , - CTRL + \
pollURL , .. poll.join(), ?
KeyboardInterrupt . , CTRL + \.