[HN Gopher] DIY out-of-band management: remote power button
___________________________________________________________________
DIY out-of-band management: remote power button
Author : secure
Score : 119 points
Date : 2022-10-09 14:33 UTC (8 hours ago)
(HTM) web link (michael.stapelberg.ch)
(TXT) w3m dump (michael.stapelberg.ch)
| sebazzz wrote:
| Keeping wake on LAN on will likely use less power than this ESP32
| solution.
| phoronixrly wrote:
| I know that HN is crazy about their homelab setups, but please
| consider whether having a rats nest of jumpers and a breadboard
| in your comms cabinet is reliable, let alone safe... How about a
| tweak to the BIOS to auto turn on power, then plug it into a
| Shelly Plug running Tasmota? You get your remote turn-on, you get
| a tested, reliable, and safe solution, and you get power use
| monitoring on top of that.
|
| The difference in price is ~ 10 eur where I'm at, and I'm not
| including the rest of the BOM of OP:
|
| Shelly Plug S: EUR 25
|
| NodeMCU: EUR 12.5 Breadboard: EUR 3
| shiftpgdn wrote:
| Keep in mind a lot of smart plugs have remarkably low amperage
| limits.
| secure wrote:
| A smart plug would probably work just as well for most cases,
| but one downside is that you need to ensure your computer is
| safely powered off before turning off the smart plug.
|
| Conceptually, pressing the power button seems a little cleaner
| to me, and also works well with suspend-to-ram (what I
| originally wanted to do), which the smart plug can't do.
|
| I'm not too concerned with safety -- we're talking about 3.3V
| (signal) and 5V (power) here.
| phoronixrly wrote:
| You shut down your computer the usual way, from the OS, then
| toggle the plug to restart it. In case the system hangs
| during shut down, you'd actually want to know that it's
| hanging, which you can actually see in the power readings of
| the plug.
|
| > I'm not too concerned with safety
|
| I'm sorry to state that, but that much is evident from the
| photos in the blog post (assuming you're author here). While
| the voltages may look safe to you, the whole contraption is
| safe just until something goes wrong. Examples:
|
| 1. You push around a dangling wire and short out a more
| powerful circuit.
|
| 2. Something on your _dev_ board for _development purposes_
| releases the grey smoke. 500mA at 5v may seem low to you, but
| under the right circumstances might cause a fire. I don 't
| see any fuses or other overcurrent protection in your
| schematic.
|
| 3. Your mainboard gives a defect and runs more that the
| expected voltages/currents to your dev board. God forbid AC
| from something else faulty in the electric installation (just
| saying because I've been zapped from touching the _outside_
| of a closed case).
|
| 4. Power surges, lightning strikes... Static electricity
| even...
| KMnO4 wrote:
| Many smart plugs have some sort of energy monitor built in. I
| imagine you could turn off the plug when the power dropped
| below, eg, 5W.
| bennyp101 wrote:
| We have a couple of sms enabled plugs for some remote places,
| worst comes to it we can send a txt and power cycle the devices
| rektide wrote:
| Crazy good ESPHome story here!
|
| > _I wanted a quick solution (with ideally no custom firmware
| development) and was already familiar with ESPHome, which turns
| out to very easily implement the functionality I wanted :)_
|
| > _In addition to a standard ESPHome configuration, I have added
| the following lines to make the GPIO pin available through MQTT,
| and make it a momentary switch instead of a toggle switch, so
| that it briefly presses the power button and doesn't hold the
| power button:_
|
| Really simple looking understandable yaml.file constitutes almost
| all the softwafe development done for this project. Stunning.
| Nice.
| lloydatkinson wrote:
| A mosfet seems pretty overkill for this instead of practically
| any cheaper transistor unless there's something about motherboard
| headers I don't know. Pretty cool though.
| dekhn wrote:
| Why is the transistor needed at all? Does the current to turn
| on/off the machine exceed the ESP32's pins?
| jstanley wrote:
| Because you need to act like a switch.
| numpad0 wrote:
| > void setup(){ pinMode(PWRBTN, INPUT); }
|
| > void press(){ digitalWrite(PWRBTN, HIGH); delay(33);
| digitalWrite(PWRBTN, LOW); delay(33); digitalWrite(PWRBTN,
| HIGH); }
|
| My 5min hack would look like this - and optionally a 0.1uF
| and a 1k resistor for peace of mind - totally untested
| though. Usually a uC I/O pin has three states; output high,
| output low and Hi-Z. Hi-Z is high-impedance or extremely
| high resistance state, analogous to an open circuit.
| dekhn wrote:
| I mean, you can use a GPIO on a microcontroller as a switch
| if the current is small enough... this device is not
| directly in the path of 120V, it's just twiddling a GPIO on
| the motherboard... right?
| secure wrote:
| Cheaper transistors should totally work, as I tried to describe
| in the article.
|
| I had this particular MOSFET lying around from a different
| project, so that's the main reason I chose that one :)
| sokoloff wrote:
| It's also only $0.46 in singles at DigiKey, so hardly
| something crazy wasteful in any event.
| folmar wrote:
| A no-thrills transistor would be some 2 cents, so 20 times
| cheaper on the other hand.
| sokoloff wrote:
| I wasn't able to locate any suitable BJTs around $0.02 in
| single qty at DigiKey.
| someperson wrote:
| Nit: Please hyphenate "out-of-band". That's how it's usually
| written, and it's much more readable.
| secure wrote:
| Now hyphenated, thanks for the hint
| pmontra wrote:
| Great project but a little too much for the ones of us with only
| software development skills.
|
| I use smart plugs over Wi-Fi to do that. Shelly Plug S have a
| small physical button, a web app, a HTTP URL to call to switch
| the plug on or off. They also have a lot of features that I don't
| need. Among them MQTT and Alexa/Google integrations. A few bash
| scripts with curl and I can do everything I need. The price is
| reasonable and they saved me a lot of time.
| hashworks wrote:
| This. Most mainboards can be configured to boot the moment they
| receive power, no need for a power button.
|
| It's also worth noting that any internet integration can be
| disabled on all Shelly devices.
| d0gsg0w00f wrote:
| Agreed. The Shelly looks to be targeted at EU markets. I
| suppose the more American equivalent would be something like a
| Meross
|
| Meross Smart Plug Mini https://a.co/d/ey2LJcb
| mkup wrote:
| I use a couple of Ewelink devices (hardware-equivalent Chinese
| clone of Sonoff S20 from AliExpress), reflashed with open
| source Tasmota firmware for the same purpose: remotely
| controlled power socket, with physical button, connected to
| WiFi, with HTTP web page and REST API for curl etc, firmware
| has MQTT support too; I have no idea about Alexa/Google
| integrations (likewise, I'm not interested in this feature),
| but the price is bargain, $10/each. Sonoff S26 clones are good
| for this purpose too, but UART port is easier to solder on S20
| (larger one). Soldering UART port is necessary for reflashing
| to Tasmota, because stock firmware is utter crap.
| 867-5309 wrote:
| how do you feel about leaving "Chinese clone" devices plugged
| in 24/7? do the plugs have a ground pin? do they get hot? do
| they have CE certification? genuinely interested in this
| setup and don't answer if too prying. thanks
| denkmoon wrote:
| It's 3 components, a bread board and some wire. I would
| encourage any "software only" people to give it a go :) The
| software side (MQTT, ESPHome, Docker) of this is far more
| complex than setting up the hardware.
| somehnguy wrote:
| Hardware can be a fun change of pace if you're willing to try.
| A lot of stuff is pretty safe as long as you follow basic
| precautions.
|
| I built my own remote garage door opener with an esp32, relay,
| and Amazon dash button. Took a bit to get working but super
| satisfying when you do :)
| NoraCodes wrote:
| This is a neat writeup. I think the ESP32, alongside similar
| microcontrollers that tie communication via complex protocols so
| close to direct interaction with the physical world for such a
| small energy cost, are really amazing for teaching, inspiring,
| and empowering otherwise "non-technical" people. Of course, you
| do have to be able to program, but I think we're making great
| strides in making that as easy as possible with things like
| CircuitPython and EduBlocks.
|
| Also, this kind of shocked me:
|
| > none of my followers had ever seen functioning WOL on any 10
| Gbit/s card.
|
| Those cards are _way too expensive_ to be lacking such a useful
| feature!
| sokoloff wrote:
| It seems likely that most existing deployments of 10Gbps cards
| are into a machine that has an alternative management card
| (which has no reason to be 10Gbps-capable).
|
| I don't need to WoL via my 10Gbps card near as much as I need
| WoL on the management interface.
| NoraCodes wrote:
| That makes sense, I suppose! Maybe if/when 10Gbps becomes
| more popular with consumers such highly integrated cards will
| come onto the market.
| InvaderFizz wrote:
| Unfortunately, at the current adoption rate, that will be
| sometime after 2040.
| secure wrote:
| We're already starting to see 2.5 Gbps interfaces become
| more and more popular on mainboards, so I suspect once 10
| Gbps interfaces become more common on high-end mainboards,
| vendors will start caring about WOL with these chips :)
| skocznymroczny wrote:
| At my workplace we had a farm of laptop machines and we weren't
| allowed to disassemble them to pull any power wires out. What we
| ended up using was a remotely controlled motor with a small
| plastic "finger" attached that would press on the power button
| for n seconds, depress, wait few seconds, then press it for n
| seconds again to do remote hard reboots.
| gw99 wrote:
| Found a similar rig set up years ago. The old Tektronix TDS
| scopes used to lock up in a go/no go test rig and stop
| responding to GPIB commands. Someone unknown got fed up of it
| so they wired a relay in a box up as an inline switch for the
| scope power and drove it from a spare port in a GPIB switch box
| that the test script talked to. This turned the scope on and
| off again before each test cycle so it was less likely to
| crash. This saved hours and hours of failed test runs.
| matja wrote:
| Had a secure server room with a maglock with very few
| cardholders and forgot our cards a few times. We wired-up a CD-
| ROM drive to a server positioned so that it pressed the door
| unlock button on the wall when it was ejected, so someone could
| ssh in to the server and "eject /dev/sr0" to get in.
| teddyh wrote:
| https://thedailywtf.com/articles/ITAPPMONROBOT
| jvanderbot wrote:
| You're kidding me.
|
| It's exactly the role of this robot in Wall-E:
| https://old.reddit.com/r/MovieDetails/comments/h7r2f2/when_w...
| tbyehl wrote:
| https://us.switch-bot.com/pages/switchbot-bot
| wpietri wrote:
| That is awesome and I'm glad somebody did it. But was there
| some reason not to just pull the laptop batteries and use
| normal remote-controllable outlets?
| tbyehl wrote:
| 15-20 years ago if you were using a cheap dedicated hosting
| company that stacked "servers" in desktop cases on wire racks and
| somehow offered instant remote reboots despite clearly being too
| cheap to buy switched PDUs, they were doing something just like
| this.
| JonChesterfield wrote:
| I want this feature. Power cycle a machine from somewhere else.
| The smart PDU strips are suspiciously complicated and expensive
| enough that I don't want to discover I bought an unreliable one.
|
| Current thinking is a relay held open by power over ethernet and
| toggle the switch port to reboot it, but I don't quite have the
| nerve to solder the relay myself. I can't deal with a
| dead/crashed switch remotely anyway.
| watermelon0 wrote:
| If this is something permanent (and needs to be reliable), I'd
| advise the author to move it to perfboard/veroboard.
| joezydeco wrote:
| The more I work with MQTT the more I enjoy it. It's just enough
| protocol to get the job done without overcomplicating things.
| Nice work.
___________________________________________________________________
(page generated 2022-10-09 23:00 UTC)