Archives For Synology DS216j

Ho voluto sperimentare un metodo alternativo di pubblicazione automatica su Twitter passando dal mio NAS anziché da IFTTT (che a dirla tutta non mi dava la possibilità di controllare una delle condizioni da me desiderate) o alternative già presenti sul mercato. Ho messo mano a PHP e Bash ancora una volta, lasciando che sia il NAS a fare il lavoro sporco programmato quotidianamente tramite utilità di pianificazione. Io ti racconto la mia esigenza e relativa esperienza, sta a te vederci un possibile utilizzo per qualcosa che ti riguarda.

Pubblicare su Twitter: farlo da Synology (e non solo)

L’esigenza

Dato un numero di giorni mancanti a una certa data (quindi in aggiornamento almeno una volta ogni 24h), ho bisogno di pubblicare un tweet quotidiano, come si trattasse di un conto alla rovescia. Scopro il servizio gratuito offerto da timercheck.io di Eric Hammond e decido di richiamarlo tramite PHP e l’aiuto della libreria twitteroauth di Abraham Williams, perché a vedere ciò che offre IFTTT e i trigger data/ora, Twitter e Webhooks non riesco a fare esattamente ciò che cerco.

Di cosa c’è bisogno

In realtà qualcosa è stato già dichiarato, ma ecco l’elenco della spesa:

  • Un NAS Synology o una qualsiasi macchina Linux-based (penso a un Raspberry, per dire), io comunque farò riferimento al primo citato.
  • PHP 7 (disponibile nel Synology Package Manager) con estensione openssl.
  • Te la ricordi l’utenza limitata che ho creato nell’articolo dedicato alla Surveillance Station? Ecco, ho riutilizzato la cartella del suo profilo (nell’esempio: /var/services/homes/api_user). Qui ho creato una cartella chiamata twitter-php-master all’interno della quale ho inserito gli script di cui ti parlerò dopo.
  • La libreria twitteroauth di Abraham Williams disponibile su GitHub.
  • Un account Twitter e relativa autorizzazione alla creazione / uso di applicazioni tramite apps.twitter.com (devi essere riconosciuto come sviluppatore).

Provo a dare per assodato che tu sappia ciò di cui stiamo parlando e salto a piè pari la creazione di un account Twitter e del profilo da sviluppatore, così come il modulo PHP 7 (ma ti parlerò dell’estensione relativa all’OpenSSL, tranquillo). Se qualcosa non ti è chiara o se non conosci un particolare passaggio non esitare a lasciare un commento in fondo all’articolo, proverò a darti una mano per quanto mi è possibile :-)

Detto ciò, partiamo.

Abilita il modulo OpenSSL su PHP 7

Collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi passa all’utenza di root tramite un sudo -i seguito da invio, inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Spostati ora in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione di openssl:
    extension=openssl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Crea una copia del modulo openssl.so tramite un
cp /volume1/@appstore/PHP7.0/usr/local/lib/php70/modules/openssl.so /usr/local/lib/php70/modules/
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Tutto questo ti permetterà di evitare di incorrere nell’errore che qui di seguito ti mostro (da me ottenuto quando ho lanciato lo script di bash per la prima volta, dopo essermi dimenticato di abilitare SSL sul PHP del mio NAS):

Pubblicare su Twitter: farlo da Synology (e non solo) 1

Crea il conto alla rovescia tramite timercheck.io

Il funzionamento di questo semplicissimo servizio web è spiegato abbondantemente nell’articolo del suo stesso autore. Io sarò più breve: una giornata da 24 ore è composta da 86400 secondi (Google semplifica le cose), qui trovi un tool per il calcolo dei giorni tra due date, il gioco è praticamente fatto.

Trasforma il numero di giorni in secondi, quindi crea un URL univoco tramite timercheck.io che possa restituirti un output json contenente ciò che a te serve (il tempo che rimane) ogni volta che intendi visitare quell’URL tramite browser e non solo (nel mio caso lo richiamo proprio dallo script PHP di cui ti parlerò tra breve). Un esempio? timercheck.io/Test-Gioxx.org/60 crea un conto alla rovescia che dura un minuto, visitando semplicemente timercheck.io/Test-Gioxx.org e aggiornando la pagina noterai che il conto alla rovescia avanzerà portandosi sempre più verso lo zero (nel campo seconds_remaining), tutti i dati in json resteranno disponibili fino allo scadere di quel timer, e questo è proprio ciò che ti serve.

È caldamente consigliato creare un URL quanto più difficile da indovinare o replicare, questo perché in caso contrario chiunque potrà modificarlo o resettarlo al posto tuo, è un servizio totalmente aperto a tutti, senza gerarchie o complicati sistemi di autorizzazione. Accetti un’idea che credo possa tornarti utile? Genera un contatore nuovo con un nome qualsiasi e una durata di 10 secondi, copia il suo request_id e crea un nuovo contatore con il nome che ti interessa al quale farai seguire l’ID copiato (esempio: timercheck.io/Test-Gioxx.org-dc8a395c-10d7-11e9-b585-175833651ae5/60), questo è certamente un URL molto più univoco di quello da te precedentemente pensato.

Il tuo contatore è pronto, puoi procedere verso lo script PHP che si occuperà di lanciare il tuo tweet in rete.

post-tweets.php

