Windows 10 IoT e Raspberry Pi 3:installazione, errore e, infine, successo

Windows 10 IoT e Raspberry Pi 3:installazione, errore e, infine, successo

Il Raspberry Pi 3 è stato rilasciato di recente (febbraio 2016). Ho lavorato molto con diversi tipi di Arduino prima, ma non ho mai lavorato con il Pi, quindi ho deciso di acquistarne uno per sperimentare. Dato che di recente ho iniziato a interessarmi alle app UWP di Windows, ero particolarmente entusiasta di provare il Raspberry Pi 3 con un sistema operativo Windows.

Da quando ho acquistato il mio Raspberry Pi 3, ho seguito le istruzioni su come installare Windows 10 dalle guide online e ho guardato alcune guide di installazione su YouTube:ogni volta, l'installazione è stata segnalata come molto semplice. Questa non è stata la mia esperienza (e a giudicare da forum e newsgroup, non sono solo) e odio ammettere la sconfitta. Detto questo, una volta elaborato un processo, ho trovato facile installare Windows 10 sul Pi 3 (e anche il WiFi funziona). Quindi ho scritto questo post per includere tutti gli errori che ho fatto, così come le cose che ho imparato. Gli utenti esperti di Raspberry Pi potrebbero guardare alcune delle cose che ho fatto qui e dire che non sono necessarie:questo potrebbe essere corretto, ma a torto oa ragione questi sono stati i passaggi che ho seguito per ottenere un'installazione funzionante.

Ricorda che sto descrivendo come iniziare con il Pi 3 con Windows 10 IoT Core. Far funzionare Windows 10 con Raspberry Pi 2 potrebbe essere un processo molto diverso:non ho un Pi 2, quindi non ho sperimentato. Inoltre, gli elementi di cui parlo qui potrebbero non essere rilevanti per la configurazione del Pi 3 con sistemi operativi diversi da Windows.

Per iniziare

Oltre a un Raspberry Pi 3, ci sono alcune altre cose di cui hai bisogno che di solito non sono incluse con il Pi:

È necessaria una scheda micro SD per contenere il sistema operativo su cui verrà eseguito il Pi 3, e non solo una vecchia scheda micro SD

Per Windows, solo alcune schede micro SD sono "Microsoft Verified". Non pretendo di capire le differenze di fondo tra i marchi, ma le mie esperienze sono state che:

  • un Kingston 64GB SDXC non ha funzionato per me ,
  • un SanDisk 64GB SDXC non ha funzionato per me ,
  • un SanDisk Ultra SDHC da 16 GB ha funzionato (che è Microsoft Verified) e
  • un SanDisk Ultra SDHC da 8 GB ha funzionato in determinate circostanze (e questa carta non è verificata da Microsoft).

Ovviamente, non sto dicendo che i primi due non possano funzionare – potrebbe esserci un passaggio che mi è sfuggito – è solo che non hanno funzionato per me.

Entrerò un po' più in dettaglio sulle mie esperienze con queste carte più avanti nel post.

Affinché Windows 10 funzioni su Pi 3, devi formattare la scheda come FAT32:non funzionerà se è formattata come NTFS o exFAT.

Il bootloader del Pi 3 supporta solo la lettura da filesystem FAT.

C'è un'applicazione ufficiale "SDFormatter", che ho trovato funzionava per nessuna delle mie schede (e alla fine questa applicazione si è rivelata irrilevante:sono stato in grado di utilizzare il formattatore di dischi di Windows integrato per far funzionare le cose sulle schede da 8 GB e 16 GB).

C'è un'applicazione chiamata guiformat che ti consente di formattare una scheda microSD da 64 GB come FAT32, tuttavia, non sono riuscito a far funzionare Windows 10 su Pi 3 da una scheda da 64 GB, quindi queste sono davvero solo informazioni di base.

È necessario un dispositivo di visualizzazione con una porta HDMI (e ovviamente un cavo HDMI per collegare il dispositivo di visualizzazione e il Pi 3).

Penso che sia praticamente impossibile installare il sistema operativo Windows IoT senza avere una qualche forma di feedback visivo.

Avevo bisogno di una tastiera USB.

Se stai installando scaricando da Internet, dovrai inserire il tuo nome utente e password di Windows Insider; se stai installando da un'immagine flashata sulla tua scheda microSD, dovrai comunque configurare le impostazioni della lingua del tuo Pi 3 .

E la vita è molto più semplice se hai anche un mouse USB.

