avsystem / anjay-zephyr-client Goto Github PK
View Code? Open in Web Editor NEWAnjay Zephyr LwM2M client.
License: Apache License 2.0
Anjay Zephyr LwM2M client.
License: Apache License 2.0
I managed to successfully connect an Nordic Thingy:91
with the latest Anjay LwM2M Client stack to the CoioteDM platform.
But then it suddenly lost the connection with the following error.
<wrn> anjay_zephyr_gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
<inf> anjay_zephyr_lwm2m: Anjay is now offline
<inf> anjay: [anjay] servers reloaded
<wrn> anjay: [anjay] transport required for protocol coaps is not supported or offline
After rebooting the device, the connection worked again, but I would like to know what happened and if this is reliable?
I'm using: A coaps URI, with PSK, and no bootstrap with default GNSS settings:
anjay config set lifetime 50
anjay config set bootstrap n
anjay config set security_mode psk
anjay config set gps_prio_mode_timeout 300
anjay config set gps_prio_mode_cooldown 1800
Any ideas of potential issues?
Maybe it would be a good idea to be able to disable BT and GPS from anjay when not in use?
There are 4 sub-directories with apparently (?) different demo clients, but no description to what the different demos actually does.
Currently, the demo version is not working for the board nrf7002dk_nrf5340_cpuapp
at version 23.11.
Steps to reproduce:
git clone [email protected]:AVSystem/Anjay-zephyr-client.git
cd Anjay-zephyr-client/demo
west init -l .
west config manifest.path demo
west config manifest.file west-nrf.yml
west update -o=--depth=1 -n
west build -p always -b nrf7002dk_nrf5340_cpuapp
west flash --erase
minicom -D /dev/ttyACM1
anjay stop
anjay config set wifi_ssid 'SSID'
anjay config set wifi_password 'PSSWD'
anjay start
Result:
Attempt to start Anjay
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
Anjay started
[00:01:04.525,665] <inf> anjay_zephyr_lwm2m: Saving config
[00:01:04.529,266] <inf> anjay_zephyr_config: Configuration successfully saved
[00:01:04.529,266] <inf> anjay_zephyr_lwm2m: Starting Anjay
[00:01:04.530,181] <inf> anjay_zephyr_lwm2m: Connecting to the network...
[00:01:10.786,651] <inf> net_dhcpv4: Received: 192.168.1.110
[00:01:10.787,719] <inf> anjay_zephyr_lwm2m: Connected to network
[00:01:11.010,101] <inf> anjay_zephyr_lwm2m: Time synchronized
[00:01:11.010,162] <inf> anjay: [anjay] Initializing Anjay 3.6.1
[00:01:11.012,176] <inf> anjay: [anjay_dm] successfully registered object /0
[00:01:11.012,298] <inf> anjay: [anjay_dm] successfully registered object /1
[00:01:11.012,359] <inf> anjay: [anjay_dm] successfully registered object /3
[00:01:11.012,481] <inf> anjay: [anjay_dm] successfully registered object /3347
[00:01:11.012,756] <inf> anjay: [anjay_dm] successfully registered object /3311
[00:01:11.013,000] <inf> anjay: [security] Added instance 0 (SSID: 1, URI: coaps://eu.iot.avsystem.cloud:5684)
[00:01:11.013,153] <inf> anjay: [server] Added instance 0 (SSID: 1)
[00:01:11.013,214] <inf> anjay_zephyr_lwm2m: Successfully created thread
[00:01:11.013,214] <inf> anjay_zephyr_lwm2m: Anjay is now online on bearer 0
[00:01:11.014,282] <inf> anjay: [anjay] servers reloaded
[00:01:11.014,770] <inf> anjay: [anjay] server /0/0: transport change: (none) -> U (uri: coaps://eu.iot.avsystem.cloud:5684)
[00:01:11.172,607] <wrn> anjay: [avs_net] Could not restore session; performing full handshake
[00:01:11.172,637] <err> anjay: [avs_net] handshake failed: -60
[00:01:11.176,910] <err> anjay: [anjay] could not connect to eu.iot.avsystem.cloud:5684
[00:01:11.177,612] <inf> anjay: [anjay] servers reloaded
Expected (same as version 23.09.1):
[00:00:09.763,275] <inf> anjay: [anjay] Register sent
[00:00:12.726,470] <wrn> anjay: [anjay] server responded with 4.00 Bad Request (expected 2.01 Created)
[00:00:12.726,470] <wrn> anjay: [anjay] could not register to server 1
[00:00:12.731,414] <inf> anjay: [anjay] servers reloaded
Hi,
I was just trying out the latest Anjay Demo client on a Nordic Thingy:91
.
However, I found it very non-intuitive and hard to work with from the terminal, compared to other solutions.
For an example of a great working terminal shell, please flash the latest Nordic "Modem Shell" called:
thingy91_modem_shell_2023-06-01_0677b099.hex
from [1].
Some of the issues I encounter and would like to help fix/improve are:
help
command info and formatting.anjay config show
info.GNSS/GPS
from the anjay shell. (Similar to link funmode --gnssoff
in [1].)NB-IoT
and LTE-M
from the anjay shell.Bluetooth
from within the anjay shell.anjay status
command mimicking the "link status
" command from [1].public_cert, private_key
.References:
[1] - Nordic Thingy:91 Modem Downloads.
[2] - Lost LTE Connection due to LTE/GPS competition
How can I help you contribute to this?
In the files:
demo/src/utils.c
ei_demo/src/utils.c
minimal/src/utils.c
the memset()
function calls should probably be like this:
memset(out_id->value, 0, sizeof(out_id->value));
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.