Uno script PHP che troverà posto all’interno della cartella /var/services/homes/api_user/twitter-php-master e che conterrà le istruzioni necessarie per inviare il cinguettio sulla piattaforma. Prima però di dedicare la giusta attenzione a questo specifico script, devi scaricare una copia aggiornata della libreria twitteroauth di Abraham Williams, puoi farlo con un semplice clic qui. Scompatta il contenuto del file ZIP all’interno della cartella twitter-php-master (non ripeto la solita posizione completa, dai!), non toccare null’altro, non serve.

Torniamo a quello che per comodità chiamerò post-tweets.php, lo script che si occuperà di pubblicare il tweet. Ti mostro il contenuto del mio, rimuovendo i dettagli personali ma mantenendo l’esempio testuale:

Ciò che dovrai ritoccare riguarderà ovviamente i parametri personali e il testo da inviare online. Dovrai specificare CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN e ACCESS_TOKEN_SECRET dell’applicazione che potrà scrivere impersonando il tuo utente, aggiungere il timer da tenere d’occhio (nell’esempio ho mantenuto https://timercheck.io/Test-Gioxx.org/60, a te toccherà specificare qui il tuo timer) e modificare il testo da pubblicare in base alla condizione del countdown: se questo è attivo o se è terminato (lo posso fare monitorando uno dei valori output del json, in questo caso lo status).

Piccola nota di finezza è il round() applicato al calcolo dei giorni (numero dei secondi residui diviso 86400), così da evitare di far comparire dei decimali nel tweet.

Il risultato dovrebbe assomigliare a questo:

Programmare l’operazione

Hai terminato tutta la preparazione, non ti resta che automatizzare il processo tramite Utilità di pianificazione e un banalissimo script bash per rendere tutto più immediato:

Salva il file bash nella solita cartella (twitter-php-master), avvia l’utilità di pianificazione Synology e crea una nuova operazione programmata da far girare ogni giorno all’ora che preferisci (io ho scelto le 8:00):

Pubblicare su Twitter: farlo da NAS Synology (e non solo)

Ce l’hai fatta, salvo errori sei appena riuscito a programmare la pubblicazione di un tweet tramite il tuo account. Il mio è un esperimento per imparare qualcosa di nuovo, utile per arrivare a una data per me molto importante, e nel tuo caso qual è la giustificazione per aver avviato un nuovo contatore con pubblicazione su Twitter automatizzata? :-)

Buona giornata!


Credits: artisansweb.net/tweet-twitter-php

Condividi l'articolo con i tuoi contatti:

Mi rendo conto che il titolo è molto poco preciso ma provare a buttarci dentro “Come abilitare o disabilitare l’Home Mode di Synology Surveillance Station appoggiandosi a Fritz!Box e agli smartphone collegati alla WiFi di casa” sarebbe stato un pelo esagerato. La sostanza però è proprio questa: il Geofence integrato nell’applicazione DS cam fa oggettivamente schifo, non è assolutamente affidabile e si finisce per non riuscire mai a sfruttare la modalità Home dell’ottimo software di controllo telecamere disponibile per i NAS Synology. L’ostacolo si può aggirare tramite un router Fritz!Box (nella soluzione proposta da questo articolo, chiaro) e un paio di script da tenere sul NAS.

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi

AVM FRITZ!Box Synology Surveillance Home Mode Automation

Mark Schipper è lo sviluppatore che ha in origine pubblicato tutto il necessario in un repository GitHub qui disponibile. Le sue indicazioni sono già valide per poterle sfruttare in un ambiente casalingo dalle pari disponibilità, e dopo una mia segnalazione di possibile bug ha anche integrato una serie di novità e riscritto parte del codice che si occupa di:

  • verificare tramite query SOAP al router Fritz!Box di casa (uno o più) se un dispositivo è connesso alla rete WiFi (bisognerà dichiarare il MAC address del dispositivo, nda);
  • contattare la Surveillance Station tramite API e chiedere di abilitare o disabilitare la modalità Home nel caso in cui il dispositivo sia dentro o fuori casa.

In parole estremamente povere la modalità Home di Synology Surveillance Station si attiva se un tuo smartphone (o altro dispositivo a tua scelta) entra nella rete WiFi di casa, si disattiva invece quando esci da quel perimetro, il tutto lanciando controlli ripetuti a distanza di una quantità di minuti da te stabilita.

Tutto questo si è reso “necessario” perché la funzione di Geofence integrata nell’applicazione DS cam per Android e iOS non è esattamente questo gran mostro di precisione. Un esempio virtuoso che potrei farti in questo caso è tado° che difficilmente perde un colpo. Per questo motivo ho preferito mettere in campo e sperimentare quanto scritto da Mark, apportando poi delle piccole modifiche per rendere ancora migliore il risultato e colmando un gap che manca all’appello del README dello sviluppatore originale, che invita a installare il modulo PHP 7 di Synology senza però specificare che occorrerà ricordarsi di attivare l’estensione soap se precedentemente mai attivata.

DS cam
DS cam
Developer: Synology Inc.
Price: Free
DS cam
DS cam
Developer: Synology Inc.
Price: Free

Il fork

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi 1

Il mio fork nasce per integrare alcuni riferimenti in più rispetto al progetto originale e per proporre una modifica allo script di bash che ti permette di ottenere un aggiornamento di stato di Home Mode via Telegram. Quest’ultima funzione è chiaramente opzionale e può essere disabilitata facilmente.

Cosa ti serve

  • Un router Fritz!Box (non obbligatoriamente un 7490 come nel caso di Mark o un 7590 nel mio) e un NAS Synology (ma va?).
  • PHP 7 (disponibile nel Synology Package Manager) con estensioni soap e curl.
  • Utenza limitata per permettere di disabilitare o abilitare Home Mode della Surveillance Station (sconsigliato utilizzarne una già esistente con maggiori autorizzazioni).
  • Pacchetto file contenuti nel repository GitHub.
  • Opzionale: bot Telegram tramite il quale ricevere i cambi di stato.