Per un'installazione IoT di Windows 10, dovevo essere in grado di connettere direttamente il mio Pi a una porta ethernet.

Teoricamente Non avrei dovuto averne bisogno:il Pi 3 ha il WiFi per le installazioni online e se esegui il flashing del sistema operativo sulla tua scheda microSD, tutto dovrebbe essere lì. Ma ho trovato una connessione cablata fondamentale per arrivare alla fine del processo. Ci sono stati momenti in cui il processo di installazione non è riuscito e dopo un solo cambio di connessione del cavo Ethernet tra il mio router e Pi 3, l'installazione ha funzionato.

Dovrai eventualmente essere in grado di fornire alla scheda 5v e almeno 1,0A tramite una connessione micro USB.

Ho letto alcuni rapporti online di persone che affermano che le installazioni non sono riuscite perché il Pi 3 non riceveva abbastanza energia. Non sono sicuro di acquistare interamente questa spiegazione:sono stato in grado di configurare correttamente un Pi 3 con l'alimentazione proveniente da una normale porta USB, tuttavia, il tuo chilometraggio potrebbe variare.

Utilizza NOOBS Lite o utilizza Windows IoT Dashboard per caricare il file flash.ffu sulla scheda SD.

Ho scoperto che questi strumenti erano più coerenti nell'ottenere un risultato positivo. A volte Windows IoT Core Image Helper ha funzionato per me, ma ci sono ragioni per cui preferisco IoT Dashboard (di cui parlerò più avanti).

Non perdere tempo a provare a utilizzare l'installazione di Windows 10 per Raspberry Pi 2.

