Domanda:
Rpi si blocca di tanto in tanto, come ripararlo con un watchdog?
Jurudocs
2019-06-14 12:43:34 UTC
view on stackexchange narkive permalink

Sto costruendo un sistema con un raspberry pi situato in un'area molto remota connesso a Internet con una chiavetta Internet. I test finora sono promettenti ma il pi si blocca ogni tanto e non sono più in grado di connettermi al pi. Poiché non voglio fare un viaggio di 2 ore ogni volta che si blocca, voglio costruire un sistema ridondante che controlli l'altro sistema.
Il caso peggiore sarà quello di interrompere il sistema bloccato dall'alimentazione al riavvio. Questo dovrebbe essere fatto dal pi funzionante.

Ora la domanda da noob totale quando si tratta di costruire elettronica.

Ho controllato l'ATXRaspi R3 ma non sono sicuro di come sparare "digitalmente" con la stampante da 6 secondi su quel controller di alimentazione per togliere l'alimentazione dall'altro pi ...

Quale sarebbe il modo più semplice per tagliare l'alimentazione da un altro pi? Qualsiasi suggerimento è molto apprezzato.

Non sono sicuro che qualcuno progetterà questo circuito per te. Ma un'altra cosa da considerare: qualunque cosa provochi il blocco del primo Pi potrebbe avere una modalità di errore comune al secondo Pi. Ad esempio, se si blocca a causa di una fluttuazione di potenza, potresti ritrovarti con due Pis congelati invece della ridondanza indipendente che desideri. Potrebbe valere la pena provare a capire perché quel primo Pi si blocca per primo.
Quanto velocemente hai bisogno del pi greco per tornare online? Un semplice timer per la luce delle vacanze potrebbe far scorrere l'alimentazione ogni X ore, a patto che non ti dispiaccia aspettare fino all'intervallo di ripristino per riaverlo di nuovo online.
@Jurudocs, Ho seguito il tutorial del timer watchdog di # berto e ho trovato tutto a posto. Non capisco bene cosa stia facendo il watchdog, ma sono sicuro al 90% che il metodo del timer watchdog dovrebbe risolvere il tuo problema, molto più pulito rispetto alla mia soluzione hardware proposta.
Cinque risposte:
#1
+7
berto
2019-06-15 08:09:28 UTC
view on stackexchange narkive permalink

Prima di esaminare l'hardware aggiuntivo, leggi quello che viene chiamato "timer watchdog". Il Raspberry Pi ha un watchdog hardware integrato che lo spegnerà se il chip non viene aggiornato entro un certo intervallo.

Ho configurato il watchdog su un Raspberry Pi 3 e una nuova versione di Raspbian con pochissima configurazione. La prima cosa da controllare è che il watchdog hardware sia disponibile (ho controllato il mio sistema e sembra che la versione di Raspbian che ho installato compili il supporto watchdog direttamente nel kernel; non è necessario caricare un modulo del kernel):

  pi @ unicornpi: ~ $ ls -al / dev / watchdog * crw ------- 1 root root 10, 130 Nov 3 2016 / dev / watchdogcrw ------- 1 root root 252, 0 3 novembre 2016 / dev / watchdog0  

Se vedi / dev / watchdog sei pronto. Tutto quello che devi fare è configurare la funzione watchdog incorporata in Systemd.

Nel file /etc/systemd/system.conf , imposta le seguenti righe:

  pi @ unicornpi: ~ $ grep Watchdog /etc/systemd/system.confRuntimeWatchdogSec=10ShutdownWatchdogSec=10min

Quello che dicono le righe sopra è:

  • aggiorna il watchdog hardware ogni 10 secondi. se per qualche motivo l'aggiornamento fallisce (credo dopo 3 intervalli; cioè 30 secondi), spegnere e riaccendere il sistema

  • allo spegnimento, se il sistema impiega più di 10 minuti per riavviarsi, spegnere ciclo il sistema