Affrontiamo per passaggi ogni necessità sopra riportata

#1: PHP 7, soap & curl

Apri il Centro Pacchetti del tuo NAS Synology e cerca PHP 7, quindi installalo:

Synology Surveillance Station: Home Mode automatico tramite WiFi

Una volta terminata l’installazione, collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi spostati in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Per salvare le modifiche che apporterai ti sarò richiesto quasi sicuramente di essere utenza root, lancia un sudo -i seguito da invio, quindi inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione delle due estensioni per soap e curl:
    extension=soap.so
    extension=curl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Il php.ini modificato dovrebbe assomigliare a questo:

Synology Surveillance Station: Home Mode automatico tramite WiFi 1

#2: api_user

Un’utenza limitata che possa solo disabilitare o abilitare Home Mode in Synology Surveillance Station, è ciò di cui hai bisogno in questo momento. Avvia Surveillance Station e apri il menu in alto a sinistra con un clic, quindi seleziona Utente. Aggiungi un nuovo utente seguendo la procedura guidata, ti riepilogo i passaggi e ti propongo poi qualche screenshot:

  • nome utente: api_user (uso questo perché richiamato dagli script, tu puoi decidere di cambiarlo ma ti invito poi a leggere il paragrafo Troubleshooting nella parte finale dell’articolo);
  • descrizione: inserisci una descrizione che possa ricordarti un domani a cosa serve l’utente che stai creando;
  • password: scegline una sufficientemente robusta, puoi crearne una random qui;
  • fai clic su Avanti e crea un nuovo profilo privilegio;
  • dai un nome e una descrizione al profilo privilegio (scegli un nome che possa un domani ricordarti a cosa serve quel privilegio), mantenendo Gestore come tipo;
  • NON aggiungere autorizzazioni nella schermata Videocamere, E-Map e Layout. Arrivato alla schermata dei Privilegi avanzati, spunta l’opzione in corrispondenza di Passa manualmente alla modalità Home.

#3 scarica e modifica gli script

Scarica il contenuto del repository da GitHub, scompatta il file ZIP e ottieni così i file fritz_activemac.php e switch_homemode.sh (puoi buttare via il README). Prima di caricare i file sul NAS ti suggerisco di modificarli in base a ciò che è stato fatto fino a ora (utenza generica, eventuale bot Telegram, ecc.).

Il primo file citato (fritz_activemac.php) non dovrebbe necessitare di modifica alcuna (tranne se hai scelto di creare un utente limitato diverso da quello da me suggerito, quindi non “api_user“, ti rimando a questa nota nel Wiki), contrariamente allo script bash switch_homemode.sh. Aprilo con un buon editor di testo (Notepad++ o Atom) quindi segui queste indicazioni:

  • SYNO_SS_USER: inserisci qui l’utenza limitata che hai precedentemente creato. Se hai seguito scrupolosamente le indicazioni, lascerai probabilmente api_user;
  • SYNO_SS_PASS: inserisci la password che hai scelto e inserito quando hai creato l’utenza limitata;
  • SYNO_URL: inserisci l’IP e la porta utilizzata per collegarsi al tuo NAS;
  • FRITZ_URL: inserisci l’IP (o gli IP se più d’uno, intervallati dai due punti, esempio: 192.168.1.2:192.168.1.3);
  • TELEGRAM: può avere solo due valori, 0 e 1. 0 disabilita le funzionalità legate al bot di Telegram, 1 le attiva;
  • BOT_TOKEN: inserisci qui il token che ti ha rilasciato BotFather quando hai creato il tuo nuovo bot;
  • CHAT_ID: l’ID della chat in cui il bot dovrà riportare i messaggi riguardanti il cambio di stato di Home Mode;
  • MSG_SS_ACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà attiva;
  • MSG_SS_INACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà disattiva.

Fai attenzione: modifica esclusivamente ciò che ho riportato qui sopra, facendo attenzione a mantenere le virgolette dove specificate. Lascia tutto il resto invariato per scongiurare possibili malfunzionamenti. Se non sai come creare un bot Telegram fammi un cenno, sto valutando se scrivere qualche riga di testo nel Wiki su GitHub o meno.

Salva il file, questo lavoro è terminato. Carica ora i due script all’interno della cartella /var/services/homes/api_user del tuo NAS, dove “api_user” ovviamente dovrà essere modificato se hai scelto di creare un utente dallo username differente. A questo punto sei pronto a verificare il funzionamento.

#4 test e programmazione

Salvo errori, gli script sono ora pronti a lavorare. Puoi provare tu stesso lanciando da terminale

./switch_homemode.sh MAC1 MAC2

dove MAC1 e MAC2 dovranno essere sostituiti con due MAC Address appartenenti a dispositivi che sono collegati alla rete casalinga. Sia chiaro, puoi specificare anche solo un MAC Address, non c’è bisogno di metterne due o più (ma puoi farlo). A questo punto verrà lanciata la query SOAP al router e il risultato (un semplice true o false) verrà salvato all’interno del file synohomemode.state (che verrà creato sul momento se non esistente).

Se il dispositivo non è collegato alla WiFi casalinga, Home Mode verrà disattivato, diversamente verrà attivato.

