Author SHA1 Message Date
neil 74fd433dde Update 'deploy.sh'
ci/woodpecker/pr/woodpecker Pipeline was successful
2023-04-03 01:38:44 +00:00
neil 4287c88bf2 Update '.woodpecker.yml' 2023-04-03 01:38:05 +00:00
neil 75c4b6de3f Update 'deploy.sh'
ci/woodpecker/push/woodpecker Pipeline was successful
2023-04-03 01:34:29 +00:00
neil 71da3d83cd Update 'deploy.sh'
ci/woodpecker/push/woodpecker Pipeline failed
2023-04-03 01:33:22 +00:00
neil de7fd2af11 Update '.woodpecker.yml'
ci/woodpecker/push/woodpecker Pipeline was successful
2023-04-03 01:28:41 +00:00
neil ef7ba795ca homeassistant/ble article (#3)
ci/woodpecker/push/woodpecker Pipeline failed
Co-authored-by: Neil Hanlon <neil@shrug.pw>
Reviewed-on: #3
2023-04-03 01:20:25 +00:00
11 changed files with 82 additions and 16 deletions
+2 -2
View File
@@ -37,11 +37,11 @@ pipeline:
environment:
- CI_BUILD_EVENT=pull_close
when:
event: push
event: pull_close
publish:
image: git.shrug.pw/neil/containers/woodpecker-ci:latest
secrets: [ssh_key]
secrets: [ssh_key, GITLAB_DEPLOY_TOKEN]
environment:
- GIT_AUTHOR_NAME="Woody the Woodpecker"
- GIT_AUTHOR_EMAIL=ci@shrug.pw
+48
View File
@@ -16,3 +16,51 @@ 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;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

@@ -1,10 +1,10 @@
---
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.'
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'
date: 2023-03-28T19:01:25-04:00
draft: false
categories: [Home Automation, DIY]
tags: [Pinecil, Home Assistant, DIY, RISC-V, Blisp]
categories: [Home Automation, DIY, FOSS]
tags: [Pinecil, Home Assistant, DIY, RISC-V, Blisp, PineSAM, Pine64, esphome]
---
About a year ago, [wesdottoday](https://hachyderm.io/@wesdottoday) told me to
@@ -15,9 +15,14 @@ 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
@@ -74,6 +79,8 @@ 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.
@@ -83,7 +90,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 blisp repo
1. Find the latest sucessful actions run on the ironos 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' (-)
@@ -121,23 +128,24 @@ 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/).
< insert pic of PineSAM ui >
{{< figure src="pinesam.png" alt="PineSAM UI" class="inline" >}}
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 unable to change settings on the device. You can also find
the source code for Joric UI on [GitHub](https://github.com/joric/pinecil).
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).
< insert pic of Joric UI>
{{< figure src="joric-ui.png" alt="Joric's UI" class="inline-60 right" >}}
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.
< insert pic of PineSAM on Mobile >
{{< figure src="pinesam-mobile.png" alt="Screenshot of PineSAM UI on Mobile device" class="inline-40 left" >}}
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
@@ -158,6 +166,8 @@ 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
@@ -172,6 +182,8 @@ 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!
@@ -179,7 +191,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
@@ -194,19 +206,20 @@ 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
4. Change wifi SSID and password for your network in ESPHome secrets
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
< insert pic of dashboard >
- It uses the 'mini-graph-card' and 'auto-entities' integrations from HACS
{{< gist neilhanlon 83d6e2cdc6eb83cb205b617f80c2a7c3 >}}
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.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

+5
View File
@@ -28,3 +28,8 @@ 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