I programmi di installazione di Raspberry Pi 2 per Windows non funzionano su Pi 3. Se esegui il flashing dell'immagine Pi 2 su un disco e la usi in un Pi 3, non vedrai la luce verde integrata del Pi lampeggiare all'avvio del dispositivo ( a significare che non ha trovato nulla da cui iniziare l'avvio). Lo so perché a un certo punto i miei tentativi di installazione erano falliti così tante volte che ero abbastanza disperato da provare questo.

Ci vuole pazienza

Ci sarà un po' di attesa, soprattutto dopo aver avviato il tuo Pi 3 per la prima volta, quindi non arrenderti troppo in fretta. Più avanti nel post, fornirò i tempi che ho misurato.

Il modo sbagliato (non farlo)

Dopo aver ordinato il mio Raspberry Pi 3, ho ordinato una scheda SD Kingston SDXC da 64 GB (cattivo inizio – scheda microSD non verificata ). L'ho formattato utilizzando una macchina Windows 10, tutto in un'unica partizione utilizzando il formato exFAT predefinito (un altro errore:doveva essere FAT32 ).

Ho scaricato l'ISO di Windows Insider per il Raspberry Pi 3, ho montato l'ISO sulla mia macchina e ho fatto doppio clic sul file MSI. Questo ha creato un file sulla mia macchina chiamato flash.ffu nella posizione "C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2" (questa era l'unica cosa durante il mio primo tentativo che ho avuto ragione ).

Ho scoperto che gli strumenti per installare questo flash.ffu sulla scheda micro SD non erano su questo ISO, quindi ho scaricato l'ISO per Raspberry Pi 2, l'ho montato e installato, e questo mi ha dato il "Windows IoT Core Image Helper " applicazione. Ho quindi eseguito nuovamente l'ISO per il Pi 3 per ottenere il file flash.ffu corretto (c'è uno strumento molto più semplice per farlo:il dashboard IoT di Windows ).

Ho quindi eseguito il flashing della scheda SD utilizzando l'applicazione "Windows IoT Core Image Helper", che ha felicemente segnalato il successo. Ho inserito questa scheda nel mio Raspberry Pi 3, l'ho accesa e è apparsa la solita schermata di avvio di Windows. È rimasto lì. Dopo aver atteso 30 minuti ho deciso che probabilmente non si sarebbe avviato.

Un modo migliore

Successivamente, ho scoperto che solo alcune schede micro SD sono "verificate da Microsoft":la mia scheda microSD Kingston da 64 GB non era in questo elenco.

Non pretendo di capire perché una scheda SD Kingston sia diversa da una scheda SD SanDisk, ma ho deciso di provare con un paio di schede SD SanDisk, una Ultra da 8 GB (non verificata da Microsoft) e una Ultra da 16 GB (a quanto pare Microsoft Verificato).

Per prima cosa ho provato SanDisk 16GB SDHC Ultra (verificato Microsoft) – con successo

Per questo disco, ho deciso di provare a utilizzare "NOOBS Lite" per installare Windows. Per chiunque non sappia cos'è NOOBS, questo è un software che puoi scaricare, decomprimere e copiare nella radice della tua scheda micro SD. Quindi puoi inserire questa scheda SD nel tuo Raspberry Pi 3, accenderlo e vedere una selezione di sistemi operativi disponibili per il download e l'installazione.

I passaggi che ho seguito sono stati:
1. Formatta il disco da 16 GB come FAT32;
2. Collega il Raspberry Pi 3 al router utilizzando un cavo CAT5;
3. Collega una tastiera e un mouse USB al Raspberry Pi 3;
4. Inserisci la scheda SD nel Raspberry Pi 3;
5. Collega il Raspberry Pi 3 a un dispositivo di visualizzazione utilizzando un cavo HDMI;
6. Infine, collegalo all'alimentazione utilizzando una presa USB alimentata (idealmente fornisce 5 V e 1 A, o migliore).

Una volta acceso, il display mostra una schermata con il logo Raspberry Pi e una finestra che dice che la scheda micro SD è stata ripartizionata.

Successivamente, ti mostrerà una finestra con i sistemi operativi che puoi scaricare:Windows 10 è uno di questi sistemi.

Ho selezionato Windows 10, ho inserito i miei dettagli WiFi e ho premuto "i" per installare. Questo ha immediatamente iniziato a scaricare il sistema Windows 10 e sono stato rapidamente sfidato per il mio ID utente e password Insider. Una volta forniti questi, sono stato in grado di selezionare la versione dell'ISO che volevo installare e scaricarla sul mio Pi 3.

Durante l'installazione, ho ricevuto un messaggio di avviso per dire che la velocità della mia scheda potrebbe non essere abbastanza veloce. Ho ricevuto questo avviso per ogni scheda micro SD che ho provato, anche per quelle che alla fine hanno funzionato.

Ho scoperto che dovevo fare clic su Sì per continuare rapidamente:se lasciavo questa finestra di dialogo aperta per più di qualche secondo, il processo mi presentava un messaggio di errore critico e interrompeva il download e l'installazione.

Quindi, dopo aver fatto clic su Sì nella finestra di dialogo di avviso sopra, il sistema operativo Windows 10 è stato scaricato sul mio sistema e ha segnalato il successo.

Dopo aver fatto clic su OK, il Pi 3 si è riavviato e la solita schermata di Windows è apparsa con uno spinner.

Dopo circa 4 minuti e 40 secondi, il dispositivo è apparso nella mia dashboard del dispositivo IoT di Windows con un indirizzo IP allocato (sebbene ciò che veniva visualizzato sullo schermo della mia TV non fosse cambiato a questo punto).

Dopo 14 minuti, lo schermo ha mostrato un errore critico – CRITICAL_PROCESS_DIED – e si è riavviato automaticamente.

Dopo il riavvio, circa 1 minuto e 30 secondi dopo, è apparso sul mio dashboard di Windows IoT, quindi dopo altri 30 secondi mi è stata mostrata brevemente l'immagine di un Raspberry Pi rosso, seguito dalla schermata di configurazione di Windows 10 IoT Core per Pi 3 .

Questo mi ha portato attraverso un processo di configurazione abbastanza standard prima di finire con la schermata predefinita per Windows 10 su Raspberry Pi 3.

Avanti:SanDisk 8GB SDHC Ultra (non verificato da Microsoft) – riuscito

Ho provato a seguire il processo sopra per una scheda microSD SanDisk da 8 GB, formattata come FAT32, con NOOBS Lite copiato nella radice. Tuttavia, quando ho selezionato il sistema operativo Windows 10, ho visto apparire un errore:erano necessari 7765 MB e solo 7424 MB erano disponibili. Pertanto non sarei in grado di installare Windows 10 su una scheda da 8 GB utilizzando NOOBS Lite.

Tuttavia, non volevo ancora rinunciare a questa scheda microSD:ho pensato di poter eseguire il flashing di una versione offline di Win10IoT su di essa. Tuttavia, la scheda microSD da 8 GB era già stata partizionata da NOOBS Lite e dovevo rimuovere queste partizioni.

Ho scoperto che il modo più semplice per farlo era usare DISKPART:questo è uno strumento di partizionamento del disco fornito con Windows. I passaggi che ho seguito sono stati:

  1. Apri un prompt dei comandi come amministratore;
  2. Ho digitato "diskpart" per avviare l'applicazione DiskPart;
  3. Elencare i dischi disponibili con il comando “list disk”;
  4. Selezionare il disco con cui volevo lavorare utilizzando "select disk 1";
  5. Puliziando questo disco usando "clean" (a volte viene visualizzato un errore:l'esecuzione di "clean" di nuovo spesso rimuove l'errore);
  6. Rendi questa una singola partizione primaria usando "crea partizione primaria";
  7. Attiva finalmente questa partizione usando "active".

(Questa immagine sopra mostra il processo che ho seguito durante la pulizia della mia scheda da 64 GB, ma è un processo identico per la scheda microSD da 8 GB).

A questo punto, la scheda microSD da 8GB era pronta per essere formattata da Windows in un'unica partizione utilizzando FAT32 (per accedere allo strumento di formattazione di Windows, fare clic con il tasto destro del mouse sulla voce della scheda microSD in Esplora risorse e scegliere l'opzione Formato, evidenziata in un casella rossa nell'immagine qui sotto).

Successivamente, ho installato Windows IoT Dashboard e sono passato a Insider ISO versione 14322 di Flash.ffu (puoi ottenere le versioni più aggiornate qui) e l'ho flashato sul disco da 8 GB. Ricorda di selezionare "Personalizzato" dal menu a discesa Tipo di dispositivo e scegli la posizione del file immagine Flash.ffu.

Uno dei motivi per cui preferisco utilizzare Windows IoT Dashboard è che lo strumento che utilizza per eseguire il flashing dell'immagine sulla scheda microSD è firmato con un editore verificato (vedi foto sotto). Questo strumento si chiama “DISM” – sta per “Deployment Image Servicing and Management”.

Ho scoperto che anche lo strumento alternativo fornito da Microsoft, "Windows IoT Core Image Helper", utilizza DISM, ma questa versione è segnalata da Windows come non firmata.

Ho inserito la scheda microSD flash nel Pi 3, l'ho avviato e, dopo circa 2 minuti e 30 secondi, il Pi 3 è entrato in modalità di configurazione, sfidandomi a selezionare la lingua del dispositivo.

Una cosa interessante che ho notato è che circa un minuto dopo aver avviato il Pi 3, il dispositivo è apparso nell'elenco dei dispositivi della mia dashboard IoT.

Quando si tenta di aprire il dispositivo utilizzando il dashboard di Windows IoT, viene richiesto un nome utente e una password. Le istruzioni di Pi 3 specificano che queste credenziali nome utente/password sono rispettivamente Pi e Raspberry, tuttavia, questo non funziona per l'installazione di Windows. Il nome utente e la password predefiniti sono "Amministratore" e "p@ssw0rd":cambiali il prima possibile!

Il Wi-Fi funziona?

Ho scoperto che Windows 10 IoT supporta il chip Wi-Fi integrato Pi 3 – questo è contrario a quanto molte persone stanno segnalando in questo momento. Tuttavia... funziona sulla mia macchina.

Non ho dovuto fare nulla di speciale:durante la configurazione del dispositivo Raspberry Pi 3, sono stato invitato a configurare la connettività Internet e ho mostrato la schermata qui sotto. "Kobol" è il nome della rete wireless della mia famiglia (siamo grandi fan di BSG).

Sono stato in grado di configurare la rete ed era visibile sul dashboard predefinito. Ho disconnesso la connessione cablata dal mio Raspberry Pi 3 e l'ho evidenziata nella foto qui sotto:la connessione wireless viene visualizzata nella dashboard predefinita sul mio televisore.

Sono stato in grado di confermare che ha funzionato in modalità wireless distribuendo una delle applicazioni di esempio da Windows IoT Dashboard (radio Internet).

Conclusione

Dopo un sacco di problemi, sono stato in grado di installare con successo il core IoT di Windows 10 su due schede microSD, entrambe di SanDisk, per Raspberry Pi 3. Ci sono molte opportunità di inciampare in questo processo e ho documentato tutte le quelli che mi hanno fatto inciampare. Penso che il processo di flashing di un'immagine sulla scheda microSD FAT32 sia il modo migliore per installare Windows 10 IoT Core, sebbene anche l'utilizzo di NOOBS Lite funzioni. Infine, ho scoperto che nella versione 14322, il Wi-Fi integrato funziona per il mio dispositivo, prodotto da Element 14.

Su di me: Posto regolarmente su .NET:se sei interessato, seguimi su Twitter o dai un'occhiata ai miei post precedenti qui. Grazie!