Manca l’ultimo passaggio, programmare l’esecuzione dello script tramite Utilità di pianificazione di Synology. Accedi all’utilità tramite Pannello di controllo, quindi crea una nuova operazione e compila i dati richiesti:

  • Attività: dai un nome all’attività, uno “parlante” (che ti ricordi immediatamente di cosa si tratta).
  • Utente: lascia che sia root a eseguire l’attività.
  • Programmazione: l’esecuzione dovrà essere giornaliera, a partire dalla mezzanotte, ogni 5 minuti fino alle 23:55. I 5 minuti possono anche essere diminuiti o aumentati, dipende dalla tua esigenza.
  • Impostazioni attività: dovrai semplicemente inserire nel box di testo la stringa che ti permetterà di avviare il controllo, quindi
bash /var/services/homes/api_user/switch_homemode.sh MAC1 MAC2

Sostituisci chiaramente MAC1 e MAC2 con i veri MAC Address dei dispositivi che vuoi tenere sotto controllo, puoi specificarne solo uno o anche più di due.

Il gioco è ormai fatto :-)

Se ci sono dubbi o problemi l’area commenti è a tua disposizione, io qui di seguito inserisco già un paio di risposte ad altrettante domande che potresti avere, ma sentiti libero di chiedere altro se dovesse servire.

Synology Surveillance Station: Home Mode automatico tramite WiFi 9

Buon Natale!

Troubleshooting

Cambiare lo username dell’utente generico

Puoi chiaramente scegliere di utilizzare un nome utente che non corrisponda ad api_user come riportato nell’articolo, dovrai però ricordarti di modificare quel SYNO_SS_USER="api_user"; in switch_homemode.sh, oltre che eventuali operazioni programmate nell’Utilità di pianificazione del NAS. Modifica poi, sempre in switch_homemode.sh, tutto il blocco relativo ai file di stato e il richiamo dello script PHP:

## State file configuration (don't touch anything if not necessary)
STATEFILE='/var/services/homes/api_user/synohomemode.state';
RETRYFILE='/var/services/homes/api_user/synohomemode.retry';
CHECKFRITZ='/usr/local/bin/php70 /var/services/homes/api_user/fritz_activemac.php';

dove al posto di api_user dovrai chiaramente inserire il nome utente da te scelto.

Wiki: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/Cambiare-lo-username-dell%E2%80%99utente-generico

Errore nella query SOAP

Qualcosa non torna e lanciando lo script di bash manualmente ottieni errori sulla query SOAP? Forse è necessario copiare i moduli delle due estensioni, prova a dare un’occhiata al documento che ho salvato nel Wiki del repository GitHub: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/PHP-7:-abilitare-CURL-e-SOAP-su-Synology-DSM.


credits:

Condividi l'articolo con i tuoi contatti:

Ho scaricato una quantità elevata di video e fotografie da vecchi supporti ottici, tutti scatti di amici e famiglia che non ho mai organizzato in Libreria Foto di Apple o caricato su Flickr (dal quale toccherà levare le tende quanto prima, ma questo è un altro argomento di cui discutere), con l’intenzione di metterli a posto e tenerli sotto un backup un pelo più affidabile.
Mi sono ritrovato con cartelle difficilmente esplorabili e utilizzabili da Finder (su macOS), ho quindi cercato di saltare l’ostacolo riorganizzando quei file in gruppi di 300 immagini o 50 video per ciascuna cartella, appoggiandomi a degli script di bash che ho avviato sul NAS, dove ho inizialmente spostato il materiale.

Bash: riorganizzazione rapida di immagini e video

picsMover.sh e vidsMover.sh si occupano rispettivamente di rinominare i file JPEG/JPG/jpeg in jpg (case sensitive) e MP4 in mp4 (medesima sorte), quindi spostarli in cartelle che verranno create automaticamente, 300 immagini o 50 video per ciascuna di queste (chiamate PICS_X e VID_X, dove X è il numero progressivo della cartella).

Ho caricato entrambi gli script su Gist, così che tu possa recuperarli facilmente e riutilizzarli come meglio credi.

picsMover.sh

vidsMover.sh

Provati tutti e due sul mio Synology DS216j, il quale ha portato a termine il suo mestiere. Per entrambi i codici valgono crediti e ringraziamenti a chi mi ha inconsapevolmente messo sulla via giusta per ottenere il risultato sperato:

Buon lavoro! :-)

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Xiaomi è fatta così: la ami, la odi, puoi scegliere di appartenere a un gruppo che preferisce la via di mezzo e che si diverte a modificare quanto realizzato da questa splendida squadra cinese che ha deciso di scendere in campo per fare la differenza rispetto ai grandi giocatori. La Mi Home Security Camera 360° è un altro degli esempi disponibili sul mercato, piccolo occhio vigile con la capacità di tenere d’occhio un intero ambiente casalingo.

Mi Home Security Camera 360°

Mi Home Security Camera 360°

Un prodotto dalle giuste pretese, a un prezzo contenuto (stiamo pur sempre parlando di circa 50€ considerando l’altalenarsi di prezzi che Keepa ha osservato tenendo d’occhio Amazon), che si spaccia per IPCam ma che poi nella realtà dei fatti si propone come soluzione chiusa e apparentemente accessibile solo tramite programma e servizio di Xiaomi / Miija, rendendo di fatto difficile (attualmente pressoché impossibile) un interfacciamento con soluzioni di controllo centralizzate come possono essere DSCam o IP Cam Viewer su Android.

Mi Home Security Camera 360° 3

