OpenThread certification on Border Router - openthread

On the Thread Test Harness Software Installation and Quick Start Guide there is no mention regarding how to certificate a Border Router.
Always it is talking about the DUT, but it doesn't mention if the DUT is an end device, or a Border Router. We are not Contributor, or Sponsor in the Thread Group, so we don't have access to Thread Test Harness Software.
On OpenThread documentation:
For example, to build the CC2538 platform with DHCPv6 for use as a DUT in certification tests:
make -f example/Makefile-cc2538 BORDER_ROUTER=1 COMMISSIONER=1 DHCP6_CLIENT=1 JOINER=1
When OpenThread project claim that is Thread Certified on CC2538 device as Border Router or Full End Device, what does it mean exactly?

Thread devices may support a varying set of capabilities, including:
Sleepy End Device
Minimal End Device
Full Thread Device
Full End Device
On-Mesh Commissioner
Border Router
The Thread Certification Test specification includes a set of tests for each of the capabilities above. The set of tests applied to a DUT are selected based on the device's stated capabilities.
OpenThread has achieved certification on all of the capabilities above (and as listed on the certificate you linked).

Related

STM32 Virtual COM Port appears as Device in DFU Mode on Windows 10

So, my knowladge in embedded development is quite bad and now I am trying to receive some data from PC inside my MCu STM32F429IGT6 which is on WaveShare Core4X9I dev-board and send it back via USB Virtual COM Port.
I realized how to set up connection from MCu part and I even see connected device from Windows 10 Device Manager but... it appears as STM Device in DFU Mode
I have tryed already to install drivers from ST for such things but they are useless and official documentation says that they are not needed for Windows 10.
I have been following tutorials where guys just clicked several times inside Cube MX, generated code and VCP worked out of the box.
The question is what am I doing wrong? I don`t even know what information you might ask for thats why I created GitHub repo: https://github.com/dessy4oko/stm32f429-vcp-appears-as-dfu
And this is events from Device Manager of Windows 10 (translation from ru lang):
Device USB\VID_0483&PID_DF11\305233703237 is running. code 410
Device USB\VID_0483&PID_DF11\305233703237 is configured. code 400
Device USB\VID_0483&PID_DF11\305233703237 have not been moved due to partial or ambiguous matching. code 442
Device USB\VID_0483&PID_DF11\305233703237 requires further installation. code 430
Thank you for any information about my mistakes.
STM32 starts in DFU mode if BOOT-pins are pulled accordingly:
"System memory" means embedded bootloader, DFU in this case. You need "Main Flash" to run your app.
Check jumpers and switches on your board. Refer also to the AN2606 app note for complete information.

OpenThread Border Router setup on RPi Zero W

I am currently building a cost efficient Open Thread network. In my setup i have few Full thread devices and Minimal Thread Device which will be sending data to cloud via Border Router. I have currently setup a RCP design Open Thread Border Router on RPi 3B+ by following the open thread docs and its working fine.
Doc Link: Open Thread Border Router Build and Configuration
Now as i want my final product to be as cost efficient as it can be, i would like to consider using RPi Zero W for setting up my Open Thread Border Router. So i was following the same steps mentioned in OTBR doc to setup it on RPi Zero W, i came across this line in Step 3 which states " Before you continue, make sure your configured hardware platform is connected to the internet using Ethernet. The bootstrap script disables the platform's WiFi interface and the setup script requires internet connectivity to download and install several packages. "
But my RPi Zero W only have WiFi interface. So i wanted to know, is it even possible to run OTBR setup on RPi Zero W ?
I have also read in docs that "Open Thread Border Router (OTBR) provides support for the Raspberry Pi 3B or newer (RPi) platform". But have anyone tried the same setup on RPi Zero W and was successful ? Because in the end as i said, i would like my final product to be as cost effective as possible.
Also find the attachment of the error i am facing:
If you are not setting NETWORK_MANAGER=1 when running ./script/setup, I think it would work with just the Wi-Fi interface.
You can try running the following setup command:
INFRA_IF_NAME=wlan0 ./script/setup

How to implement cron jobs in react native?

I am new to react-native and implementing simple app where app will monitor the mobile's clock time and should set some flags so as to notify user to perform some task when he starts the app.
I want to continuously monitor mobile's clock time as a background job in the react native app such that, when user opens the app and if specific time has already passed, it should set some flag to take future decision.
After some research over blogs, I found that react-native-background-task and/or background-timers can be used. But I am finding difficulty in implementing it. Can anyone help me with the implementation example for the same.
Thank you in advance.
So, from your post I'm going to assume a few things. One being you'll develop on Android as well as iOS, you just want to use a plugin (not code a module yourself).
Unfortunately, unless I'm mistaken - there's no simple answer and I'll explain.
As Android and iOS go forward they are starting to limit usage of Apps in the background, specifically Android goes into 'Doze' mode and iOS works in a similar fashion.
For Android, you'll need to consider a few things and I'll concentrate on them, as you'll need to know this before actually creating a RN app.
Doze Mode
Starting from Android 6.0 (API level 23), Android introduces two
power-saving features that extend battery life for users by managing
how apps behave when a device is not connected to a power source. Doze
reduces battery consumption by deferring background CPU and network
activity for apps when the device is unused for long periods of time.
App Standby defers background network activity for apps with which the
user has not recently interacted.
While the device is in Doze, apps' access to certain battery-intensive
resources is deferred until maintenance windows. The specific
restrictions are listed in Power Management Restrictions.
Doze and App Standby manage the behavior of all apps running on
Android 6.0 or higher, regardless whether they are specifically
targeting API level 23. To ensure the best experience for users, test
your app in Doze and App Standby modes and make any necessary
adjustments to your code. The sections below provide details.
Cruically, you'll need to note:
The system does not allow sync adapters to run.
The system does not allow JobScheduler to run.
So firstly for android, you'll (probably) need to ensure your app is in a 'whitelist'. You can check the requirements of the list here:
https://developer.android.com/training/monitoring-device-state/doze-standby
Or, you can access the maintenance window with a plugin like here:
https://github.com/transistorsoft/react-native-background-fetch
Testing
Android give you some tools to do so, mainly running:
$ adb shell dumpsys battery unplug
$ adb shell am set-inactive <packageName> true
Headless JS
You can check out headless tasks, which could suit your situation:
https://facebook.github.io/react-native/docs/headless-js-android
Caveats:
Although Android state that the operating system itself acts like documented, devices themselves can have software built in which essentially kills background processes. Nokia is one of the worst. So be aware of this.

Geofence API Worklight

I'm developing a Worklight Application that uses Geofence APIs. everything is working on the Worklight web emulator but I dunno how to test this feature on a mobile device.
How can I test going inside a Geofence radius? can I emulate GPS coordinates?
Thanks,
You can use the emulation capabilities in Android (DDMS perspective when using the Eclipse ADT plugins), or in XCode (for iOS). Note that in Android, the timestamps used when manually giving data points start from midnight for the given date.
As mentioned by Srik in the comment above, there also exist additional applications which you can use to feed in mock geo locations (although you may need to turn on the Allow Mock Locations option in the developer settings area).

Why is the PDF download failing in a different environment (Galaxy Tab)?

We have an option to download PDF on our mobile website. PDF download is working in one environment, but not working in another environment in Samsung Galaxy tab.
In the environment where it is not working in the Galaxy tab, it's working absolutely fine in both iPad and Desktop. The pdf is generated and the "starting download" toast message also appears, but after that the download fails.
Has anyone faced this issue before?
OS version : 4.0.3
Browser. : Native android browser
I've looked into this a bit, and I found that it works ok when the downstream/upstream ratio of my internet connection is about 2:1, but it doesn't work when the ratio is 10:1. Based on that, I'd suggest that the Android end of the transport protocol isn't very good about adapting to highly asymmetric connections. The upstream path is used for acknowledgements, and a highly asymmetric path can interfere with the protocol - particularly when each end of the protocol is designed by different parties (and not thoroughly tested). All of your testing is consistent with this theory. And it is a known issue that transport protocols can sometimes fail to adapt adequately to asymmetric paths.