使用MATLAB玩转树莓派

使用MATLAB操作树莓派

一、坑点

  • 环境只支持window系统;

  • 树莓派开发版只支持B版;

  • 树莓派需要使用MATLAB定制版镜像,且镜像对MATLAB的版本有要求;

  • 下载时常会中断,导致下载不成功,所以建议夜间下载;

    镜像下载地址

  • MATLAB支持包中有两个支持包,一个是MATLAB的支持包(用于在MATLAB界面中操作树莓派),一个是simulink的支持包(提供simulink中的树莓派开发包),分别是:

    MATLAB Support Package for Raspberry Pi Hardware
    Simulink Support Package for Raspberry Pi Hardware

  • MATLAB树莓派定制镜像安装好后,默认没有图形界面需要自行配置,具体操作如下;

  sudo apt-get update
  sudo apt-get install xorg -y
  sudo apt-get install lxde openbox -y
  sudo apt-get install pix=icons pix-plym-splash rpd-wallpaper -y
  sudo apt-get install raspberrypi-ui-mods -y
  • 使用MATLAB操作树莓派时,GPIO引脚与wiringPi不一样

二、使用

1、GPIO

mypi=raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
mypi.AvailableDigitalPins; //查看树莓派可使用GPIO引脚
showPins(mypi); //显示树莓派引脚图
configureDigitalPin(mypi,4,‘input’); //初始化GPIO4为输入
readDigitalPin(mypi,4); //从GPIO4读取
configureDigitalPin(mypi,7,‘output’); //初始化GPIO4为输入
writeDigitalPin(mypi,7,1); //从GPIO4读取

实例

mypi=raspi('192.168.0.10','pi,'123456'); 
configureDigitalPin(mypi,7,'output'); 
while(true)
writeDigitalPin(mypi,7,1); 
pause(0.5);
writeDigitalPin(mypi,7,0); 
pause(0.5)
end

2、UART

mypi=raspi(‘192.168.0.10’,‘pi,‘123456’); //创建树莓派对象mypi
myserialdevice=serialdev(mypi,’/dev/ttyAMA0’); //创建串口对象myserialdevice,默认115200 8 n 1
myserialdevice=serialdev(mypi,’/dev/ttyAMA0’,115200,8,‘none’,1);
write(myserialdevice,[10 12],‘uint16’); //通过串口发送一个数组,默认是uint8
output=read(myserialdevice,100); //通过串口读取数据
使用串口控制台
system(mypi,‘sudo rpi-serial-console enable’);
system(mypi,‘sudo shutdown -r now’);
clear mypi;

3、I2C

mypi = raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
mypi.AvailableI2CBuses; //看出I2C设备
mypi.I2CBusSpeed; //查看I2C总线速率
addr = scanI2CBus(mypi,‘i2c-1’); //获取挂载在I2C总线的I2C设备地址 addr= 0x62
i2cdac = i2cdev(mypi,‘i2c-1’,char(addr));
write(i2cdac,4092);
read(i2cdac,1);
writeRegister(i2cdac,3,hex2dec(‘08’),‘uint16’); //想寄存器3中写入十六进制08
readRegister(i2cdac,3);
disableI2C(mypi); //关闭I2C引脚使能,使用GPIO
enableI2C(mypi,400000); //使能I2C,并将总线速率设为400000

4、SPI

mypi = raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
enableSPI(mypi); //使能SPI
mypi.AvailableSPIChannels; //获取通道
myspidevice = spidev(mypi,‘CE1’,0); //创建SPI对象myspidevice
out = writeRead(myspidevice,[hex2dec(‘08’) hes2dec(‘D4’)]); //读写SPI设备

你可能感兴趣的:(树莓派)