La Mi Home Security Camera 360° ti viene consegnata nella sua scatola completa di cavo microUSB, alimentatore da muro e l’attacco necessario se vuoi montarla su una parete anziché tenerla appoggiata su un piano differente (tipo il mobile del televisore in sala, per fare un esempio). È poco pesante (si parla di circa 250 grammi), essenziale nell’aspetto e tutto sommato bella da vedere, con quel suo led che ti permette di capire quando è in funzione (ma che puoi scegliere di spegnere nelle opzioni dell’applicazione di controllo) e con l’alloggiamento della microSD (non inclusa nella confezione, nda) che si trova sotto all’obiettivo principale del prodotto, per arrivarci ti toccherà far sollevare l’inquadratura quanto più possibile e infine inserire la scheda di memoria. Occhio a ciò che acquisti, la Mi Home Security Camera 360° supporta al massimo una scheda da 32 GB.

Mi Home Security Camera 360° 1

Risoluzione di ripresa che puoi spingere fino al full HD da 1920×1080px, con apertura focale f1.8 e uno zoom digitale 4x (che può sgranare progressivamente e che ti consiglio quindi di non mettere troppo alla prova). Il suo corpo a forma di palla che può spaziare nei 360° di osservazione dell’ambiente è dotato anche di Night Vision, Sound e Motion Detection, con microfono e altoparlante che puoi usare sia per ascoltare cosa accade nell’ambiente, sia per far arrivare la tua voce dall’altro lato ed essere ascoltato. Connettività esclusivamente WiFi 802.11 b/g/n a 2,4GHz, scordati la banda 5, che ancora sembra costituire uno dei più grandi tallone d’Achille di queste soluzioni che ci arrivano dal paese della bandiera rossa a cinque stelle. Questa tecnologia è certamente più affidabile sulla lunga distanza, ma soffre ormai troppo la saturazione dei canali dovuta alla molteplicità di segnali e SSID trasmessi dai vicini di casa (e forse anche da te, che se mi faccio un esame di coscienza mi rendo conto che solo io spingo 3 SSID diversi dai router di casa!).

Un’occhiata alla configurazione e all’utilizzo

Di facile configurazione, la Mi Home Security Camera 360° ti costringerà a scaricare e utilizzare l’applicazione Mi Home, disponibile sia per iOS che Android:

Mi Home
Mi Home
Developer: Xiaomi Inc.
Price: Free

Si tratta dell’applicazione che il produttore cinese sviluppa per tenere sotto controllo tutti i dispositivi Xiaomi che possono trovarsi all’interno di casa tua, un minimo comune denominatore attraverso il quale tu puoi pilotare la “domotica” che scegli di installare tra le mura che ospitano le tue ore di meritato riposo e condivisione del tempo con la famiglia. Ti verrà chiesto di creare un account (nel caso tu non lo avessi) e di avvicinare all’obiettivo della telecamera di sicurezza un codice QR che questa potrà leggere, per far partire poi una configurazione automatica durante la quale non ti verrà richiesto di fare assolutamente nulla (le informazioni sulla WiFi da usare, la relativa password e altro ancora verranno passate proprio da quel QR code). Non sempre infallibile e veloce, è comunque ben sviluppata e pensata per dare un senso agli ambienti, alle possibili configurazioni, alle tue esigenze, può inoltre gestire una serie di comandi d’automazione che puoi imporre con la formula dell’If, Then (un po’ come sei forse già abituato a fare con il servizio di terza parte IFTTT, giocatore che però non si interfaccia con il prodotto in questo caso).

Nello specifico caso della Mi Home Security Camera 360°, hai a disposizione tutti quei controlli che servono chiaramente a muovere l’obiettivo, ma anche a modificare la risoluzione del video in streaming (che non necessita di configurazione alcuna sul tuo router, poggiando completamente sulla struttura Cloud di Xiaomi), a catturare una singola fotografia o registrare un video (solo se hai una microSD montata al suo interno), a parlare con chi c’è dall’altro lato della telecamera e molto altro ancora.

Mi Home Security Camera 360° 2

Tra le opzioni disponibili nell’applicazione, troverai anche la possibilità di verificare l’indirizzo IP (rete locale) del prodotto, l’impostazione della modalità Sleep (una sorta di modalità Privacy durante la quale la Mi Home Security Camera 360° non terrà conto dei movimenti o rumori rilevati, girandosi dall’altro lato rispetto al puntamento dell’obiettivo, “non vedo, non sento“), quella della Night Vision (visione notturna) e del relativo comportamento (se entrare in funzione automaticamente o forzatamente, o magari non entrarci affatto), la sensibilità dell’allarme (riguardo movimenti e rumori rilevati), attivare una password (ma anche l’impronta, se lo smartphone lo permette) per accedere al flusso video che sta catturando Mi Home Security Camera 360°.

Di Storage e NAS

E a proposito di flusso video, ecco che una delle funzioni comprese nell’applicazione (e quindi compatibili con Mi Home Security Camera 360°) si presenta e rende disponibile solo nel caso in cui tu scelga di inserire una microSD nel dispositivo: la registrazione h24 su NAS, la quale sposta dalla scheda di memoria a quelli del tuo NAS, permettendo così di salvare più dati e magari andare indietro nel tempo molto più di quanto non sia possibile fare con soli 32 GB di memoria massima (quelli della microSD). Nonostante sia tutto stato configurato ad-hoc e l’account del NAS venga accettato, non viene vista alcuna cartella SMB da poter utilizzare per effettuare la copia dati, un problema che rilevo esclusivamente con l’applicazione Mi Home e che non sono riuscito a superare, bocciato (e non intendo me medesimo).

