Ambitious First Timer!!

The official PYBD running MicroPython, and its accessories.
Target audience: Users with a PYBD
Post Reply
ScoobyNewbie
Posts: 4
Joined: Thu Apr 25, 2019 3:17 pm

Ambitious First Timer!!

Post by ScoobyNewbie » Thu Apr 25, 2019 4:08 pm

Please excuse my naivete' on this request for information. I've always been the type to jump into big projects, and then work to figure them out.

I would like to monitor several kitchen devices. Each device will have a normal operating envelope (ie, temp, time, cycles/sec, etc.). I am looking to write a program that monitors all of these devices, and determines when any preprogrammed combination of parameters exceeds a maximum threshold, or falls below a minimum threshold.

Then, when the program determines that a threshold has been exceeded, I want it to inform me remotely via a phone call and internet/wifi/email so I don't have to stay at home. In addition, I would like to build in an emergency feature, which will alert 911, that certain parameters exceeded safe thresholds, just in case, for example, something inside the oven catches on fire.

I'm a complete newbie. What's the hardware board/chip best recommended to do this, and is MicroPython able to process this? Also, I have a very small kitchen, and not much storage space, so smallest footprint and low heat signature would be ideal.

Thanks in Advance!!

User avatar
jimmo
Posts: 2754
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia
Contact:

Re: Ambitious First Timer!!

Post by jimmo » Sat Apr 27, 2019 11:46 am

Hi. I think MicroPython is definitely more than capable for this sort of project.

As far as getting started goes, the most difficult part is most likely integrating with the kitchen devices. Measuring temperature is relatively easy one to start with, using something like a DHT11/DHT22 or a DS18x20 (both of which have drivers for the pyboard). Detecting on-time etc has lots of ways but definitely stay away from doing anything directly with mains voltage. (Something along the lines of a current clamp would be one way to do this though).

As far as external connectivity, WiFi is your best bet, so the Pyboard D-series, or the ESP32/ESP8266 are your options. There are lots of options, simple stuff like sockets or http, or more sophisticated like MQTT. (I don't advise making automatic calls to 911 though!).
Another great option for wireless is the micro:bit. They have a built-in radio (that can only talk to other micro:bits) but what you can do is have one micro:bit connceted to your sensors, talking to another micro:bit that is plugged into your PC. They're by far the easiest MicroPython board to get started with but are still very capable.

I think as a starter project, making something that can periodically measure and send the temperature to a web service would give you a fairly good overview of what you need to make something like this come together.

ScoobyNewbie
Posts: 4
Joined: Thu Apr 25, 2019 3:17 pm

Re: Ambitious First Timer!!

Post by ScoobyNewbie » Sat Apr 27, 2019 1:41 pm

Thanks!

ScoobyNewbie
Posts: 4
Joined: Thu Apr 25, 2019 3:17 pm

Re: Ambitious First Timer!!

Post by ScoobyNewbie » Sat Apr 27, 2019 3:41 pm

So, I was looking at the boards you mentioned, and noticed that they generally have 1 ADC. From a conceptual standpoint, how would I convert several different analog signals using a single microcontroller board? Would it be be advantageous to externally convert analog signals on several external control boards that have been specifically designed for particular devices, and then to attach them using one of the many GPIO pins?? And, if so, would there be an advantage to saving the single ADC pin for a particular device, over other devices?

Also, how would I handle more than one voltage, provided I encountered an issue with different devices? Would external conversion to digital, then piped into different GPIOs handle that?

What would be good choices for external boards for ADC conversions?

Thanks in advance!

User avatar
dhylands
Posts: 3821
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: Ambitious First Timer!!

Post by dhylands » Sat Apr 27, 2019 4:12 pm

There are typically multiple channels for see each ADC unit. Each channel is them connected to a GPIO.

You can only do one conversion at a time and you switch channels to measure voltages on different pins.

You need to use some type of external conversion to get the voltages into the range needed by the MCU. Sometimes this can be as simple as a resistor divider, but it really depends on the signal. Some signals require some type of amplification (typically of current) and may require an opamp, or other conditioning.

ScoobyNewbie
Posts: 4
Joined: Thu Apr 25, 2019 3:17 pm

Re: Ambitious First Timer!!

Post by ScoobyNewbie » Sat Apr 27, 2019 4:22 pm

Thanks

Post Reply