opendroneid / receiver-android

Example Android receiver application for unmanned aircraft Remote ID
Apache License 2.0
204 stars 62 forks source link

Supported Smartphones: two additions, two updates #13

Closed janusw closed 3 years ago

janusw commented 3 years ago

I have tried a range of hardware that I have access to and updated the list accordingly:

I could only do the two "simple" tests (using the nRF Connect and AIDA64 apps), since I currently have no access to a device/drone which can transmit OpenDroneID messages, and I only found one smartphone that supports Bluetooth 5 Long Range Advertising (namely the Zenfone).

I do have access to a laptop (Linux-based) with Bluetooth 5 support (Dell XPS 13 with Qualcomm QCA6174 chip). If anyone can tell me how to set this up as a Bluetooth 5 Long Range Advertising transmitter, I could test the reception on the Zenfone.

janusw commented 3 years ago

Btw, do you want me to provide screenshots as proof? And if I do, can I put a check mark into the "proof" column?

friissoren commented 3 years ago

Thanks a lot for helping figuring out the phone support for remote ID.

Currently I am not aware of any SW that can transmit a Bluetooth test signal from a PC. This should in theory be possible to do but would require some work.

I think we are still trying to figure out how the screenshot proof setup should work. Lukas is looking into that. For the time being, I think we will trust you :-)

janusw commented 3 years ago

Thanks a lot for helping figuring out the phone support for remote ID.

You're welcome! The list is quite useful for anyone who wants to work with Direct Remote ID.

Currently I am not aware of any SW that can transmit a Bluetooth test signal from a PC. This should in theory be possible to do but would require some work.

Is there any kind of reference implementation for the transmitter side in the works already?

At https://www.opendroneid.org/code/ I read: "Transmit-side code will soon be published ..."

Is there an estimate for what is meant by "soon", and which platforms will be covered?

I think we are still trying to figure out how the screenshot proof setup should work. Lukas is looking into that. For the time being, I think we will trust you :-)

Alright, thanks for the trustfulness, then :)

I can provide screenshots anytime, if necessary ...

friissoren commented 3 years ago

I apologize for the the www.opendroneid.org website not really being up-to-date. The sad truth is that getting permission from the Intel lawyers etc. to open source a project is a very long process and it turned out that for the CC2640 transmitter implementation I have earlier created, the SW license from TI made it impossible to share the code.

Having a CC2640 and/or nRF52480 transmitter example implementation as open source is something that I have hoped for quite some time that someone would be willing to create and open source, but so far, no luck.

For the ESP32, a link to an example implementation is given in the core-c project: https://github.com/opendroneid/opendroneid-core-c And it looks like the ESP32-C3 and the ESP32-S3 will both support LR and EA: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf

janusw commented 3 years ago

@friissoren It seems you are mostly talking about low-level implementations for specific hardware that might be used on specialized hook-on-devices or actual drones, right?

But what about, for example, Direct Remote ID transmitter implementations that run on standard Android phones? Such implementations could be used as a kind of "simulator" for Remote ID messages, in order to test the receiver application. Are you aware of anything in that direction? In the present situation, what would be the easiest way to generate Remote ID messages on Android (if not via Bluetooth 5 Long Range, then at least via Bluetooth 4)?

Wouldn't it be a good idea to add such a transmitter capability to the Android receiver app, so it could (optionally) also act as a "drone simulator" and transmit data to other instances of the app? I imagine that this might be very useful for testing and experimenting. Do you agree?

friissoren commented 3 years ago

Interesting idea. That has not occurred to me earlier. I guess it is possible somehow, since that is in a sense what the nRF application is doing. A study of the Android API would be needed to figure out whether it is possible to set the correct UUID identifier data in the beginning of the payload data.

However, in the context of identifying phone capabilities, this doesn't really remove the need for a second transmitter phone that supports Long Range and Advertising Extensions since you would just be replacing the nRF transmitter app with the opendroneid app?

For general development of the app, this could be useful for people that don't have any other transmitter implementation available. So far, all the persons I have been in contact with came from the point of trying to create a transmitter implementation (to fit on a drone) and they only used the app as a simple way to verify that their transmitter was generating something sensible.

janusw commented 3 years ago

Interesting idea. That has not occurred to me earlier. I guess it is possible somehow, since that is in a sense what the nRF application is doing. A study of the Android API would be needed to figure out whether it is possible to set the correct UUID identifier data in the beginning of the payload data.

I'm pretty sure it should be possible. There are other apps of that kind already (for transmitting all kinds of bluetooth beacon formats).

However, in the context of identifying phone capabilities, this doesn't really remove the need for a second transmitter phone that supports Long Range and Advertising Extensions since you would just be replacing the nRF transmitter app with the opendroneid app?

True, you still need two suitable devices, of course. But it could simplify the process of identifying phone capabilities, if one could do it directly in the android-receiver, without any third-party apps. Also it would be much easier to test the app (on different hardware) with actual Remote ID messages containing real position data etc.

For general development of the app, this could be useful for people that don't have any other transmitter implementation available. So far, all the persons I have been in contact with came from the point of trying to create a transmitter implementation (to fit on a drone) and they only used the app as a simple way to verify that their transmitter was generating something sensible.

Yeah, but as transmitters become more widely available, you might see more people wanting to implement receiver applications ;)

Since there is apparently no open implementation of RemoteID available anywhere, the OpenDroneID project sounds like a good place to start one! I'll open an issue for that if you don't mind ... :)

janusw commented 3 years ago

Btw, another thing that is being promised at opendroneid.org is a receiver application for iOS. Could you comment if there are any concrete plans for this at present?

friissoren commented 3 years ago

Since there is apparently no open implementation of RemoteID available anywhere, the OpenDroneID project sounds like a good place to start one! I'll open an issue for that if you don't mind ... :)

That would be very welcome. Please go ahead. If we need to create a new repository under opendroneid for a specific transmitter implementation (non-Android), that should be possible also.

Btw, another thing that is being promised at opendroneid.org is a receiver application for iOS. Could you comment if there are any concrete plans for this at present?

Again, my apologies for that. We do have an iOS receiver implementation (supporting BT4 only) but so far the decision has been to not open source that. I am not sure what eventually will happen with that.

janusw commented 3 years ago

Btw, another thing that is being promised at opendroneid.org is a receiver application for iOS. Could you comment if there are any concrete plans for this at present?

Again, my apologies for that. We do have an iOS receiver implementation (supporting BT4 only) but so far the decision has been to not open source that. I am not sure what eventually will happen with that.

Huh, too bad. Maybe you should adapt the wording on the website then, in order to avoid raising false expectations.

IMHO it would be very nice to have a cross-platform mobile implementation, potentially Xamarin-based. I might be shooting for something like that soon, but I'm not sure if I could open-source it either. If there are other people that would like to contribute to such an endeavor, that would make a stronger point for open source.

lukasbrchl commented 3 years ago

@janusw, I have created instructions on how to submit the proof screenshots. Feel free to submit yours :)

janusw commented 3 years ago

@janusw, I have created instructions on how to submit the proof screenshots. Feel free to submit yours :)

Thank you! Will do ...