Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: WiFi connection via TCP to Meshtastic #296

Open
tb0hdan opened this issue Jan 25, 2023 · 16 comments
Open

[Feature Request]: WiFi connection via TCP to Meshtastic #296

tb0hdan opened this issue Jan 25, 2023 · 16 comments
Labels
backlog Put off for now bounty available This feature can be sponsored enhancement New feature or request

Comments

@tb0hdan
Copy link

tb0hdan commented Jan 25, 2023

OS

iOS

Description

Hi,

It is not possible to connect to Meshtastic via WiFi from iOS, but Android has such feature.

APP version: 2.0.10

@tb0hdan tb0hdan added the enhancement New feature or request label Jan 25, 2023
@garthvh garthvh added the backlog Put off for now label Jan 25, 2023
@garthvh
Copy link
Member

garthvh commented Jan 25, 2023

Android and iOS are different platforms with different developers and philosophies so there will never be feature parity between the two.

I have done some refactoring to support multiple connection types, but it is pretty far in the backlog. Maybe will look at it again in a year or if the state of ESP32 wifi improves.

@garthvh garthvh added the help wanted Extra attention is needed label Mar 25, 2023
@ut3uku
Copy link

ut3uku commented Apr 28, 2023

It is a very important function of the app. I am waiting for it

@garthvh
Copy link
Member

garthvh commented Jul 9, 2023

Closing in favor of #368

@garthvh garthvh closed this as completed Jul 9, 2023
@garthvh garthvh reopened this Jul 9, 2023
@garthvh garthvh closed this as not planned Won't fix, can't repro, duplicate, stale Jul 9, 2023
@geeksville
Copy link
Member

This issue has been mentioned on Meshtastic. There might be relevant details there:

https://meshtastic.discourse.group/t/macos-app-ip-support/8100/4

@PatrickHuetter
Copy link

+1

Another option could be to develop a ionic app with some parts native. That would decrease the development efforts. The typescript services could also be re-used in the web based Meshtastic client.

@garthvh garthvh added bounty available This feature can be sponsored and removed help wanted Extra attention is needed labels Mar 17, 2024
@garthvh
Copy link
Member

garthvh commented Mar 17, 2024

I estimate it will require 25K in dev time minimum to refactor the whole code base and add this feature, have made this the first feature with a bounty available.

@garthvh garthvh reopened this Mar 17, 2024
@AssetBurned
Copy link

for people following #506 and #550 and not using discourse.

@basementbuilder17
Copy link

i am also looking for this feature. Only access to iOS, really would like to manage all my nodes from there.

@meshtastic-bot
Copy link

This issue has been mentioned on Meshtastic. There might be relevant details there:

https://meshtastic.discourse.group/t/use-ios-meshtastic-app-to-radio-via-wifi/12232/5

@powersjcb
Copy link
Contributor

powersjcb commented Sep 7, 2024

I don't see this documented anywhere, but one additional reason this feature would be particularly helpful would be to enable dev work using iOS Simulator. Lack of support for Simulator requires anyone wanting to work on this to setup the appropriate Apple Developer Membership so they can self-sign the application for use on their own phone. (costs $100 per year) TCP would allow devs to host a TCP server setup to respond with test data or to proxy traffic from a real node.

Being able to develop the app over a local network would be a nice to have, but at the same time there's probably some positive tradeoffs of devs using the exact setup 99% of clients will utilize. (BLE)

Definitely concur with @garthvh that this is a "large" rework. (its at least needing to touch 3-4 layers of abstractions)

Incase anyone else is interested, I'm attaching some links to the Meshtastic-Android source that already implement this.

@Hude06
Copy link

Hude06 commented Oct 8, 2024

I'm down to work on a type script Capacitor JS (The new Ionic) app for it, Something similar to the flutter multi mesh app but try to reuse some of the web version. Is there a JS api already?

@garthvh
Copy link
Member

garthvh commented Oct 8, 2024

Entirely swiftui

@drewzh
Copy link

drewzh commented Oct 8, 2024

I'm down to work on a type script Capacitor JS (The new Ionic) app for it, Something similar to the flutter multi mesh app but try to reuse some of the web version. Is there a JS api already?

There is and I'm already working on a PWA/Capictor Angular app. Already have nodes list, map and messaging.

@cpatulea
Copy link

cpatulea commented Oct 12, 2024

[New to iOS development, new to Meshtastic - I might say something stupid] How would iOS TCP connection work? As far as I know, iOS is very aggressive in putting apps to sleep, so long lived TCP connections almost never work. For example it's almost impossible to run an IRC client natively on iOS, it's almost always through a server side proxy.

Maybe this could work using HTTP REST (like the web client) and the Meshtastic device buffering messages until iOS wakes up. But notifications could never work, so user would have to "manually open the app" to receive any messages.

[edit] Some links I found:
https://discord.com/channels/867578229534359593/874835141145542716/1271616546082652340
https://developer.apple.com/forums/thread/685525

@Hude06
Copy link

Hude06 commented Oct 13, 2024

Hey, Drewzh is it on github? I would love to check it out @drewzh

@drewzh
Copy link

drewzh commented Oct 13, 2024

Hey, Drewzh is it on github? I would love to check it out @drewzh

I'll share when the time is right. It's on GitHub, but private. Once I get things working smoothly I'll make it public. I don't like pushing anything half finished or broken, which many things currently are.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Put off for now bounty available This feature can be sponsored enhancement New feature or request
Projects
None yet
Development

No branches or pull requests