Appunti sparsi su DSCam e Xiaomi / Miija

È per questo motivo che ho voluto quindi provare a cambiare direzione e approfondire l’argomento flusso video e DSCam / Video Surveillance di Synology, che utilizzo già quotidianamente con altri tipi di prodotti (D-Link, per la cronaca), sbattendo però ancora una volta contro un muro difficile da sorpassare, perché pieno di dubbi e soluzioni che non trovano reale risposta alle mie esigenze. Ti lascio più che volentieri il materiale reperito e le fonti consultate, dalle quali però non sono riuscito a estrarre una chiave di volta realmente funzionante e ideale per i miei scopi (ben vengano quindi i consigli nell’area commenti, se sei a conoscenza di work-around e metodi per far dialogare le due soluzioni tra di loro):

In conclusione

Come avrai forse capito, non è la qualità video o audio a preoccuparmi, quella è accettabile e posso lasciarla passare indenne da giudizio se rapportata al prezzo di una soluzione chiaramente casalinga e realizzata per chi non ha grosse pretese. Ciò che più mi delude è questa chiusura mentale che non appartiene solitamente a Xiaomi, questo mancato dialogo con altre soluzioni, piattaforme, protocolli più che rodati e stabili, al limite della stupidità e dell’incapacità di guardare oltre il proprio naso, forse il primo prodotto che realmente delude le aspettative.

Mi Home Security Camera 360° va bene per essere acquistata, configurata e posizionata dove più ti interessa, poi controllata esclusivamente dalla sua applicazione che tra l’altro non offre (almeno su Android) neanche un widget per poter avere un flusso streaming continuo (o fotografie a intervalli precedentemente stabiliti, come accade per esempio con IP Cam Viewer Pro) e buttare un occhio su cosa accade tra le proprie mura. Quella che altri come me definirebbero una “black-box” che potrà funzionare fino a quando Xiaomi manterrà in vita la propria struttura Cloud. È davvero questo il compromesso a cui si vuole scendere con il cliente finale?

A te la parola per dubbi, domande o semplici chiacchierate a proposito del sempre più ampio argomento della sicurezza in casa, sorveglianza e prodotti “intelligenti“.

Update

Magari può tornarti utile, ho trovato e scaricato il manuale PDF del prodotto. Ne ho caricato una copia sul mio spazio Box, ti lascio qui il collegamento diretto per il download.

× Disclaimer

Disclaimer (per un mondo più pulito)

Gli articoli che appartengono al tag "Banco Prova" o "Banco Prova Console" raccontano la mia personale esperienza con prodotti generalmente forniti da chi li realizza. In alcuni casi il prodotto descritto rimane a me, in altri viene restituito. In altri casi ancora sono io ad acquistarlo e decidere di pubblicare un articolo in seguito, solo per il piacere di farlo e di condividere con te le mie opinioni.
Ogni articolo rispetta -come sempre- i miei standard: nessuna marchetta, solo il mio parere, riporto i fatti, a prescindere dal giudizio finale.

Prodotto: acquistato di tasca mia all'inaugurazione del primo Mi Store milanese, più per sfizio che reale necessità, a dirla tutta.
Condividi l'articolo con i tuoi contatti:

La quantità di materiale a disposizione dei possessori di NAS Synology è impressionante. Ci sono community in grado di utilizzarlo per cuocerci due uova e una bistecca al sangue, persone che non si arrendono certo davanti a una commerciale impossibilità (o mancata volontà) di integrare alternative a software ufficiali supportati dalla casa madre. A tutto questo io aggiungerei un “per fortuna“.

Qualche mese dopo l’acquisto del mio Synology DS216j, posso ritenermi tutto sommato soddisfatto di quanto messo in piedi (fa forse eccezione la scelta –sbagliata– del taglio disco da mettere in RAID 1, potendo tornare indietro metterei nel carrello da subito due dischi da 4 TB anziché da 2), e soprattutto sono molto contento di quanto si possa personalizzare il prodotto secondo le proprie esigenze. In questo articolo, ti voglio spiegare come passare a un eMule Adunanza, distribuzione custom dedicata agli abbonati Fastweb e certamente più rapido dell’eMule presente di fabbrica sul prodotto Synology (non solo il mio DS216j).

Synology: nuovi repository e file di ricerca 2

aMule AdunanzA

Ricorda che tutto il mio test (e relativo articolo) hanno fatto leva su un NAS con processore ARM, non posso quindi fare test (e darti istruzioni) per un’architettura diversa, basata per esempio su Intel. Detto ciò, basandomi sulla guida originale del 2016 ancora disponibile nel forum di AdunanzA (forum.adunanza.net/t/installare-amule-adunanza-su-synology-arm/9392), ho fatto accesso al mio NAS e sono passato all’utente di root.

Per farlo (con le versioni di DSM attuali) dovrai accedere al NAS in SSH e utilizzare il sudo -i, comando che richiederà di inserire la password dell’amministratore che solitamente utilizzi per entrare sull’interfaccia web.

ATTENZIONE: io, se posso darti un consiglio, eviterei di utilizzare l’utente root e creerei un account a parte, da utilizzare per installare e poi gestire aMule AdunanzA anche in seguito. Ho fatto così in seguito ai test eseguiti da root.

Se è la prima volta che utilizzi l’utente di root, riceverai un messaggio di Synology che ti inviterà a fare attenzione a ciò che tocchi:

