Archivi tag: Atmel

Linkit 7688 Duo con Lede – Esempio Timecheck

Dopo l’esempio in Python e Firmata

Firmata e Python

in questo esempio si utilizza la seguente modalità di programmazione

duo-yun-bridge

Si abilita la scheda a funzionare come un Arduino Yun

Linkit 7688 Duo Arduino Yun

Come specificato nel link Mediatek si deve abilitare il bridge sulla scheda; da una shell su Lede eseguire

 Al riavvio accedere sull’Ide Arduino e scegliere File->Examples->Bridge->TimeCheck

timecheck_arduino-1-6-5La versione dell’Ide Arduino utilizzata è la 1.6.5; con la versione 1.8 abbiamo avuto problemi di compilazione.

Dall’Ide Arduino, dopo aver eseguito il caricamento dello sketch, aprire da Tool->Serial Monitor la finestra

timecheckche mostra l’orario corrente.

Dopo tale operazione, per eseguire gli altri esempi, disattivare il bridge con i comandi

Linkit 7688 Duo con Lede – Firmata e Python

Dopo aver fatto il test con python nel precedente articolo

Linkit 7688 Duo con Lede – Comunicazione Uart MPU-MCU

in questo si descrive come eseguire la stessa operazione utilizzando la libreria python Firmata

Protocollo Firmata

In questo caso la modalità di programmazione è la seguente

duo-firmata-archCome prima operazione, così come descritto nell’articolo Mediatek

Usare Firmata con Python

installiamo la libreria Firmata per python; in una shell su LEDE eseguire

Sull’ IDE Arduino scegliere File->Examples->Firmata->StandardFirmata

arduinofirmataEseguire la seguente modifica nel codice sketch:

Cercare il codice

