Trasformare il Sonoff NSPanel PRO in un Tablet Android!
di Luigi Duchi
25 Febbraio 2023
Sonoff
Nel nostro canale ormai ne abbiamo visti passare di oggetti tecnologici.
Il mondo delle Smart Home sta progredendo a vista d'occhio e non è raro imbattersi in prodotti che sulla carta dovrebbero essere innovativi.
Spesso però dopo tanto Hype per l'attesa di un dispositivo, quando finalmente si ha tra le mani, ci si rende conto che non è esattamente come ce lo si aspettava e alcune volte si rimane delusi.
L'azienda Itead ci aveva inviato l'estate scorsa il nuovissimo Sonoff NS panel PRO recensito da Vincenzo Caputo sul nostro canale.
Chi si fosse perso l'articolo lo può trovare QUI.
Il dispositivo sulla carta si presentava molto interessante, tuttavia ho sempre avuto la sensazione che, dopo il primo effetto wow, all'utilizzo pratico non fossero poi così utili.
La mancanza delle uscite alimentate e dei pulsanti, come la vecchia versione (https://amzn.to/3xOBNTN), mi aveva ulteriormente scoraggiato.
Peccato perché le caratteristiche tecniche non erano male per niente. Ma mancava quel qualcosa che mi facesse dire "WOW prendiamone un container, heheheheheh"
Ma una cosa mi ha colpito questo dispositivo: la scoperta che NSPanel Pro era basato su Android! La mia domanda è stata subito: "Chi sa se un giorno sarà possibile eseguire applicazioni di terze parti?"
Certo le caratteristiche tecniche non sono certo paragonabile ad un tablet di ultima generazione, ma tutto sommato più che sufficienti a gestire Android e qualche applicazione. Cosi mi sono messo alla ricerca sul web quando finalmente mi sono imbattuto nell'impeccabile lavoro di Blakadder uno sviluppatore presente su GITHUB
Blakadder ha scritto una guida dettagliatissima che ci permetterà di caricare tramite ADB delle applicazioni Android (APK) e un launcher che ci permetterà di sfruttare a pieno il nostro NSPanel Pro.
Nonostante la guida sia fatta molto molto bene, è in inglese e molti non sono in grado di seguirla cosi ho deciso di replicare il progetto e riportarla completamente in italiano.
Prima di iniziare con i vario passaggi vi chiederete: "Perché dobbiamo andare ad eseguire questa guida?"
L'immagine sopra spero che abbia destato il vostro interesse. Io, quando l'ho vista, mi sono quasi emozionato, hehehehehehe.
Ebbene si! Sarà possibile eseguire la Companion APP di Home Assistant e sarà possibile quindi creare una dashboard personalizzata adatta alle dimensioni dello schermo del NSPanel PRO.
In realtà si potranno installare tante altre APK compatibilmente con le risorse residue del Sonoff.
Vediamo quindi i passaggi necessari:
Per prima cosa sarà necessario accoppiare NSPanel al vostro account eWeLink, dovrete seguire le istruzioni già viste più volte su questo canale, e comunque ben descritte nel video in coda, quando accenderete il vostro Sonoff.
Successivamente dovrete prendere nota dell'indirizzo IP che il vostro router avrà assegnato all'NSPanel. Lo potrete identificare nelle impostazioni direttamente nel pannello touch del dispositivo o più comodamente sul vostro Router. Il mio consiglio è quello di andare a prenotare sul vostro Router l'indirizzo IP in modo che venga assegnato sempre lo stesso.
Nel mio caso il mio router ha assegnato 192.168.1.115
Accendete un computer Windows connesso alla stessa rete alla quale avete connesso il vostro NSPanel e create sul desktop una cartella che, per comodità, ho chiamato NSPanel Pro HA
La potrete chiamare come volete purché poi ricordiate il percorso.
Scaricate Android Platform-tools cliccando QUI
Una volta scaricato lo dovrete spostare nella cartella creata poco prima ed estrarlo.
Dovreste trovarvi una situazione del genere
Attenzione Qui la guida si dirama
Allora, apriamo una parentesi relativamente piccola:
Itead permetteva la connessione ADB su TCP nativamente fino al firmware 1.3.0 perciò, se avete ancora quel firmware, non avrete problemi di sorta .
Saltate i passaggi successivi della guida e andate direttamente alla voce "procedura comune per tutti i firmware"
Se il vostro NSPanel Pro ha firmware 1.3.2
Se il vostro Sonoff ha questo firmware Itead ha disabilitato la connessione ADB di default sul vostro dispositivo. Niente paura la situazione è ancora recuperabile.
Aprite l'applicazione eWeLink, andate nelle impostazioni del dispositivo (sul vostro NSpanel PRO e cliccate 7 volte sulla voce Device ID, vi chiederà se vorrete abilitare la modalità sviluppatore e ovviamente dovrete accettare.
Noterete una nuova voce nel menù chiamata appunto modalità sviluppatore (developer mode se in inglese) cliccateci sopra e abilitate ADB.
Si aprirà un popup che vi indicherà che perderete la garanzia se continuerete con questa operazione. Dovrete necessariamente accettare. Perderete la garanzia ma adesso siete diventati sviluppatori con ADB abilitata.
Se è andato tutto bene saltate i passaggi successivi della guida e andate direttamente alla voce "procedura comune per tutti i firmware"
Se il vostro NSPanel Pro ha firmware 1.4.0
Se il vostro Ns panel ha questo firmware o successivi i problemi sono più elevati per abilitare ADB dovrete smontare il vostro dispositivo. Non vi preoccupate non è un operazione difficile, non dovrete saldare nulla ma dovrete prestare solo più attenzione e fare qualche passaggio in più.
Prima di procedere con lo smontaggio effettuate comunque la procedura che potrete leggere sopra alla voce "Se il vostro NSPanel Pro ha firmware 1.3.2" a molte persone ha funzionato anche con firmware molto dopo la 1.4
Nel caso non funzioni non vi rimane che aprire il device.
Partiamo quindi dallo smontaggio, se seguirete step per step non dovreste trovare difficoltà.
1) questa operazione dovrà essere effettuata con il Sonoff disalimentato, staccatelo quindi dall'alimentazione.
2) disaccoppiate il monitor dalla parte posteriore proprio come quando lo volete attaccare a parete.
3) svitate le viti cerchiate di rosso mettetele in un luogo sicuro sono molto piccole rischiate di perderle
Con l'aiuto di un cacciavite una volta svitate le viti dovrete far leva nelle varie fessure sul perimetro per rimuovere il pannello di plastica.
Svitate anche le viti cerchiate di rosso nella foto sopra e sganciate il flat che vedete in foto sarà necessario per alzare la scheda e poter connettere un cavo alla porta USB denominata OTG
Se è la prima volta che connettete un dispositivo del genere al vostro computer dovrete scaricare i driver ADB li potrete trovare QUI seguite la procedura nella pagina che si aprirà (scaricate il file zip è la procedura più veloce).
Una volta installati i driver collegate l'altro capo del cavo usb alla porta USB del computer Windows. Attenzione collegare il dispositivo solo tramite usb non alimentarlo contemporaneamente con la 230V.
dovresti avere un nuovo dispositivo in Gestione dispositivi come evidenziato nella foto.
Aprite un prompt dei comandi su windows (il terminale per intenderci) e andate nel percorso della cartella platform-tools che è la cartella dove prima abbiamo de-compattato appunto platform-tools
Se non conoscete il percorso cliccate con il tasto destro sulla barra della cartella e cliccate su copia indirizzo. Posizionatevi sul prompt dei comandi e digitate cd lasciate uno spazio e incollate con Ctrl e V il percorso della cartella. Poi premete invio
Ovviamente dovrete inserire il vostro percorso
nel mio caso il comando sarà:
In tutto questo il vostro panel sarà sempre attaccato al vostro pc mediante usb
sempre dal prompt dei comandi lanciate il comando
adb devices -l
Dovrebbe restituirvi un risultato del genere
List of devices attachedF061512302021100016 device product:px30_evb model:px30_evb device:px30_evb transport_id:3
il comando che abbiamo lanciato infatti ci fa vedere la lista di tutti i device connessi tramite ADB
(Qui qualche utente si è bloccato vedremo dopo come fare ricordiamoci questo passaggio)
Lanciate il comando
adb tcpip 5555
Questo comando imposterà il nostro NSpanel per ascoltare una connessione tcp/ip sulla porta 5555
Vi dovrebbe restituire una schermata del genere, ovviamente ci sarà il vostro percorso.
Scollegate il pannello rimontatelo seguendo i passaggi a ritroso (flat, viti, ecc...) e alimentatelo.
Una volta alimentato sarete pronti per connettervi tramite adb in modalità wireless. Proseguite nella sezione "procedura comune per tutti i firmware"
Procedura comune per tutti i firmware
Aprite un prompt dei comandi su windows (il terminale per intenderci) e andate nel percorso della cartella platform-tools che è la cartella dove prima abbiamo de-compattato appunto platform-tools.
Se non conoscete il percorso cliccate con il tasto destro sulla barra della cartella e cliccate su copia indirizzo. Posizionatevi sul prompt dei comandi e digitate cd lasciate uno spazio e incollate con Ctrl+V il percorso della cartella. Poi premete invio
Ovviamente dovrete inserire il vostro percorso
nel mio caso il comando è:
Una volta che sarete sul prompt dei comandi al percorso dove avete de compattato platform-tools, lanciate questo comando
adb connect 192.168.1.115
Ovviamente andando ad inserire l'indirizzo ip del vostro dispositivo Sonoff.
Se tutto è andato bene vi dovrebbe rispondere con:
already connected to 192.168.1.115 (ovviamente indicherà l'ip del vostro Sonoff)
Lasciate il prompt aperto. Adesso dovrete scaricare il Launcher Android, potrete trovarne diversi in rete ma quello estremamente leggero è esattamente questo Ultra small Launcher, scaricatelo cliccando QUI, spostatelo nella famosa cartella dove abbiamo scaricato anche platform-tools.
Tornate sul prompt dei comandi dove sarete già nel percorso giusto e lanciate il comando seguito dal tasto invio
adb install ultra-small-launcher.apk
Sempre dal prompt dei comandi lanciate il seguente comando seguito dal tasto invio
adb shell input keyevent 3
Questo comando simulerà la pressione del tasto centrale di Android (Home) che attualmente ne è sprovvisto (lo abiliteremo tra poco).
Una volta lanciato il comando keyevent noterete sul display del NSPanel pro che comparirà un menù selezionate la voce Launcher e successivamente cliccate su Always.
Questo ci permetterà di avviare il dispositivo sempre con il launcer Android.
Non vi dovrete preoccupare non andrete a cancellare il launcher eWeLink che sarà avviabile in qualsiasi momento direttamente dal launcher Android.
Tornate sul vostro pc, dovrete installare un nuovo APK chiamato Xposed installer scaricate l'apk da QUI
una volta scaricato spostatelo nella nostra ormai famosa cartella platform-tools
Credo che sia ormai evidente che questa procedura di spostare i vari apk in una cartella nota ed eseguire il comando da prompt dei comandi sia quella famosa procedura chiamata sideload che è necessaria per installare gli apk.
Torniamo quindi sul prompt dei comandi e lanciamo questo comando
adb install de.robv.android.xposed.installer_3.1.5-43_minAPI15(nodpi)_apkmirror.com.apk
Dopo che questa operazione sul prompt dei comandi ci da successo avremo bisogno di scaricare Xposed Framework. Questo è un file .tar compresso ma che non dovrete de compattare ma semplicemente caricarlo cosi come è sul nostro Sonoff.
scaricate il framework da QUI
Una volta scaricato spostatelo nella solita cartella platform-tools
e lanciate questo comando dal prompt dei comandi.
adb push xposed-v90-sdk27-arm64-beta3.tar /sdcard/Download/
benissimo adesso dovremo entrare nella shell di adb quindi dovrete lanciare diversi comandi con i diritti di amministratore. Prestate attenzione a copiare tutti questi comandi e attendere quando dovrete attendere.
Il primo comando da lanciare nel prompt dei comandi è:
adb shell
Vi troverete in una situazione del genere
Scrivete il comando
su
Otterrete così i permessi di super user.
lanciate ancora questo comando per rendere il filesystem scrivibile
mount -o rw,remount /system
Con il prossimo comando navigheremo nella directory dove abbiamo caricato xposed frameworks, quindi lanciate il comando
cd /sdcard/Download/
Con il prossimo comando andremo ad estrarre il file .tar di exposed frameworks. Lanciate questo comando.
tar -xvf xposed-v90-sdk27-arm64-beta3.tar
attendete che la procedura di estrazione termini, ci vorrà un po'
Una volta che la procedura di estrazione sarà terminata, lanciate questo comando per spostarvi nella cartella che l'estrazione ha creato.
cd /sdcard/Download/xposed-v90-sdk27-arm64-beta3/
A questo punto dobbiamo rendere lo script eseguibile e lo faremo con il comando chmod
chmod a+x /sdcard/Download/xposed-v90-sdk27-arm64-beta3/META-INF/com/google/android/flash-script.sh
Bene, adesso non ci rimane che lanciare lo script per l'installazione di xposed
sh /sdcard/Download/xposed-v90-sdk27-arm64-beta3/META-INF/com/google/android/flash-script.sh
Questo comando ci metterà un po' di tempo ad essere eeguito e al termine dovreste ottenere il messaggio che vedete nella foto sottostante
Il messaggio ci avvertirà che il primo boot del NSpanel dopo questa procedura ci metterà più tempo del normale.
procediamo quindi a togliere l'alimentazione e a ridarla al nostro Sonoff.
Una volta riavviato cliccate sull'icona exposed installer e successivamente spuntate la casella e cliccate ok per non vedere più il messaggio iniziale.
Nel caso che la spunta non sia verde ma arancione riavviate nuovamente il Sonoff e rientrate nuovamente nella app exposed installer
Tornate sul pc lasciando il Sonoff con l'app exposed installer aperta.
Avremo necessità di installare AnyWebView.
Scaricatelo da QUI (Ovviamente il file con estenzione .apk) successivamente spostatelo nella cartella platform-tools e andate nel prompt dei comandi per lanciare il seguente comando.
adb install AnyWebView.apk
Torniate sul nostro NSPanel PRO
Clicchiate sul menù ad hamburger in alto a sinistra
successivamente sul menù modules
spuntiate la casella accanto a AnyWebView
Clicchiate ancora sul menù ad hamburger e clicchiate su Framework
Clicchiate sui tre puntini in alto a destra e riavviate il device con il pulsante Reboot
La versione che abbiamo installato di AnyWebView è decisamente datata quindi dovrà essere aggiornata. Tornate quindi sul PC e scarichiate, sempre nella famosa cartella platform-tools, la nuova versione la troverete QUI
Una volta spostato l'APK nella cartella platform-tools recatevi nuovamente sul prompt dei comandi e lanciate questo comando. Prestate attenzione, nel momento che effettuerete questa guida, con molta probabilità la versione dell'apk di Android system view sarà più aggiornata quindi dovrete cambiare il numero di versione nello script inserendo esattamente quello dell'apk che avete scaricato poco fa.
Nel mio caso lo script è cosi
adb install "Android System WebView_v105.0.5195.136_apkpure.com.apk"
Non scordate le virgolette.
Non vi preoccupate ci vorrà qualche minuto per installare questo APK
Appena leggerete la scritta Success sul prompt dei comandi spostatevi nuovamente su Sonoff.
Cliccate sull'icona Setting
scorrete in fondo fino a trovare la voce System, cliccatela e andate a cercare la voce about tablet
Cliccate 7 volte sulla voce Build number fino a che non sarete diventati sviluppatori
Tornate indietro di una pagina e cliccate sulla nuova voce comparsa Developer option
Scorrete fino alla voce WebView implementation e cliccateci sopra
Selezionate quello che avete appena installato ovvero Android System WebView
Tornate indietro e cercate la voce lingue e aggiungete l'italiano in modo da avere il sistema in italiano.
Alla voce display invece cliccatela
Andate a cliccare la voce Show status bar in modo da far apparire i classici pulsanti Android per tornare indietro o alla home
Installazione delle varie APK sul NSpanel Pro
Come abbiamo visto fino ad ora siamo stati in grado di caricare tramite adb sideload le varie apk che ci sono state necessarie. Ora potremo fare la stessa cosa con l'apk di Home Assistant.
Tuttavia l'applicazione si aggiorna frequentemente e se decidessimo di caricarla tramite sideload ogni volta che esce una nuova versione saremmo costretti a utilizzare adb sideload per caricare la nuova APP aggioranata. Purtroppo la nostra versione di Android non prevede il Playstore.
Sicuramente sarebbe possibile installare le Gapps e di conseguenza l'app store ma, viste le risorse limitate del NSpanel PRO e soprattutto l'inutilità di avere tutta la piattaforma Google sul nostro Sonoff, mi porta a trovare un altra soluzione.
La soluzione che ho pensato in realtà l'abbiamo sfruttata fino ad ora.
Infatti per tutta la guida abbiamo scaricato i vari APK tramite il famoso sito Apkpure.
Questo sito mette a disposizione una versione del suo store di applicazioni proprio con una sua APK. Non solo, ha anche una versione LITE dell APK che permette di ridurre il consumo di risorse da impiegare, direi la soluzione ideale per due motivi.
1) Non avremmo più bisogno di caricare applicazioni in sideload ma lo potremo fare direttamente dal nostro NSPanel
2) Quando ci sarà una nuova versione dell'applicazione di Home Assistant (ma anche delle altre APK) potremo scaricarla direttamente dall'app APKPURE LITE
Procediamo quindi con l'installazione.
Scaricate l'app sul vostro PC cliccando QUI e successivamente su download APK
Spostate l'apk appena scaricato nella cartella platform-tools e andate nel prompt dei comandi per lanciare il seguente comando.
adb install "APKPure Lite_1.0.5_Apkpure.apk"
Ovviamente, se la versione dell'apk è diversa, dovrete adeguare il comando con la versione che avete scaricato.
Una volta lanciato il comando attendete che l'app sia installata sul vostro Sonoff
Successivamente apritela direttamente dal pannello touch e andate su cerca ed installate l'applicazione di Home Assistant. Scaricatela e installatela proprio come fareste sul vostro Smartphone.
Una volta installata entrate con i dati di LOGIN.
Qui vi consiglio due cose.
La prima è quella di creare un utente specifico per il panel in modo da avere anche controllo di chi interviene sulla propria configurazione, magari dando i soli permessi di user.
la seconda è quella di non appesantire particolarmente il panel e creare una plancia ad hoc per lui, magari inserendo solo quello che serve nella stanza dove avete intenzione di posizionarlo.
il risultato è più o meno questo
Ovviamente personalizzabile come gradite.
Abilitiamo il sensore di prossimità
Abbiamo finito? Non ancora, dobbiamo abilitare il sensore di prossimità e lo faremo tramite un app che purtroppo non troveremo ne nel play store ne tanto meno dentro apkpure. Dovremo ricorrere nuovamente al sideload.
Andate sul vostro PC e scaricate l'app dal sito ufficiale che troverete QUI
scaricate l'ultima versione (nel mio caso la 1.38)
Portate l'apk nella consueta cartella platform-tools e andate nel prompt dei comandi lanciando questo comando:
adb install "Automagic_1_38_0.apk"
nel caso che sia una versione diversa adeguate il comando
Dopo che l'app sarà stata installata Apritela
accettiate tutto quello che vi viene chiesto di accettare e garantiate l'accesso alla memoria quando viene chiesto
Ci sono già diversi esempi di funzionamento, non ci serviranno quindi premete i 3 puntini in basso a destra per ogni funzionalità e andate a rimuoverli tutti
Una volta cancellati tutti, la schermata si presenterà cosi. La richiesta di permessi è inutile la potrete ignorare.
Tornate sul vostro PC, dovrete scaricare un file XML e lo farete collegandovi a questo indirizzo QUI
Tasto destro del mouse cliccate salva con nome, lasciate il nome di default e indovinate dove andrete a salvarlo? Esattamente nella famosa cartella platform-tools
tornate nel prompt dei comandi e lanciate questo comando:
# adb push flow_Proximity_turn_screen_on.xml /sdcard/Download/flow_Proximity_turn_screen_on.xml
Tornate sull'applicazione automagic sul vostro Sonoff
Clicchiate sul menù ad hamburgher in alto a sinistra
Scorrete verso il basso e cliccate sulla voce import Flows
Nella pagina che si apre dovrete nuovamente cliccare il menù ad hamburger e cliccare su Download
selezionando il file chiamato flow....
Nella schermata che compare spuntate lo switch Proximity turn screen on
cliccate sul primo grafico del flow e successivamente il simbolo della matita per entrare nella configurazione
una volta dentro dovrete passare la mano davanti al sensore e toglierla. Quando l'avrete tolta guardate più o meno il Current Value nel mio caso intorno ai 550
impostate un valore più alto ad esempio 700 o 800
Dovrete impostare anche la durata, io l'ho impostata su 30 secondi, ma questo parametro è a vostro piacimento. Salvate e passate la mano sopra il sensore, se i due grafici del Flow diventano rossi vuol dire che è tutto corretto.
Uscite dall'app con il pulsante tondo di android e andate nel percorso impostazioni-display-avanzate
cliccate su sospensione e impostatelo a 30 secondi lo schermo se non vedrà sollecitazioni dal sensore di movimento si spegnerà dopo 30 secondi.
Finalmente siamo giunti alla fine di questo articolo vi consiglio di guardare anche il video che vi aiuterà a capire meglio tutti i passaggi.
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.