Remote management for iot solution

Hi, I am trying use a router as a NAS device which will prefetch data and serve files from the local USB storage. So far I am able to do this with OpenWRT on D-Link DIR-2640.

Once in production, I will be running 1000+ setups like these in remote locations that will have internet connections. To manage these devices, I would need a central portal through which I can look at the device status, run some remote commands, and should be able to SSH to these boxes for troubleshooting. If this also provides APIs to so some bulk operations, that will help greatly.

Can someone suggest to me some commercial and open-source products I can use? Thanks in advance.

please elaborate. Needs, type of operation, bandwidth usage per location, type of bulk operations, internet type link etc

Apart from the internet access point functionalities, I run a custom Python job that makes sure all the files needed at the location are cached(something like local CDN); so I need to do SSH to debug any possible issues at the location.

Bulk operation can be something like updating the environment variable or updating some files - overall if i want to execute a bash command on all boxes - I should be able to do so.

Bandwidth is not much max of 1GB per day. These boxes will be connected to the local ISP-provided access point using an ethernet cable; only a few devices will connect to our router.

run cloudflared on each one....assign all of them to a virtual network in cloudflare...now you can access all of them from anywhere in the world...
to manage them, like run bulk scripts, I would just use plain ssh...just setup a small server anywhere, and add it to the same cloudfalre virtual network, and just use that to ssh into all the openwrt devices. There's also https://guacamole.apache.org/ for centralized ssh/remote desktop.

apart from cloudflare, tailscale and zerotier will also work.

1 Like

Maybe... just maybe... you start with a prototype. Then you gather information about your use cases and then you write up "user stories" and then you start with a road map. Seriously there is already a bunch off half backed IoS out there. Maybe I just get old and grumpy but this reads as a brain fart after 8 beers from a freshman straight outta 2 courses at a university :confused:
Management of 1000+ devices is possible but not without a little bit of field experience. Especially if they are remote. If you soft or hard brick a device you will need one way or another how to bring it back to life or replace it...

1 Like

Have a look at OpenWisp.

Thanks, I will explore these further.

Blockquote
Have a look at OpenWisp.

I saw the demo, did not find any option to SSH to the device, did I miss anything?

Haven't looked into he details of all the features.

I suggest you to do an exaustive planning and as much as possible have all the devices as autonomous as possible and report everything to a server somewhere. Try to predefine execution code references and have these code listed in a simple text file online and have the various connected device queries this code list daily with cron and using curl and grep to execute predefine script automatically and mailing you result and report. You are in a better position to really know what is best for you. From your lines in your description OpenWRT is the perfect platform for what you want to achieve. This code list will act like a toggle switch. What ever need to be executed at a particular site will be set in this file and uploaded where all your devices will query it.

zerotier or wireguard + VPS + bash + msmtp + curl + wget-ssl and + the other program you might need

Thank you. I will explore this further and set it up.

I also suggest looking at OpenWisp. It takes a significant effort to set it up, you have a full application stack (Django, Pytyhon etc). But it also solves a lot of problems. You can create policies (config) that get sent to your OpenWrt devices.

On your SSH question. There is a VPN feature where can have all your devices connect to your VPN Server. Then, even if they are behind nat/fw, you can ssh to them through your vpn connection.

There is a feature to send a command line command through the web console which is dependent on having the VPN setup.

I checked the OpenWisp demo, looks like it's a solid solution for managing remote devices. If I can manage a VPN connection to all devices, this will also solve the connectivity problem. I am setting up a server with these two next. Thank you all for the help - I will post an update once I am done with the setup.

Quick links for OpenWISP:

Regarding SSH and remote operations, OpenWISP offers:

  • possibility to define commands which can be easily called from the UI (eg: reboot, ping, traceroute or any command can be configured)
  • possibility to run custom shell commands
  • you can SSH into the server and from there SSH into the devices using the management IP of the VPN of your choice (wireguard, openvpn and soon zerotier too)
  • firmware upgrades can be run from the web UI, per device basis or mass upgrades

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.