androidthings / cloud-iot-core-androidthings Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Hi,
We are working on a google IoT based native android application. Currently App is sending Keep alive every 1 min. We are trying to increase this period.
We are using Paho library for Native development. When we use the KEEPALIVE for default 60 seconds, it works fine. When we try to increase the time (5/10/15 mins), device get disconnected periodically and takes time to connect back
When we tried 5 mins, 10 mins & 15 mins KEEPALIVE values, then we never see PINGREQ in IoT server logs
We are seeing 2 errors regard to the disconnects:
a: The connection broke or was closed by client
b: SERVER: The connection was closed because there is another active connection with the same device ID.
Note: We don't have the duplicate device listed in IoT core when we receive the "connection closed due to same device ID" error.
QoS value: Default channel is available with IoT registry, but we are publishing the messages from Server to Devices as command. So no QoS being set from device side while making MQTT connection.
Note:
With 15 mins keep alive
1. Client app sent a PINGREQ, say at 00 Hrs. This PINGREQ never reaches to IoT Core server
2. For IoT core server, MQTT idle time (without heartbeat or message) is 20 mins. As IoT core Server never receive PINGREQ from client app (we are not seeing the PINGREQ in device registry log), it closes the connection after 0020 Hrs
3. Client app, after sending PINGREQ at 00 Hrs, waiting for PINGRESP. It never receives the PINGRESP from server, and closes the connection at 0030 Hrs.
4. Client app tries to reconnect again immediately after 0030 Hrs.
5. Client app never gets any disconnect message from server when server disconnect the MQTT connection at #2
With 10 mins keep alive
1. Disconnects every 20 mins & then takes 5 mins to connect back
2. Not seeing any PINGREQ in IoT core
3. Paho library at client throws error "Client timed out while waiting for a response from the server. The server is no longer responding to keep-alive messages." and then connects back again.
4. When server disconnects the client, client never gets notified.
Client app is using the IotCoreClient class to manage the connection/reconnection. The connection/reconnection logic is being done by IotCoreClient class which is in cloud-iot-core-androidthings' library.
Any suggestions?
Thanks,
Rahul
It may make sense to add support for the Gateways feature to this client.
Hello:
Adding implementation 'com.google.android.things:cloud-iot-core:1.0.0' as suggested results in:
Failed to resolve: com.google.android.things:cloud-iot-core:1.0.0
Add Google Maven repository and sync project
Show in Project Structure dialog
Affected Modules: app
This issue occurs in android studio and not in IntelliJ IDEA... any clues?
Is this the expected behavior that onConfigurationChanged gets called multiple times (twice from my testing) when you first connect to the mqtt server?
I know you are suppose to get the current configuration when you connect to IoT core but I always get it twice right in a row. After the initial 2x call I get them only when they change the configuration like I should.
Possible bug?
I can't use the cloud-iot-core-androidthings with the firebase packages, the error i get is :
Error: Program type already present: androidx.core.app.NavUtils
I'm try to use the package with the firebase packages :
/** Firebase Stuff */
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.firebase:firebase-database:16.0.5'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.