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
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
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void setup() { Serial.begin(115200); // open serial connection to USB Serial port (connected to your computer) Serial1.begin(57600); // open internal serial connection to MT7688AN // in MT7688AN, this maps to device pinMode(13, OUTPUT); } void loop() { int c = Serial1.read(); // read from MT7688AN if (c != -1) { switch(c) { case '0': // turn off D13 when receiving "0" digitalWrite(13, 0); break; case '1': // turn off D13 when receiving "1" digitalWrite(13, 1); break; } } } |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import serial import time s = None def setup(): global s # open serial COM port to /dev/ttyS0, which maps to UART0(D0/D1) # the baudrate is set to 57600 and should be the same as the one # specified in the Arduino sketch uploaded to ATmega32U4. s = serial.Serial("/dev/ttyS0", 57600) def loop(): # send "1" to the Arduino sketch on ATmega32U4. # the sketch will turn on the LED attached to D13 on the board s.write("1") time.sleep(1) # send "0" to the sketch to turn off the LED s.write("0") time.sleep(1) if __name__ == '__main__': setup() while True: loop() |
Eseguendo il codice con il comando in una shell
1 |
python ./blink.py |
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