[HN Gopher] ESP32 and Termux
___________________________________________________________________
ESP32 and Termux
Author : gavide
Score : 72 points
Date : 2025-10-09 16:56 UTC (6 hours ago)
(HTM) web link (blog.gavide.dev)
(TXT) w3m dump (blog.gavide.dev)
| webdevver wrote:
| very cool. termux has to be peak for unbridled nerddom, the new
| linux terminal in android 16 is really a pale shadow of it. you
| don't get access to anything non-virtual, not even the gpu
| (atleast, i couldn't get it to work.)
|
| theres so much cool hardware on modern smartphones, with quite
| solid drivers by virtue of the (relatively stringent) android
| quality requirements, and its all locked away. video encoders,
| decoders, 3d accelerators, etc, but none of it is really
| accessible in a power-user kind of way.
|
| some more thoughts...
|
| the android development kit really is very heavy. compared to
| `gcc -o main main.cpp && ./main`, it is several orders of
| magnitude away.
|
| the jetpack stuff and whatnot - the big android app shops
| probably do actually appreciate that stuff. but i wish the dev
| env 'scaled to zero' as they say, but in the sense of cognitive
| overload.
|
| could it be time to move away from java, and shift towards
| everything being a native binary? we have the tools now to make
| it secure, and its not like phones get faster 'for free' anymore.
| it would also vastly simplify the developer experience.
| nulld3v wrote:
| > the android development kit really is very heavy. compared to
| `gcc -o main main.cpp && ./main`, it is several orders of
| magnitude away.
|
| > the jetpack stuff and whatnot - the big android app shops
| probably do actually appreciate that stuff. but i wish the dev
| env 'scaled to zero' as they say, but in the sense of cognitive
| overload.
|
| I tried to build a small binary that listens for events and
| launches/wakes an app to do some automation. But apparently
| there's no way to send Intents or Broadcasts from native code?
| So I need to boot a JVM in the binary if I want it to
| communicate with anything else on the system!
|
| Of course, you can always communicate via stdio, but that's
| useless because everything in Android speaks
| Intents/Broadcasts. Native code can also do raw Binder calls,
| but nothing on the system speaks raw Binder.
| ActorNightly wrote:
| >But apparently there's no way to send Intents or Broadcasts
| from native code? So I need to boot a JVM in the binary if I
| want it to communicate with anything else on the system!
|
| There is "am" i think which can be invoked to do this.
|
| However, Termux API exists, and is a nice package for calling
| other services. They have the scripts interface, which calls
| the actual app over a socket. Kinda inefficient, but at least
| the work is done.
| seba_dos1 wrote:
| You don't have to use Android. I've been using various
| GNU/Linux phones for the last 17 years, so being able to do
| `gcc -o main main.cpp && ./main` on a phone is just natural to
| me. Back in 2008, as a teenager, I could choose to spent my
| first earned money to get me either one of the first GNU/Linux
| phones on the market or the first Android phone, and I feel
| that as the time goes it only validates my decision.
| vallassy wrote:
| I've been looking at Linux phones for a while, and now the
| latest 'sideloading' lockdown from Google has pushed me to
| seriously consider getting off Android. What phones do you
| use or recommend for someone who has a little Linux
| experience?
| nunobrito wrote:
| What is your feedback in regards to battery? Android have
| been exhausted in development to optimize battery usage but
| I'm reading linux phones don't really care that much so you
| end up with a dead phone in less of a day.
|
| Has a power user, what has your experience been on that
| topic?
|
| I'd switch my phone to linux on a heartbeat because android
| apps seem compatible enough nowadays to run there too but
| battery is always the pressing limitation.
|
| My thanks in advance.
| kees99 wrote:
| It is possible to write native code for Android using Native
| Development Kit. Typical NDK use would be to develop a library
| that is then called into by java code. But one can make whole
| app with it, 100% java-free:
|
| https://github.com/cnlohr/rawdrawandroid
| dekhn wrote:
| Note also you can use webrepl, which exposes MicroPython's REPL
| as a web page. It's not a real replacement for termux, but it is
| still quite useful- I often deploy ESP32s running Micropython
| around my workspace but they aren't connected to any serial
| terminal.
| wumms wrote:
| If I telnet into an ESP32 via Termux, it doesn't recognize \n. I
| haven't found a solution yet. It works fine with other Linux
| consoles. void handleTelnet() { ...
| if (telnetClient && telnetClient.connected() &&
| telnetClient.available()) { String cmd =
| telnetClient.readStringUntil('\n'); cmd.trim(); if
| (cmd == "status") { ...
|
| EDIT: Thanks @yjftsjthsd-h and @detaro for your suggestions! I
| tried Telnet via tmux - it worked. Then I tried telnet directly,
| and it suddenly worked too. Turns out Arduino's Telnet
| implementation is single-user only, and my dev machine's
| reconnect loop kept the connection open; the working login just
| fooled me.
| yjftsjthsd-h wrote:
| I don't have one set up to test, but dumb suggestion: What if
| you run it inside tmux on termux? Just thinking that tmux is
| essentially a second terminal emulator that might do better.
| detaro wrote:
| Telnet often uses "\r\0" instead, but it also can be configured
| with most clients.
| Mystery-Machine wrote:
| I'm trying to repurpose my Pixel 6a that I no longer use, as a
| Home Assistant Core main driver. I was hoping the author will
| talk a little bit about that.
|
| I still haven't had the luck to have a fully working Home
| Assistant running inside (rooted) Termux.
|
| Anyone succeeded to start `hass` and have it running without
| throwing errors?
| ActorNightly wrote:
| If you like this stuff, I highly recommend you look at Samsung
| Galaxy phones. They come with DeX, which is a linux DE that you
| can use with a dock.
| AshamedCaptain wrote:
| Technically a Linux DE by virtue of being an Android DE, but
| most definitely NOT a Linux DE for purposes of a discussion
| involving Termux.
| malkia wrote:
| I've been playing with Termux, both on Chromebook (Eve), and my
| Samsung Galaxy S22 - pretty cool, though hit some issue with
| recent `bazel` - as newer versions try to access a `/dev`
| endpoint that's not available.
|
| Quick fix, was to add `~/.bazelrc` this: common
| --experimental_collect_system_network_usage=false
|
| and then it works! Though sometimes I need to first `termux-
| chroot` and then it it handles cases, where some tooling expects
| `/usr/bin` and not `/mnt/data/com.termux/files/usr/bin`
|
| On measurements it's a bit 2x, 3x slower than Crostini (Termina)
| on Chromebook, but being available (so far) on all my Android
| devices is just awesome!
|
| And there exist X11 too!
|
| I wish there would be backdoor for F-Droid in the future, though
| maybe not as it seems :(
___________________________________________________________________
(page generated 2025-10-09 23:00 UTC)