We trust you have received the usual lecture from the local System
 Administrator. It usually boils down to these three things:
 #1) Respect the privacy of others.
 #2) Think before you type.
 #3) With great power comes great responsibility.

Appurato ciò, si passa all’installazione degli aggiornamenti dei pacchetti IPKG:

AduUser@Syno:~# feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
AduUser@Syno:~# ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'`
AduUser@Syno:~# wget $feed/$ipk_name
--2017-05-01 16:41:55--  http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
Resolving ipkg.nslu2-linux.org... 140.211.169.161
Connecting to ipkg.nslu2-linux.org|140.211.169.161|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74474 (73K) [text/plain]
Saving to: 'ipkg-opt_0.99.163-10_arm.ipk'

100%[==========================================================>] 74,474       219KB/s   in 0.3s

2017-05-01 16:41:56 (219 KB/s) - 'ipkg-opt_0.99.163-10_arm.ipk' saved [74474/74474]
AduUser@Syno:~# tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
./data.tar.gz
./
./opt/
./opt/bin/
./opt/bin/ipkg
./opt/bin/ipkg-opt
./opt/bin/update-alternatives
./opt/etc/
./opt/etc/ipkg.conf
./opt/lib/
./opt/lib/libipkg.so
./opt/lib/libipkg.so.0
./opt/lib/libipkg.so.0.0.0
./opt/share/
./opt/share/ipkg/
./opt/share/ipkg/intercept/
./opt/share/ipkg/intercept/depmod
./opt/share/ipkg/intercept/ldconfig
./opt/share/ipkg/intercept/update-modules
AduUser@Syno:~# mkdir -p /opt/etc/ipkg
AduUser@Syno:~# echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
AduUser@Syno:~# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.

Quindi si scarica e si installa aMule AdunanzA, pacchetto disponibile anch’esso sul forum (l’ho scaricato precedentemente e messo in una cartella del NAS, la “Download“, così da raggiungerlo facilmente via SSH). Tu puoi ottenerlo da qui o in alternativa prendendo la copia che ho caricato su box (app.box.com/s/bcrnvq0m9uegrsvcf3q03oqdwn3jyub9):

