Hoihoi
Ik heb al een tijdje het idee om een iGrill/Meater achtig device zelf te maken. Nee, het wordt mogelijk niet goedkoper dan zo'n ding, maar wel veel leerzamer. Punt is wel dat ik al jaren weinig meer zelf maak en een beetje vastloop in wat handig is.
Deel van het spel is ook wel minder dure spullen op ali kopen en er wat moois van maken, maar als ik hier veel van leer is 200E uitgeven voor een thermometer-projectje ook niet het issue
.
Waarom dit topic? Ik zit met name bij het handig inrichten van de software te twijfelen wat handig is, ik kan zelf genoeg programmeren maar er is al zoveel... wat is handig?
Ook heb ik wat hardwaredingen die ik niet aan de slag krijg.
Als alles werkt komt er wel een mooie tweakblog oid. Qua software ben ik nu vooral in Python bezig omdat ik dat een fijne taal vind. C(++) zou ook kunnen, assembly ook. Omdat ik veel met Python bezig ben heeft die taal echter de voorkeur.
Wat wil ik maken?
Een device met de volgende eigenschappen:
Must have:
- met een of meerdere temperatuurprobes
- Per probe een eigen alarmpje heeft (is op temperatuur/niet)
- Hardwarematig instelbaar en uitleesbaar is (rotary encoder, LCDtje)
- Softwarematig instelbaar en uitleesbaar is (via een app of HTML5-gebaseerd dingetje). Androidsupport is goed genoeg, ios doe ik niet aan.
- Het afgelopen uur aan meetwaarden bijhouden. Een 3-eeuwig gemiddelde is prachtig maar niet heel zinnig voor een thermometer.
Should have:
- Zelf connect met bekend wifinetwerk, is dat er niet dan een open SSID opzetten zodat mijn telefoon kan connecten.
- Bij voorkeur verwisselbare probes (3.5mm jacks oid).
Should have's voor later:
- Dat op accu kan functioneren (mag in den beginne best een grote accu zijn)
- Waterdicht kastje (voor nu even niet zo belangrijk)
- Accu-monitoring en eventueel alertje
Could have:
- Cloud connectivity. Heeft echt geen prio momenteel, en ik gebruik mijn spullen vaak bij vrienden. Heb geen zin om telkens allerlei SSIDs op een thermometer in te stellen. Ook vind ik mijn privacy genoeg waard.
Wat heb ik liggen?
•
• Controllers: Een zootje ESP32's, rpi3, rpi4
• Adafruit MAX31855 breakoutboard (https://www.adafruit.com/product/269) met K-type thermokoppel (https://www.adafruit.com/product/270)
• LCD OLEDs, diverse oa https://nl.aliexpress.com...042311.0.0.27424c4drOmiQm
• Rotary encoders: https://nl.aliexpress.com...042311.0.0.27424c4drOmiQm
• MAx 31865 met probes: 3x https://nl.aliexpress.com...042311.0.0.27424c4dUMwhae met bijbehorende probes
• Standaard electro-gereedschap (labvoeding, DMMs, scope)
• Dit soort kastjes: https://nl.aliexpress.com...042311.0.0.27424c4dpCoOxT
Nou prima, volgens mij moet ik daar wel iets moois van kunnen maken, alleen de accu ontbreekt. Die zie ik later wel.
Ik heb in het verleden met de MAX31865 van Ali zitten spelen op I2C maar die kreeg ik niet goed aan de slag op zowel pi als ESP32's (wellicht is het breakoutbordje stuk).
Daarom voor teveel geld een MAX31855 gekocht bij een nederlandse winkel inclusief meetprobe en dat werkt prima.
Nu draait die meting elke seconde:
Nou ja dit werkt prima, wordt nu ook in een mariadb dingetje gestopt en ik zou hier met grafana aan de slag kunnen gaan... maar dat werkt wel op een pi, maar is niet meer handig voor een esp32.
Tijd om een coole app te maken dus!
Ik zat zelf aan een simpele HTTP-server te denken die alle waarden van het afgelopen uur presenteert (de eerste 30 minuten een meting per minuut, minuut 30-50 een 2 metingen per minuut, en de laatste 10 minuten elke 10 seconden een meting) in een JSON.
Dit samen met de alarm-waarden van die sensors.
Dan een simpele android-app schrijven die die data ophaalt en in een grafiekje giet, en gaat piepen bij overschrijding van een waarde. Volgens mij is dat prima te doen, ik heb wat kleine dingen in android geschreven. Zijn hier echter handige must-have frameworks voor?
InfluxDB is wellicht wat teveel voor een ESP32, maar aan client kant kan natuurlijk wel meer.
Iemand wat mooie tips om te voorkomen dat ik wielen opnieuw uitvind? Meeste wat ik vind is of te zwaar (grafa om maar wat te noemen), of heel outdated (2013) of cloudgebaseerd (io.adafruit.com)
Hierna ga ik meer met de hardware doen trouwens
.
Mis ik trouwens nog hardware? Ali duurt een paar weken dus hoor ik het graag vantevoren
Ik heb al een tijdje het idee om een iGrill/Meater achtig device zelf te maken. Nee, het wordt mogelijk niet goedkoper dan zo'n ding, maar wel veel leerzamer. Punt is wel dat ik al jaren weinig meer zelf maak en een beetje vastloop in wat handig is.
Deel van het spel is ook wel minder dure spullen op ali kopen en er wat moois van maken, maar als ik hier veel van leer is 200E uitgeven voor een thermometer-projectje ook niet het issue
Waarom dit topic? Ik zit met name bij het handig inrichten van de software te twijfelen wat handig is, ik kan zelf genoeg programmeren maar er is al zoveel... wat is handig?
Ook heb ik wat hardwaredingen die ik niet aan de slag krijg.
Als alles werkt komt er wel een mooie tweakblog oid. Qua software ben ik nu vooral in Python bezig omdat ik dat een fijne taal vind. C(++) zou ook kunnen, assembly ook. Omdat ik veel met Python bezig ben heeft die taal echter de voorkeur.
Wat wil ik maken?
Een device met de volgende eigenschappen:
Must have:
- met een of meerdere temperatuurprobes
- Per probe een eigen alarmpje heeft (is op temperatuur/niet)
- Hardwarematig instelbaar en uitleesbaar is (rotary encoder, LCDtje)
- Softwarematig instelbaar en uitleesbaar is (via een app of HTML5-gebaseerd dingetje). Androidsupport is goed genoeg, ios doe ik niet aan.
- Het afgelopen uur aan meetwaarden bijhouden. Een 3-eeuwig gemiddelde is prachtig maar niet heel zinnig voor een thermometer.
Should have:
- Zelf connect met bekend wifinetwerk, is dat er niet dan een open SSID opzetten zodat mijn telefoon kan connecten.
- Bij voorkeur verwisselbare probes (3.5mm jacks oid).
Should have's voor later:
- Dat op accu kan functioneren (mag in den beginne best een grote accu zijn)
- Waterdicht kastje (voor nu even niet zo belangrijk)
- Accu-monitoring en eventueel alertje
Could have:
- Cloud connectivity. Heeft echt geen prio momenteel, en ik gebruik mijn spullen vaak bij vrienden. Heb geen zin om telkens allerlei SSIDs op een thermometer in te stellen. Ook vind ik mijn privacy genoeg waard.
Wat heb ik liggen?
•
• Controllers: Een zootje ESP32's, rpi3, rpi4
• Adafruit MAX31855 breakoutboard (https://www.adafruit.com/product/269) met K-type thermokoppel (https://www.adafruit.com/product/270)
• LCD OLEDs, diverse oa https://nl.aliexpress.com...042311.0.0.27424c4drOmiQm
• Rotary encoders: https://nl.aliexpress.com...042311.0.0.27424c4drOmiQm
• MAx 31865 met probes: 3x https://nl.aliexpress.com...042311.0.0.27424c4dUMwhae met bijbehorende probes
• Standaard electro-gereedschap (labvoeding, DMMs, scope)
• Dit soort kastjes: https://nl.aliexpress.com...042311.0.0.27424c4dpCoOxT
Nou prima, volgens mij moet ik daar wel iets moois van kunnen maken, alleen de accu ontbreekt. Die zie ik later wel.
Ik heb in het verleden met de MAX31865 van Ali zitten spelen op I2C maar die kreeg ik niet goed aan de slag op zowel pi als ESP32's (wellicht is het breakoutbordje stuk).
Daarom voor teveel geld een MAX31855 gekocht bij een nederlandse winkel inclusief meetprobe en dat werkt prima.
Nu draait die meting elke seconde:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| import time import board import busio import digitalio import adafruit_max31855 spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) cs = digitalio.DigitalInOut(board.D5) max31855 = adafruit_max31855.MAX31855(spi, cs) while (True): temp = max31855.temperature print('Temperature: {} degrees C'.format(max31855.temperature)) time.sleep(1) |
Nou ja dit werkt prima, wordt nu ook in een mariadb dingetje gestopt en ik zou hier met grafana aan de slag kunnen gaan... maar dat werkt wel op een pi, maar is niet meer handig voor een esp32.
Tijd om een coole app te maken dus!
Ik zat zelf aan een simpele HTTP-server te denken die alle waarden van het afgelopen uur presenteert (de eerste 30 minuten een meting per minuut, minuut 30-50 een 2 metingen per minuut, en de laatste 10 minuten elke 10 seconden een meting) in een JSON.
Dit samen met de alarm-waarden van die sensors.
Dan een simpele android-app schrijven die die data ophaalt en in een grafiekje giet, en gaat piepen bij overschrijding van een waarde. Volgens mij is dat prima te doen, ik heb wat kleine dingen in android geschreven. Zijn hier echter handige must-have frameworks voor?
InfluxDB is wellicht wat teveel voor een ESP32, maar aan client kant kan natuurlijk wel meer.
Iemand wat mooie tips om te voorkomen dat ik wielen opnieuw uitvind? Meeste wat ik vind is of te zwaar (grafa om maar wat te noemen), of heel outdated (2013) of cloudgebaseerd (io.adafruit.com)
Hierna ga ik meer met de hardware doen trouwens
Mis ik trouwens nog hardware? Ali duurt een paar weken dus hoor ik het graag vantevoren