Dopo averlo configurato e riavviato, vedrai qualcosa di simile nei log di dmesg :

  pi @ orangepi: ~ $ dmesg | grep -i watchdog [0.763148] bcm2835-wdt 3f100000.watchdog: timer watchdog Broadcom BCM2835 [1.997557] systemd [1]: watchdog hardware 'Broadcom BCM2835 Watchdog timer', versione 0 [2.000728] systemd [1]: imposta watchdog hardware su 10s .  

Se vedi Imposta watchdog hardware su 10 sei pronto.

Il modo migliore che ho trovato per verificare che il watchdog funzioni è sovraccaricare il sistema. L'ho fatto con una "fork bomb", che saturerà completamente il sistema con i fork del processo di spazzatura. Se lo esegui, il Pi non risponde e il watchdog dovrebbe attivarsi. Il tuo sistema dovrebbe essere di nuovo attivo e funzionante dopo circa un minuto:

 : () {: |: &} ;: 

Incollalo in una shell e il tuo sistema verrà chiuso. Sei stato avvisato.

Ulteriori informazioni sul sistema watchdog integrato in Systemd si trovano sul sito web dell'autore.

Molte grazie per i consigli. Ho sentito il cane da guardia per molto tempo ma non l'ho mai provato, perché non era necessario, fino ad ora, costruire un giardino pensile intelligente lontano da casa (in realtà 50 piedi sopra casa). Un altro motivo non ha provato perché i tutorial non sono adatti ai principianti. Quando ho avviato Rpi1 anni fa, ho trovato i comandi da terminale molto spaventosi (mi ci sono volute più di tre ore per scaricare uno zip (tar in realtà) ed estrarlo, ma non sapevo dove trovare i file estratti!) Ora trovo i comandi da terminale non così spaventoso, ma a volte molto efficiente, anche se amo ancora i comandi del terminale Win PowerShell, ...
E il consiglio all'inizio della tua risposta di prima leggere cos'è un cane da guardia è molto buono. Non sapevo che watchdog fosse in realtà "watchdog TIMER" in breve. Questo è importante perché se so che è un timer in anticipo, posso capire meglio le cose. E come al solito, ho iniziato con Wiki, che è sempre una buona lettura per i neofiti. Ora so che il cane da guardia è in realtà una sorta di hardware seduto accanto all'Rpi. Quindi anche Rpi incasina le cose, il ragazzo esterno può venire in soccorso (o "dare il calcio"?). Leggendo Wiki mi ha fatto sapere che "kick in" non è gergo, ma termine tecnico.
Inoltre non sapevo cosa sia un "demone". Quando ero bambino, leggevo la Bibbia che il daemon è un cattivo ragazzo, quindi i programmatori retti come me non dovrebbero usare i daemon, altrimenti potrei diventare l'inferno. Ma poi Wiki mi dice chi i ragazzi del MIT / UNIX hanno coniato il nome e perché si scrive "demone" e non demone. Chiarisce anche che i demoni possono essere buoni e anche il ragazzo retto Socrate possiede un demone. Ad ogni modo, ho finito di leggere i wiki e ora sono pronto per iniziare i tuoi tutorial, :)
Quindi ho seguito il tuo tutorial molto dettagliato sul watchdog e ho trovato tutto OK al punto da impostare il watchdog su 10 secondi. Il prossimo passo è provare una bomba a forcella, forse questa sera tardi o domani.
Grazie per aver suggerito di chiamarlo "timer watchdog". Ho apportato la modifica
Credo che ti riferisci a "demoni" che sono considerati cattivi / malvagi. D'altra parte, "daemon" - con una "a" - è benevolo e deriva dalla mitologia greca. I processi su un sistema che vengono eseguiti in background sono indicati come demoni perché sono come fantasmi. Funzionano senza essere visti. https://en.wikipedia.org/wiki/Daemon_(classical_mythology)
Sì, "Watch Dog Timer" racconta la storia in modo più dettagliato. Ma l'idea del "cane da guardia" mi lascia ancora perplesso. Il seguente articolo mi fornisce maggiori dettagli, ma trovo ancora sconcertante l'idea di "prendere a calci il cane". Non ne ho mai sentito parlare prima. Immagino di aver perso un punto da qualche parte. Penso che sia come la ricorsione, che è semplice SOLO dopo aver compreso il "trucco". https://www.microcontrollertips.com/whats-watch-dog-timer-wdt-faq/
Non sono sicuro da dove provenga il termine, ma dire che qualcosa "entra in gioco" è un altro modo per dire che qualcosa si è attivato o che un evento sta accadendo. Nel caso del watchdog, quando entra in funzione, significa che il ciclo di alimentazione ha effetto, generalmente perché il timer non è stato aggiornato, il che suggerisce che c'è un problema.
Grazie mille per la tua spiegazione dettagliata della frase "kicking in". Una volta ero confuso perché ho letto un altro articolo che menzionava l'approccio "continua a prendere a calci il cane, o ti morderà". Questo approccio per continuare a calciare il cane viene effettivamente utilizzato dall'algoritmo di watchog Rpi, in quanto se il timer del watchdog è impostato su 10 secondi, Rpi dovrebbe continuare a riavviare il timer (calciare il cane prima che scada il tempo) forse ogni 8 secondi. Un'altra confusione per i neofiti come me è la seguente: / per continuare, ...
Ciao @berto, Un'altra confusione è la seguente. Rpi riavvia il timer, forse ogni 8 secondi, ma non controlla il timer per vedere se scade il tempo di 10 secondi. È il watchdog che "monitora" il timer e quando il timer di 10 secondi scade, l'hardware del watchdog ripristina l'Rpi. In altre parole, non è l'Rpi che "innesca" un reset, ma il circuito di reset hardware del watchdog "interviene" (o si innesca da solo, se si vuole) per resettare l'Rpi.
Ciao @berto,, ho appena aggiornato il mio Rpi3B + stretch a Rpi4B buster. Ho seguito di nuovo le tue istruzioni molto dettagliate per impostare il timer dell'orologio da 10 secondi e utilizzare la bomba a orologeria per verificare che tutto funzioni. In altre parole, la tua istruzione è buona sia per Rpi3 stretch che per Rpi4 buster. Molte grazie ancora per il tuo aiuto.
#2
+4
Milliways
2019-06-14 13:21:10 UTC
view on stackexchange narkive permalink

