Exemple #1
0
def coap_message(message=None):
    protocol = yield from Context.create_client_context()

    if message is None:
        request = Message(code=POST, payload="Hello Twitter".encode('utf-8'))
        request.set_request_uri('coap://localhost/alive')
    else:
        request = Message(code=POST,
                          payload="twitter:{}".format(message).encode('utf-8'))
        request.set_request_uri('coap://localhost/server')

    try:
        yield from protocol.request(request).response
    except Exception as e:
        print('Failed to fetch resource:')
        print(e)
Exemple #2
0
async def _get_file(url, method=GET, payload=b''):
    protocol = await Context.create_client_context(loop=None)
    request = Message(code=method, payload=payload)
    request.set_request_uri(url)
    try:
        response = await protocol.request(request).response
    except Exception as e:
        code = "Failed to fetch resource"
        payload = '{}'.format(e)
    else:
        code = response.code
        payload = response.payload
    finally:
        await protocol.shutdown()

    LOGGER.debug('{}: {}'.format(code, payload))
    return code, payload
Exemple #3
0
def start_server():
    protocol = yield from Context.create_client_context()

    request = Message(code = Code.GET, mtype=aiocoap.CON)
    request.set_request_uri('coap://127.0.0.1/button')
    # set observe bit from None to 0
    request.opt.observe = 0

    def handle_notification(response):
        print("asdsadsa")
        print(response)
        import code; code.interact(local=dict(globals(), **locals()))

    protocol_request = protocol.request(request)
    protocol_request.observation.register_callback(handle_notification)
    protocol_request.observation.register_errback(handle_notification)
    response = yield from protocol_request.response
Exemple #4
0
def _coap_resource(url, method=GET, payload=b''):
    protocol = yield from Context.create_client_context()
    request = Message(code=method, payload=payload)
    request.set_request_uri(url)
    try:
        response = yield from protocol.request(request).response
    except Exception as e:
        code = "Failed to fetch resource"
        payload = '{0}'.format(e)
    else:
        code = response.code
        payload = response.payload.decode('utf-8')
    finally:
        yield from protocol.shutdown()

    logger.debug('Code: {0} - Payload: {1}'.format(code, payload))

    return code, payload
Exemple #5
0
def alive_message(args):
    path = args.path
    payload = args.payload,
    server = args.server

    protocol = yield from Context.create_client_context()

    if path == "alive":
        request = Message(code=POST, payload="Alive".encode('utf-8'))
        request.set_request_uri('coap://{}/{}'.format(server, path))
    else:
        request = Message(code=POST, payload=payload.encode('utf-8'))
        request.set_request_uri('coap://{}/server'.format(server))

    try:
        yield from protocol.request(request).response
    except Exception as e:
        print('Failed to fetch resource:')
        print(e)
Exemple #6
0
async def coap_request(url, method=POST, payload=b''):
    """Send a CoAP request containing an update notification."""
    logger.debug('Sending a CoAP request to url: {}'.format(url))
    context = await Context.create_client_context(loop=None)
    request = Message(code=method, payload=payload)
    request_uri = '{}://{}'.format(COAP_METHOD, url)
    request.set_request_uri(request_uri)
    try:
        response = await context.request(request).response
    except Exception as e:
        code = "Failed to fetch resource"
        payload = '{}'.format(e)
    else:
        code = response.code
        payload = response.payload.decode('utf-8')
    finally:
        await context.shutdown()

    logger.debug('{}: {}'.format(code, payload))
    return code, payload