本帖最后由 JerryZhen 于 2024-3-17 08:57 编辑
米尔开发套件 MYD-LT527由核心板 MYC-LT527 和底板MYB-LT527 组成,核心板与底板采用 LGA贴片焊接方式。随同开发套件 MYIR 提供了软件资源以及文档资料。由于全志科技 T527 系列高性能处理器是一款基于八核 Cortex-A55 + HiFi4 DSP+RISC-V 多核异构工业级处理器,因此性能肯定没得说。笔者很幸运能够在第一时间拿到板子。开发板的硬件参数以及外观可以参考官网,这里不作赘述。放上两张实物照片让大家饱饱眼福,做工很扎实,外观漂亮。
板子出厂系统是安卓 13,采用 AOSP 版本项目进行构建,包含完整的硬件驱动,常用的系统工具,调试工具等。支持使用 Java 进行应用开发。至于linux系统,官方表示稍后会提供 ubuntu22.04 以及buildroot系统。
安卓系统现在在车机之类的行业中应用很广泛。但是由于笔者主要从事工控,因此还是更习惯用linux开发。虽然现在官方暂未提供linux系统,但是问题不大,我们可以通过termux在安卓上实现类似linux虚拟机。Termux是一个专为安卓设备设计的开源Linux环境和命令行工具。通过Termux,用户可以在安卓设备上运行各种Linux命令和软件包,用来进行编程开发、网络安全测试、数据分析等各种任务。
Termux具有以下特点和功能:
1. 完全开源:Termux的所有代码都是开源的,用户可以自由地修改和定制。
2. 支持包管理:Termux内置了包管理工具,用户可以通过它来安装、更新和删除各种软件包。
3. 支持终端模拟器:Termux内置了功能强大的终端模拟器,用户可以在其中执行各种命令。
4. 支持插件:Termux还支持通过插件扩展功能,用户可以根据需要安装各种插件。
5. 社区活跃:Termux有一个激活的用户社区,用户可以在社区中获取帮助、分享经验和交流。
总的来说,Termux是一个强大的工具,可以让用户在安卓设备上轻松地进行各种Linux操作和开发任务。
下面笔者简要介绍下,如何在MYD-LT527的安卓系统上搭建Termux开发环境,并实现一个简单的MQTT通信demo。
首先安装两个apk(Termux, Termux:Boot),然后打开Termux.
pkg换源: termux-change-repo
升级系统包: pkg update -y
获取开发板存储权限: termux-setup-storage
安装openssh: pkg install -y openssh
启动ssh服务:sshd
设置密码:passwd
查看当前用户名:whoami
查看当前IP地址: ifconfig
现在可以在电脑上通过SSH远程登录开发板并进行各种操作,大大提高了开发板的可玩性。
现在我们通过python在开发板上实现mqtt收发数据为例进行讲解。
在系统中安装pyhon:pkg install python
创建项目文件夹:mkdir mqtt
进入项目目录:cd mqtt
创建python环境: python -m venv .venv
激活环境:source .venv/bin/activate
安装mqtt库: pip install paho-mqtt
然后分别实现发送客户端pub.py:
import time
import paho.mqtt.client as mqtt
broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.connect(broker, port)
mqttc.loop_start()
msg_count = 0
while True:
time.sleep(1)
msg = f"messages: {msg_count}"
msg_info = mqttc.publish(topic, msg)
print(f"Send `{msg}` to topic `{topic}`")
msg_count += 1
mqttc.disconnect()
mqttc.loop_stop()
再实现接收客户端sub.py:
import paho.mqtt.client as mqtt
broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"
def on_message(client, userdata, message):
print(f"Received `{message.payload.decode()}` from `{message.topic}` topic")
def on_connect(client, userdata, flags, reason_code, properties):
if reason_code.is_failure:
print(f"Failed to connect: {reason_code}. loop_forever() will retry connection")
else:
client.subscribe(topic)
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.connect(broker, port)
mqttc.loop_forever()
代码中broker选择公网的emqx官方服务器,配置如下:
broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"
然后在两个窗口中分别运行发送客户端和接收客户端, 并观察结果。
至此第一篇分享结束,我们已经成功的在米尔T527开发板实现了一个简单的mqtt通讯应用。后面章节我们会基于T527做工业边缘网关,实现更强大的功能。