Il taglio della potenza è un metodo di forza bruta e presenta dei rischi.

La soluzione convenzionale ai problemi di blocco è usare un watchdog.

Esiste un watchdog hardware BCM; Se vuoi avviare il watchdog hardware includi dtparam = watchdog = on in /boot/config.txt

Di per sé questo fa poco, sebbene dovrebbe riavviare il sistema se non "preso a calci" regolarmente. Puoi scrivere codice che apre / dev / watchdog per avviarlo.

C'è anche un demone watchdog che puoi configurare per attivare il watchdog; dovresti essere in grado di iniziare con sudo systemctl enable watchdog

PS Per inciso, se vuoi perseguire l'approccio della forza bruta - non preoccuparti di tagliare la potenza - basta tirare il perno di ripristino (etichettato RUN ) basso. Ciò equivale a spegnere e riaccendere.

#3
+2
tlfong01
2019-06-14 13:27:10 UTC
view on stackexchange narkive permalink

Domanda”

Di tanto in tanto si blocca l'Rpi in remoto. Come svegliarli?

Risposta

Aggiorna 2019jul27hkt1406

Recentemente ho aggiornato il mio Rpi3B + stretch a Rpi4B buster e di nuovo ho seguito il tutorial di @ berto per impostare il timer del watch dog. Ho scoperto che tutto funziona perfettamente come prima. In altre parole, non è necessario apportare modifiche al tutorial di @ berto quando si aggiorna a Rpi4.

