I once wrote a system to interface with Mettler-Toledo postal scales, with the goal of replacing an ancient vbscriot based interface we were using at work.
I built a few hobby projects, and have another one in the pipeline for when I have time. All of them are based on Raspberry PI Zero kits from Pimoroni (shop.pimoroni.com) and sadly some of them are not in stock, and won’t be stocked again according to their support.
- these are not complex projects, and required (in the worst case scenario) some porting of the original python examples provided by pimoroni to interface with the hardware.
- deploying via ssh is fast and reliable
- can quickly experiment by pasting a new version of a module in the device shell. Got an editor keybinding to do that by targeting a tmux pane.
- OTP constructs help structuring code beyond the standard infinite loop that you have in other languages. And you can have pub-sub and state machines just with the standard library.
- it’s easy to abstract the hardware bits away using dependency injection, so that you can work on the host machine if needed.
- working with time and time zones is possible thanks to the ecosystem packages.
- any dependency with native extension can be a problem if not built with cross compilation in mind, and if it crashes on device that’s where debugging becomes a bit harder (might need a serial cable).
- if needed, I usually add a simple web yo for config/customization.
- there are great tools in the ecosystem to troubleshoot memory issues etc.
- sometimes I have WiFi issues and I suspect it’s related to power management, but I haven’t checked thoroughly yet.