gravitymon/docs/installation.html
2023-02-04 11:01:25 +00:00

404 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html class="no-js">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Configuration" href="configuration.html" /><link rel="prev" title="Getting started" href="intro.html" />
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
<title>Installation - GravityMon v1.2.0</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=df49af52631e7917044a9c21a57f7b83170a6dd0" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" />
<line x1="4" y1="6" x2="20" y2="6" />
<line x1="10" y1="12" x2="20" y2="12" />
<line x1="6" y1="18" x2="20" y2="18" />
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">GravityMon v1.2.0</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
<div class="sidebar-logo-container">
<img class="sidebar-logo" src="_static/gravitymon_logo.png" alt="Logo"/>
</div>
<span class="sidebar-brand-text">GravityMon v1.2.0</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="functionality.html">Functionality</a></li>
<li class="toctree-l1"><a class="reference internal" href="intro.html">Getting started</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a></li>
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Hardware</a></li>
<li class="toctree-l1"><a class="reference internal" href="formula.html">Create formula</a></li>
<li class="toctree-l1"><a class="reference internal" href="services.html">Service Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">REST API</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</a></li>
<li class="toctree-l1"><a class="reference internal" href="compiling.html">Compiling the software</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">Licence</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<div class="section" id="installation">
<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<p>You have these 5 options for flashing this firmware.</p>
<ul class="simple">
<li><p>Brewflasher via USB serial</p></li>
<li><p>Brewflasher WEB via USB serial</p></li>
<li><p>Esptool via USB serial</p></li>
<li><p>iSpindel web interface (only ESP8266)</p></li>
<li><p>Build from source and flash via VSCode + Platformio</p></li>
</ul>
<div class="section" id="brewflasher">
<h2>Brewflasher<a class="headerlink" href="#brewflasher" title="Permalink to this headline"></a></h2>
<p>The preferred option for flashing GravityMon is using BrewFlasher, its a tools that support many brewing related firmwares for ESP8266 and ESP32. This works
on both Windows and Mac. You can download the latest version from here: <a class="reference external" href="https://www.brewflasher.com/">Brewflasher</a> there is also a web based version
available here <a class="reference external" href="https://web.brewflasher.com/">Brewflasher WEB</a>.</p>
<p>In order to flash an C3 board you will need Brewflasher 1.5 or newer.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The S2 and C3 chips might need to be put in flash mode before flashing can be done. Hold the button on the opposite side from the RST button,
press the RST button and release it before the first button you pressed. This should force the chip into download mode. If you connect a serial
terminal it should say “waiting for download”.</p>
</div>
<a class="reference internal image-reference" href="_images/brewflasher.png"><img alt="Serial output" src="_images/brewflasher.png" style="width: 600px;"/></a>
<div class="section" id="binaries">
<h3>Binaries<a class="headerlink" href="#binaries" title="Permalink to this headline"></a></h3>
<p>In the /bin directory you will find 4 different firmware builds;</p>
<ul>
<li><p><strong>firmware.bin</strong></p>
<p>This is the standard release build (preferred version)</p>
</li>
<li><p><strong>firmware32.bin</strong></p>
<p>This is the release build for an ESP32-d1-mini variant. When flashing an ESP32 you also need the <em>partition32.bin</em> file that outlines the flash memory structure. Due to
the size of the firmware we are using a custom partition setup.</p>
</li>
<li><p><strong>firmware32c3.bin</strong></p>
<p>This is the release build for an ESP32c3-mini variant v2.1 or newer. When flashing an ESP32 you also need the <em>partition32c3.bin</em> file that outlines the flash memory structure. Due to
the size of the firmware we are using a custom partition setup. If you have a v1.0 board use the firmware32c3v1.bin instead.</p>
</li>
<li><p><strong>firmware32s2.bin</strong></p>
<p>This is the release build for an ESP32s2-mini variant. When flashing an ESP32 you also need the <em>partition32s2.bin</em> file that outlines the flash memory structure. Due to
the size of the firmware we are using a custom partition setup.</p>
</li>
<li><p><strong>firmware32lite.bin</strong></p>
<p>This is the release build for an ESP32lite which is used by the floaty build (clone).</p>
</li>
</ul>
</div>
</div>
<div class="section" id="esptool-esp8266">
<h2>Esptool (esp8266)<a class="headerlink" href="#esptool-esp8266" title="Permalink to this headline"></a></h2>
<p>The other option for flashing esp8266 device is via the official esptool. Documentation can be found
here; <a class="reference external" href="https://docs.espressif.com/projects/esptool/en/latest/esp32/">esptool home page</a></p>
<p>Windows 10 should install a driver for the USB -&gt; Serial automatically when you connect a esp8266.</p>
<p>The basic command for flashing an ESP8266 on Windows is;</p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">write_flash</span> <span class="pre">0x0</span> <span class="pre">firmware.bin</span></code></p>
<p>The basic command for flashing an ESP32C3 on Windows is;</p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM6</span> <span class="pre">write_flash</span> <span class="pre">--flash_mode</span> <span class="pre">dio</span> <span class="pre">0x8000</span> <span class="pre">.\partitions32c3.bin</span> <span class="pre">0x10000</span> <span class="pre">.\firmware32c3.bin</span></code></p>
<p>If there are issues you can try do erase the flash first using this command;</p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">erase_flash</span></code></p>
</div>
<div class="section" id="ispindel-esp8266">
<h2>iSpindel (esp8266)<a class="headerlink" href="#ispindel-esp8266" title="Permalink to this headline"></a></h2>
<p>If you already have the device flashed with iSpindel firmware you can go into the configuration mode where you will find
an option for updating firmware. The option is under the maintenance menu.</p>
<p>Select the esp8266 version of the firmware called firmware.bin and press upload.</p>
</div>
<div class="section" id="updating-firmware">
<h2>Updating firmware<a class="headerlink" href="#updating-firmware" title="Permalink to this headline"></a></h2>
<p>You can use the above options for updating the firmware as well. But if you want to do updates without connecting the USB cable these
are your options.</p>
<div class="section" id="ota-option">
<h3>OTA Option<a class="headerlink" href="#ota-option" title="Permalink to this headline"></a></h3>
<p>You can use the OTA option by adding this URL to your configuration and when the device starts up in configuration mode it
will check for a new version and if it finds a newer version it will do an update.</p>
<p><code class="docutils literal notranslate"><span class="pre">https://gravitymon.com/firmware/</span></code></p>
</div>
<div class="section" id="manual-update">
<h3>Manual update<a class="headerlink" href="#manual-update" title="Permalink to this headline"></a></h3>
<p>When the device in is configuration mode you can manually update with a new firmware. Just open this URL in the web
browser and select the firmware.bin file that corresponds to the version you want to flash.</p>
<p><code class="docutils literal notranslate"><span class="pre">http://&lt;device_name&gt;/firmware.htm</span></code></p>
</div>
</div>
<div class="section" id="serial-monitoring">
<span id="id3"></span><h2>Serial Monitoring<a class="headerlink" href="#serial-monitoring" title="Permalink to this headline"></a></h2>
<p>To check output from the device (logs) there are several tools out there. I found this simple tool in the Windows Store called <code class="docutils literal notranslate"><span class="pre">Serial</span> <span class="pre">Port</span> <span class="pre">Monitoring</span></code>.
Just select a baud rate of 115200, 8N1.</p>
</div>
<div class="section" id="configuring-wifi">
<span id="setup-wifi"></span><h2>Configuring WIFI<a class="headerlink" href="#configuring-wifi" title="Permalink to this headline"></a></h2>
<p>When the device is flashed it will need to have WIFI configuration in order to work. If you have used other software on
the device its possible that wifi settings already exist.</p>
<p>If this is not configured in the device it will create an wireless access point called <cite>GravMon</cite>. The default password is <cite>password</cite>.</p>
<p>Connect to this AP and enter the SSID and password you want to use. If the web page dont open automatically you can enter the following address
in the browser: <strong>http://192.168.4.1</strong></p>
<p>Before pressing save on the network information, make a note of the devicename that is shown on the screen, this will be the name that is used
in the next step to access the configuration pages. The link would look like this: <strong>http://gravitymon56EA34.local</strong></p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>When selecting a SSID in the list this will be populated in both wifi fields. This is the behaviour of the wifi manager library that Im using,
in the future this is planned to be moved to the normal UI.</p>
</div>
<p>Under wifi settings you can define a primary and secondary wifi SSID. The secondary will be used in case the primary fails. If the secondary is
successful then it will be used as primary. <em>The second wifi setting is optional and not needed.</em></p>
<a class="reference internal image-reference" href="_images/wifi.png"><img alt="Wifi page" src="_images/wifi.png" style="width: 300px;"/></a>
</div>
<div class="section" id="finding-the-device-adress">
<span id="setup-ip"></span><h2>Finding the device adress<a class="headerlink" href="#finding-the-device-adress" title="Permalink to this headline"></a></h2>
<p>Once the wifi network settings have been added then the device will reboot and connect to your network. If the blue led is flashing then its up and running and is ready to be configured.</p>
<p>If your computer supports mDNS the address you saw before can be used in your web browser to connect to the device. Windows does not have the best support for mDNS so if you are having issues
with finding the network name you can try the following:</p>
<ul class="simple">
<li><p>Check your wireless router for the IP address and use that to connect instead, for example; <a class="reference external" href="http://192.168.1.56">http://192.168.1.56</a></p></li>
<li><p>Download an IP scanner / Port Scanner on your Windows computer or mobile device and use that to find what devices are listening on port 80.</p></li>
</ul>
<p>Once you can access the user interface then proceed to the next step.</p>
</div>
</div>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="configuration.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Configuration</div>
</div>
<svg><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="intro.html">
<svg><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Getting started</div>
</div>
</a>
</div>
<div class="related-information">
Copyright &#169; 2021-2023, Magnus Persson |
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo theme</a>.
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
Contents
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Installation</a><ul>
<li><a class="reference internal" href="#brewflasher">Brewflasher</a><ul>
<li><a class="reference internal" href="#binaries">Binaries</a></li>
</ul>
</li>
<li><a class="reference internal" href="#esptool-esp8266">Esptool (esp8266)</a></li>
<li><a class="reference internal" href="#ispindel-esp8266">iSpindel (esp8266)</a></li>
<li><a class="reference internal" href="#updating-firmware">Updating firmware</a><ul>
<li><a class="reference internal" href="#ota-option">OTA Option</a></li>
<li><a class="reference internal" href="#manual-update">Manual update</a></li>
</ul>
</li>
<li><a class="reference internal" href="#serial-monitoring">Serial Monitoring</a></li>
<li><a class="reference internal" href="#configuring-wifi">Configuring WIFI</a></li>
<li><a class="reference internal" href="#finding-the-device-adress">Finding the device adress</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/scripts/furo.js"></script>
<script src="_static/clipboard.min.js"></script>
<script src="_static/copybutton.js"></script>
</body>
</html>