Firmata.begin(57600);
  while (!Serial) {

e sostituirlo con

  Serial1.begin(57600);
  Firmata.begin(Serial1);
 
  while (!Serial1) {

Salvare il file ed eseguire la compilazione e caricamento sul Linkit 7688 Duo.

In una shell unix in Lede creare il file blink_with_firmata.py e copiare all’interno il codice

Salvare ed uscire.

Sempre dalla shell eseguire il comando

Il Led presente sulla scheda dovrebbe accendersi e spegnere ad intermittenza.

Di seguito il link per scaricare i due file pronti per il Linkit 7688 Duo

 Lede Python Firmata file

 Nel prossimo articolo si abilita la scheda a funzionare come Arduino Yun

Linkit 7688 Duo con Lede – Esempio Timecheck

Linkit 7688 Duo con Lede – Comunicazione Uart MPU-MCU

Dopo avere compilato ed installato il firmware LEDE con i pacchetti della scheda Linkit 7688 Duo

Installazione e configurazione immagine Lede su Linkit 7688 Duo

passiamo a testare il funzionamento di alcune funzionalità della scheda.

Si riporta l’articolo Mediatek con le varie modalità di gestione delle periferiche

Modalità di programmazione

Come primo esempio trattiamo quello presente sul sito Mediatek come descritto nel titolo dell’articolo

Linkit 7688 DUo MPU-MCU Uart Connection

che corrisponde al seguente schema di modalità di programmazione

duo-primitive-uart

Come prima operazione si configura l’ IDE  Arduino come descritto al link

Arduino IDE con Linkit 7688 Duo

si procede a caricare sulla scheda Linkit 7688 Duo il seguente codice

che provvede a fare gestire all’MCU il led in base ai comandi che arrivano sulla porta Serial1.

La logica è invece gestita da codice python che viene eseguito su Linux; creare a questo scopo un file, ad esempio blink.py, con il seguente codice

Eseguendo il codice con il comando in una shell

Il Led presente ulla scheda dovrebbe accendersi e spegnersi in continuazione.

Nel prossimo esempio si utilizzera la libreria python Firmata per eseguire la medesima operazione

Linkit 7688 Duo con Lede – Firmata e Python

Installazione e configurazione immagine Lede su Linkit 7688 Duo

Dopo aver eseguito il collegamenti ai dispositivi di supporto come specificato nel precedente articolo

Collegamenti Linkit 7688 Duo

e generato l’immagine

Compilazione Immagine LEDE per Linkit 7688 Duo

si procede alla installazione della stessa sul dispositivo.

Come da indicazioni sul sito Mediatek

Aggiornamento Firmware da chiavetta USB

per eseguire l’aggiornamento del firmware da chiavetta usb copiare l’immagine lede-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin su una penna usb formattata fat32 e rinominarla in lks7688.img.

A questo punto inserire la chiavetta USB dispositivo USB OTG collegato alla scheda  ed eseguire quanto segue

  1. Tenere premuto il pulsante WiFi sulla scheda.
  2. Premere una volta il pulsante MPU, con il pulsante WiFi sempre premuto.
  3. Tenere premuto il pulsante WiFI per almento 5 secondi e meno di 20 finché il Led arancione del WiFi si spegne. A quel punto rilasciarlo. Non tenerlo premuto oltre 20 secondi in quanto si procederebbe all’aggiornamento del bootloader.
  4. La scheda riparte e provvede ad eseguire l’aggiornamento con il led arancione del wifi che lampeggia velocemente.

aggiornamento7688duo

 Si può controllare l’operazione tramite l’USB TTL seriale collegata sul pc ed attivata sulla seriale abilitata con le seguenti impostazioni

  • Port:  COM abilitata
  • Speed: 57600
  • Data Bits: 8
  • Stop Bits: 1
  • Parity: None
  • Flow Control: XON/XOFF

putty-configurationCollegandosi con putty, premere invio se non vi vede nulla, mentre sta eseguendo l’aggiornamento si verificano le operazioni

aggiornamento

Quando il led arancione incomincia a lampeggiare con una frequenza minore la scheda è pronta ad essere utilizzata.

Sul sistema Lede la scheda wireless è disabilitata di default, mentre è operativa la Lan, accessibile però solo tramite una scheda di  estensione lan del Linkit

Scheda estensione Linkit

Per abilitare la scheda wireless accedere sul sistema tramite putty o equivalente (screen su Linux) mediante il dispositivo USL TTL seriale e posizionarsi in /etc/config; editate il file network ed aggiungere alla fine del file la sezione

Salvare ed eseguire

Editare il file wireless ed aggiungere alla fine la sezione

dove Access Point e password indicano il nome dell’Access Point e la password; la sicurezza impostata è  wpa2.

Salvare ed eseguire

Abilitare il wireless

Accedere alla interfaccia Lede con l’indirizzo assegnato dall’ Access Point

lede-luci

Impostare la password ed accedere alla gestione di Lede.

In tale firmware i led della scheda non sono sincronizzati con le operazioni wireless come avveniva con il firmware OpenWrt con l’interfaccia e i driver wireless proprietari Mediatek.

Nel prossimo articolo faremo qualche esempio con l’interfacciamento all’IDE arduino basandoci sul tutorial presente sul sito Mediatek con l’immagine Lede compilata

Linkit 7688 Duo con Lede – Comunicazione Uart MPU-MCU

Installazione e configurazione immagine OpenWrt su Linkit 7688 e 7688 Duo

Dopo aver eseguito il collegamenti ai dispositivi di supporto come specificato nel precedente articolo

Collegamenti Linkit 7688 Duo

e generato l’immagine

Compilazione Immagine OpenWrt per Linkit 7688 e 7688 Duo

si procede alla installazione della stessa sul dispositivo.

Come da indicazioni sul sito Mediatek

Aggiornamento Firmware da chiavetta USB

per eseguire l’aggiornamento del firmware da chiavetta usb copiare l’immagine openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin su una penna usb formattata fat32 e rinominarla in lks7688.img.

A questo punto inserire la chiavetta USB in un dispositivo USB OTG collegato alla scheda  ed eseguire quanto segue

  1. Tenere premuto il pulsante WiFi sulla scheda.
  2. Premere una volta il pulsante MPU, con il pulsante WiFi sempre premuto.
  3. Tenere premuto il pulsante WiFI per almento 5 secondi e meno di 20 finché il Led arancione del WiFi si spegne. A quel punto rilasciarlo. Non tenerlo premuto oltre 20 secondi in quanto si procederebbe all’aggiornamento del bootloader.
  4. La scheda riparte e provvede ad eseguire l’aggiornamento con il led arancione del wifi che lampeggia velocemente.

aggiornamento7688duo

Si può controllare l’operazione tramite la USB TTL seriale collegata sul pc ed attivata sulla seriale abilitata con le seguenti impostazioni

  • Port:  COM abilitata
  • Speed: 57600
  • Data Bits: 8
  • Stop Bits: 1
  • Parity: None
  • Flow Control: XON/XOFF

putty-configurationCollegandosi con putty, premere invio se non vi vede nulla, mentre sta eseguendo l’aggiornamento si verificano le operazioni

aggiornamento

Quando il led arancione incomincia a lampeggiare con una frequenza minore la scheda è pronta ad essere utilizzata.

Fare uno ricerca degli access point visibili e si dovrebbe trovare un access point identificato come LinkIT_Smart_7688_xxxxxx, dove le xxxxxx identificano il dispositivo specifico.

Collegarsi a tale Access Point ed accedere tramite browser all’indirizzo 192.168.100.1 o all’indirizzo mylinkit.local se si hanno i prerequisti elencati

Accesso a Linkit

collegamentolinkitInserire una password ed accedere al passo successivo

collegamentolinkit2Selezionare OpenWrt per la configurazione avanzata

collegamentolinkit3Impostare la password su OpwenWrt

collegamentolinkit4immettendola due volte

collegamentolinkit5A questo punto il sistema è configurato come Access Point. Nel nostro caso si è voluto impostare il Linkit 7688 Duo come client di un Access Point con sicurezza WPA2. Per ottenere tale impostazione nel caso si abbia una rete visibile accedere alla sezione Network della interfaccia principale della console web

accesso_linkit-smart_network1ed impostare i valori per l’ Access Point e far ripartire il tutto

accesso_linkit-smart_network2

Nel caso l’Access Point sia nascosto occorre seguire la strada di impostare i parametri direttamente nei file di configurazione presenti in /etc/config.

Ci si collega con putty sulla USB TTL seriale  collegata in precedenza e si accede in /etc/config e si eseguono i comandi per Access Point con sicurezza wpa2

 Si salva la configurazione

e la si attiva

Se si controlla il file /etc/config/wireless si nota l’aggiunta di una nuova sezione, config wifi-face ‘sta’, per la connessione all’access point

Ora la scheda agisce da client e si accede all’indirizzo indicato dall’ Access Point o tramite nome come indicato dalla documentazione

Accesso a Linkit

accesso_linkit-smartNel prossimo articolo si procede alla installazione e configurazione  del firmware Lede personalizzato

Installazione e configurazione immagine Lede su Linkit 7688 Duo

Compilazione Immagine LEDE per Linkit 7688 Duo

Dopo aver generato l’immagine OpenWrt utilizzando l’SDK Mediatek

Compilazione Immagine OpenWrt per Linkit 7688 e 7688 Duo

in questo articolo si descrive come generare una immagine LEDE per il Linkit 7688 Duo.

Le indicazioni su come compilare LEDE sono disponibili al link

Compilazione LEDE

Procedere alla clonazione del github in una shell, sempre dalla cartella Linkit

eseguire

Creare uan cartella src sotto Linkit ed espandere il file compresso

Feed per Linkit

Tale feed è stato creato a partire da quello Mediatek , eliminando la parte gestita con i drivers  proprietari.

Copiare il file nella cartella src e scompattarlo

Accedere nella cartella Lede e copiare il file feeds.conf.default in feeds.conf

Eseguire

Aggiorniamo le informazioni dei feed per tutti i package

Installiamo i package

Configuriamo il kernel eseguendo

con le seguenti impostazioni

  • Target System: Mediatek Ralink MIPS
  • Subtarget: MT7688 based boards
  • Target Profile: Mediatek  LinkIt Smart 7688

menuconfigledeEntriamo in Base system ed abilitiamo mtk-linkit

mtk-linkitbasesystemSalviamo ed usciamo,

Eseguire la compilazione con il comando

dove con x si indica il numero di core da utilizzare.

Al termine della compilazione l’immagine è presente nella cartella bin/targets/ramips/mt7688/lede-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin.

L’immagine compilata è disponibile qui

Immagine Lede per Linkit 7688 Duo

ATTENZIONE: L’installazione dell’immagine generata sul dispositivo è a vostro rischio e pericolo. Non ci assumiamo alcuna responsabilità nel caso tale installazione generi malfunzionamento o blocco del dispositivo.

Se si aggiorna la scheda usando una chiavetta usb bisogna rinominare il file lede-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin in lks7688.img.

Tale firmware può presentare dei malfunzionamenti in quanto non testato approfonditamente e basato su driver in fase di sviluppo.

Nei prossimi articoli si descrive come installare le immagini sulla scheda e configurarle

Installazione e configurazione immagine OpenWrt su Linkit 7688 e 7688 Duo

Compilazione Immagine OpenWrt per Linkit 7688 e 7688 Duo

Dopo aver descritto nel precedente articolo le caratteristiche generali delle due schede

Schede di sviluppo Linkit 7688 e 7688 Duo

si passa alla compilazione della immagine OpenWrt dai sorgenti. Si segue quanto descritto al link

Compilazione immagine dai sorgenti

 Procediamo quindi a creare una cartella Linkit sotto /home/sviluppo nella nostra immagine Debian, già utilizzata per la compilazione di OpenWrt in altro articolo

Compilazione immagine OpenWrt

Passiamo alla installazione dei prerequisiti

Cloniamo il repository con il comando

Entriamo nella cartella openwrt e copiamo il file feeds.conf.default in feeds.conf

 Aggiungere  il feed Mediatek per la scheda

Aggiorniamo le informazioni dei feed per tutti i package

Installiamo i package

Configuriamo il kernel eseguendo

con le seguenti impostazioni

  • Target System: Ralink RT288x/RT3xxx
  • Subtarget: MT7688 based boards
  • Target Profile: LinkIt7688

menuconfigSalviamo ed usciamo,

Eseguire la compilazione con il comando

Ad un certo punto la compilazione genera un errore sulle librerie della scheda wireless. Mediatek non ha rilasciato i sorgenti della scheda wireless, ma un sdk con i binari che hanno versione differente rispetto al kernel che si sta usando; l’errore riportato è

Un modo per risolvere il problema è il seguente.

Accedere alla cartella /home/sviluppo/Linkit/openwrt/feeds/linkit/mtk-sdk-wifi/wifi_binary/ e copiare i seguenti file

Rilanciare la compilazione. Al termine della compilazione il file viene generato nella cartella bin/ramips

immaginelinkitIl file compilato è scaricabile da qui

Immagine OpenWrt Linkit 7688 e 7688 Duo

ATTENZIONE: L’installazione dell’immagine generata sul dispositivo è a vostro rischio e pericolo. Non ci assumiamo alcuna responsabilità nel caso tale installazione generi malfunzionamento o blocco del dispositivo

Se si aggiorna la scheda usando una chiavetta usb bisogna rinominare il file openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin in lks7688.img.

Il kernel dell’immagine è alla versione 3.18_45; se si volesse utilizzare un kernel recente occorre usare i driver opensource disponibili per la scheda; nel caso della scheda Linkit 7688 Duo, in nostro possesso, è possibile ricompilare il tutto utilizzando i driver Realtek rt76 per la scheda di rete wireless ed aggiungere i componenti aggiuntivi per l’ mcu Atmel utilizzando la distribuzione fork di OpenWrt Lede

Progetto LEDE

Nel prossimo articolo si compila una immagine LEDE per la scheda Linkit 7688 Duo. Per la scheda Linkit 7688 al momento non sono ancora compatibili le librerie mraa, che gestiscono l’interfacciamento con le periferiche,  con l’ultima versione di LEDE e le funzionalità dell’immagine sono limitate. Possono essere presenti anche dei bug  dei driver opensource della scheda wireless, che si spera siano risolti nell’affinamento di tali driver.

Compilazione Immagine LEDE per Linkit 7688 Duo

Collegamenti Linkit 7688 Duo

Dopo la panoramica delle schede

Schede di sviluppo Linkit 7688 e 7688 Duo

in questo articolo si descrive come collegare alla scheda i seguenti componenti che saranno utilizzati in seguito:

  • Micro USB OTG alla porta Host della scheda
  • Dispositivo USB To TTL Serial
  • Alimentazione su usb di 5v sulla porta USB Power

Lo schema seguente mostra come sono eseguiti i collegamenti

connessionilinkit

In particolare si devono eseguire i seguenti collegamenti tra il dispositivo USB To TTL Serial e la scheda

Pin USB TTLPin Linkit
RXUART_TXD2
TXUART_RXD2
GNDGND

Nel prossimo articolo si mostra come compilare il firmware per la scheda Linkit 7688

Compilazione Immagine OpenWrt per Linkit 7688 e 7688 Duo

Schede di sviluppo Linkit 7688 e 7688 Duo

In questo articolo si descrivono brevemente le schede di sviluppo Mediatek Linkit 7688 e 7688 Duo. Di seguito il link alle due schede

Linkit 7688

7688Linkit 7688 Duo

7688duo

Le specifiche generali delle due schede sono le seguenti

Linkit 7688

ModelloLinkit Smart 7688
MPUMT7688AN, MIPS24KEc, 580MHz
RAM128 Mb DDR2
Memoria Flash32 Mb
GPIO22 (MT7688AN) a 3,3 V
PWM4 (MT7688AN) a 3,3 V
Interrupts esterni22 (MT7688AN)
SPI1 (MT7688AN)
UART Lite3 (MT7688AN)
AlimentazioneMicro USB 5V DC o tramite PIN 3,3 V
USB HOSTMicro USB
EthernetTramite Estensione
Wifi1T1R 802.11 b/g/n (2.4G)
Memoria aggiuntivaMicro SDSDXC sdcard
Dimensioni55.7 x 26 mm
Peso39 grammi

Linkit 7688 Duo

ModelloLinkit Smart 7688 Duo
MPUMT7688AN, MIPS24KEc, 580MHz
MCUAtmel AVR 8MHz
RAM128 Mb DDR2
Memoria Flash32 Mb
GPIO3 (MT7688AN) a 3,3 V
24 (ATmega32U4)
PWM8 (ATmega32U4) a 3,3 V
Interrupts esterni8 (ATmega32U4)
SPI1 (ATmega32U4)
UART Lite1 (ATmega32U4)
1 (MT7688AN)
AlimentazioneMicro USB 5V DC o tramite PIN 3,3 V
USB HOSTMicro USB
EthernetTramite Estensione
Wifi1T1R 802.11 b/g/n (2.4G)
Memoria aggiuntivaMicro SDSDXC sdcard
Dimensioni55.7 x 26 mm
Peso39 grammi

Le due schede condividono lo stesso Microprocessore (MPU MT7688AN), ma nel caso del Linkit 7688 Duo questo è coadiuvato dal Microcontroller Atmel (MCU ATmega32U4) per la gestione delle periferiche.

Di seguito gli schemi di interfacciamento con le periferiche nei due casi

linkit_smart_7688lintit_smart_7688-duo

Il sistema operativo utilizzato per ambedue le schede è OpenWrt, ma la gestione delle periferiche è diffente. Mentre nel caso del Linkit 7688 ci si affida al solo MPU ed a specifiche librerie per la gestione dell’interfacciamento con le periferiche,  per il Linkit 7688 Duo è  il microcontrollore ATmega32U4 che provvede a gestire le periferiche. La gestione dell’ATmega32U4  è eseguita con l’IDE  di Arduino inserendo nello strumento il supporto alla scheda come specificato al seguente link

Scheda Linkit 7688 Duo su Arduino

Al presente link vi è la documentazione Mediatek per le due schede

Risorse Linkit 7688 e 7688 Duo

Per la gestione delle perriferiche delle due schede fare riferimento alle pagine

Periferiche su Linkit 7688

Periferiche su Linkit 7688 Duo

Sil sito Mediatek, sono presenti anche esempi da seguire passo passo per provare le varie caratteristiche della scheda.

Nel prossimo articolo si mostrano i collegamenti da eseguire con l’USB OTG da usare con una chiavetta USB e una USB  TTL serial per il monitor del dispositivo

 Collegamento Linkit 7688 Duo