L'ultima volta non sapevo nulla della cosa del timer watchdog. Quindi mi ci sono volute più di 3 ore per google per capire tutto dentro e fuori (beh, quasi dentro e fuori). Questa volta so cosa sta succedendo e tutti i trucchi di Linux, quindi mi ci sono voluti solo un paio di minuti per completare il tutorial di @ berto.

2019jun18 Aggiornamenti

Dopo altri pensieri, ho concluso che la mia risposta sta volgendo al termine. La mia conclusione è che il tutorial del cane da guardia di @ berto e il suggerimento per l'esperimento sono buoni e la sua risposta è la vera risposta alla domanda dell'OP.

Ho svolto con successo il suo esperimento suggerito, risultati verificati dal programma forkbomb e dopo aver cercato su Google e letto per più di 10 ore, penso di aver finalmente capito a fondo l'idea del timer watchdog.

In precedenza pensavo erroneamente di dover ancora imparare a impostare il timer su 10 secondi o più. Ma come dice @berto, 10 secondi è tutto ciò che deve essere impostato. Ho anche letto che posso impostare il timer fino a 16 secondi e l'impostazione predefinita del watchdog di Linux è anche di un minuto. Ma questo non è critico.

Ho rimosso tutte le lunghe note di lettura nelle appendici, per rendere la risposta più breve. Suggerirei ai neofiti di non cercare di capire tutti i dettagli di watchdog, per non parlare del demone SystemD, molto più complicato, perché la nostra vita è breve e quelle cose di sistema sono troppo complicate per i non professionisti.

I vorrei aggiungere due punti per concludere la mia risposta.

(1) Ci sono molte ragioni per cui un Rpi si blocca in un paio di giorni (ma di solito non in mesi). Spesso non è colpa del programma applicativo, ma a causa dei driver o delle funzioni di libreria che creano troppa spazzatura, ad es. prese create, utilizzate ma non adeguatamente smaltite. Se è il programma applicativo stesso a creare garbage, il programma può eseguire la "garbage collection" e risolvere il problema. Ma è difficile rimuovere i garbage socket che non vengono generati dal programma applicativo. Quindi un timer watchdog è utile qui.

(2) Altri modi per evitare troppa spazzatura che utilizza le risorse includono il riavvio di tanto in tanto da software o hardware. Penso che riavviare ogni mattina e utilizzare anche un alimentatore commutabile tramite software per ripristinare il sistema aggiunga un altro livello di protezione. E l'utilizzo di un solo Rpi non è molto sicuro. Usando due Rpi come watchdog l'uno dell'altro (usando URT per il passaggio dei messaggi, ad esempio) aggiungi un ulteriore livello di protezione. Un altro metodo che non ho esplorato è l'utilizzo delle prese Wifi ESP8266. Spero di poterlo provare più tardi.

Questa è la fine della mia risposta. Ciao.

Aggiornamenti 2019jun17

Così ho provato la bomba a forcella. Il sistema si è riavviato dopo aver eseguito il programma, in circa 15 secondi .

fork bomb test results

Aggiornamenti 2019jun16

Ho scoperto che il programma fork bomb di @ berto è un po 'spaventoso per i principianti. Quindi sto imparando Bash a scoprire cosa sta facendo quella bomba a forcella. Fondamentalmente è solo una funzione chiamata ":", che è definita come una funzione che si chiama due volte, quindi biforcandosi indefinitamente, alla stessa velocità con cui i conigli crescono in modo esponenziale, consumando tutte le risorse e mandando in crash Linux.

fork bomb

Ho anche trovato la seguente versione interessante di forkbomb che utilizza simboli Unicode:

() {| &};

2019giugno 14/15 Aggiornamenti

