Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Low & Slow Weber Control from Anywhere in the World

100 Aufrufe

Veröffentlicht am

Presentation by Heinrich Braasch delivered to the Brisbane Azure User Group

Veröffentlicht in: Technologie
  • Gehören Sie zu den Ersten, denen das gefällt!

Low & Slow Weber Control from Anywhere in the World

  1. 1. LOW-AND-SLOW WEBER CONTROL FROM ANYWHERE IN THE WORLD USING AZURE IOT By Heinrich Braasch
  2. 2. Why!!! • How a Weber works • Cooking/heating techniques • Problems with low-and-slow
  3. 3. The solution • Vent motor with lever • Raspberry Pi 3 (OS: Windows IOT Core) • Interface module • Temperature sensors • Motor control • Display • Power bank (12V and USB) • Azure IOT Hub • Mobile device (Android/iOS) • Xamarin Forms • An IOT based vent controller consisting of … • WIFI router • Adding a remote controlled “finger” consisting of… • Lets see how it works…
  4. 4. A quick cooking demonstration (step 1) Place firelighters
  5. 5. Cooking demonstration (step 2) Add outer ring of briquettes
  6. 6. Cooking demonstration (step 3) Add inner ring of briquettes
  7. 7. Cooking demonstration (step 4) Add top ring of briquettes
  8. 8. Cooking demonstration (step 5) Sprinkle wood chips
  9. 9. Cooking demonstration (step 6) Light fire lighters and wait approx. ½ hour for briquettes to heat up
  10. 10. Cooking demonstration (step 7) Add drip tray
  11. 11. Cooking demonstration (step 8) Fit grid
  12. 12. Cooking demonstration (step 9) Place meat on grid and add temperature sensors • Sensors • Ambient • Meat • Ensure top vent is fully open
  13. 13. Cooking demonstration (step 10) Close lid… we’re ready to go
  14. 14. Cooking demonstration (step 11.1) Mobile client main screen
  15. 15. Cooking demonstration (step 11.2) Monitor temperature display on mobile app
  16. 16. Cooking demonstration (step 12) Monitor the temperatures on the PI display • OLED Display (I2C interface)
  17. 17. Cooking demonstration (step 13) Vent control. Control BBQ temperature to be approx. 130 deg C
  18. 18. Cooking demonstration (step 14) Temperature sensor selection using mobile app
  19. 19. Cooking demonstration (step 15) Mobile app vent control demonstration
  20. 20. Cooking demonstration (step 16) After approx. 8 hours an internal temperature of 70 deg C is reached…
  21. 21. Cooking demonstration (step 17) Cover meet with foil, add beer/wine/sauce… whatever you like
  22. 22. Cooking demonstration (step 18) Return to weber, fit sensors, close lid
  23. 23. Cooking demonstration (step 19) Wait more. Could be another 3 hours
  24. 24. Cooking demonstration (step 20) Finally, an internal temperature of 90 deg C is reached
  25. 25. Cooking demonstration (step 21) Wrap it in a blanket/isolator and let it rest for another hour or longer
  26. 26. Cooking demonstration (step 22) The big reveal!!
  27. 27. Cooking demonstration (step 23) With bone pulled out. Falling apart!!!
  28. 28. Now for implementation details Azure Mobile Client IOT Client (At Weber) IOT Hub Event Hub
  29. 29. IOT Client (Weber) hardware • ADC chip (I2C interface) • OLED Display (I2C interface) • Thermistor circuitry (analogue resistance measurement) Command & Control 
  30. 30. IOT Client (Weber) hardware • NEMA motor • Motor controller • End stops Motor control
  31. 31. IOT Client (Weber) hardware Raspberry Pi $54.00
  32. 32. IOT Client hardware OLED display $3.40
  33. 33. IOT Client hardware NEMA motor $12.99
  34. 34. IOT Client hardware OLED display $3.00 per driver
  35. 35. IOT Client hardware DRV8825 Stepper Motor Driver Carrier
  36. 36. IOT Client Software • Visual Studio 2017 • C# UWP project, add Windows IOT Extension for UWP • Windows IOT Core installed on Raspberry Pi • Burn Windows IOT Core onto SD card using Windows 10 IoT Core Dashboard • Fit SD card to Raspberry PI, power the PI, then setup using Windows 10 IoT Core Dashboard (particularly WIFI) • Connect Raspberry Pi to development PC using Ethernet
  37. 37. Now for the software implementation details Azure Mobile Client IOT Client (At Weber) IOT Hub Event Hub
  38. 38. IOT Client Software (Initialisation) Use Nuget: Microsoft.Azure.Devices.Client // Standard initialisation from connection string // Setting timeouts // Registering direct method call- backs
  39. 39. IOT Client Software (Send temperature events to IOT Hub) // Read and pack the temperature data // Convert data to JSON // Send data to IOT Hub
  40. 40. IOT Client Software (React to direct messages) // Extract command data // Send success to IOT Hub => Sender // Send failure to IOT Hub => Sender // Set vent position from command data
  41. 41. Mobile client details Azure Mobile Client IOT Client (At Weber) IOT Hub Event Hub
  42. 42. Mobile Client Software • Use Nugets: Microsoft.Azure.Devices; Microsoft.Azure.EventHubs; • Visual Studio 2017 • C# Xamarin Forms project
  43. 43. Mobile Client Software (Initialisation) // Create service client to send direct method commands // Poll for event data // Create event hub client // Call method to create event hub client to receive events data from Azure
  44. 44. Mobile Client Software (Poll for event data) // Data received!! // Poll // Create receiver and indicate which events need to be returned // Extract data and pass it on for processing
  45. 45. Mobile Client Software (Send direct method commands to IOT device) // Execute direct method // Pack the command data (open percentage) // Create direct method instance // Receive direct method response // All OK
  46. 46. Azure details Azure Mobile Client IOT Client (At Weber) IOT Hub Event Hub
  47. 47. Azure details
  48. 48. Problems and lessons learnt • Raspberry PI with Windows IOT Core • Azure IOT SDK • Azure IOT SDK for NETMF • IOT send events to IOT hub freezes and does not heed timeout • No support for direct methods • Extremely slow bootup (60 seconds plus) • High power consumption • Tricky to create real-time high frequency pulses for motor control • That’s it • WIFI not always reconnecting after a dropout (e.g. when router power is cycled)
  49. 49. Thank you

×