Author SHA1 Message Date
neil 3eb4d15825 WIP - outline for pinecil homeassistant / ble article
ci/woodpecker/pr/woodpecker Pipeline was successful
2023-04-02 18:35:36 -04:00
11 changed files with 16 additions and 82 deletions
+2 -2
View File
@@ -37,11 +37,11 @@ pipeline:
environment:
- CI_BUILD_EVENT=pull_close
when:
event: pull_close
event: push
publish:
image: git.shrug.pw/neil/containers/woodpecker-ci:latest
secrets: [ssh_key, GITLAB_DEPLOY_TOKEN]
secrets: [ssh_key]
environment:
- GIT_AUTHOR_NAME="Woody the Woodpecker"
- GIT_AUTHOR_EMAIL=ci@shrug.pw
-48
View File
@@ -16,51 +16,3 @@ div.footer {
.panel-default h4 a, h5 a {
color: $primary-color;
}
figure.inline {
display: inline-flex;
justify-content: center;
align-items: center;
height: auto;
width: 90%;
}
figure.inline-40 {
display: inline-flex;
height: auto;
width: 40%;
}
figure.inline-60 {
display: inline-flex;
height: auto;
width: 60%;
}
figure.inline-80 {
display: inline-flex;
height: auto;
width: 80%;
}
figure.right {
float: right;
}
figure.left {
float: left;
}
figure > img {
display: inline-flex;
width: 90%;
}
.clearfix {
overflow: auto;
}
.clearfix::after {
content: "";
clear: both;
display: table;
}
@@ -1,10 +1,10 @@
---
title: 'Smarthome Soldering Iron with Home Assistant and ESPHome (also: web GUIs for Pinecil)'
description: 'Learn how to create a smart soldering iron using Pinecil with Home Assistant and ESPHome, as well as explore the options for controlling and monitoring your Pinecil with Bluetooth'
title: 'Smarthome Soldering Iron with Home Assistant and ESPHome'
description: 'Learn how to create a smart soldering iron using Pinecil with Home Assistant and ESPHome.'
date: 2023-03-28T19:01:25-04:00
draft: false
categories: [Home Automation, DIY, FOSS]
tags: [Pinecil, Home Assistant, DIY, RISC-V, Blisp, PineSAM, Pine64, esphome]
categories: [Home Automation, DIY]
tags: [Pinecil, Home Assistant, DIY, RISC-V, Blisp]
---
About a year ago, [wesdottoday](https://hachyderm.io/@wesdottoday) told me to
@@ -15,14 +15,9 @@ Pinecil's firmware (IronOS), and am spending my weekends playing around with
Bluetooth Low Energy (BLE) and Home Assistant to automatically turn on my fan
when I start tinkering at my desk, lest my lungs die from the fumes.
<p>
{{< figure src="pinecil-esp32.jpg" alt="ESP-WROOM-32 Development MCU with a Pinecil v2 leaning on it" class="inline-40 left" >}}
By popular demand, I'm writing a blog post about the Pinecil, how to flash the
latest firmware, and then what you can (currently) do with bidirectional
communication to your soldering iron.
</p>
We'll also go over two Pinecil community projects offering in-browser
experiences (PineSam and Joric's 'Pinecil'), and lastly some instructions on
@@ -79,8 +74,6 @@ and development on the BLE stack on the main tree in the last few months and the
developers have been making sure the BLE features are ready before they are
released to a much larger audience.
{{< figure src="blisp-flash.png" alt="Flashing the Pinecilv2 with blisp CLI" class="" >}}
Once v2.21 is released, binaries can be retrieved from the
[IronOS Releases](https://github.com/Ralim/IronOS/releases) page.
@@ -90,7 +83,7 @@ These steps assume you have a compiled version of `blisp` in your system path,
either by installing from my COPR, or compiling on your own using the
instructions in the repository.
1. Find the latest sucessful actions run on the ironos repo
1. Find the latest sucessful actions run on the blisp repo
[here](https://github.com/Ralim/IronOS/actions/workflows/push.yml?query=branch%3Adev+event%3Apush).
2. Download the `Pinecilv2_multi-lang` binary for that run, and unzip it
3. Plug your Pinecil into your computer while holding down the 'Minus' (-)
@@ -128,24 +121,23 @@ Pinecil. It's is a Python and Vue-based application that has to have a server
component running locally--along with a machine that has bluetooth. You can find
the source code for PineSAM on [GitHub](https://github.com/builder555/PineSAM/).
{{< figure src="pinesam.png" alt="PineSAM UI" class="inline" >}}
< insert pic of PineSAM ui >
Another project is a more simple web UI that uses in-browser Bluetooth support
(currently only really well supported in Chromium/Firefox, and even then it's
not universal or without bugs. This UI shows a nice graph of your Pinecil's
temperature and power supply information, but is limited to devices supporting
WebBLE, and also is only able to change the set point (temperature) on the
device. You can also find the source code for Joric UI on
[GitHub](https://github.com/joric/pinecil).
WebBLE, and also is unable to change settings on the device. You can also find
the source code for Joric UI on [GitHub](https://github.com/joric/pinecil).
{{< figure src="joric-ui.png" alt="Joric's UI" class="inline-60 right" >}}
< insert pic of Joric UI>
PineSAM allows the user to not only see the live temperature, wattage, and
voltage of their device but change the settings and temperatures at a click.
Uniquely, it allows users to set temperature presets for one-click changes
between temperatures--for example to switch between leaded and unleaded solder.
{{< figure src="pinesam-mobile.png" alt="Screenshot of PineSAM UI on Mobile device" class="inline-40 left" >}}
< insert pic of PineSAM on Mobile >
The PineSAM project is working to integrate a "Work" screen which takes
inspiration from Joric's UI. Due to this, it's likely these two projects will
@@ -166,8 +158,6 @@ No setup needed! Just browse to
compatible browser. I've personally tested Firefox and Chromium on Fedora 37,
but I know others have got it working on Windows and MacOS, too.
As with PineSAM, feel free to come to chat for help and support.
## Home Assistant Setup with ESPHome
If Home Assistant (HASS) is more your speed, read on below. Be warned to get
@@ -182,8 +172,6 @@ control your ESP8266/ESP32 using just YAML configurations. In this section, I'll
walk though how to setup an ESP32 with will show you how to create a smart
soldering iron using Pinecil with Home Assistant and ESPHome.
{{< figure src="hass-soldering.png" alt="Home Assistant Soldering UI" class="inline" >}}
To make this work, we'll use an
[ESPHome configuration file]((https://github.com/TomW1605/esphome_pinecilv2_ble/blob/main/esphome_pinecilv2_ble.yaml))
put together by Pine64 community member TomW1605. Thank you again, Tom!
@@ -191,7 +179,7 @@ put together by Pine64 community member TomW1605. Thank you again, Tom!
## Requirements
- ESP32 device (Non affiliate link:
[ESP-WROOM-32 Development MCU on Amazon](https://www.amazon.com/ESP-WROOM-32-Development-Microcontroller-Integrated-Compatible/dp/B08D5ZD528))
[ESP-WROOM-32 Development MCU on Amazon](https://www.amazon.com/ESP-WROOM-32-Development-Microcontroller-Integrated-Compatible/dp/B08D5ZD528)
- Home Assistant already setup
- ESPHome already setup
@@ -206,20 +194,19 @@ put together by Pine64 community member TomW1605. Thank you again, Tom!
2. Setup an encryption key. This must be a base64-encoded, 32 bit string.
- You can create one on the CLI using `openssl rand -base64 32`
3. Change OTA password to desired
4. Change wifi SSID and password for your network in ESPHome secrets
4. Change wifi SSID and password for your network
5. Change wifi access point fallback settings to desired
6. **Important** - Change ble_client mac address to your Pinecil's MAC. This
can be found in the settings as well as in logs from the above tools
(Joric/PineSAM)
{{< figure src="pinecil-esphome.png" alt="Pinecil esp32 configuration example" class="inline" >}}
4. Flash the firmware to the ESP32 device
5. Add the device to Home Assistant
6. Create a Home Assistant dashboard to control and monitor your smart soldering
iron.
- An example dashboard can be found at
https://gist.github.com/NeilHanlon/83d6e2cdc6eb83cb205b617f80c2a7c3
- It uses the 'mini-graph-card' and 'auto-entities' integrations from HACS
{{< gist neilhanlon 83d6e2cdc6eb83cb205b617f80c2a7c3 >}}
< insert pic of dashboard >
Now that you've got that setup, you should start to see data coming in about
your Pinecil's settings! Go on and automate thy solder.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

-5
View File
@@ -28,8 +28,3 @@ git add -A
git commit -m "Deployment at $(date -u -Is)"
git remote add origin $REMOTE
git push -f origin pages
curl -X POST --fail \
-F token=$GITLAB_DEPLOY_TOKEN \
-F ref=main \
https://gitlab.com/api/v4/projects/29559707/trigger/pipeline