AduUser@Syno:~# cd /volume1/Download/
AduUser@Syno:/volume1/Download# /opt/bin/ipkg install amuleadunanza-svn_rev531-2014.1_arm.ipk
Installing amuleadunanza-svn (rev531-2014.1) to AduUser...
package libupnp suggests installing ushare
Installing libstdc++ (6.0.9-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libstdc++_6.0.9-6_arm.ipk
Installing wxbase (2.8.12-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wxbase_2.8.12-1_arm.ipk
Installing expat (2.0.1-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/expat_2.0.1-1_arm.ipk
Installing zlib (1.2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/zlib_1.2.5-1_arm.ipk
Installing libpng (1.2.44-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libpng_1.2.44-1_arm.ipk
Installing libgd (2.0.35-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libgd_2.0.35-6_arm.ipk
Installing libjpeg (6b-3) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libjpeg_6b-3_arm.ipk
Installing freetype (2.3.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/freetype_2.3.6-1_arm.ipk
Installing fontconfig (2.8.0-0) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/fontconfig_2.8.0-0_arm.ipk
Installing gconv-modules (2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/gconv-modules_2.5-1_arm.ipk
Installing libupnp (1.6.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libupnp_1.6.6-1_arm.ipk
Configuring amuleadunanza-svn
Configuring expat
Configuring fontconfig
Configuring freetype
Configuring gconv-modules
Configuring libgd
Configuring libjpeg
Configuring libpng
Configuring libstdc++
Configuring libupnp
Configuring wxbase
Configuring zlib
Successfully terminated.

Il primo avvio di aMule AdunanzA servirà a verificare che tutto sia andato a buon fine ma, soprattutto, a permetterti di generare i file di configurazione che andranno in seguito modificati per poter ottenere un software che rispetti le tue esigenze e i tuoi criteri d’uso (cambio di porte da utilizzare, attivazione dell’interfaccia web, ecc.):

AduUser@Syno:/opt/bin# ./amuled -f
2017-05-01 16:50:17: Initialising aMuleDAdunanzA MOD based on aMule SVN compiled with wxBase v2.8.12 and Boost 1.56 (Snapshot: rev. 531) AdunanzA 2014.1b1
2017-05-01 16:50:17: Checking if there is an instance already running...
2017-05-01 16:50:17: No other instances are running.
2017-05-01 16:50:17: ListenSocket: Ok.
2017-05-01 16:50:17: amuled: forking to background - see you

Torna sul forum e dai un’occhiata al paragrafo 7 (7. CONFIGURAZIONE amuleAdunanza) per capire come procedere e cosa toccare. Io ho configurato il mio aMule per partire su porti differenti rispetto allo standard (già utilizzate da un altro client in casa). Ricorda che dovrai sempre e comunque toccare la configurazione del tuo router per permettere una corretta comunicazione con l’esterno, ma quello è un altro discorso e spero tu lo conosca già (la stessa sorte vale per il firewall integrato in Synology, se lo utilizzi, nda).

Per snellirla un po’, puoi evitare di scaricare le liste server e nodi, non ti servono, puoi sempre caricarle in un secondo momento o appoggiarti a quelle già disponibili, ti basteranno per partire.

Trovi ulteriori riferimenti ai file di configurazione (per poter utilizzare aMule senza GUI) all’indirizzo stefano.dscnet.org/a/amuled_amule_senza_gui. Ora, ammesso che non ci siano errori, sei pronto per avviare ancora una volta il demone di aMule, e subito dopo quello della sua interfaccia di amministrazione web (altrimenti diventa più difficile amministrarlo per chi non si destreggia più di tanto con la riga di comando, nda). Ammesso che tu ti sia spostato già nella /opt/bin, dove hai installato aMule AdunanzA, i comandi per lanciare ciò che ti serve sono ./amulewed -f e ./amuleweb.

Al comando che avvia amuleweb ho notato che serve indicargli la password come parametro da riga di comando, la stessa che ti servirà per accedere poi all’interfaccia web (appunto). Per facilitarmi la vita, ho preparato un piccolo script da tenere a portata di mano sul NAS, il quale può avviare, spegnere o riavviare i servizi dedicati ad aMule:

Update

Ho aggiornato lo script includendo anche la possibilità di riavviare il solo servizio relativo all’interfaccia web di aMule, talvolta capita che questa vada in crash a causa delle elevate risorse richieste. Ho aggiunto il comando restartweb (già che c’ero ho anche messo a posto qualcosina, pura estetica e nulla più) :-)

L’utilizzo (se sei abituato a convivere con questo genere di roba) è semplice. Lo richiami tramite ./aMuleStart.sh (dopo averlo reso eseguibile, nda), seguito da start (per far partire i processi che ti servono), stop (per terminarli) o restart (per fermare e avviare da zero i processi). Lo script è chiaramente da tenere a portata di mano per poterlo richiamare facilmente da prompt SSH (la cartella home dell’utente che hai creato per installare e far partire aMule AdunanzA può essere la giusta scelta).

Se –ancora una volta– non ci sono stati errori, potrai finalmente aprire il tuo browser e puntare all’IP del tuo NAS, porta 4711 (a meno che tu non l’abbia cambiata, cosa che ti consiglio di fare) :-)

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca

Da qui in poi, nonostante si tratti di un’interfaccia molto più spartana rispetto a quella del client proposto sui sistemi Microsoft (e per certi versi anche più di quella proposta da Synology), potrai aggiungere download da eseguire, nuovi server, ecc. Ci sono alcuni bug, le statistiche non sono sempre ben visibili, ma il suo lavoro lo porta a termine correttamente, e se hai fatto tutto questo perché sei cliente Fastweb con necessità di far lavorare AdunanzA, noterai seri miglioramenti rispetto a quanto fatto con il modulo integrato nel DSM.

Nuovi repository

Che poi è un po’ un tornare all’introduzione di questo articolo, e capire sin da subito che il mondo va ben oltre quello che propone Synology tramite il Centro Pacchetti “di base“. Ci sono decine di porting per applicazioni che siamo abituati a vedere funzionare su sistemi Linux non embedded come quello di questo NAS, ed è assolutamente facile varcare quella soglia volutamente (e giustamente, aggiungerei) imposta dal produttore.

Allo stato attuale, i contributi scaricabili dalla comunità arrivano a superare i 100 pacchetti, tutti alla portata di clic (e successiva configurazione secondo proprie esigenze), tutti raggiungibili andando a modificare quella lista di repository che tu stesso puoi popolare andando nel Centro PacchettiImpostazioniPacchetti sorgente:

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca 1

Trovi diversi riferimenti in internet dove è possibile capire cosa propongono i repository Synology amatoriali (e non), prova a dare un’occhiata al sito italiano dedicato (qui trovi una discussione ad-hoc), o magari a quello ufficiale (qui in particolare un post di un thread che raccoglie diverse fonti ancora funzionanti).

In realtà poco tempo fa funzionava perfettamente anche il monitor messo a disposizione da dottoremoe.com, utile per tenere d’occhio tutti i repository e relativi tempi di up & down (vedi dottoremoe.com/synomon-3rd-parties-package-list-update), sfortunatamente però a ora sembra non funzionare più (credo ci siano stati problemi con il provider che ospita quel sito web, in attesa quindi che vengano risolti), era davvero utile.

Sì, ma i file di ricerca?

Quasi dimenticavo. I file di ricerca servono ad aggiungere motori (appunto) di ricerca (ma va?) a quelli già disponibili sul DSM. Naviga verso synoboost.com, ed esplora la quantità di alternative messe a disposizione. Scarica e installa ciò che ti serve all’interno del Download Manager, le istruzioni sono fornite per ogni pacchetto aggiuntivo scaricato, dai un’occhiata a queste due immagini catturate durante i test eseguiti sul mio NAS, giusto per farti un’idea:

In conclusione

Un mondo tutto da esplorare e da migliorare costantemente. L’importante è dedicargli il giusto tempo, provare (e riprovare), cercando però di evitare danni irreparabili (occhio, che qui i backup non sono poi così semplici da tirare in piedi, non si torna indietro in un batter d’occhio), ma soprattutto da tenere sempre in sicurezza (non aprire verso l’esterno porte che non ti servono e tieni sempre up-to-date il tuo DSM, giusto qualche giorno fa è stata resa pubblica la patch che ha corretto il bug relativo a WannaCry), trovi le note di rilascio sul sito di Synology:

Version: 6.1.1-15101-4
(2017/05/25)

Important Note

  1. The update is expected to be available for all regions within the next few days, although the time of release in each region may vary slightly.

Fixed Issues

  1. Fixed a security vulnerability regarding samba service (CVE-2017-7494).

vedi: synology.com/en-us/releaseNote/DS216j

E anche per stavolta è tutto.

Buon inizio di settimana! :-)

Condividi l'articolo con i tuoi contatti: