Hacker News new | past | comments | ask | show | jobs | submit login

I'd imagine the processing power required to detect whether or not a video feed contains a cat doesn't jive well with sharing a CPU with something presumably-realtime-sensitive like driving a motor to open a door.



You are exactly right. Before I "optimised" the image recognition the whole detection part was running on a Mac Mini. I also like to "separate concerns". The Pi that is handling the door opening runs Alpine with a read-only file system so whenever there is a power outage or whatever it boots into a known good state. The image processing part is behind a big UPS and is running with a writable file system.


Seems like the door opening Pi would be a good candidate for an esp8266 or an esp32 (if you were looking to save costs and/or have fun playing with a more limited environment)


esp8266 means wifi, and also means you don't have the whole linux TLS ecosystem to play with. I'd be somewhat cautious about using an esp8266 (as much as I like them) to unlock my front door...


Why would you be cautious? Not saying there's no downsides, but if anything I consider it to be an "upside" that the device is simpler. Now I don't need to worry about linux, or making sure it's a read only filesystem with an image all setup, etc.

I look at it this way: If you want a remote device that measures or controls just one or two things, but does very little if any calculations - use a esp8366/32 (or anything with low power requirements). If you need to process data (video stream), or do other calculations, potentially while controlling many different sensors/things - you'll likely want a raspberrpi/similar


I want locks on my doors.

If you can come up with a reasonably secure way to get an ESP8862 to unlock your door that I can't sniff from across the street with a pringles can hooked up to a wifi dongle running in promiscuous mode (perhaps with a pile of off board AWS to crack your WPA key), I'd be interested in checking it out.

I'm not saying it can't be done. But for _me_, I'd prefer to piggy back on all the battle tested tools available in linux like OpenSSL rather that pretend I can write bulletproof crypto code for the constrained resources available on the esp. And I'd prefer to run my unlock signals over wires rather than over a radio. I'm cautious like that.


Preshared one time pad would be pretty simple. But just because it has wifi, doesn't mean you have to use it. The chip is bristling with io so running real wires is always an option (and hey, you probably have to power it by wires anyway).

There's definitely something to be said for not having the surface area of some hobbiest-grade linux distro on your door locks also. I'd like to perform a "security update" on my door locks just about never.

Anyway, the esp32 has a tls stack which is adequate if you want to go that way. Lately there are a handful of boards on the market that pair the esp32 with a PoE chip that are becoming my goto for little "iot" projects.


There are probably much easier ways to break into your apartment than cracking a custom wifi widget.

Obligatory xkcd:

https://xkcd.com/538/


Thanks for the tips! I will order a esp8266 and check it out.


Unless you love soldering wires to tiny little smt pads I'd recommend looking for one of the "development boards" based on the 8266 (or as others have pointed out in this thread the bigger, faster, stronger, esp32). Not only will you get some through-hole connections to some subset of the pins, but you'll also get an onboard power supply and probably a usb port for programming so you can get right to cooking.


Thanks! Will do some research and then try to order the right one.


There are no end of ESP32 dev boards but if you're new to working with MCUs I'd always recommend starting with something from Adafruit or Sparkfun. They just have way more documentation and support.

So I'd go with something like an Adafruit ESP32 Feather [0]. Sure it's super impressive that one can pick up a perfectly functional anonymous board on eBay for almost nothing but, for getting started, $20 for something from Adafruit will save you a lot of initial hassle.

MicroPython on ESP32 [1]. MicroPython specifically on the Adafruit ESP32 Feather [2].

[0] https://learn.adafruit.com/adafruit-huzzah32-esp32-feather?v... [1] https://docs.micropython.org/en/latest/esp32/tutorial/intro.... [2] https://github.com/pvanallen/esp32-getstarted


I can highly recommend the "Wemos D1 Mini" for starting with ESP8266 as it's tiny, cheap but can be plugged in to a PC to be programmed over USB and has pin headers and readily available shields for getting started quickly. I have one in each room of the house reporting back temperature\humidity to the pi that controls the central heating :-)


You're welcome! You might also be interested in MicroPython (if you write python) which runs pretty solid on esp32 and has a lot of batteries included. You can almost forget you're running on a micro.


Do you by chance have a link to a good development kit for the esp32? I checked and I'm a bit overwhelmed by the amount of different components one can get.


One that I like is commonly branded TTGO, a search for "esp32 ttgo" or "esp32 oled battery" will turn up some options.

This is a link to the exact one I bought since you asked: https://www.ebay.com.au/itm/283082902927 (not actually branded TTGO, it's a clone)

Why you might like it:

- it has an OLED screen on the board for debugging and status output

- it has a battery holder and charging circuitry for an 18650 on the back of the board for portable powering/"UPS"

- it breaks out all the GPIO lines onto pins

Why you might not like it:

- like many esp32 dev boards it's slightly too fat to go straight into a standard breadboard. You have to join two breadboards to get access to both rows of pins.


Lately I've been playing with the Olimex esp32-poe [0]. It supports being powered over ethernet or lipo battery (or micro usb) and includes an SD card slot. If your application uses the ethernet, though, be sure to develop using a non-poe switch (or else power from the ethernet interface can leak over the usb programming interface and damage your laptop.)

[0] https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-sou...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: