I’m sorry if this isn’t the place to ask this, I also asked over at !python@programming.dev.

So what I want to do is this: Two RasPis are at different locations. They’re on different networks but have internet access. Pressing a button on one of the Pis turns on an LED over at the other Pi via GPIO. How can I make the communication work? My first thought was Telegram bots as I’m familiar with those for notifications but you can’t have Telegram bots communicate with each other, sadly. Is there a good (and secure) solution to this? Preferably using Python code and without continuous costs like server hosting, etc?

Thanks!

  • @CameronDev@programming.dev
    link
    fedilink
    72 months ago

    The general problem your describing is Command and Control, or C2. Tailscale/wireguard/vpn is probably the best solution, but if you want to get weird with it, any site that allows user submitted content can be used.

    For example, make one pi post to twitter, and the other pi can poll twitter. Substitute twitter with pastebin/lemmy/signal/instagram.

  • @BearOfaTime@lemm.ee
    link
    fedilink
    1
    edit-2
    2 months ago

    Tailscale can create a mesh network that works across the internet.

    Easy as pie (😁) to setup on pretty much any device, even RPi. Then just use any LAN-based communication protocol.

    https://tailscale.com/download/linux/rpi-bullseye

    As for using Telegram bots, can’t a bot monitor a chat for keywords, and just have a bot inject the keyword?

    I use a bot that injects my SMS messages into Telegram, so I can see them (and reply) using Telegram on my laptop.

    • @towerful@programming.dev
      link
      fedilink
      32 months ago

      Yeh, tailscale is going to be the easiest and most flexible.
      Other than that, its coupling directly to a messaging system that is also the communication system. So you are beholden to API changes and TOS changes.
      At least with tailscale you can easily jump to headscale or wireguard with virtually 0 impact. Also allows for using a messaging system that is fit for purpose instead of whats available and free and does NAT traversal