A client that I’m working for has a fleet of BeagleBones/Raspberry PI’s operating at customer locations. These devices are installed on local networks and behind firewalls. For SSH connectivity there are several options but we’re still struggling with Software deployments on these devices. We’re not relying on container technology for the moment, so Docker Cloud or Resin.io are not an option, but resin.io looks very promising. We’re using AWS IoT for data collection.
Some requirements regarding the deployment:
What are some good approaches to achieve this?
Linux provides a secure platform for IoT applications in a number of ways. First, Linux is an open-source operating system, which means defects that could lead to exploits are discovered and fixed quickly (as compared to closed-source operating systems that have fewer eyes scrutinizing them).
Raspberry Pi products are a bit different than your typical IoT hardware development kits and boards. A Raspberry Pi is a single-board-based computer that runs on Linux and is designed for prototyping small computing applications.
(Disclaimer: developer evangelist at resin.io here).
The good thing is, that software that does not rely on containers, can still packaged up (while it does not work the other way around). Containers in resin.io are used as a means to deliver software onto the device, and implement interesting, useful, and safe update strategies, which otherwise would not be possible or would be harder to do. For example:
This is not to convince you about container tech, just highlighting that whether or not your own application is containerized (most likely it's not and will stay like that!), do not select against services that use that tech as part of their stack. Every service tries to deliver the functionality you need in any ways necessary.
As for your checklist with regards to resin.io:
git push resin master
and your code is getting deployedAlso, you mentioned AWS IoT, there's some documentation on integrating resin.io with AWS, including an example project doing automatic device provisioning of resin.io devices with AWS IoT (plug in a device, and it automatically gets credentials for AWS IoT). It might be something that interests you.
How about Kura project? The project has Beaglebone and RPi Gateway software.
http://www.eclipse.org/kura/
http://eclipse.github.io/kura/doc/deploying-bundles.html#install-deployment-package-to-target-device
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With