Web Server for devices without the app

Hi, Just joined up, excellent project thus far!

Quick intro, Amateur Radio Operator from the UK, also operate as a RAYNET member (disaster communications group in UK)

We currently using some APRS devices, but this project would enhance capabilities.

Anyway on to the suggestion.

How about adding Wifi Hotspot and a WebServer serving a simple GUI via local wifi hotspot from the ESP32.

This would then enable devices that do not have the app to communicate in a simple fashion when a situation arises that means mobile internet services are unavailable and the devices have not previously installed the APP. (also would enable IOS devices before the app is developed)

This could then provide an immediate emergency, infrastructure-independent, meshed network available to anyone with a wifi device. Simply connect to the WIFI being broadcast, open your browser, navigate to http:\192.168.10.1 and have a simple chat app that means you can send messages to all other connected devices.

Just another use case idea, I know this not the primary goal of the app. But would open a lot more uses. I guess this also falls into the “Co-op module” as discussed on other threads(SOS button). I am also assuming this could use the API to interact with the core code.

Anyway, added as a suggestion, my limited development skills may be able to assist to get a prototype going, but my coding is normally badly written at best…

Regards
Andrew

6 Likes

Very interesting idea.
Actually, using a PWA it could be possible to standardise a UI for both the mobile and the web app.
However, things like Ionic (cross platform app development framework) won’t work as the app needs fine-grained control over the hardware.

Oh yes- definitely. After 1.0 we should totally do that (and it would need not that much new code)

3 Likes

What about using https://reactnative.dev/ for cross platform app development?

I have also found a chat development using React Native that may help as well. https://github.com/FaridSafi/react-native-gifted-chat.

1 Like

I think that would be fine (along with the two options others have proposed - Flutter and Ionic). Mostly it would be up to whoever has the time and interest to drive the app forward. But you are right, a solution that could work for mobile or a hosted in device webapp would be a big plus.

More info on cross platform GUI proposals from the past:

1 Like

Hi, we plan to integrate meshtastic with FreeTAKServer (see https://github.com/FreeTAKTeam/FreeTakServer/blob/master/README.md) , that will send any message to all the ATAK connected devices. Because now ATAK is open source we think we should support that as a generic way to share geo informations
Until now we have been delayed by the COVID (boards are still somewhere after 3 months!)

4 Likes

FIELD REPORT: So, today after months of waiting the #freetakserver team did the first tests with the meshtastic devices ).8 last stable release). Using 3 of them, we we able to connect to the android app easily. Send of messages within 1 m distance was not an issue. GPS fix took a LONG while, when finally we got the GPS satellites we tried a field test. Unfortunately this failed completely. the 3 devices were unable to exchange any message nor the position. We are still trying to understand what is happening and how to avoid it. We restarted the boards and the software multiple times,
Any hint is welcome

2 Likes

hmm - what do the devices say on the screen? If you cycle through the screens by pressing the button it will tell you what other devices it sees (one screen per devices) and the last time it heard from that other node. (Behind the scenes if you haven’t looked at that other node in the last 2 mins, your device will exchange position updates with that node - and therefore both nodes should show recent contact)

Were all devices on the same (“Default”) channel or had you changed to a different channel?

I changed the channel to Default1. Devices were circling on the screen.

Did you share the channel url? Ie if you just type in the same channel names on two boards they won’t be talking - because the channel url contains more than just the name (in particular it contains the random key generated to secure the channel).

We will be adding a suffix on the channel names to make this requirement clearer soon…

2 Likes

@mc-hamster has a working branch

1 Like

Seems that the owl project has this done already and using the same esp32 it might be a good start. They have a captive portal already working. https://clusterduckprotocol.org/ also all the iPhone users…

1 Like

I also think the idea of a web interface is cool, but I was also thinking about an XMPP server interface. Would it be possible to add an XMPP server interface to the ESP32 and then use any XMPP client (like Astrachat) to handle communication between a smartphone (client) and the meshtastic device? I am an iPhone user so I am a little bummed about there not being an iPhone client app. I have been considering working on an iPhone client app, but I have never programmed in Swift so I will have a HUGE learning curve to come up to speed. An XMPP server interface would eliminate the need for an app, because Astrachat works great. I have set up eJabberd on a linux server for home use and I use Astrachat as on my clients and it is easy to use and works well.

There is currently an iphone app in development: Meshtastic iOS app - first alpha release - #17 by feh123

There is a web application, though it currently only works on the 1.1.x branch. Another application is currently in development for the 1.2.x branch, but not yet published.

Hi - just to say all kudos to @thepoweroftwo for the app. It does work brilliantly on 1.1.50.

1 Like