@thesnow suggerisce un approccio a strati molto carino utilizzando una presa intelligente. Penso che la presa intelligente o le cose intelligenti dell'IoT siano la strada da percorrere. Tuttavia, non sono un principiante così intelligente in roba intelligente, anche se ho voglia di imparare. Quindi comprerò una presa intelligente, farò qualche ricerca e migliorerò la mia risposta in seguito. Per ora, ho aggiunto alcune risorse di apprendimento correlate nella sezione di riferimento di seguito.

Ho trovato molto buono anche il suggerimento di @ berto di utilizzare il timer watchdog hardware di Rpi. Non ho mai giocato con nessuna roba da watchdoog. Quindi lo proverò ora. Le istruzioni di @ berto sono molto dettagliate, ma ancora un po 'difficili per me, perché non conosco molto bene il significato dei comandi "grep" e "dmseg". Quindi ho cercato su Google e ho preso alcune note di lettura nelle appendici seguenti. Poi ho seguito il suggerimento di @ berto e ho faticato un po 'per completare la parte 1. Non ho ancora riavviato, perché ho bisogno di fare una pausa per digerire le cose. Ad ogni modo, ecco la cattura della schermata.

watchdog_test_2019jun1501

Ho riavviato e ho ottenuto il seguente dmesg:

watchdog 3

Penso di andare troppo veloce e ora ho bisogno di prendermi una pausa per studiare prima altre cose su Linux, come systemd, prima di tornare a portare avanti il ​​test su watchdog.

systemd architecture

/ per continuare, ...

La risposta

Ho lo stesso problema. Sto costruendo un giardino sul tetto con un paio di Rpi ciascuno dei quali si collega a vari sensori, relè e solenoidi wireless (BlueTooth, Wifi). Ci sono due enormi motori nelle vicinanze, che controllano grandi serbatoi d'acqua e ascensori. I motori generano EMI e di tanto in tanto congelano le cose elettroniche vicine.

Il mio piano è di utilizzare PSU (unità di alimentazione) commutabili tramite software per spegnere / accendere Rpi congelati e altri dispositivi (i dispositivi Bluetooth si bloccano più spesso. BlueTooth e altri piccoli dispositivi non hanno alcun comando di ripristino software o ripristino hardware pin, quindi spegnere / accendere il loro Vcc 5V è un movimento veloce e sporco, ma comunque sicuro). In breve, gli Rpi si guardano regolarmente l'un l'altro ei loro dispositivi e POR (Power On Reset) ogni ragazzo che si è addormentato.

Ovviamente posso anche usare un pin GPIO per attivare il pin di reset dell'hardware Rpi a bordo. Ma sono troppo pigro per eseguire cablaggi extra e un hobbista troppo povero per permettermi dispositivi di sistema non stop di livello professionale / industriale come il timer Dual WatchDog di SwitchDoc Labs (vedi riferimento sotto)

Modifico DC- Alimentatori CC (da 12V a 5V) in modo che qualsiasi pin GPIO Rpi o MCP23x17 possa accendere / spegnere il chip regolatore di tensione LM2956 / LM2947 dell'alimentatore. (LM2941 può essere utilizzato per interruttori di corrente 1A, LM2596 per PSU 5V 3A. Il pin on / off è anche collegato a un pulsante, per test di accensione / spegnimento manuale.)

In realtà ciascuno dei miei 7 L'Rpi3B + è collegato a un modulo orologio in tempo reale DS3231 a buon mercato che ha un pin di interruzione hardware per ripristinare PSU, Rpi o altri dispositivi.

Quando possibile e pratico lego insieme tutti i pin di reset dei dispositivi (rimuovendo alcune delle resistenze di pull up, in modo da non sovraccaricare il pin GPIO).

Ora il DS3231 esterno RTC sveglia tutti la mattina e spegne le luci a mezzanotte, così tutti vanno a letto.

software switchable PSU

software switch PSU

