基于iMX6ULL处理器的监控平台体验--米尔MYD-Y6ULX-V2开发板
![](/public/static/modules/cms/images/rd1.png)
2023-05-24
![](/public/static/modules/cms/images/rd2.png)
1332
![](/public/static/modules/cms/images/rd3.png)
来源:米尔电子
本篇测评由电子发烧友的优秀测评者“HonestQiao”提供。
评测规划
米尔MYD-Y6ULX-V2开发板上带有SIM卡的插槽,于是结合我之前的使用米尔
板子的经验,想制作一个远程监控的平台。
不过通过硬件手册了解到,板子自身不带有LTE模块,需要安装一个Mini PCI-E接口的LTE 模块才能够使用4G网络,且仅支持仅支持移远EC20型号。
而手头暂时没有这个型号的LTE模块,于是退而且其次,使用有线网络来进行数据的传输。
这块板子的full镜像,提供了通过V4L对USB摄像头的支持,直接插接上USB摄像头就能使用了。
最终,具体的评测规划如下:
使用米尔MYD-Y6ULX-V2开发板提供摄像头监控数据
使用OLED呈现开发板的设备负载、IP地址和服务信息
使用PyQT5开发监控显示界面
使用opencv进行人脸识别检测
硬件准备
海康威视USB摄像头 使用USB连接的摄像头即可
![](/public/uploads/images/20230524/c97d3a57b2bb854bea2cd13ef51daa7b.jpg)
SSD1306 OLED
USB2TTL
米尔MYD-Y6ULX-V2开发板
镜像烧录
根据使用手册,选用如下的镜像,并按照手册设定好启动方式,进行烧录更新。
镜像类型:
![](/public/uploads/images/20230524/2ef45d54de7007ed2899980af9328325.png)
烧录方式:
![](/public/uploads/images/20230524/f3d75864eeb15be6450d8449214a9257.jpg)
拨码开关
![](/public/uploads/images/20230524/933234fcaf6ce93cb1b44434efbcbbed.png)
连接调试串口:
![](/public/uploads/images/20230524/791b364fe6b1852ee8834a88ad84cc07.png)
![](/public/uploads/images/20230524/23ff9bf31fa0121610319f416c26fb1c.png)
烧录:
验证:
更新成功后,断电,然后将拨码开关设置回eMMC启动模式,重启上电开机,最终会看到如下的启动信息,其中NXP i.MX Release Distro 5.10-gatesgarth表示已经更新到了当前系统:
开发板设置
在更新完毕后,需要对开发板进行一些基础的设置,以方便后续进一步操作。
eth0、eth1的IP设置: 参考:7.2. 通用网络配置
静态配置示例如下:
[Match] Name=eth0 [Network] Address=192.168.1.177/24 Gateway=192.168.1.1 DNS=192.168.1.1
动态配置示例如下:
[Match] Name=eth0 [Network] DHCP=yes EOF
配置后,可以重启网络服务,然后查看结果:
service systemd-networkd restart ifconfig
时区设置:
使用vi修改:/etc/sysconfig/clock
ZONE="Asia/Shanghai" UTC=true ARC=false
ntpd对时设置
使用vi修改:/etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default. OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" # Set to 'yes' to sync hw clock after successful ntpdate SYNC_HWCLOCK=yes #make no into yes; BIOS的时间也会跟着修改 # Additional options for ntpdate NTPDATE_OPTIONS=""
使用vi修改:/etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery # restrict -6 default kod nomodify notrap nopeer noquery #针对ipv6设置 # 允许本地所有操作 restrict 127.0.0.1 #restrict -6 ::1 # 允许的局域网络段或单独ip restrict 10.0.0.0 mask 255.0.0.0 nomodify motrap restrict 192.168.0.0 mask 255.255.255.0 nomodify motrap restrict 192.168.1.123 mask 255.255.255.255 nomodify motrap # 使用上层的internet ntp服务器 server cn.pool.ntp.org prefer server 0.asia.pool.ntp.org server 3.asia.pool.ntp.org server 0.centos.pool.ntp.org iburst # 如果无法与上层ntp server通信以本地时间为标准时间 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 # 计算本ntp server 与上层ntpserver的频率误差 driftfile /var/lib/ntp/drift # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. keys /etc/ntp/keys #日志文件 logfile /var/log/ntp.log
service ntpd restart date
查看结果:
远程连接:
以上设置完成后,就可以在其他电脑上,使用ssh远程连接,来连接开发板了。
首先在开发板上,为root用户设置密码:
passwd root
然后,在其他电脑上,使用ssh工具进行远程连接:
Windows系统可以视同使用Putty或者mobaxterm,Linux和macOS系统可以直接使用ssh命令
ssh root@192.168.1.177
# 出现下一行提示附后,就可以输入命令了:
root@myd-y6ull14x14:~#
root@myd-y6ull14x14:~# uname -a
Linux myd-y6ull14x14 5.10.9-1.0.0+g062cea228 #1 SMP PREEMPT Fri Aug 12 02:04:17 UTC 2022 armv7l armv7l armv7l GNU/Linux
开发环境建立
米尔为MYD-Y6ULX-V2开发板提供了详细的开发环境建立的指导,参考《MYD-Y6ULX_Linux软件开发指南.pdf》即可完成所需要的工作。
开发环境需要在一个Ubuntu环境下建立,而不是开发板自身的系统上。
从开发板的资料包页面,下载光盘镜像:http://down.myir-tech.com/MYD-Y6ULX/,也可以从百度网盘下载相应的资料包。
首先安装基础工具包,并进行工作目录的构建:
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev mkdir -p ~/MYD-Y6ULX-devel export DEV_ROOT=~/MYD-Y6ULX-devel sudo mkdir /media/cdimage sudo mount -o loop ~/Downloads/MYD-Y6ULX_L5.10.9_20220826.iso /media/cdimage cp -r /mnt/cdimage/02_Images $DEV_ROOT/ cp -r /mnt/cdimage/03_Tools $DEV_ROOT/ cp -r /mnt/cdimage/04_Sources $DEV_ROOT/
cd $DEV_ROOT/03_Tools/Tools_chain/ bash fsl-imx-fb-glibc-x86_64-myir-image-full-cortexa7t2hf-neon-myd-y6ull14x14-toolchain-5.10-gatesgarth.sh . /opt/test5.10/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi $CC -v
安装编译工具链时的提示:安装到/opt/test5.10目录
安装完成后的验证:
06.
mjpg_streamer部署
要使用到摄像头,并对外提供监控数据,使用mjpg_streamer最合适了。
在网上也有不少 iMX6移植原版mjpeg-streamer的文章可供参考,不过我查看后大受误导。
直接使用我之前的版本,进过简单的修改,就能使用MYD-Y6ULX-V2开发板的编译工具链进行成功编译了。
mjpg_streamer分支版本:https://github.com/jacksonliam/mjpg-streamer
下载地址:https://github.com/jacksonliam/mjpg-streamer/archive/refs/heads/master.zip
交叉编译:
使用交叉编译环境的CC设置即可,但需要先注释掉mjpg_streamer源码中原有的gcc设置,具体操作步骤如下:
cd mjpg-streamer/mjpg-streamer-experimental find -name "Makefile" -exec sed -i "s/CC = gcc/#CC = gcc/g" {} ; grep -rn 'CC = gcc' * make clean make
完成编译后,结果如下:
带so文件部署
使用scp将以上文件拷贝到开发板
ssh root@192.168.1.177 "mkdir ~/mjpeg_server/" scp mjpg_streamer root@192.168.1.177:~/mjpeg_server/ scp *.so root@192.168.1.177:~/mjpeg_server/
mjpeg_streamer测试
查看摄像头设备
查看设备指令:v4l2-ctl --list-devices
从上图可以看出,识别到了连接的USB摄像头HIK 720P Camera,对应的第一个设备地址/dev/video2可以被mjpg_streamer调用。
启动mjpg_streamer测试:
cd ~/mjpeg_server ./mjpg_streamer -i "input_uvc.so -d /dev/video2 -n -r 640x480 -f 10" -o "output_http.so -w ./"
默认启动的mjpg_streamer是可以任意访问的,这很危险。但可以使用-c 用户名:密码来设置一个访问密码,可以参考下图中的指令:
访问测试:
镜像烧录ssd1306_bin部署
我所使用的SSD1306 OLED使用IIC通讯的,之前我也使用过一个Linux环境下的ssd1306工具。
经过尝试,这个工具可以使用MYD-Y6ULX-V2开发板的编译工具链进行编译和使用。
下载地址:https://github.com/armlabs/ssd1306_linux/archive/refs/heads/master.zip 交叉编译:
修改配置文件 Makefile,具体修改如下:
修改完成后,进行编译,编译完成后,部署ssd1306_bin一个文件即可
make ls -l ssd1306_bin # 部署文件到开发板 scp ssd1306_bin root@192.168.1.177:~/mjpeg_server/
硬件连接
参考手册上的说明,进行硬件的连接。我所使用的OLED使用到了VDD_5V、DGND、I2C2_SCL、I2C2_SDA。务必要注意所使用的OLED的电压,有的只能使用3.3V,使用5V会完蛋。
OLED显示测试
上述硬件连接完成后,就可以远程连接到开发板,进行测试了。
然后,进行显示测试
cd ~/mjpeg_server ./ssd1306_bin -n 1 -I 128x64 ./ssd1306_bin -n 1 -c ./ssd1306_bin -n 1 -r 0 ./ssd1306_bin -n 1 -x 0 -y -0 -m "Hello World!nnI'm MYD-Y6ULX-V2."
开发板应用综合部署
完成以上两项工作,开发板部分的基础工作就完成了,可以写一个启动脚本来进行控制,具体如下:
为了安全访问,在脚本中设置了访问的用户名和密码,可以根据实际需要进行修改。
以下的操作,都需要远程连接到开发板上进行。
服务启动脚本:~/mjpeg_server/mjpeg_server_start.sh
#!/bin/bash cd "${0%/*}" killall mjpg_streamer >/dev/nul 2>&1 device=$(v4l2-ctl --list-devices | grep 'Camera' -A1 | grep /dev/video | head -1 | awk '{print $NF}') ./mjpg_streamer -i "input_uvc.so -d $device -n -r 640x480 -f 10" -o "output_http.so -w ./ -c test:test123" & ./ssd1306_bin -n 1 -I 128x64 ./ssd1306_bin -n 1 -r 0 let count=0 while true do nowdate="$(date '+%Y-%m-%d %H:%M:%S')" load="$(w | head -1 | sed -e 's/^.*average: //' | cut -d ',' -f 1)" temp=$(echo "scale=1;$(cat /sys/devices/virtual/thermal/thermal_zone0/temp)/1000" | bc) ipstr=" ${nowdate}n L:${load} T:${temp}" if [[ $count -gt 0 ]];then ./ssd1306_bin -n 1 -x 0 -y 0 -m "${ipstr}" else ./ssd1306_bin -n 1 -c ipstr="${ipstr}n**-*-IP Address-*-**" i=0 for ip in $(ip addr show | grep -v "127.0.0.1" | awk -F'[ /]+' '{if($0 ~ / inet /) print $3;}') do let i=i+1 ipstr="${ipstr}nIP${i}: ${ip}" done ipstr="${ipstr}nSRV: ip:8080/?action" ipstr="${ipstr}n =stream" echo -e "${ipstr}" ./ssd1306_bin -n 1 -x 0 -y 0 -m "${ipstr}" fi let count=count+1 if [[ $count -gt 15 ]];then let count=0 fi sleep 1 done
开机启动:
chmod u+x /home/root/mjpeg_server/mjpeg_server_start.sh
screen -S mjpeg_server /home/root/mjpeg_server/mjpeg_server_start.sh
配置完成后,就可以重新启动开发板,OLED显示屏上会显示对应的信息:
PyQT5应用开发
MYD-Y6ULX-V2开发板的full环境支持使用QT5进行应用开发,但实际使用中,需要屏幕配合。
我手头没有对应的屏幕,所以这一步的工作,就在电脑上进行,并使用PyQT5进行开发。
具体要做的工作如下:
操作界面开发
mjpeg流读取显示
人脸识别
其中人脸识别部分,参考了:* opencv快速入门人脸检测与人脸识别
涉及到具体的代码的开发,我就直接上代码了,感兴趣的同学,可以查看代码进行学习。
from PyQt5 import QtWidgets from PyQt5.QtGui import QImage, QPixmap, QKeySequence from PyQt5.QtCore import QThread import sys, cv2, threading, random, signal import numpy as np import socket import time, datetime import requests from requests.auth import HTTPBasicAuth # 0-摄像头 1-socket 2-from remote CAMERA_SOURCE = 2 CAMERA_LOCAL_INDEX = 0 # 如果使用本地摄像头,则表示其videoN的N CAMERA_SOCKET_PORT = 8888 # 如果视同socket,设置端口 # CAMERA_REMOTE_URL = "http://192.168.1.15:8080/live.mjpg" CAMERA_REMOTE_URL = "http://192.168.1.177:8080/?action=stream" CAMERA_SOURCE_NAME = ["USB摄像头", "网络图像流", "米尔MYD-Y6ULX-V2摄像头监控"] AUTH_CONFIG = {"user":"test","pass":"test123"} FACE_DETECTION = True if FACE_DETECTION == True: # https://blog.csdn.net/FontThrone/article/details/105314973 # https://github.com/FontTian/DS-Exhibitio face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') face_cascade.load('./haarcascades/haarcascade_frontalface_default.xml') face_box_colors = [ (255, 0, 0), (0, 255, 0), (0, 255, 0), (255, 255, 0), (255, 0, 255), (0, 255, 255), (255, 128, 128), (128, 255, 128), (128, 255, 128), (255, 255, 128), (255, 128, 255), (128, 255, 255) ] # 应用定义 app = QtWidgets.QApplication(sys.argv) window_w, window_h = 640, 480 # 窗口宽度和高度 scale = 0.58 # 视频信息宽高比 # 界面定义 Form = QtWidgets.QWidget() Form.setWindowTitle(CAMERA_SOURCE_NAME[CAMERA_SOURCE]) Form.resize(window_w, window_h) # 窗口大小改变时自动调整按钮 def windowResize(self): global window_w, window_h, scale window_w = Form.width() # 窗口宽度 window_h = Form.height() # 窗口高度 label.setGeometry(0,0, window_w, int(window_w*scale)) # 调整 QLabel 尺寸 btn1.setGeometry(10, window_h-40,70,30) # 调整按钮位置 btn2.setGeometry(80, window_h-40,70,30) # 调整按钮位置 btn3.setGeometry(window_w - 80, window_h-40,70,30) # 调整按钮位置 Form.resizeEvent = windowResize # 设置窗口大小改变时触发 # 关闭应用时的处理 ocv = True # 设置是否处理视频 def closeOpenCV(self): global ocv, output ocv = False # 关闭窗口时,停止处理视频 print("关闭程序") try: output.release() # 关闭窗口时,释放视频处理资源 except: pass Form.closeEvent = closeOpenCV # 窗口关闭时触发 label = QtWidgets.QLabel(Form) label.setGeometry(0,0, window_w, int(window_w*scale)) # 设置 QLabel 的位置和大小 # 存储文件时使用的文件名 def rename(): # return str(random.random()*10).replace('.','') return datetime.datetime.now().strftime('%Y%m%d_%H%M%S') photo = False # 按下拍照按钮时,设置处于拍照状态 # 按下拍照按钮时的处理 def takePhoto(): global photo photo = True # 设定拍照状态为True print("马上拍照") btn1 = QtWidgets.QPushButton(Form) btn1.setGeometry(10, window_h-40,70,30) # 设置拍照按钮的位置和大小 btn1.setText('拍照') btn1.clicked.connect(takePhoto) # 按下拍照按钮时触发 fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 设置视频中的存储格式 recorderType = False # 按下录像按钮时,设置处于录像状态 # 按下录像按钮时的处理 def recordVideo(): global recorderType, output if recorderType == False: # 如果按下按钮时没有在录像,则开始录像 # 设定存储的视频信息 output = cv2.VideoWriter(f'videos/{rename()}.mp4', fourcc, 20.0, (window_w, int(window_w*scale))) recorderType = True # 设置正在录制状态 btn2.setGeometry(80, window_h-40,200,30) # 根据显示内容设置大小 btn2.setText('录像中,点击停止保存') else: # 如果按下按钮时正在在录像,则停止录像 output.release() # 释放视频存储资源 recorderType = False # 设置非录制状态 btn2.setGeometry(80, window_h-40,70,30) # 根据显示内容设置大小 btn2.setText('录像') btn2 = QtWidgets.QPushButton(Form) btn2.setGeometry(80, window_h-40,70,30) # 设置录像按钮的位置和大小 btn2.setText('录像') btn2.clicked.connect(recordVideo) # 按下录像按钮时触发 # 按下退出按钮时的处理 def quitApp(): global video_server print("退出程序") closeOpenCV(False) app = QtWidgets.QApplication.instance() app.quit() btn3 = QtWidgets.QPushButton(Form) btn3.setGeometry(window_w-80, window_h-40,70,30) # 设置退出按钮的位置和大小 btn3.setText('退出') btn3.clicked.connect(quitApp) # 按下退出按钮时触发 # 人脸识别处理 def face_detection_process(frame): if FACE_DETECTION == True: face_count = 0 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x, y, w, h) in faces: color = face_box_colors[face_count % len(face_box_colors)] cv2.rectangle(frame, (x, y), (x + w, y + h), color, 2) face_count+=1 # 此处省略本项目用不到的数百行... # mjpeg数据流处理服务 def mjpeg_remote_server(): global window_w, window_h, scale, photo, output, recorderType, ocv r = requests.get(CAMERA_REMOTE_URL, auth=HTTPBasicAuth(AUTH_CONFIG["user"], AUTH_CONFIG["pass"]), stream=True) if(r.status_code != 200): print("Received unexpected status code {}".format(r.status_code)) return count = 0 is_first = False recv_data_mjpeg = bytes() for recv_data in r.iter_content(chunk_size=1024): if not ocv: break count+=1 if count % 10000 == 1: print("trecv stream success") recv_data_mjpeg += recv_data a = recv_data_mjpeg.find(b'xffxd8') b = recv_data_mjpeg.find(b'xffxd9') if not (a != -1 and b != -1): continue mjpg_data_raw = recv_data_mjpeg[a:b+2] recv_data_mjpeg = recv_data_mjpeg[b+2:] mjpeg_data = np.frombuffer(mjpg_data_raw, 'uint8') img = cv2.imdecode(mjpeg_data, cv2.IMREAD_COLOR) # cv2.imshow('stream', img) if not is_first: is_first = True sp = img.shape sz1 = sp[0] #height(rows) of image sz2 = sp[1] #width(colums) of image sz3 = sp[2] #the pixels value is made up of three primary colors print('网络图像: width=%d theight=%d tnumber=%d' % (sz1, sz2, sz3)) scale = sz1/sz2 frame = cv2.resize(img, (window_w, int(window_w*scale))) # 改变帧大小 if photo == True: name = rename() # 设置文件名称 name_save = f'photos/{name}.jpg' print("照片存储:%s" % name_save) cv2.imwrite(name_save, frame) # 存储图片 photo = False # 拍照完,设置非拍照状态 if recorderType == True: output.write(frame) # 按下录像按钮时,输出到存储文件 face_detection_process(frame) frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # 设置为 RGB height, width, channel = frame.shape bytesPerline = channel * width img = QImage(frame, width, height, bytesPerline, QImage.Format_RGB888) label.setPixmap(QPixmap.fromImage(img)) # 显示 if CAMERA_SOURCE == 2: video_server = QThread() video_server.run = mjpeg_remote_server video_server.start() Form.show() sys.exit(app.exec_())
设置好开发板的MJPEG视频地址,然后启动上面的python程序,就能打开如下界面了:
如果画面中有人脸,就会自动识别了:
2024-07-25
一文解决新能源设备处理器选型难题:EMS/PCS/BMS/充电桩/逆变器
随着全球对可持续发展的日益关注,新能源技术作为替代传统能源的重要选择,正迅速发展并深入各个领域。在这一技术革新的浪潮中,嵌入式技术作为关键的智能化解决方案,正在为新能源行业的发展注入新的动力和创新。本文旨在为新能源行业的开发者解决嵌入式处理器选型难题。01米尔嵌入式处理器在新能源行业应用米尔嵌入式处理器模组在新能源行业主要在能量管理系统EMS、储能变流器PCS、电池管理系统BMS、逆变器数据采集器
2024-07-23
带你认识创新性LGA封装
摘自:strongerHuangLGA:Land Grid Array,栅格阵列封装。这项技术最早应用于英特尔处理器上,因为这种封装技术相比之前的“金属触点式封装”有很多优点,所以,很快就普及了。随着市场需求的不断变化,在单芯片上使用LGA封装技术已经不能满足需求了,于是,出现了将多种芯片和器件通过LGA封装在一起的模块。比如之前给大家分享的米尔电子LGA封装的核心板。米尔LGA封装核心板目前米尔
2024-07-11
米尔全志工业方案全系列,双核、四核、八核CPU可选
摘自:strongerHuang提示:文末有福利/打折!我们在做项目时,选择核心板通常会从项目需求、功能拓展、兼容性等多方面进行考虑。然而,随着这几年“贸易战”的升级,选择国产处理器也是需要重点考虑的一个问题(我了解到的,目前国内很多公司只选国产处理器了,不知道你们公司是不是也这么要求?)。国产CPU厂商有很多,做嵌入式Linux应用开发用到的具有性价比的国产处理器,还得是全志处理器。全志处理器说
2024-07-05
集聚5种操作系统,米尔瑞米派168元带回家
酷爽夏日,冰点价瑞米派活动再度来袭集聚5个操作系统只要168元就可带回家米尔电子发布的瑞萨第一款MPU生态板卡-瑞米派(Remi Pi),采用瑞萨RZ/G2L双核A55芯片,接口丰富,全面兼容树莓派的扩展模块。瑞米派支持五种系统,兼顾学习开发和项目产品需要。软件提供五种软件系统分别为:基于Yocto构建的两种系统,一种是支持通用功能的精简型系统,另一种是带有Qt和丰富Linux命令集的全面型系统;
2024-07-05
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
本篇测评由与非网的优秀测评者“短笛君”提供。本文将介绍基于米尔电子MYD-YD9360商显板(米尔基于芯驰D9360国产开发板)的TinyMaxi轻量级的神经网络推理库方案测试。算力测试TinyMaix 是面向单片机的超轻量级的神经网络推理库,即 TinyML 推理库,可以让你在任意单片机上运行轻量级深度学习模型~ 开源地址:https://github.com/sipeed/TinyMaix搭建
2024-06-28
米尔创新设计RK3568全LGA国产核心板,更紧凑可靠省连接器成本
今天,米尔电子发布MYC-LR3568核心板及开发板,核心板基于高性能、低功耗的国产芯片-瑞芯微RK3568。核心板采用LGA 创新设计,可实现100%全国产自主可控。MYC-LR3568系列核心板采用高密度高速电路板设计,在大小为43mm*45mm*3.85mm板卡上集成了RK3568J/RK3568B2、LPDDR4、eMMC、E2PROM、PMIC电源等电路。核心板根据存储器件参数的不同,细
2024-06-28
米尔基于NXP i.MX 93开发板的M33处理器应用开发笔记
1.概述本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第二种方式是使用 IAR Embedded Workbench 来构建可移植的Freertos文件进行开发。2.硬件资源MYD-LMX9X 开发板(米尔基于NXP i.MX 93开发板)3.软件资源Windows7及以上版本软件 :IAR Embedded Workbench4.板载固件调试M334.1环境准备
2024-06-21
米尔T527系列加推工控板和工控机,更多工业场景DEMO
自米尔首发基于全志T527系列核心板以来,这款基于八核CPU的高性能国产核心板得到广大客户的好评。这款产品支持Android13、Linux5.15操作系统,还将适配Ubuntu系统,满足开发者们更灵活地开发各种创新应用。米尔为满足不同的客户需求,推出基于全志T527的全系列的产品:米粉派T527、MYD-LT527-SX商显板等等。此次,米尔加推了MYD-LT527-GK工控板和MYD-LT52
2024-06-21
7折购!米尔基于全志T113系列开发板
全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家,目前是唯一一家提供T113-S和T113-i两种芯片核心板的厂家。T113-i的核心板兼容T113-S的核心板,同一个硬件设计,有多种更适合的选择。2种芯片,多种配置,全志T113系列产品自上市以来已得到各行各业的应用。为回馈广大客户的支持,助力国产芯的发展,米尔特推出特大优惠活动:
2024-06-13
两款新品!米尔基于全志T527的商显主板及工业微型控制器
摘自:strongerHuang前段时间,给大家推荐过米粉派(MIFANS Pi)T527,它是由米尔电子推出的高性能T527开发板。而今天主要给大家推荐米粉派T527的兄弟:MYD-LT527-SX商显板,以及它的升级版MYD-LT527-GK-B微型工控机。米尔基于全志T527板卡米尔基于全志T527处理器推出了多款产品,包含核心板、开发板、工控板、商显板,以满足不同行业、不同研发能力、不同需