예제 #1
0
def main():
    picloud = HttpClient(
        url=PICLOUD_HTTP_URL,
        api_key=PICLOUD_API_KEY,
        client_name='THPL-Data-Reporter')
    ser = serial.Serial(SERIAL_PORT, SERIAL_RATE)
    while True:
        try:
            sensor_json = ser.readline()
            picloud.publish(event=PICLOUD_EVENT, data=sensor_json)
        except Exception as e:
            logging.exception(e)
            raise e
예제 #2
0
    def test_publish_subscribe(self):
        picloud_socket_url = os.getenv('PICLOUD_SOCKET_URL')
        picloud_http_url = os.getenv('PICLOUD_HTTP_URL')
        picloud_api_key = os.getenv('PICLOUD_API_KEY')

        socket_client = SocketClient(
            url=picloud_socket_url,
            api_key=picloud_api_key,
            client_name='Test-Client')

        def on_event(data):
            self.assertEqual(data, 'test')

        socket_client.subscribe(event='whatever', callback=on_event)
        socket_client.publish(event='whatever', data='test')
        socket_client.process_subscriptions()

        http_client = HttpClient(
            url=picloud_http_url,
            api_key=picloud_api_key,
            client_name='Test-Client')

        http_client.publish(event='whatever', data='test')
        socket_client.process_subscriptions()