software switch

Riferimenti”

1. PSU / interruttori di corrente ripristinabili con software basati su LM2596 / LM2941 - Discussione Rpi StkEx

Discussione watchdog hardware Rpi

SwitchDoc Labs Dual WatchDog Timer

ATXRaspi R3 - LowPowerLab US $ 14,95

Un ESP8266 hackerabile all'interno di una presa intelligente Vuoi giocare con ESP8266 senza preoccuparti l'hardware? - Mat 2017ag06

Reverse Engineering 101 dell'ecosistema Xiaomi IoT HITCON Community 2018 - Dennis Giese

Presa WiFi Xiaomi + app MiHome 21.307 visualizzazioni

espHome [ESP8266 / ESP32]

AliExpress WiFi Smart Plug

Dispositivo intelligente -Wikipedia

Apriporta per garage WiFi con ESP8266 - Ray Wang 2016 maggio13 56.335 visualizzazioni

Appendici

Appendice A - Note sulla lettura del timer WatchDog

Timer Watchdog -Wikipedia

Linux WatchDog Man Page

Linux Watchdog - Test generali

Appendice B - Comandi Linux grep e dmesg note di lettura

Appendice C - riferimenti a systemd

Systemd System and Service Manager - FreeDeskTop

systemd - Wikipedia

Appendice D - Riferimenti a Fork e Fork Bomb

Fork (chiamata di sistema) Wikipedia

Appendice E - Note di apprendimento Bash

Un'ottima risposta! Grazie anche per le foto. Sono contento che tu non l'abbia preso solo per questa domanda MrGreen Quindi immagino che quello di cui ho bisogno sia l'alimentatore LM25966S per collegarlo al GPIO come hai detto. Cercherò!!! Bene che ho ancora il mio vecchio saldatore ...
@Jurudocs Grazie per le tue belle parole. Ho tagliato, incollato e modificato le mie vecchie risposte per la tua domanda, quindi non mi ci è voluto molto tempo. Sono un appassionato di PSU, e ho realizzato PSU fai da te usando chip LM2596 e bobine di induttori, ecc. Ma al giorno d'oggi tutto va SMD ei moduli assemblati sono a buon mercato, quindi sono stato pigro nel "fare" le cose. A proposito, per creare confusione con l'alimentatore LM2596, non è necessario eseguire il test utilizzando Rpi GPIO. Puoi solo testare a mano! :) In bocca al lupo!
Ho notato che hai menzionato la lettura su Systemd. Anche se ti consiglio vivamente di farlo perché è una componente significativa del modo in cui funzionano i moderni sistemi Linux, comprenderlo appieno richiederà molto tempo e non è necessario provare il watchdog. :)
@berto, Sono d'accordo che potrebbe volerci molto tempo per capire il complicato SystemD. Come dice Poettering: "[systemd] non è mai finito, mai completo, ma tiene traccia del progresso della tecnologia". Ricordo Oliver Heaviside, che diceva: "Devo rifiutarmi di mangiare perché non comprendo appieno il meccanismo della digestione?" - https://en.wikiquote.org/wiki/Oliver_Heaviside Quindi dimenticherò systemd ora e tornerò a watchdog. In realtà devo prima imparare Bash, prima di poter capire la strana sceneggiatura Bash di Fork Bomb.
La linea fork bomb è piuttosto semplice una volta capito cosa stai guardando. È una funzione denominata ":" che chiama se stessa in modo ricorsivo e mette una copia di se stessa in background che chiama anche se stessa in modo ricorsivo. La pagina di Wikipedia che hai nelle tue note lo spiega ulteriormente.
Beh, non sapevo che il simbolo ":" potesse essere il nome di una funzione. All'inizio pensavo erroneamente che la funzione non avesse nome, in altre parole un "lambda". Immagino che oltre il 90% dei visitatori di questo forum non capisca qual è l'idea della ricorsione, per non parlare della doppia ricorsione usata qui. La ricorsione in matematica è un algoritmo che finirebbe e il problema verrà risolto. In questo caso, non c'è fine. È SCORRETTO E INGANNEVOLE chiamare la funzione ricorsiva. La funzione che chiama se stessa, non è ricorsione in senso pieno, o secondo la rigorosa definizione matematica.
Ho trovato la tua risposta precedente (6 anni fa!) Qui: https://raspberrypi.stackexchange.com/questions/3732/watchdog-daemon-not-restarting-pi-after-fork-bomb Le cose sono più complicate di quanto pensassi, quindi passerò più tempo prima di disinnescare la bomba. :)
Ho controllato tutto bene. Quindi ho eseguito la bomba a forcella. Come previsto, il sistema si è riavviato in circa 15 secondi. Per riassumere, ho seguito i tuoi bei tutorial e ho trovato tutto a posto, anche se non capisco bene cosa stia succedendo. Ho bisogno di dedicare più tempo alla comprensione dei tuoi comandi, prima di sapere come impostare il timer del watchdog.
#4
+1
Wildbill
2019-06-15 00:47:34 UTC
view on stackexchange narkive permalink

