Cannot connect Nikon SnapBridge App to Nikon camera via WiFi or Bluetooth

To connect SnapBridge to a Nikon camera I activated WiFi at the camera and could and connect to the WiFi network of the camera. Unfortunately the app could not connect via WiFi. Also the bluetooth connection doesn’t work, what I was expecting though.
Does anyone have any idea how to connect an android app to another device via wifi?

2 Likes

WiFi, Bluetooth, NFC, etc is not supported in the Android container. So basically forget about it. There are lots of threads on this already. Maybe look into if there are native linux solutions that can be the foundation of an app.

Without knowing ypur app, maybe you can connect the camera to the phone through wifi via native tools and then see if the android app locates the camera?

Good point. For WiFi there is a bit of hope for that.

I bought a Toshiba Flashair SD-Card for my Canon EOS100D.
Then i connect to the WLAN of the SD-Card and run my shell-script for backup the Images to my Saily Daily.

You can use my script as base if you want:

#!/bin/bash

# Toshiba Flashair Backup Script, 2022 Niels Schapke

source_dir="DCIM/100CANON"
dest_dir="home/defaultuser/Pictures/FlashAir"
a=0

curl -o dir.txt "http://flashair/command.cgi?op=100&DIR=/DCIM/100CANON"

while IFS=, read -r f1 f2 f3 f4

do
    
    if test -f "/$dest_dir/$f2"; then
	blah=0
    else
	echo "flashair/$source_dir/$f2"
	curl -o "/$dest_dir/$f2" "http://flashair/$source_dir/$f2"
	#echo "$f2"
	a=$(( a + 1 ))
    fi
    
done < dir.txt

if [ $a == 0 ]; then
	echo "Datenstand ist aktuell."
	title="Datenstand ist aktuell."
	body="Keine Datensicherung durchgeführt!"
else
	echo "$a neue Foto(s) gesichert."
	title="$a neue Foto(s) gesichert."
	body="Datenstand ist nun aktuell!"
fi

gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify "FlashAir" 42 "icon-s-Do-it" "$title" "$body" "[]" "{'x-nemo-preview-summary':<'$title'>, 'x-nemo-preview-body':<'$body'>}" 0


It´s not perfect but does it part.

Create an .desktop-Entry to run it from icon (FlashAir.desktop):

[Desktop Entry]
Type=Application
Icon=/home/defaultuser/SD-Karte/SailfishOS_Icons/FlashAir.png
Exec=sh '/home/defaultuser/flashair.sh'
Name=FlashAir

Icon:
FlashAir

3 Likes

There is a 3rd party python utility airnef that does exactly that, it’s a command line tool and all it needs is a UI but I am not good at that or never had time. I’ve installed airnef on the phone and runs ok from CLI.

(it’s licensed under GPL v3)

2 Likes

Does this mean that any Android application that requires Bluetooth, NFC and/or WiFi to run properly won’t run? What about WayDroid?

Basically yes. Save for a few apps that will work if you do the wifi config yourself as pointed out above.
Same situation in WayDrod. My understanding is that it is basically unsolvable (letting two OSes control the same hardware in their respective ways), but i’d love to be proven wrong. But please continur in a previous thread if you want to dig further.

1 Like

Thanks for the response.
Is it fair to conclude that if the user also wants/needs to use Android applications, Sailfish OS is not the most obvious operating system?

What is the URL of the previous thread? This one? Bluetooth Support in Android

If the user needs Android apps with such deep integrations that badly, they should probably use Android, yes. Regular Android apps work fine.

But better yet is of course to buy more open hardware that can be used without some proprietary garbage companion app.

I count the other Android-based “”“OSes”"" as Android too obviously, same as Chrome-based browsers are not meaningfully different for freedom no matter what people like to think.

That looks like a decent thread. I’m on mobile and can’t really compare all of them effectively.

1 Like

I have no objection to buying a Sony Xperia 10 III/IV but the uncertainty of whether everything works is holding me back. GrapheneOS could be a full-fledged alternative. No Google services but with Android app compatibility.

That’s still just Android with make-up. Not actually a different OS, like Sailfish is. Calling it “”“OS”"" is just clever marketing.

1 Like

It is Android Open Source Project (AOSP) without Google apps and services in the OS. I don’t want Google, its app and services.
GrapheneOS features: Features overview | GrapheneOS

1 Like

Only the Sony.
You want SailfishOS and Android?
Sometimes I feel so lonely.

1 Like

I really like sailfish mainly because of their philosophy, but sometimes I just need an android app e.g. to supply my camera with the GPS data of the smartphone. It was because of cases like this that I chose sailfish.
If access to WiFi, Bluetooth etc. from android apps is not possible in principle, this would be an absolute knockout criterion for Sailfish.
I hope anyway that they will find a solution, so that I can stay with sailfish.

On Android you can do a lot of customizing.

On SailfishOS you can do all things.

Correct, but that doesn’t help me, if I cannot connect the Nikon android app to my camera.
These are just the everyday things that a smartphone is used for these days.

Before i buy my Canon-Camera I did it opposite:

I search for a solution not to be dependent from xyz-apps or an mobile OS, with the FlashAir-Card i´m independent and it even works from any Desktop/Notebook-Computer and independent from any OS. Also on Android you can stuck at a certain Update, when the Manufacture of the Phone didn´t bring further Security-Updates and maybe new Version of Camera-Apps require newer API-Levels and there you stay blamed. I have experienced that many times.

That is the way everyone should go.

I does need the WiF connection to transfer GPS data from the smartphone to the camera to store these data along with the currently photographed picture and this only works with the Nikon app. So I assume that your solution doesn’t work here.
Anyway thanks for the advice.

With some modification it sould work.

I would go another way to solve your Problem:

  1. Download the Pictures right after when they taken, this can be archived with calling my script all X Seconds.
  2. Add the actual GPS-Location into the Picture-Header.

I did some first tests with Qt but i´m not able to implement a proper working Data-Model to interact with the Qt-GUI and i´m not sure which route to go (c++, Py, QML), otherwise i had some solution like that still ready to release for everyone. So i stay with my shell-script thats working on every fresh installed SailfishOS with no extra dependies.

I can investigate if i can get the GPS-Data in the Shellscript with some running Services avaible, that would be an interesting adding to my script.