I’m a software engineer but don’t really know much about the hardware side. Did a math degree in college so I’m lacking in comp sci knowledge, to get my software job I jumped into fintech and learned the important software bits, design patterns, etc.
Anyways I want to make some gadgets using RPi or similar chips. For example I want to make a gadget with an e-ink screen that hits a public weather API endpoint once every 15 minutes and updates the screen with some weather info. Then I can put it in an encasement and just have it sitting on my desk and always have the weather info at a glance.
But when I started looking into this I saw all sorts of articles about securing you RPi and it seems like if you do it wrong you can introduce a security risk on your network. Is there a simple, even if heavy handed, solution to this? Such as, configuring my router to only allow that RPi device to make requests access certain endpoints, and not allow incoming requests at all?
It kinda depends on how “professional” you want to implement that. There are ways to quickly hack together a proof of concept and there are ways to build a super secure and safe solution.
Some questions you should ask yourself
Can your API be abused to a degree where it is a problem for you or someone else?
Do you maybe have som sentivie or paid data there?
An esp32 could be an adequate solution. An RPI should also be useable.
With the esp32 you can encrypt the flash and sign the images. It also offers a/b paritioning which is good when one image fails to boot or the update process gets interrupted.
I’d personally go with the esp32 as it seems to be better fitting the situation. Just keep in mind that the effort on your side is probably higher.
Implement some configuration interface, get used to the environment.
But if you write your app in C I guess it should be possible to run on both.
It might even make sense to slap together a proof of concept with an rpi because this will take less time and then switch to an esp32.