Ho un bel po 'di Pis. Tutti, tranne uno, funzionavano perfettamente. Il bambino problematico si bloccava periodicamente e non si riprendeva mai dopo un'interruzione di corrente senza che venisse riacceso nuovamente. L'ho riavviato da solo ogni notte tramite cron e questo ha aiutato un po '.

Ciò che lo ha risolto è stato prendere la scheda SD e l'hardware del sensore e inserirli in un altro Pi. Da allora ha funzionato senza errori. Forse anche tu hai un problema hardware.

Non ho capito il tuo secondo paragrafo sul problema hardware. Volevi dire che la scheda SD e il sensore hanno causato tutti i problemi e la loro sostituzione ha risolto il problema?
No, il Pi stesso era il problema. Ne avevo uno di scorta, quindi ho trasferito la scheda SD ei sensori su quello di scorta e l'ho usato al posto dell'originale. Nessun problema da allora.
Vedo. Quindi è sempre una buona idea avere un Rpi di riserva per la risoluzione dei problemi di scambio. Forse anche il PO dovrebbe considerare questo.
#5
  0
thesnow
2019-06-15 01:15:35 UTC
view on stackexchange narkive permalink

Se hai il Wi-Fi e hai solo bisogno di spegnere / accendere, potresti anche prendere in considerazione l'utilizzo di una presa intelligente. Amazon ne crea uno per ~ $ 25, puoi accenderlo / spegnerlo da remoto e anche impostare le routine del timer se preferibile. Ne ho alcuni da diversi mesi e sono abbastanza affidabili. In realtà non hai bisogno di un Echo o di qualsiasi altro dispositivo dedicato. Uso il mio smartphone. Amazon Smart Plug

Modifica: mi rendo conto che questo non fornisce una soluzione alla prima parte della domanda, ma se avessi la prospettiva di un viaggio di 2 ore se qualcosa andasse sbagliato, considererei un approccio a più livelli.

, Apprezzo molto il tuo suggerimento di un approccio a più livelli, con una presa intelligente nello strato superiore. In realtà da alcuni mesi sto provando a creare una presa intelligente basata sul controller WiFi ESP8266. Tuttavia, ho scoperto che ESP8266 con NodeMCU Lua ha una curva di apprendimento molto ripida. Il principiante, cioè, io ho impiegato più di 100 ore solo per far lampeggiare un LED (rispetto a meno di un'ora per scrivere un programma blinky Arduino o Rpi) Quindi purtroppo ho rinunciato e ora decido di imbrogliare acquistando uno smart plug ESP8266 XiaoMi e modificarlo . Aggiungerò presto il tuo suggerimento alla mia risposta. Molte grazie ancora! :)


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...